23.02.2015, 17:25
Hi guys! Recently, I made a /invite command for my RPG Server. It's a MYSQL server and I think there's a problem somewhere down here. What's happening is that the player is invited and everything is ok untill he relogs. Then, the skin and the team remains ok but [pMember] is not saving. So, he is a civilian with cop skin for example.
Could you please tell me how to fix it?
Код:
if(strcmp(cmd, "/invite", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /invite [playerid/PartOfName]");
return 1;
}
new para1;
new ftext[20];
para1 = ReturnUser(tmp);
if (PlayerData[playerid][pLeader] >= 1 || PlayerData[playerid][pRank] == 6)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if (gTeam[para1]==TEAM_GREEN && PlayerData[para1][pMember] == 0 && PlayerData[para1][pFMember] == 255 || PlayerData[para1][pLeader] == 0)
{
if(PlayerData[para1][pJob] > 0)
{
SendClientMessage(playerid, COLOR_GREY, " Can't invite him, player has a Job !");
return 1;
}
if(PlayerData[playerid][pLeader] == 1) { PlayerData[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "Police Department"; ChosenSkin[para1] = 280; SetPlayerSkin(para1, 280); }
else if(PlayerData[playerid][pLeader] == 2) { PlayerData[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "FBI/ATF"; ChosenSkin[para1] = 286; SetPlayerSkin(para1, 286); }
else if(PlayerData[playerid][pLeader] == 3) { PlayerData[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "National Guard"; ChosenSkin[para1] = 287; SetPlayerSkin(para1, 287); }
else if(PlayerData[playerid][pLeader] == 4) { PlayerData[para1][pTeam] = 1; gTeam[para1] = 1; ftext = "Paramedics"; ChosenSkin[para1] = 70; SetPlayerSkin(para1, 70); }
else if(PlayerData[playerid][pLeader] == 5) { PlayerData[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Mayor"; ChosenSkin[para1] = 258; SetPlayerSkin(para1, 120); }
else if(PlayerData[playerid][pLeader] == 6) { PlayerData[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Taxi Cab Company"; ChosenSkin[para1] = 120; SetPlayerSkin(para1, 258); }
else if(PlayerData[playerid][pLeader] == 7) { PlayerData[para1][pTeam] = 7; gTeam[para1] = 5; ftext = "School Instructors"; ChosenSkin[para1] = 153; SetPlayerSkin(para1, 153); }
else if(PlayerData[playerid][pLeader] == 8) { PlayerData[para1][pTeam] = 10; gTeam[para1] = 12; ftext = "Hitman Agency"; ChosenSkin[para1] = 127; SetPlayerSkin(para1, 127); }
else if(PlayerData[playerid][pLeader] == 9) { PlayerData[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "News Reporters"; ChosenSkin[para1] = 148; SetPlayerSkin(para1, 148); }
else if(PlayerData[playerid][pLeader] == 10) { PlayerData[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Tow Truck Company"; ChosenSkin[para1] = 255; SetPlayerSkin(para1, 255); }
else if(PlayerData[playerid][pLeader] == 11) { PlayerData[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Jamaican Posse"; ChosenSkin[para1] = 59; SetPlayerSkin(para1, 59); }
else if(PlayerData[playerid][pLeader] == 12) { PlayerData[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Bloods"; ChosenSkin[para1] = 67; SetPlayerSkin(para1, 67); }
else if(PlayerData[playerid][pLeader] == 13) { PlayerData[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Black Guerrila"; ChosenSkin[para1] = 102; SetPlayerSkin(para1, 102); }
else { return 1; }
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerData[para1][pMember] = PlayerData[playerid][pLeader];
PlayerData[para1][pRank] = 1;
printf("News: %s has invited %s to join %s.", sendername, giveplayer, ftext);
format(string, sizeof(string), " You have Joined the %s, you were invited by Leader %s", ftext, sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string,sizeof string, "INSERT INTO `factions` (`Player`,`Leader`,`Rank`)VALUES('%s','%s','1');",sendername,ftext);
mysql_query(string);//acum zi comanda de /setrank,sau cum o fi
format(string, sizeof(string), " You have Invited %s to join the %s.", giveplayer,ftext);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
SetPlayerInterior(para1,0);
new rand = random(sizeof(gInviteSpawns));
SetPlayerPos(para1, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(para1, gInviteSpawns[rand][3]);
SetPlayerCameraPos(para1,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
SetPlayerCameraLookAt(para1,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
TogglePlayerControllable(para1, 0);
SelectChar[para1] = 255;
SelectCharID[para1] = PlayerData[para1][pMember];
SelectCharPlace[para1] = 1;
PlayerData[para1][pModel] = ChosenSkin[para1];
PlayerData[para1][pChar] = ChosenSkin[para1];
SendClientMessage(para1, COLOR_LIGHTRED, "* Use 'next' to Select the char you want to use.");
SendClientMessage(para1, COLOR_LIGHTRED, "* If you've found the Char you want to use, type 'done'.");
new wakaname[25];
GetPlayerName(para1,wakaname,25);
new str[128];
format(str,128,"UPDATE `users` SET `Cchar`='%d',`Team`='%d',`Model`='%d`,`Member`='%d' WHERE `name`='%s'",PlayerData[para1][pChar],PlayerData[para1][pTeam],PlayerData[para1][pModel],PlayerData[para1][pMember],wakaname);
mysql_query(str);
}
else
{
SendClientMessage(playerid, COLOR_GREY, " That player is currently Wanted / a Different Team / or already a Family Member.");
return 1;
}
}
}//not connected
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "You are not authorized to use that command(leaders only)!");
}
}
return 1;
}


... same problem here, nothing but the skin updated.