Portal SAMP
[Ajuda] Delay pra poder usar um comando - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Delay pra poder usar um comando (/showthread.php?tid=3257)



Delay pra poder usar um comando - Dr. - 28/01/2023

Opa, estou fazendo um sistema de roubo a banco, e eu ja tenho tudo pronto, so preciso saber como vou fazer pra pessoa so conseguir usar o /roubar apenas 1 vez a cada 60minutos, so que ja tentei de tudo usando o SetTimer e até agora nao consegui, alguem pode me ajudar?

por enquanto meu comando do roubo esta assim:



Código:
CMD:roubar(playerid)
{
    if(!IsPlayerInRangeOfPoint(playerid, 1.5, 821.6733,10.0712,1004.1947)) return SendClientMessage(playerid, 0xFF230AFF, "[ERRO]: Você não esta no cofre do Banco Central!");
    GivePlayerMoney(playerid, 35000);
    GameTextForPlayer(playerid, "~g~+$35.000", 5000, 5);
    return 1;
}



RE: Delay pra poder usar um comando - xbruno1000x - 28/01/2023

Código:
new TempoRoubar[MAX_PLAYERS];

CMD:roubar(playerid)
{
    if(!IsPlayerInRangeOfPoint(playerid, 1.5, 821.6733,10.0712,1004.1947)) return SendClientMessage(playerid, 0xFF230AFF, "[ERRO]: Você não esta no cofre do Banco Central!");
    if(GetTickCount() - TempoRoubar[playerid] < 1000*60*60) return return SendClientMessage(playerid, 0xFF230AFF, "[ERRO]: Você não esperou 60 minutos para roubar novamente!");
    TempoRoubar[playerid] = GetTickCount();
    GivePlayerMoney(playerid, 35000);
    GameTextForPlayer(playerid, "~g~+$35.000", 5000, 5);
    return 1;
}



RE: Delay pra poder usar um comando - Dr. - 28/01/2023

(28/01/2023 19:38)xbruno1000x Escreveu:
Código:
new TempoRoubar[MAX_PLAYERS];

CMD:roubar(playerid)
{
    if(!IsPlayerInRangeOfPoint(playerid, 1.5, 821.6733,10.0712,1004.1947)) return SendClientMessage(playerid, 0xFF230AFF, "[ERRO]: Você não esta no cofre do Banco Central!");
    if(GetTickCount() - TempoRoubar[playerid] < 1000*60*60) return return SendClientMessage(playerid, 0xFF230AFF, "[ERRO]: Você não esperou 60 minutos para roubar novamente!");
    TempoRoubar[playerid] = GetTickCount();
    GivePlayerMoney(playerid, 35000);
    GameTextForPlayer(playerid, "~g~+$35.000", 5000, 5);
    return 1;
}

Opa obrigado, so que nessa linha do "if(GetTickCount() - TempoRoubar....."

deu esse erro (535) : error 029: invalid expression, assumed zero

Pera desconsidere, consegui arrumar, isso aconteceu pq vc colocou 2x o "return", mas muito obrigado pela ajuda!


RE: Delay pra poder usar um comando - Maycon_Felipe - 28/01/2023

Deu erro pq tem dois return.

if(GetTickCount() - TempoRoubar[playerid] < 1000*60*60) return return <<<


RE: Delay pra poder usar um comando - White_Blue - 29/01/2023

Código PHP:
CMD:roubar(playerid) {
    if(
gettime() - GetPVarInt(playerid"Cooldown") < 120) return SendClientMessage(playeridVermelho"[ERRO]: Aguarde 2 minutos para usar o comando novamente.");
    if(!IsPlayerInRangeOfPoint(playerid1.5
821.6733,10.0712,1004.1947)) return SendClientMessage(playerid
0xFF230AFF"[ERRO]: Você não esta no cofre do Banco Central!");
    GivePlayerMoney(playerid35000);
    GameTextForPlayer(playerid"~g~+$35.000"50005);
    
SetPVarInt(playerid"Cooldown"gettime());
    return 1;