SA-MP Forums Archive
no me funciona "progressbar" una funcion - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: no me funciona "progressbar" una funcion (/showthread.php?tid=202291)



no me funciona "progressbar" una funcion - most - 23.12.2010

Hola, estoy aciendo para que la barra de progressbar baje 1 a 1 asta llegar a 0 y que a llegar a 0 haga lo que yo quiera, pero no me va, al arrancar no se pone a 100% y lo tengo asi:

pawn Код:
public OnPlayerSpawn(playerid)
{
    energiagenerador[playerid] = CreateProgressBar(500.00, 105.00, 102.50, 6.19, 13421823, 100.0);
    UpdateProgressBar(energiagenerador[playerid]);
    SetProgressBarValue(energiagenerador[playerid],PlayerInfo[playerid][porciento]);
    ShowProgressBarForAll(energiagenerador[playerid]);
    PlayerInfo[playerid][porciento] = 100; //<<<<<<<< ESTO ES LAPARA QUE SUBA AL 100% PERO NADA
    SetTimer("energiacheck", 1000, true);
    return 1;
}


y depues tengo esto que es para que baje y tyampoco funciona:


pawn Код:
forward energiacheck(playerid);
public energiacheck(playerid)
{
    if( PlayerInfo[playerid][porciento] >= 0)
    {
    SetPlayerCheckpoint(playerid, 1759.9247,-1924.5101,13.5753, 2.0);
    TextDrawShowForAll(enciendegenerador);
    luzencendia[playerid] = 1;
    }
    if( PlayerInfo[playerid][porciento] >= 100)
    {
    TextDrawHideForAll(enciendegenerador);
    luzencendia[playerid] = 0;
    DisablePlayerCheckpoint(playerid);
    }

    SetProgressBarValue(energiagenerador[playerid],PlayerInfo[playerid][porciento]);
    UpdateProgressBar(energiagenerador[playerid]);

    return 1;
}



Respuesta: no me funciona "progressbar" una funcion - AnGeeeL - 23.12.2010

prueba el public asi :
pawn Код:
forward energiacheck(playerid);
public energiacheck(playerid)
{
    if( PlayerInfo[playerid][porciento] >= 0)
    {
    SetPlayerCheckpoint(playerid, 1759.9247,-1924.5101,13.5753, 2.0);
    TextDrawShowForAll(enciendegenerador);
    luzencendia[playerid] = 1;
    }
    if( PlayerInfo[playerid][porciento] >= 100)
    {
    TextDrawHideForAll(enciendegenerador);
    luzencendia[playerid] = 0;
    DisablePlayerCheckpoint(playerid);
    }
    else
    {
    SetProgressBarValue(energiagenerador[playerid],PlayerInfo[playerid][porciento]);
    UpdateProgressBar(energiagenerador[playerid]);
    }
    return 1;
}
como tienes definido el "porciento" ?
si estoy mal corriganme.


Respuesta: no me funciona "progressbar" una funcion - OwlCity - 23.12.2010

Prueba con:
pawn Код:
public OnPlayerSpawn(playerid)
{
    energiagenerador[playerid] = CreateProgressBar(500.00, 105.00, 102.50, 6.19, 13421823, 100.0);
    UpdateProgressBar(energiagenerador[playerid]);
    PlayerInfo[playerid][porciento] = 100;
    SetProgressBarValue(energiagenerador[playerid],PlayerInfo[playerid][porciento]);
    ShowProgressBarForAll(energiagenerador[playerid]);
    SetTimer("energiacheck", 1000, true);
    return 1;
}
(Solo para que se ponga al 100% al comienzo)


Re: no me funciona "progressbar" una funcion - most - 24.12.2010

si, se llena, pero la funcion de bajar 1 a 1 no lo hace :S:

pawn Код:
forward energiacheck(playerid);
public energiacheck(playerid)
{
    if( PlayerInfo[playerid][porciento] >= 0)
    {
    SetPlayerCheckpoint(playerid, 1759.9247,-1924.5101,13.5753, 2.0);
    TextDrawShowForAll(enciendegenerador);
    luzencendia[playerid] = 1;
    }
    if( PlayerInfo[playerid][porciento] >= 100)
    {
    TextDrawHideForAll(enciendegenerador);
    luzencendia[playerid] = 0;
    DisablePlayerCheckpoint(playerid);
    }
    else
    {
    SetProgressBarValue(energiagenerador[playerid],PlayerInfo[playerid][porciento]);
    UpdateProgressBar(energiagenerador[playerid]);
    }
    return 1;
}
lo he puesto como me ha dicho AnGeeeL


Respuesta: no me funciona "progressbar" una funcion - OwlCity - 24.12.2010

Prueba asн:

pawn Код:
forward energiacheck(playerid);
public energiacheck(playerid)
{
    if( PlayerInfo[playerid][porciento] >= 0)
    {
    SetPlayerCheckpoint(playerid, 1759.9247,-1924.5101,13.5753, 2.0);
    TextDrawShowForAll(enciendegenerador);
    luzencendia[playerid] = 1;
    }
    if( PlayerInfo[playerid][porciento] >= 100)
    {
    TextDrawHideForAll(enciendegenerador);
    luzencendia[playerid] = 0;
    DisablePlayerCheckpoint(playerid);
    }
    PlayerInfo[playerid][porciento] -=1;
    SetProgressBarValue(energiagenerador[playerid],PlayerInfo[playerid][porciento]);
    UpdateProgressBar(energiagenerador[playerid]);

    return 1;
}



Re: no me funciona "progressbar" una funcion - most - 24.12.2010

nada, sigue igual :S


EDITO: he probado asi:

pawn Код:
if (strcmp("/ya", cmdtext, true, 10) == 0)
    {
        SetTimerEx("energiacheck",2000,false,"i",playerid);
    return 1;
    }
pawn Код:
if (strcmp("/ya", cmdtext, true, 10) == 0)
    {
        SetTimer("energiacheck", 1000, true);
    return 1;
    }


pero nada, le tengo que poner ese comando 3 veces pa k funcione...


Respuesta: no me funciona "progressbar" una funcion - OwlCity - 24.12.2010

Explica quй quieres hacer, porque no le veo mucho sentido por lo que has publicado.

Si el porcentaje es mayor o igual a 0 -> Muestra un checkpoint, un textdraw (a todos los jugadores, їes asн?) y cambia la variable luz encendida. Tambiйn si el porcentaje es mayor o igual a 100 hace lo contrario a lo explicado con anterioridad. Si comienza con el porcentaje a 100, realizarб lo primero al ser mayor a 0 y luego desharб lo hecho al ser el porcentaje igual a 100.

Creo que ese es el problema.


Re: no me funciona "progressbar" una funcion - most - 24.12.2010

ira lo que qauiero es, si el porcentaje es 0 que se apague la luz (luzencendia[playerid] = 0 y si el porcentaje es mayor de 0 que se encienda(luzencendia[playerid] = 1 si eso me funciona, ya me podria giar con lo demas, de ponerle los textdraw...


Respuesta: no me funciona "progressbar" una funcion - OwlCity - 24.12.2010

Asн deberнa ser:
pawn Код:
forward energiacheck(playerid);
public energiacheck(playerid)
{
    if( PlayerInfo[playerid][porciento] == 0)
    {
    luzencendia[playerid] = 0;
    }
    else if( PlayerInfo[playerid][porciento] > 0)
    {
    luzencendia[playerid] = 1;
    }
    PlayerInfo[playerid][porciento] -=1; //Resta 1 al porcentaje
    SetProgressBarValue(energiagenerador[playerid],PlayerInfo[playerid][porciento]); //Actualiza la barra de progreso
    UpdateProgressBar(energiagenerador[playerid]);

    return 1;
}



Re: no me funciona "progressbar" una funcion - most - 24.12.2010

ok ahora si baja, pero por que le tengo k dar 2 o 3 veces para que funcione?

pawn Код:
if (strcmp("/ya", cmdtext, true, 10) == 0)
    {
        SetTimer("energiacheck", 1000, true);
    return 1;
    }