02.10.2012, 00:27
Olб pessoal, nгo estou entendendo uma coisa que estб acontecendo com uma callback que editei pra passar as informaзхes da loteria, quando ela sorteia um nъmero!
O que estб acontecendo? Eu seto um numero para ser sorteado, por exemplo o 20 e faзo o teste com 2 players online, ou seja, eu e outra pessoa, jб fiz com mais e deu a mesma coisa:
Todos os players ficam com o nъmero 20 e eu executo a CallBack pra efetuar o sorteio e dar a grana pra os 2 players, no caso, os quais possuem o nъmero sorteado, mas sу um estб recebendo (Eu, no caso) e sу um aparece na lista de ganhadores e na verdade eu defini pra todos que tiverem o nъmero serem sorteados! Nгo sei o que fazer mais, jб tentei de tudo, tenho vбrias Callbacks nesse mesmo estilo e nunca me deram problemas como esse!
Quem puder me ajudar eu ficarei muito feliz, sу postei aqui porque realmente me quebrou a cabeзa essa parada!
Aqui vai uma cуpia do script, bem como ela estб aqui:
Os comandos pra executar a Loteria manualmente:
A CallBack da Loteria:
O que estб acontecendo? Eu seto um numero para ser sorteado, por exemplo o 20 e faзo o teste com 2 players online, ou seja, eu e outra pessoa, jб fiz com mais e deu a mesma coisa:
Todos os players ficam com o nъmero 20 e eu executo a CallBack pra efetuar o sorteio e dar a grana pra os 2 players, no caso, os quais possuem o nъmero sorteado, mas sу um estб recebendo (Eu, no caso) e sу um aparece na lista de ganhadores e na verdade eu defini pra todos que tiverem o nъmero serem sorteados! Nгo sei o que fazer mais, jб tentei de tudo, tenho vбrias Callbacks nesse mesmo estilo e nunca me deram problemas como esse!
Quem puder me ajudar eu ficarei muito feliz, sу postei aqui porque realmente me quebrou a cabeзa essa parada!
Aqui vai uma cуpia do script, bem como ela estб aqui:
Os comandos pra executar a Loteria manualmente:
pawn Код:
if(strcmp(cmd, "/test2", true) == 0)//Aqui eu executo a Callback...
{
Lotto(20);
return 1;
}
if(strcmp(cmd, "/test1", true) == 0)//Primeiro seto o nъmero pra todos online....
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerInfo[i][pLottoNr] = 20;
}
}
pawn Код:
public Lotto(number)
{
new JackpotFallen = 0;
DeletarArmasAoMorrer();
new string[256];
//new strtext[256];
new rand = random(10000);
new winner[MAX_PLAYER_NAME];
format(string, sizeof(string), "||LOTЙRICA||: O nъmero sorteado de hoje foi: %d", number);
OOCOff(COLOR_WHITE, string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SendClientMessage(i,COLOR_YELLOW2, "||===========| GANHADORES |===========||");
if(PlayerInfo[i][pLottoNr] == number)
{
GetPlayerName(i, winner, sizeof(winner));
format(string, 256, "|| %s - R$%d Reais", winner, Jackpot);
//strcat(strtext, string);
JackpotFallen++;
}
if(JackpotFallen != 0)
{
SendClientMessage(i,COLOR_WHITE, string);
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
if(JackpotFallen == 0)
{
SendClientMessage(i,COLOR_WHITE, "|| Nenhuma pessoa foi Sorteada! ||");
PlayerPlaySound(i,1057,0.0,0.0,0.0);
}
SendClientMessage(i,COLOR_YELLOW2, "||===================================||");
if(PlayerInfo[i][pLottoNr] == number)
{
format(string, sizeof(string), "||DKS||: Parabйns! Vocк ganhou R$%d Reais da Loteria!", Jackpot);
SendClientMessage(i, COLOR_WHITE, string);
SafeGivePlayerReal(i, Jackpot);
}
PlayerInfo[i][pLottoNr] = 0;
Jackpot += rand;
format(string, sizeof(string), "||LOTЙRICA||: O prкmio mudou para R$%d Reais! O prуximo sorteio serб daqui 1 hora!", Jackpot);
OOCOff(COLOR_LIGHTBLUE, string);
return 1;
}
}
return 1;
}