Код:
f(strcmp(cmd, "/adjust", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pFMember] == 255)
{
SendClientMessage(playerid, COLOR_GREY, " You are not in a Family !");
return 1;
}
new family = PlayerInfo[playerid][pFMember];
new wstring[128];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s", sendername);
strmid(wstring, string, 0, strlen(string), 255);
if(strcmp(FamilyInfo[family][FamilyLeader],wstring, true ) == 0 || PlayerInfo[playerid][pRank] > 4)
{
new x_nr[256];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr))
{
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust [name]");
SendClientMessage(playerid, COLOR_WHITE, "Available Names: Name, MOTD, Color, Invite, Uninvite, Rank, Rankname, Safe");
return 1;
}
if(strcmp(x_nr,"name",true) == 0)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /adjust Name [Family Name]");
return 1;
}
strmid(FamilyInfo[family][FamilyName], result, 0, strlen(result), 255);
SaveFamilies();
SendClientMessage(playerid, COLOR_WHITE, "You've adjusted your Family's Name.");
}
else if(strcmp(x_nr,"motd",true) == 0)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /adjust MOTD [Family MOTD Text]");
return 1;
}
strmid(FamilyInfo[family][FamilyMOTD], result, 0, strlen(result), 255);
SaveFamilies();
SendClientMessage(playerid, COLOR_WHITE, "You've adjusted your Family's MOTD.");
}
else if(strcmp(x_nr,"color",true) == 0)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /adjust color [Family Color Sample: 0xFFFFFFAA]");
return 1;
}
if(offset < 10)
{
SendClientMessage(playerid, COLOR_GREY, " Wrong Color number, take a look at the Sample ! (0xFFFFFFAA)");
return 1;
}
strmid(FamilyInfo[family][FamilyMOTD], result, 0, strlen(result), 255);
SaveFamilies();
SendClientMessage(playerid, COLOR_WHITE, "You've adjusted your Family's Color.");
}
else if(strcmp(x_nr,"safe",true) == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, "Adjusting your Family Safe will reset all your Safe Stats.");
SendClientMessage(playerid, COLOR_GRAD1, "If you want to adjust your Safe type /adjust confirm.");
SendClientMessage(playerid, COLOR_GRAD1, "Upgrading your family Safe will cost $50,000.");
return 1;
}
else if(strcmp(x_nr,"confirm",true) == 0)
{
if(GetPlayerMoney(playerid) < 50000)
{
SendClientMessage(playerid, COLOR_GRAD1, "Upgrading your family Safe costs $50,000.");
return 1;
}
GivePlayerMoney(playerid, -50000);
GetPlayerPos(playerid, FamilyInfo[family][FamilySafe][0],FamilyInfo[family][FamilySafe][1],FamilyInfo[family][FamilySafe][2]);
FamilyInfo[family][FamilyUSafe] = 1;
FamilyInfo[family][FamilyCash] = 0;
FamilyInfo[family][FamilyMats] = 0;
FamilyInfo[family][FamilyPot] = 0;
FamilyInfo[family][FamilyCrack] = 0;
pickups++;
SaveFamilies();
SendClientMessage(playerid, COLOR_WHITE, "You've adjusted your Family's Safe.");
}
else if(strcmp(x_nr,"invite",true) == 0)
{
/*if(FamilyInfo[family][FamilyMembers] >= 10)
{
SendClientMessage(playerid, COLOR_GREY, " Your Family has reached the Maximum of 10 Family Members, can't invite more !");
return 1;
}*/
tmp = strtok(cmdtext, idx);
if(!strlen(x_nr)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust invite [playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pFMember] != 255 || PlayerInfo[giveplayerid][pMember] != 0 || PlayerInfo[giveplayerid][pLeader] != 0)
{
SendClientMessage(playerid, COLOR_GREY, " That player is already in a Family !");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* You've invited %s to join '%s'.",giveplayer, FamilyInfo[family][FamilyName]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s has invited you to join '%s', you are now a Member of it.",sendername, FamilyInfo[family][FamilyName]);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pFMember] = family;
PlayerInfo[giveplayerid][pRank] = 1;
FamilyInfo[family][FamilyMembers] ++;
SaveFamilies();
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " That player is Offline !");
return 1;
}
}
else if(strcmp(x_nr,"uninvite",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(x_nr)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust uninvite [playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pFMember] != family)
{
SendClientMessage(playerid, COLOR_GREY, " That player is not in your Family !");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* You've kicked %s out of your Family.",giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Family Leader %s has kicked your out of the Family.",sendername);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pFMember] = 255;
PlayerInfo[giveplayerid][pRank] = 0;
FamilyInfo[family][FamilyMembers] --;
SaveFamilies();
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " That player is Offline !");
return 1;
}
}
else if(strcmp(x_nr,"rank",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(x_nr)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust rank [RankNr] [playerid/PartOfName]");
return 1;
}
new rank = strval(tmp);
if(rank < 1 || rank > 6) { SendClientMessage(playerid, COLOR_GREY, " RankNr can't be below 1 or above 6 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(x_nr)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust rank [RankNr] [playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pFMember] != family)
{
SendClientMessage(playerid, COLOR_GREY, " That player is not in your Family !");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* You've given %s Rank %d.",giveplayer,rank);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Family Leader %s has given you Rank %d.",sendername,rank);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pRank] = rank;
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " That player is Offline !");
return 1;
}
}
/*else if(strcmp(x_nr,"rankname",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(x_nr))
{
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust rankname [RankNr] [Rank Name]");
return 1;
}
new rank = strval(tmp);
if(rank < 1 || rank > 6)
{
SendClientMessage(playerid, COLOR_GREY, " RankNr can't be below 1 or above 6 !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(x_nr))
{
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust rankname [RankNr] [Rank Name]");
return 1;
}
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 2)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /adjust rankname [RankNr] [Rank Name]");
return 1;
}
if(rank == 1)
{
strmid(FamilyInfo[family][FamilyRank1], result, 0, strlen(result), 255);
SaveFamilies();
format(string, sizeof(string), "* You've changed Rank 1 to %s.",result);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
if(rank == 2)
{
strmid(FamilyInfo[family][FamilyRank2], result, 0, strlen(result), 255);
SaveFamilies();
format(string, sizeof(string), "* You've have changed Rank 2 to %s.",result);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
if(rank == 3)
{
strmid(FamilyInfo[family][FamilyRank3], result, 0, strlen(result), 255);
SaveFamilies();
format(string, sizeof(string), "* You've have changed Rank 3 to %s.",result);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
if(rank == 4)
{
strmid(FamilyInfo[family][FamilyRank4], result, 0, strlen(result), 255);
SaveFamilies();
format(string, sizeof(string), "* You've have changed Rank 4 to %s.",result);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
if(rank == 5)
{
strmid(FamilyInfo[family][FamilyRank5], result, 0, strlen(result), 255);
SaveFamilies();
format(string, sizeof(string), "* You've have changed Rank 5 to %s.",result);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
if(rank == 6)
{
strmid(FamilyInfo[family][FamilyRank6], result, 0, strlen(result), 255);
SaveFamilies();
format(string, sizeof(string), "* You've have changed Rank 6 to %s.",result);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}*/
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Invalid Adjust name !");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " You are not the Leader of your Family !");
return 1;
}
}