Flood SendClientMessageToAll - LeleziiN - 10/03/2021
Bom teria alguém para mim ajuda a resolver esse bug? Pois essas mensagens faz o servidor fechar. Já olhei o sistema inteiro para ver oq estava de errado mais não encontrei nada, pelo menos eu acho. Se poderem mim ajuda agradeço muito +rep
RE: Resolver esse Bug - Gustaf_LeanBR - 10/03/2021
Procura o codigo em que esta essa mensagem e poste aqui, só assim vamos conseguir saber qual é o problema.
RE: Resolver esse Bug - LeleziiN - 11/03/2021
Tá ir mais conseguir resolver
Código PHP: forward LiberaCandidatura(); public LiberaCandidatura() { new d[128]; dini_Set("Presidente.txt", "TempoInscricao","86400000"); dini_Set("Presidente.txt", "TempoVotacao","0"); for(new I = 0; I < TOTALVAGASPRESIDENTE; I ++) { format(d,sizeof(d),"Vaga%d",I); dini_Set("Presidente.txt", d, "Ninguem"); format(d,sizeof(d),"Numero%d",I); dini_Set("Presidente.txt", d, "0"); format(d,sizeof(d),"Votos%d",I); dini_Set("Presidente.txt", d, "0"); } SendClientMessageToAll(verde, "| INFO | O lançamento de candidaturas à presidencia foi liberado, confira no Palácio Presidencial TSVR!"); dini_Set("Presidente.txt", "Data", "0"); return 1; }
RE: Resolver esse Bug - xbruno1000x - 11/03/2021
(11/03/2021 09:07)LeleziiN Escreveu: Tá ir mais conseguir resolver
Código PHP: forward LiberaCandidatura(); public LiberaCandidatura() { new d[128]; dini_Set("Presidente.txt", "TempoInscricao","86400000"); dini_Set("Presidente.txt", "TempoVotacao","0"); for(new I = 0; I < TOTALVAGASPRESIDENTE; I ++) { format(d,sizeof(d),"Vaga%d",I); dini_Set("Presidente.txt", d, "Ninguem"); format(d,sizeof(d),"Numero%d",I); dini_Set("Presidente.txt", d, "0"); format(d,sizeof(d),"Votos%d",I); dini_Set("Presidente.txt", d, "0"); } SendClientMessageToAll(verde, "| INFO | O lançamento de candidaturas à presidencia foi liberado, confira no Palácio Presidencial TSVR!"); dini_Set("Presidente.txt", "Data", "0"); return 1; }
Deixe a solução no tópico para ajudar outros membros com esse problema futuramente
RE: Flood SendClientMessageToAll - LeleziiN - 11/03/2021
Era essa parte que estava faltando no sistema, mais toda pessoa que entrava no servidor aparecia essa mensagem
Código PHP: if(strcmp(dini_Get("Presidente.txt", "Atual"), PlayerName(playerid)) == 0) { new A[128]; format(A, sizeof(A), "| INFO | O(A) presidente %s acabou de spawnar!", PlayerName(playerid)); SendClientMessageToAll(COR_ORKUT, A); SetPlayerColor(playerid, COLOR_PRESIDENTE);//COLOR_PREFEITO //SetPlayerPos(playerid, 1481.1006,-1768.9030,18.7958); SetPlayerPos(playerid, 1485.3932,-1781.7405,21.0903); }
ai tive que criar a profissão e por essa parte
Código PHP: dini_Int("Presidente.txt", "Atual");
No local do spawn da profissão
RE: Flood SendClientMessageToAll - LeleziiN - 12/03/2021
Bom achei que avia resolvido esse problema mais não resolve, se poderem mim ajuda postarei o código inteiro
RE: Flood SendClientMessageToAll - k2bi_YT - 12/03/2021
Onde essa callback está sendo chamada?
RE: Flood SendClientMessageToAll - LeleziiN - 13/03/2021
Está sendo chama aqui
Código PHP: public TempoLimiteXxX() { new T[128]; if(dini_Int("Presidente.txt","TempoInscricao") >= 1000) { format(T, sizeof(T), "%d", (dini_Int("Presidente.txt","TempoInscricao") - 1000)); dini_Set("Presidente.txt", "TempoInscricao", T); if(dini_Int("Presidente.txt","TempoInscricao") == 0) { SendClientMessageToAll(verde, "| INFO | O tempo para lançamento das candidaturas terminou, as votações foram iniciadas no Palácio Presidencial TSVR!"); dini_Set("Presidente.txt", "TempoVotacao","86400000"); } } else if(dini_Int("Presidente.txt","TempoVotacao") >= 1000) { format(T, sizeof(T), "%d", (dini_Int("Presidente.txt","TempoVotacao") - 1000)); dini_Set("Presidente.txt", "TempoVotacao", T); if(dini_Int("Presidente.txt","TempoVotacao") == 0) { SendClientMessageToAll(verde, "| INFO | O tempo para votação à presidente terminou, confira o resultado no Palácio Presidencial TSVR!"); for(new I = 0; I < MAX_PLAYERS; I ++) { if(strcmp(dini_Get("Presidente.txt", "Atual"), PlayerName(I)) == 0) { SetPlayerColor(I, Branco); } } new VI = 0, VA = -1; for(new I = 0; I < TOTALVAGASPRESIDENTE; I ++) { new d[20]; format(d,sizeof(d),"Votos%d",I); new VJ = dini_Int("Presidente.txt", d); if(VJ > VI) { VI = VJ; VA = I; } }
new d[50]; new Dia,Mes,Ano; getdate(Ano,Mes,Dia); Mes ++; Dia --; if(Mes == 13) Mes = 1; if(Dia == 0) Dia = 30; format(d,sizeof(d),"%02d/%02d/%02d",Dia,Mes,Ano); dini_Set("Presidente.txt", "Data", d); dini_Set("Presidente.txt", "TempoInscricao","0"); dini_Set("Presidente.txt", "TempoVotacao","0"); dini_Set("Presidente.txt", "Imposto","0"); dini_Set("Presidente.txt", "RendaExtra","0"); dini_Set("Presidente.txt", "TempoRespawn","30"); dini_Set("Presidente.txt", "Veiculo","0"); dini_Set("Presidente.txt", "Cor1","0"); dini_Set("Presidente.txt", "Cor2","0"); dini_Set("Presidente.txt", "Mensagem","Nada"); dini_Set("Presidente.txt", "NomeVeiculo","Nenhum"); dini_Set("Presidente.txt", "VeiculoTrancado","1"); dini_Set("Presidente.txt", "Icone", "58");
for(new I = 0; I < MAX_PLAYERS; I ++) { if(IsPlayerConnected(I)) { RemovePlayerMapIcon(I, 29); SetPlayerMapIcon(I, 29, 1481.0585,-1771.6819,18.7958, dini_Int("Presidente.txt", "Icone"), 1); //Palácio TSVR } } if(VA == -1) LiberaCandidatura(); else { format(d,sizeof(d),"Vaga%d", VA); dini_Set("Presidente.txt", "Atual", dini_Get("Presidente.txt", d)); } for(new I = 0; I < TOTALVAGASPRESIDENTE; I ++) { format(d,sizeof(d),"Vaga%d",I); dini_Set("Presidente.txt", d, "Ninguem"); format(d,sizeof(d),"Numero%d",I); dini_Set("Presidente.txt", d, "0"); format(d,sizeof(d),"Votos%d",I); dini_Set("Presidente.txt", d, "0"); } } } new tmp[256], tmpx[256]; new Dia,Mes,Ano; getdate(Ano,Mes,Dia); format(tmp, sizeof(tmp), "%s", dini_Get("Presidente.txt", "Data")); format(tmpx, sizeof(tmpx),"%02d/%02d/%02d",Dia,Mes,Ano); if(strcmp(tmp, tmpx) == 0) LiberaCandidatura(); return 1; }
RE: Flood SendClientMessageToAll - k2bi_YT - 13/03/2021
Você criou variáveis que nem estão sendo utilizadas em outra parte. No caso, a variável "VI" está sendo usada somente para armazenar o um valor dentro do loop, e o valor não é inteiro e sim uma string. Reveja essa parte e faça novamente com um bom seguimento de uso.
Código PHP: for(new I = 0; I < TOTALVAGASPRESIDENTE; I ++) { new d[20]; format(d,sizeof(d),"Votos%d",I); new VJ = dini_Int("Presidente.txt", d); if(VJ > VI) { VI = VJ; VA = I; } }
A callback está sendo chamada 2x nessa função e nada está interrompendo ela:
Aqui:
Código PHP: if(VA == -1) LiberaCandidatura();
E aqui:
Código PHP: if(strcmp(tmp, tmpx) == 0) LiberaCandidatura();
// Essa função não está sendo usado corretamente
Isso faz ela aparecer a mensagem que há nela 2x.
Você deve revisar/refazer essa função TempoLimiteXxX e checar onde ela também está sendo chamada. Dependendo da callback onde ela foi citada por Exemplo: OnPlayerUpDate ela ficara sendo solicitada constantemente. Verificar também se ela não está dentro de algum loop.
RE: Flood SendClientMessageToAll - LeleziiN - 13/03/2021
(13/03/2021 09:59)k2bi_YT Escreveu: Você criou variáveis que nem estão sendo utilizadas em outra parte. No caso, a variável "VI" está sendo usada somente para armazenar o um valor dentro do loop, e o valor não é inteiro e sim uma string. Reveja essa parte e faça novamente com um bom seguimento de uso.
Código PHP: for(new I = 0; I < TOTALVAGASPRESIDENTE; I ++) { new d[20]; format(d,sizeof(d),"Votos%d",I); new VJ = dini_Int("Presidente.txt", d); if(VJ > VI) { VI = VJ; VA = I; } }
A callback está sendo chamada 2x nessa função e nada está interrompendo ela:
Aqui:
Código PHP: if(VA == -1) LiberaCandidatura();
E aqui:
Código PHP: if(strcmp(tmp, tmpx) == 0) LiberaCandidatura();
// Essa função não está sendo usado corretamente
Isso faz ela aparecer a mensagem que há nela 2x.
Você deve revisar/refazer essa função TempoLimiteXxX e checar onde ela também está sendo chamada. Dependendo da callback onde ela foi citada por Exemplo: OnPlayerUpDate ela ficara sendo solicitada constantemente. Verificar também se ela não está dentro de algum loop.
Bom eu olhuei se tinha alguma coisa dela no OnPlayerUpDate e não tem nada, e procurei TempoLimiteXxX pra ver se estava sendo chama em algun outro lugar e tbm nada, só tem o settimer dela no OnGameModeInit
Código PHP: TempoPresidente = SetTimer("TempoLimiteXxX", 1000, 1);
|