18.11.2017, 19:15
Hello, I have a problem with my command /accept invite [id] when a player has a invitation when he accept an error appears in server_log
line error:
Код:
[21:46:12] [debug] Run time error 4: "Array index out of bounds" [21:46:12] [debug] AMX backtrace: [21:46:12] [debug] #0 00252f60 in public cmd_accept (playerid=3, params[]=@0156ac90 "invite 4") at D:\gamemode\gamemodes\exgaming.pwn:37468 [21:46:12] [debug] #1 native CallLocalFunction () from samp03svr [21:46:12] [debug] #2 0003c4d0 in public OnPlayerCommandText (playerid=3, cmdtext[]=@0156ac4c "/accept invite 4") at D:\gamemode\pawno\include\zcmd.inc:108
Код:
else if(strcmp(x_job,"invite",true) == 0)
{
if(FactionOffer[playerid] != 999)
{
new str[256];
GetPlayerName(FactionOffer[playerid], sendername, sizeof(sendername));
GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
new para1 = playerid, ftext[64];
format(ftext, 30, "%s", NumeFactiune(PlayerInfo[FactionOffer[playerid]][pMember]));
if(PlayerInfo[FactionOffer[playerid]][pMember] == 1) { ChosenSkin[para1] = 71; SetPlayerSkinEx(para1, 71); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 2) { ChosenSkin[para1] = 163; SetPlayerSkinEx(para1, 163); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 3) { ChosenSkin[para1] = 287; SetPlayerSkinEx(para1, 287); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 4) { ChosenSkin[para1] = 114; SetPlayerSkinEx(para1, 114); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 5) { ChosenSkin[para1] = 107; SetPlayerSkinEx(para1, 107); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 6) { ChosenSkin[para1] = 3; SetPlayerSkinEx(para1, 3); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 8) { ChosenSkin[para1] = 71; SetPlayerSkinEx(para1, 72); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 9) { ChosenSkin[para1] = 188; SetPlayerSkinEx(para1, 188); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 10) { ChosenSkin[para1] = 98; SetPlayerSkinEx(para1, 98); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 11) { ChosenSkin[para1] = 208; SetPlayerSkinEx(para1, 208); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 12) { ChosenSkin[para1] = 153; SetPlayerSkinEx(para1, 153); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 13) { ChosenSkin[para1] = 253; SetPlayerSkinEx(para1, 253); }
else if(PlayerInfo[FactionOffer[playerid]][pMember] == 14) { ChosenSkin[para1] = 276; SetPlayerSkinEx(para1, 276); }
else { return 1; }
PlayerInfo[para1][pMember] = PlayerInfo[FactionOffer[playerid]][pMember];
PlayerInfo[para1][pRank] = 1;
PlayerInfo[para1][pModel] = ChosenSkin[para1];
PlayerInfo[para1][pFactionJoin] = gettime();
FactionOffer[playerid] = 999;
SetPlayerVirtualWorld(para1,0);
SetSpawnInfo(playerid, 0, PlayerInfo[para1][pModel],0.0,0.0,0.0,0,0,0,0,0,0,0);
SetPlayerToTeamColor(para1);
resetPlayerRaport(para1);
SpawnPlayer(para1);
mysql_format(SQL,str,sizeof(str),"UPDATE users SET `Member`='%d',`Rank`='1',`Model`='%d',`FactionJoin`='%d' WHERE `name`='%s'",PlayerInfo[para1][pMember],PlayerInfo[para1][pModel],PlayerInfo[para1][pFactionJoin],PlayerInfo[para1][pNormalName]);
mysql_tquery(SQL,str,"","");
new string2[256],query[256],string3[256];
format(string,sizeof(string),"You are now a member of the %s.",ftext);
SendClientMessage(playerid, COLOR_NICESKY, string);
format(string,sizeof(string),"%s has joined the group (invited by %s).",giveplayer,sendername);
SendFamilyMessage(PlayerInfo[playerid][pMember], COLOR_GENANNOUNCE, string);
format(string2, sizeof(string2), "%s has joined the group %s (invited by %s).", PlayerInfo[playerid][pNormalName], ftext, PlayerInfo[FactionOffer[playerid]][pNormalName]); //this is line with error
mysql_real_escape_string(string2, string3);
mysql_format(SQL, query, sizeof(query), "INSERT INTO faction_logs (`text`, `player`,`leader`) VALUES ('%s','%d','%d')", string3, PlayerInfo[para1][pSQLID],PlayerInfo[FactionOffer[playerid]][pSQLID]);
mysql_tquery(SQL,query,"","");
format(string2,sizeof(string2),"%s[user:%d] has joined the group %s (invited by %s[user:%d]).",giveplayer,PlayerInfo[para1][pSQLID],ftext,sendername,PlayerInfo[FactionOffer[playerid]][pSQLID]);
mysql_real_escape_string(string2, string3);
Factionlog(PlayerInfo[para1][pMember],PlayerInfo[para1][pSQLID],PlayerInfo[FactionOffer[playerid]][pSQLID],string3);
new varxx[256];
mysql_format(SQL, varxx, sizeof(varxx), "UPDATE aplications SET `status` = '2' WHERE `name` = '%s' AND `status` = '1'",PlayerInfo[playerid][pNormalName]);
mysql_tquery(SQL,varxx,"","");
format(gString, sizeof(gString), "joined group %s (invited by %s[user:%i])", NumeFactiune(PlayerInfo[playerid][pMember]), sendername, PlayerInfo[FactionOffer[playerid]][pSQLID]);
addPlayerLog(playerid, gString);
if(PlayerInfo[playerid][pAchievements][3] == 0) {
addToAchievements(playerid, "Be Part of a Group", 3);
}
}
else return SendClientMessage(playerid, COLOR_GREY, "You don't have an active group invite request.");
}
Код:
format(string2, sizeof(string2), "%s has joined the group %s (invited by %s).", PlayerInfo[playerid][pNormalName], ftext, PlayerInfo[FactionOffer[playerid]][pNormalName]); //this is line with error


