Presionando...
#1

Hola chic@s, me gustaria que me ayudarais a solucionar este problema: (me ha intentado ayudar MrDeath, se lo agradezco mucho, si quiere puede seguir intentandolo).

Ocurre lo siguiente: Quiero que al SOSTENER click de disparar (izquierdo) suba una barra de progressbar, pero ya hemos probado muchas cosas y nada.

El script que estб puesto, es el siguiente:

pawn Код:
#include <a_samp>
#include <progress>

//oka (:
#undef  MAX_PLAYERS
#define MAX_PLAYERS 100

new Bar:bar[MAX_PLAYERS];
new encendiendo[MAX_PLAYERS];
new motor[MAX_PLAYERS] = 0;
new asd[MAX_PLAYERS];

#define HOLDING(%0) \
    ((newkeys & (%0)) == (%0))

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print("motor");
    print("--------------------------------------\n");
    SetTimer("Timer_SinNombreXD", 200, true);
    return 1;
}

public OnFilterScriptExit()
{
    for (new p, s = GetMaxPlayers(); p < s; p ++)
    {
        DestroyProgressBar(bar[p]);
    }
    return 1;
}


public OnPlayerConnect(playerid)
{
    encendiendo[playerid] = 0;
    motor[playerid] = 0;
    asd[playerid] = 0;

    bar[playerid] = CreateProgressBar(262.00, 349.00, 100.50, 11.50, 65535, 100.0);

    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    motor[playerid] = 0;
    encendiendo[playerid] = 0;
    asd[playerid] = 0;
    DestroyProgressBar(bar[playerid]);
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    HideProgressBarForPlayer(playerid, bar[playerid]);
    motor[playerid] = 0;
    SetProgressBarValue(bar[playerid], 0);
    encendiendo[playerid] =0;
    return 1;
}

forward Timer_SinNombreXD( );
public  Timer_SinNombreXD( )
{
// debe subir hasta 100 y cuando llega a 100 arrancar na mбs xd
    static
        playerID = 0,
        slots,
        keys,
        keys_unused
    ;
    for (slots = GetMaxPlayers(); playerID < slots; playerID ++)
    {
        if ( (encendiendo[playerID] == 1) && (IsPlayerInAnyVehicle(playerID)) )
        {
            GetPlayerKeys(playerID, keys, keys_unused, keys_unused);

            if (keys == KEY_FIRE)
            {
                motor[playerID] ++;
            }
            else
            {
                SetProgressBarValue(bar[playerID], 0);
                motor[playerID] = 0;
            }

            switch (motor[playerID])
            {
                case 100:
                {
                    HideProgressBarForPlayer(playerID, bar[playerID]);
                    SetProgressBarValue(bar[playerID], 0);
                    encendiendo[playerID] = 0;
                    motor[playerID]       = 0;
                    continue;
                }
                case 0 .. 99:
                {
                    motor[playerID] ++;
                    SetProgressBarValue(bar[playerID], motor[playerID]);
                }
            }

            UpdateProgressBar(bar[playerID], playerID);
        }
    }
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT)
    {
        if(encendiendo[playerid] == 0 && motor[playerid] == 0)
        {
            encendiendo[playerid] = 1;
            SetProgressBarValue(bar[playerid], motor[playerid]);
            SetProgressBarMaxValue(bar[playerid], 100);
            ShowProgressBarForPlayer(playerid, bar[playerid]);
        }
    }
    return 1;
}
Y ya no sй que hacer para que vaya sosteniendo, їme podrian ayudar?

Un cordial saludo, espero sus respuestas amig@s.
Reply
#2

Ya le ayudй yo por privado, querнa lo que habнa echo yo hace tiempo para el sistema de arranque, lo pueden ver en el vнdeo este:

[ame="http://www.youtube.com/watch?v=1g1ExioHOZs"]http://www.youtube.com/watch?v=1g1ExioHOZs[/ame]
Reply
#3

Exacto, ya me ha ayudado el via PM, gracias (:
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)