28.12.2016, 11:24
I'll give you the full code:
g_Stats is game's stats. p_stats is player's stats.
output with print instead of functions:
Edit: Don't look at SCMF without arguments, I've not finish yet.
PHP код:
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;
}
pawn Код:
enum g_enum
{
bool:gDuring = false,
bool:gStarted = false,
gGame,
gOwner,
gMember[4] = 0,
//...
new g_Stats[MAX_GAME][g_enum]
output with print instead of functions:
Код:
[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