g_Stats[gameid][gDuring] = true;
nb_player[3] = g_Stats[gameid][gOwner] = playerid;
//g_Stats[gameid][gMember] = nb_player;
for(new i; i < MAX_PLAYER_PER_GAME; i++)
{
SCMF(playerid, RED, "%i & %i (i: %i)", g_Stats[gameid][gMember][i], nb_player[i], i);
g_Stats[gameid][gMember][i] = nb_player[i];
SCMF(playerid, RED, "%i & %i \n", g_Stats[gameid][gMember][i], nb_player[i]);
}
g_Stats[gameid][gGame] = gameid;
p_Stats[playerid][pAccepted] = true;
SCMF(playerid, -1, "%i & %i & %i & %i", nb_player[0], nb_player[1], nb_player[2], nb_player[3]);
SCMTAE(RED,"» %i & %i & %i & %i", g_Stats[gameid][gMember][0], g_Stats[gameid][gMember][1], g_Stats[gameid][gMember][2], g_Stats[gameid][gMember][3]);
[11:48:55] 1 & 1 (i: 0) [11:48:55] 1 & 1 [11:48:55] 0 & 2 (i: 1) [11:48:55] 2 & 2 [11:48:55] 4 & 3 (i: 2) [11:48:55] 3 & 3 [11:48:55] 0 & 4 (i: 3) [11:48:55] 4 & 4 [11:48:55] 1 & 2 & 3 & 4 [11:48:55] » 1 & 0 & 3 & 4
CMD:startgame(playerid, params[])
{
new nb_player[MAX_PLAYER_PER_GAME];
if(sscanf(params, "A<i>(-1)[3]", nb_player))
return SCM(playerid, -1, "/startgame [player2] [player3] [player4]");
new gameid = GetFreeSlot();
if(gameid == INVALID_GAME_ID)
return SCM(playerid, RED, "Bla bla bla");
for(new i; i < MAX_PLAYER_PER_GAME; i++)
{
if(!IsPlayerConnected(nb_player[i]) && nb_player[i] != -1)
return SCMF(playerid, RED, "Invalid.");
if(nb_player[i] == -1)
continue;
SCMF(nb_player[i], RED, "sm -");
p_Stats[nb_player[i]][pInvited] = false;
p_Stats[nb_player[i]][pGamemid] = gameid;
}
g_Stats[gameid][gDuring] = true;
nb_player[3] = g_Stats[gameid][gOwner] = playerid;
//g_Stats[gameid][gMember] = nb_player;
for(new i; i < MAX_PLAYER_PER_GAME; i++)
{
//SCMF(playerid, RED, "%i & %i (i: %i)", g_Stats[gameid][gMember][i], nb_player[i], i);
printf("%i & %i (i: %i)", g_Stats[gameid][gMember][i], nb_player[i], i);
g_Stats[gameid][gMember][i] = nb_player[i];
//SCMF(playerid, RED, "%i & %i \n", g_Stats[gameid][gMember][i], nb_player[i]);
printf("%i & %i \n", g_Stats[gameid][gMember][i], nb_player[i]);
}
g_Stats[gameid][gGame] = gameid;
p_Stats[playerid][pAccepted] = true;
// SCMF(playerid, -1, "%i & %i & %i & %i", nb_player[0], nb_player[1], nb_player[2], nb_player[3]);
// SCMTAE(RED, "» %i & %i & %i & %i", g_Stats[gameid][gMember][0], g_Stats[gameid][gMember][1], g_Stats[gameid][gMember][2], g_Stats[gameid][gMember][3]);
printf("» %i & %i & %i & %i", g_Stats[gameid][gMember][0], g_Stats[gameid][gMember][1], g_Stats[gameid][gMember][2], g_Stats[gameid][gMember][3]);
printf("%i & %i & %i & %i", nb_player[0], nb_player[1], nb_player[2], nb_player[3]);
if(AllPlayersAcceptedAGame(gameid))
{
SCM(gameid, RED, "-");
g_Stats[gameid][gStarted] = true;
}
return 1;
}
enum g_enum
{
bool:gDuring = false,
bool:gStarted = false,
gGame,
gOwner,
gMember[4] = 0,
//...
new g_Stats[MAX_GAME][g_enum]
[13:20:47] 1 & 1 (i: 0) [13:20:47] 1 & 1 [13:20:47] 0 & 2 (i: 1) [13:20:47] 2 & 2 [13:20:47] 4 & 3 (i: 2) [13:20:47] 3 & 3 [13:20:47] 0 & 4 (i: 3) [13:20:47] 4 & 4 [13:20:47] » 1 & 0 & 3 & 4 [13:20:47] 1 & 2 & 3 & 4
pawn Код:
|
bool:gDuring will be number 0 bool:gStarted will be number 0 so = bool:gDuring? gGame will be number 1 gOwner will be number 2 gMember[0] will be number 0 so = bool:gDuring? gMember[1] will be number 1 so = gGame? gMember[2] will be number 2 so = gOwner? gMember[3] will be number 3
enum g_enum
{
bool:gDuring,
bool:gStarted,
gGame,
gOwner,
gMember[4],
// ...
new g_Stats[MAX_GAME][g_enum];
// well you are wanting it to be set "0" so i don't assign anymore, but if you want to make it "1", then do like this:
g_Stats[0][gDuring] = true;