Estrela sumir igual ao gta single player - fear - 18/09/2022
boa tarde. hoje a tarde postei um problema no sistema de ganhar estrelas e me ajudaram muito com ele. agora eu estou pensando se é possivel colocar para que suma as estrelas igual o gta single player um tempo e ela some.
teria como? se for e alguém me der uma base eu agradeço. eu tentei pegar algo parecido de uma include antiga mas não deu certo.
RE: Estrela sumir igual ao gta single player - RosaScripter - 18/09/2022
(18/09/2022 17:18)fear Escreveu: boa tarde. hoje a tarde postei um problema no sistema de ganhar estrelas e me ajudaram muito com ele. agora eu estou pensando se é possivel colocar para que suma as estrelas igual o gta single player um tempo e ela some.
teria como? se for e alguém me der uma base eu agradeço. eu tentei pegar algo parecido de uma include antiga mas não deu certo.
Usa um time pra sumir quando o player estiver com estrelas.
RE: Estrela sumir igual ao gta single player - xbruno1000x - 18/09/2022
É só criar um timer e colocar para diminuir as estrelas na public chamada pelo mesmo.
RE: Estrela sumir igual ao gta single player - White_Blue - 18/09/2022
Você cria um timer e aciona ele quando na função onde o player ganha o nível de procurado.
Código PHP: Forward Timer(playerid); public Timer(playerid) { if(PlayerInfo[playerid][pEstrelas] >= 1) { PlayerInfo[playerid][pEstrelas] -= 1; // Retira uma estrela } return 1; }
zesqqq(playerid) // peguei a função do seu tópico. { new randomstars = random(6) , 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; SetTimerEx("Timer", 10000, true, "d", playerid); // Aciona o timer com 10 segundos de duração }
RE: Estrela sumir igual ao gta single player - fear - 18/09/2022
(18/09/2022 18:01)White_Blue Escreveu: Você cria um timer e aciona ele quando na função onde o player ganha o nível de procurado.
Código PHP: Forward Timer(playerid); public Timer(playerid) { if(PlayerInfo[playerid][pEstrelas] >= 1) { PlayerInfo[playerid][pEstrelas] -= 1; // Retira uma estrela } return 1; }
zesqqq(playerid) // peguei a função do seu tópico. { new randomstars = random(6) , 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; SetTimerEx("Timer", 10000, true, "d", playerid); // Aciona o timer com 10 segundos de duração }
Não sumiu a estrela eu estava fazendo usando esse link: https://portalsamp.com/showthread.php?tid=821
Mas conto o tempo e não removeu tb
RE: Estrela sumir igual ao gta single player - White_Blue - 18/09/2022
(18/09/2022 18:23)fear Escreveu: (18/09/2022 18:01)White_Blue Escreveu: Você cria um timer e aciona ele quando na função onde o player ganha o nível de procurado.
Código PHP: Forward Timer(playerid); public Timer(playerid) { if(PlayerInfo[playerid][pEstrelas] >= 1) { PlayerInfo[playerid][pEstrelas] -= 1; // Retira uma estrela } return 1; }
zesqqq(playerid) // peguei a função do seu tópico. { new randomstars = random(6) , 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; SetTimerEx("Timer", 10000, true, "d", playerid); // Aciona o timer com 10 segundos de duração }
Não sumiu a estrela eu estava fazendo usando esse link: https://portalsamp.com/showthread.php?tid=821
Mas conto o tempo e não removeu tb Tenta colocar a função SetPlayerWantedLevel no timer
Código PHP: SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pEstrelas]);
RE: Estrela sumir igual ao gta single player - fear - 18/09/2022
(18/09/2022 18:29)White_Blue Escreveu: (18/09/2022 18:23)fear Escreveu: (18/09/2022 18:01)White_Blue Escreveu: Você cria um timer e aciona ele quando na função onde o player ganha o nível de procurado.
Código PHP: Forward Timer(playerid); public Timer(playerid) { if(PlayerInfo[playerid][pEstrelas] >= 1) { PlayerInfo[playerid][pEstrelas] -= 1; // Retira uma estrela } return 1; }
zesqqq(playerid) // peguei a função do seu tópico. { new randomstars = random(6) , 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; SetTimerEx("Timer", 10000, true, "d", playerid); // Aciona o timer com 10 segundos de duração }
Não sumiu a estrela eu estava fazendo usando esse link: https://portalsamp.com/showthread.php?tid=821
Mas conto o tempo e não removeu tb Tenta colocar a função SetPlayerWantedLevel no timer
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); }
RE: Estrela sumir igual ao gta single player - White_Blue - 18/09/2022
(18/09/2022 18:37)fear Escreveu: (18/09/2022 18:29)White_Blue Escreveu: (18/09/2022 18:23)fear Escreveu: (18/09/2022 18:01)White_Blue Escreveu: Você cria um timer e aciona ele quando na função onde o player ganha o nível de procurado.
Código PHP: Forward Timer(playerid); public Timer(playerid) { if(PlayerInfo[playerid][pEstrelas] >= 1) { PlayerInfo[playerid][pEstrelas] -= 1; // Retira uma estrela } return 1; }
zesqqq(playerid) // peguei a função do seu tópico. { new randomstars = random(6) , 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; SetTimerEx("Timer", 10000, true, "d", playerid); // Aciona o timer com 10 segundos de duração }
Não sumiu a estrela eu estava fazendo usando esse link: https://portalsamp.com/showthread.php?tid=821
Mas conto o tempo e não removeu tb Tenta colocar a função SetPlayerWantedLevel no timer
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);
RE: Estrela sumir igual ao gta single player - fear - 18/09/2022
(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: (18/09/2022 18:01)White_Blue Escreveu: Você cria um timer e aciona ele quando na função onde o player ganha o nível de procurado.
Código PHP: Forward Timer(playerid); public Timer(playerid) { if(PlayerInfo[playerid][pEstrelas] >= 1) { PlayerInfo[playerid][pEstrelas] -= 1; // Retira uma estrela } return 1; }
zesqqq(playerid) // peguei a função do seu tópico. { new randomstars = random(6) , 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; SetTimerEx("Timer", 10000, true, "d", playerid); // Aciona o timer com 10 segundos de duração }
Não sumiu a estrela eu estava fazendo usando esse link: https://portalsamp.com/showthread.php?tid=821
Mas conto o tempo e não removeu tb Tenta colocar a função SetPlayerWantedLevel no timer
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; }
RE: Estrela sumir igual ao gta single player - RosaScripter - 18/09/2022
(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=821
Mas conto o tempo e não removeu tb Tenta colocar a função SetPlayerWantedLevel no timer
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
|