18/09/2022 19:52
(18/09/2022 19:44)fear Escreveu:(18/09/2022 18:56)White_Blue Escreveu:(18/09/2022 18:37)fear Escreveu:(18/09/2022 18:29)White_Blue Escreveu:(18/09/2022 18:23)fear Escreveu: Não sumiu a estrela eu estava fazendo usando esse link: https://portalsamp.com/showthread.php?tid=821Tenta colocar a função SetPlayerWantedLevel no timer
Mas conto o tempo e não removeu tb
Código PHP:SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pEstrelas]);
Ele seta a estrela quando da 10 segundos e achei outro problema no setar estrelas ele aparece voce ganhou +0 estrelas.. não sei se erro na frase ali pois depois disso deu 10 segundos e apareceu 3 estrelas pra mim kkk
ta assim eu fiz usando o link que mandei acima:
TIMER:
Código PHP:forward Contando(playerid);
public Contando(playerid) // Quando completar os 10 segundos, funciona a callback.
{
if(PlayerInfo[playerid][pEstrelas] >= 1)
{
PlayerInfo[playerid][pEstrelas] -= 1; // Retira uma estrela
SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pEstrelas]);
}
return 1;
}
DAR ESTRELAS
Código PHP:zesqqq(playerid)
{
new randomstars = random(6) /* Retorna um número semi-aleatório entre 0 e 5 se quiser retornar um número mínimo use o RandomEx do Y_LESS que o RosaScripter mandou acima*/, str[128];
SendClientMessage(playerid, Vermelho, "| ZP - BANDIDO | A Camera do Caixa Eletronico estava ligado e a Policia foi alertada!");
format(str, sizeof(str), "[ x ] Voce recebeu +%d Estrelas de Procurado(a)!", randomstars);
SendClientMessage(playerid, Amarelo, str);
PlayerInfo[playerid][pEstrelas] +=randomstars;
SetPlayerWantedLevel(playerid, randomstars);
SetTimer("Contando", Segundos(10), false);
}
Você está acionando o timer de forma incorreta. O SetTimer conta um timer para o servidor inteiro, mas nós só precisamos que conte o playerid, e o tempo não é em segundos mas sim em milisegundos.
Use assim:
Código PHP:SetTimerEx("Contando", 10000, false, "d", playerid);
Coloquei como tu me falou agora eu roubo o caixa recebo a estrela passa 5 segundos e add mais estrela ao invez de remover kkkk
Código PHP:zesqqq(playerid)
{
new randomstars = random(6) /* Retorna um número semi-aleatório entre 0 e 5 se quiser retornar um número mínimo use o RandomEx do Y_LESS que o RosaScripter mandou acima*/, str[128];
SendClientMessage(playerid, Vermelho, "| ZP - BANDIDO | A Camera do Caixa Eletronico estava ligado e a Policia foi alertada!");
format(str, sizeof(str), "[ x ] Voce recebeu +%d Estrelas de Procurado(a)!", randomstars);
SendClientMessage(playerid, Amarelo, str);
PlayerInfo[playerid][pEstrelas] +=randomstars;
SetPlayerWantedLevel(playerid, randomstars);
SetTimerEx("Contando", 10000, false, "d", playerid);
}
TIMER
Código PHP:forward Contando(playerid);
public Contando(playerid) // Quando completar os 10 segundos, funciona a callback.
{
if(PlayerInfo[playerid][pEstrelas] >= 1)
{
PlayerInfo[playerid][pEstrelas] -= 1; // Retira uma estrela
SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pEstrelas]);
}
return 1;
}
Bota um if(GetPlayerWanted(playerid) < 1) pro timer só funcionar caso o jogador tenha 1 lvl ou mais