contagem regressiva -
Lendario - 29.08.2016
estou tentando editar um fs de roubar banco , consegui colocar animaзao de mochila e de armar bomba (bom pra mim)
alguem pode me ajudar colocar tempo pra usar este comando denovo
PHP код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid, 3.0, cX, cY, cZ)) // Tecla » [ F| ]
{
static Ladrao[MAX_PLAYER_NAME], sStr[70];
GetPlayerName(playerid, Ladrao, sizeof(Ladrao));
if(Roubando[playerid] == 1) return SendClientMessage(playerid, 0xE31919FF, "[~] Vocк jб estб assaltando!");
format(sStr, sizeof(sStr), "%s[%d] estб roubando a casa do [J]oker!", Ladrao, playerid);
SendClientMessageToAll(0xE31919FF, sStr);
format(sStr, sizeof(sStr), "Espere %d minutos para concluir o saqueamento!", TempoRoubo);
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 1, 0, 0, 0, 0);
SetPlayerAttachedObject(playerid, 0, 1550, 1, 0.000000, -0.313611, 0.021003, 0.445490, 86.754409, 355.370239, 0.926815, 1.000000, 1.000000);
SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)+5);
SendClientMessage(playerid, 0xC9C9C9FF, sStr);
SetTimer("Roubou", 60000*TempoRoubo, false);
Roubando[playerid] = 1;
return 1;
}
return 1;
}
Re: contagem regressiva -
AdrianoStk - 30.08.2016
Acho que isso resolva sua questгo... Tenta ae, pelo meno eu acho que era isso que vocк queria rs
Код:
new bool:JaRoubou[MAX_PLAYERS];
new TempoLibera[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
JaRoubou[playerid] = false;
}
public OnPlayerDisconnect(playerid, reason)
{
KillTimer(TempoLibera[playerid]);
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid, 3.0, cX, cY, cZ)) // Tecla » [ F| ]
{
if(JaRoubou[playerid]) return SendClientMessage(playerid, -1, "Erro! Vocк jб roubou!");
static Ladrao[MAX_PLAYER_NAME], sStr[70];
GetPlayerName(playerid, Ladrao, sizeof(Ladrao));
if(Roubando[playerid] == 1) return SendClientMessage(playerid, 0xE31919FF, "[~] Vocк jб estб assaltando!");
format(sStr, sizeof(sStr), "%s[%d] estб roubando a casa do [J]oker!", Ladrao, playerid);
SendClientMessageToAll(0xE31919FF, sStr);
format(sStr, sizeof(sStr), "Espere %d minutos para concluir o saqueamento!", TempoRoubo);
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 1, 0, 0, 0, 0);
SetPlayerAttachedObject(playerid, 0, 1550, 1, 0.000000, -0.313611, 0.021003, 0.445490, 86.754409, 355.370239, 0.926815, 1.000000, 1.000000);
SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)+5);
SendClientMessage(playerid, 0xC9C9C9FF, sStr);
SetTimer("Roubou", 60000*TempoRoubo, false); //Nгo se esse й o Time a qual vc se refere....
TempoLibera[playerid] = SetTimerEx("PodeRoubar", 10000/*10seg*/, false, "i", playerid);
Roubando[playerid] = 1;
JaRoubou[playerid] = true;
return 1;
}
return 1;
}
forward PodeRoubar(playerid);
public PodeRoubar(playerid)
{
JaRoubou[playerid] = false;
SendClientMessage(playerid, -1, "Vocк jб pode roubar novamente!"); //Opcional
return 1;
}
Re: contagem regressiva -
Lendario - 30.08.2016
nossa mano ajudou muit serio mesmo , se puder ajudar colocando um texto no meio da tela com contagem regressiva de 1 minuto eu agradeзo
tipo quando eu der "F" pra roubar comeзar contar o tempo em segundos
Re: contagem regressiva -
AdrianoStk - 30.08.2016
Vocк pode personalizar o tipo de texto "GameTextForPlayer" A seu gosto...
https://sampwiki.blast.hk/wiki/GameTextStyle
Tenta ae...
Acho que funciona rsrsrsrs
Код:
new TimerCronometro[MAX_PLAYERS];
new TempoCronometro[MAX_PLAYERS];
new bool:JaRoubou[MAX_PLAYERS];
new TempoLibera[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
JaRoubou[playerid] = false;
}
public OnPlayerDisconnect(playerid, reason)
{
KillTimer(TempoLibera[playerid]);
KillTimer(TimerCronometro[playerid]);
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == 16 && IsPlayerInRangeOfPoint(playerid, 3.0, cX, cY, cZ)) // Tecla » [ F| ]
{
if(Roubando[playerid] == 1) return SendClientMessage(playerid, 0xE31919FF, "[~] Vocк jб estб assaltando!");
if(JaRoubou[playerid]) return SendClientMessage(playerid, -1, "Erro! Vocк jб roubou!");
static Ladrao[MAX_PLAYER_NAME], sStr[70];
GetPlayerName(playerid, Ladrao, sizeof(Ladrao));
format(sStr, sizeof(sStr), "%s[%d] estб roubando a casa do [J]oker!", Ladrao, playerid);
SendClientMessageToAll(0xE31919FF, sStr);
format(sStr, sizeof(sStr), "Espere %d minutos para concluir o saqueamento!", TempoRoubo);
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 1, 0, 0, 0, 0);
SetPlayerAttachedObject(playerid, 0, 1550, 1, 0.000000, -0.313611, 0.021003, 0.445490, 86.754409, 355.370239, 0.926815, 1.000000, 1.000000);
SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)+5);
SendClientMessage(playerid, 0xC9C9C9FF, sStr);
SetTimer("Roubou", 60000*TempoRoubo, false); //Nгo sei se esse й o Time a qual vc se refere....
TempoLibera[playerid] = SetTimerEx("PodeRoubar", 120000/*2Min*/, false, "i", playerid);
Roubando[playerid] = 1;
JaRoubou[playerid] = true;
TempoCronometro[playerid] = 60; //Tempo em segundos
TimerCronometro[playerid] = SetTimerEx("Contagem", 1000, true, "i", playerid);
return 1;
}
return 1;
}
forward PodeRoubar(playerid);
public PodeRoubar(playerid)
{
JaRoubou[playerid] = false;
SendClientMessage(playerid, -1, "Vocк jб pode roubar novamente!"); //Opcional
return 1;
}
forward Contagem(playerid);
public Contagem(playerid)
{
if(TempoCronometro[playerid] != 0) //Verifica se o tempo restante nгo terminou
{
KillTimer(TimerCronometro[playerid]);
}
new StrTime[32];
format(StrTime, sizeof(StrTime), "~y~%d", TempoCronometro[playerid]); //Personalizavйl
GameTextForPlayer(playerid, StrTime, 950, 3);//Personalizavйl
TempoCronometro[playerid] --;
return 1;
}
Re: contagem regressiva -
Lendario - 30.08.2016
o tempo sу nгo conta fica parado um texto escrito "60" no meio da tela
Re: contagem regressiva -
arakuta - 30.08.2016
Por que fazer comandos com intervalo usando timers? Alйm de serem imprecisos, й uso desnecessбrio de processador.
PHP код:
new PodeRoubar[MAX_PLAYERS];
PHP код:
CMD:roubar(playerid)
{
if(PodeRoubar[playerid] <= gettime())
{
PodeRoubar[playerid] = gettime() + 60;
// roubo
}
else
{
static _str[80];
format(_str,80,"Vocк sу pode roubar daqui a %d segundos.",PodeRoubar[playerid] - gettime());
SendClientMessage(playerid,-1,_str);
}
return 1;
}
Re: contagem regressiva -
AdrianoStk - 30.08.2016
Mals rsrsrs
Confundi aqui
Troquei isso "=!" po isso "=="
No lugar de
Код:
if(TempoCronometro[playerid] != 0) //Verifica se o tempo restante nгo terminou
{
KillTimer(TimerCronometro[playerid]);
}
Mude Para
Код:
if(TempoCronometro[playerid] == 0) //Verifica se o tempo restante nгo terminou
{
KillTimer(TimerCronometro[playerid]);
}