08.08.2013, 12:41
So I got one problem. I don't know why is it happening or I'm just stupid not to see cause but here it is.
Code:
And here is debug
3,4, end are prints till callback end.
As you can see playerid is good for i=0 in loop. But for i=1 in loop playerid becomes 105. Same for i=2 and so on. Any solution?
Code:
pawn Код:
public AddPlayerRaceCount(playerid,place)
{
printf("AddplayerRaceCount: playerid: %d, place: %d",playerid,place);
//code
switch(place1) //place1 is defined don't worry
{
case 1:
{
print("1");
//code
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
printf("player ID %d is here: bet id is %d and playerid(aka winner is %d)",i,Info[i][BetID],playerid);
if(Info[i][BetID] == playerid)
{
new amount = Info[i][BetAmount]*2;
format(msg,170,"BetSys: %s won $%d by betting on %s to win race!",PlayerName(i),amount,PlayerName(playerid));
SendClientMessageToAll(ORANGE,msg);
GivePlayerCash(i,amount);
print("Won bet");
}
print("restored vars");
}
}
print("2");
//rest of code
Код:
[16:40:36] AddplayerRaceCount: playerid: 1, place: 2 [16:40:36] 1 [16:40:36] player ID 0 is here: bet id is 1 and playerid(aka winner is 1) [16:40:36] Won bet [16:40:36] restored vars [16:40:36] player ID 1 is here: bet id is 1 and playerid(aka winner is 105) [16:40:36] restored vars [16:40:36] player ID 2 is here: bet id is 1 and playerid(aka winner is 105) [16:40:36] restored vars [16:40:36] 2 [16:40:36] 3 [16:40:36] 4 [16:40:36] end
As you can see playerid is good for i=0 in loop. But for i=1 in loop playerid becomes 105. Same for i=2 and so on. Any solution?