Porque no lo descongela ?
#1

Estaba haciendo un sistema de robo al banco, pero tengo un problema, cuando pone /asaltar banco, lo congela pero despuйs de los 30s no lo descongela :S

Diganmen en que me equivoque :v

pawn Код:
CMD:asaltar(playerid, params[])
{
    if(isnull(params))
    {
        SendClientMessageEx(playerid, COLOR_WHITE, "USA: /asaltar banco");
        return 1;
    }
    else if(strcmp(params, "banco", true) == 0)
    {
        if(GetPVarInt(playerid, "Injured") == 1)
        {
            SendClientMessageEx(playerid, COLOR_GRAD2, "[ERROR]: No puedes usar este comando si tienes cargos.");
            return 1;
        }
        if(Info[playerid][pRob] > 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "ЎYa robaste, espera al prуximo PayDay!");
        if(gPlayerLogged{playerid} == 0) return SendClientMessageEx(playerid, COLOR_GREY, "No Logueaste Correctamente");
        if(Info[playerid][pAsaltoB] == 1) return SendClientMessage(playerid, COLOR_GREEN, "Solo Puedes Robar El Banco Cada Payday");
        {
            new string[128], sendername[MAX_PLAYER_NAME];
            if (Info[playerid][pLeader] > 0 || Info[playerid][pRank] == 6 || Info[playerid][pFMember] < 255)
            {
                if(PlayerToPoint(5, playerid,1013.8707, -1169.9203, 12.6183))
                {
                SendClientMessage(playerid, COLOR_GREEN, "ЎEstas Robando No Te Puedes Mover Hasta Que No Termines De Robar El Banco!");
                SetPVarInt(playerid, "IsFrozen", 1);
                TogglePlayerControllable(playerid, 0);
                ApplyAnimation(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 0, 0, 0, 1,500);
                SetTimerEx("CARGAR", 3000, 0, "d", playerid);//Aca esta el error no? xd
                format(string, sizeof(string), "Te capto la cбmara de seguridad, escapa de la zona antes que lleguen los policнas");/
                SendClientMessage(playerid,COLOR_YELLOW,string);
                GivePlayerMoney(playerid,30000);
                GetPlayerName(playerid, sendername, sizeof(sendername));
                format(string, sizeof(string), "{0080FF}[Central de policia] {ffffff}Reporte: Asalto en proceso en el banco central de Los Santos");
                SendFamilyMessage(1, TEAM_RADIO_COLOR, string);
                }
            }
            else SendClientMessageEx(playerid, COLOR_GRAD2, "Necesitas ser lider de una familia para usar este comando");
        }
    }
    return 1;
}
Reply
#2

pawn Код:
SetTimerEx("CARGAR", 3000, 0, "d", playerid);//Aca esta el error no? xd
3000 = 3seg
30000 = 30seg

y verifica que en public "CARGAR" este TogglePlayerControllable a 1 o true.
Reply
#3

El timer de 'CARGAR' lo tenйs para 3 segundos, no 30.
Hay que ver como tenйs el callback de descongelar, 'CARGAR', o siquiera si lo tenйs.
pawn Код:
public CARGAR(playerid)
{
TogglePlayerControllable(playerid, 1); // Con esto lo descongelбs.
}
Reply
#4

Quote:
Originally Posted by Adoniiz
Посмотреть сообщение
pawn Код:
SetTimerEx("CARGAR", 3000, 0, "d", playerid);//Aca esta el error no? xd
3000 = 3seg
30000 = 30seg

y verifica que en public "CARGAR" este TogglePlayerControllable a 1 o true.
Cierto jaja bueno me falto un 0 >.<

Quote:
Originally Posted by TiNcH010
Посмотреть сообщение
El timer de 'CARGAR' lo tenйs para 3 segundos, no 30.
Hay que ver como tenйs el callback de descongelar, 'CARGAR', o siquiera si lo tenйs.
pawn Код:
public CARGAR(playerid)
{
TogglePlayerControllable(playerid, 1); // Con esto lo descongelбs.
}
No sabia que asнa falta un callback xdd Igual gracias, pero sige sin funcionar, intente otra cosa, cambiar el

pawn Код:
SetTimerEx("CARGAR", 3000, 0, "d", playerid);
POR

pawn Код:
DeletePVar(playerid, "IsFrozen", "CARGAR", 30000, "d");
me salieron estos errores, intente cambiarlo de lugar a el "IsForzen" o al "CARGAR" pero no funciona :/

pawn Код:
(50393) : warning 202: number of arguments does not match definition
(50393) : warning 202: number of arguments does not match definition
(50393) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


3 Warnings.
Reply
#5

PVar o per player variable system, son variables que se puede usar tanto en GM como en FS juntas sin tener que declararlas como las variables tradicionales (es decir, no tener que declararlas con "new var;" asн..), ademas se eliminan automaticamentes cuando un jugador se desconecta.

Recuerda mirar los parametros de dicha funciуn

pawn Код:
DeletePVar(playerid, "IsFrozen", "CARGAR", 30000, "d");
їque es eso?

parametros de DeletePVar son:

(playerid, varname[])

uso correcto: DeletePVar(playerid, "NombreDeVariable");

mas informaciуn sobre PVar
https://sampwiki.blast.hk/wiki/Per-player_variable_system

para crear un timer por JUGADOR, pasate por aquн:

https://sampwiki.blast.hk/wiki/SetTimerEx
Reply
#6

Quote:
Originally Posted by Adoniiz
Посмотреть сообщение
PVar o per player variable system, son variables que se puede usar tanto en GM como en FS juntas sin tener que declararlas como las variables tradicionales (es decir, no tener que declararlas con "new var;" asн..), ademas se eliminan automaticamentes cuando un jugador se desconecta.

Recuerda mirar los parametros de dicha funciуn

pawn Код:
DeletePVar(playerid, "IsFrozen", "CARGAR", 30000, "d");
їque es eso?

parametros de DeletePVar son:

(playerid, varname[])

uso correcto: DeletePVar(playerid, "NombreDeVariable");

mas informaciуn sobre PVar
https://sampwiki.blast.hk/wiki/Per-player_variable_system

para crear un timer por JUGADOR, pasate por aquн:

https://sampwiki.blast.hk/wiki/SetTimerEx
Gracias, y lo del timer ya lo se solo me confundн, ademas si no funciona con DeletePVar y SetTimerEx, con que funciona?
Reply
#7

Код:
SetTimerEx("CARGAR", 30 * 1000, false, "d", playerid);
Y creale una callback con la funciуn de descongelar

Код:
 
forward CARGAR(playerid);
public CARGAR(playerid)
{
TogglePlayerControllable(playerid, 1); 
}
Reply
#8

Como yo te dije funciona perfectamente, no hay vuelta que darle.
Reply
#9

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
Код:
SetTimerEx("CARGAR", 30 * 1000, false, "d", playerid);
Y creale una callback con la funciуn de descongelar

Код:
 
forward CARGAR(playerid);
public CARGAR(playerid)
{
TogglePlayerControllable(playerid, 1); 
}
No funciono, pero igual ya lo arregle, borre el SetPVarInt(playerid, "IsFrozen", 1); ahora si lo descongela a los 30s
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)