02.08.2013, 20:41
I've created a command to suspend somebody from a faction so they're unable to do any of the faction commands, however I do not know how to make it save to SQL, so whenever a person relogs the player variable is set back to 0 and thus they're unsuspended.
I have created a 'suspended' column in my MySQL database under 'accounts' table, but I'm not sure how to make the command save the variable. 0 would be where they're not suspended, and 1 would be suspended.
The commands are as follows;
I have created a 'suspended' column in my MySQL database under 'accounts' table, but I'm not sure how to make the command save the variable. 0 would be where they're not suspended, and 1 would be suspended.
The commands are as follows;
pawn Код:
YCMD:suspend(playerid, params[], help) {
if(help) {
SendClientMessage(playerid, X11_WHITE, "Suspends a person in your faction, they'll be unable to use commands.");
return 1;
}
new user,msg[128];
if(GetPVarInt(playerid, "Faction") == 0) {
SendClientMessage(playerid, X11_TOMATO_2, "You aren't in a faction.");
return 1;
}
if(GetPVarInt(playerid, "Rank") < 10) {
if(GetPVarInt(playerid, "Faction") != 1 || GetPVarInt(playerid, "Rank") < 10) {
SendClientMessage(playerid, X11_TOMATO_2, "Your rank isn't high enough.");
return 1;
}
}
new fid = GetPVarInt(playerid, "Faction");
if(!sscanf(params, "k<playerLookup>", user)) {
if(!IsPlayerConnectEx(user)) {
SendClientMessage(playerid, X11_TOMATO_2, "User not found");
return 1;
}
if(GetPVarInt(user, "Faction") != fid) {
SendClientMessage(playerid, X11_TOMATO_2, "This member is not in your faction");
return 1;
}
format(msg, sizeof(msg), "* %s has been suspended by %s",GetPlayerNameEx(user, ENameType_RPName_NoMask), GetPlayerNameEx(playerid, ENameType_RPName_NoMask));
SendFactionMessage(fid, COLOR_LIGHTBLUE, msg);
SetPVarInt(user, "Suspended", 1);
} else {
SendClientMessage(playerid, X11_WHITE, "USAGE: /suspend [playerid]");
}
return 1;
}
pawn Код:
YCMD:unsuspend(playerid, params[], help) {
if(help) {
SendClientMessage(playerid, X11_WHITE, "Lifts a players suspension.");
return 1;
}
new user,msg[128];
if(GetPVarInt(playerid, "Faction") == 0) {
SendClientMessage(playerid, X11_TOMATO_2, "You aren't in a faction.");
return 1;
}
if(GetPVarInt(playerid, "Rank") < 10) {
if(GetPVarInt(playerid, "Faction") != 1 || GetPVarInt(playerid, "Rank") < 10) {
SendClientMessage(playerid, X11_TOMATO_2, "Your rank isn't high enough.");
return 1;
}
}
new fid = GetPVarInt(playerid, "Faction");
if(!sscanf(params, "k<playerLookup>", user)) {
if(!IsPlayerConnectEx(user)) {
SendClientMessage(playerid, X11_TOMATO_2, "User not found");
return 1;
}
if(GetPVarInt(user, "Faction") != fid) {
SendClientMessage(playerid, X11_TOMATO_2, "This member is not in your faction");
return 1;
}
format(msg, sizeof(msg), "* %s has been unsuspended by %s",GetPlayerNameEx(user, ENameType_RPName_NoMask), GetPlayerNameEx(playerid, ENameType_RPName_NoMask));
SendFactionMessage(fid, COLOR_LIGHTBLUE, msg);
SetPVarInt(user, "Suspended", 0);
} else {
SendClientMessage(playerid, X11_WHITE, "USAGE: /unsuspend [playerid]");
}
return 1;
}