[MarKizzz]
Умник
Здравствуйте уважаемые пользователи P-I, написал команду /giverank со мной скина, решил выложить сюда, что бы узнать ваше мнение.
Ко все #define
PHP:
#define AdminCommand "{FF0000}Вы не уполномочены использовать эту команду!"
В public OnPlayerCommandText(playerid, cmdtext[])
PHP:
if(strcmp(cmd, "/giverank", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /giverank [id] [ранг]");
new para1,level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(PlayerInfo[playerid][pLeader] <= 0 && PlayerInfo[playerid][pRank] <= PlayerInfo[para1][pRank]) return SendClientMessage(playerid, COLOR_GREY, "Вы не можите давать ранг тому,кто старше вас по рангу!");
if(PlayerInfo[playerid][pMember] > 0 && playerid == para1) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете дать ранг самому себе!");
if(IsPlayerConnected(para1))
{
if(!IsValidRank(playerid,level)) return SendClientMessage(playerid,COLOR_GREY,"Неправильный номер ранга");
if(PlayerInfo[para1][pMember] == PlayerInfo[playerid][pLeader] || PlayerInfo[para1][pLeader] == PlayerInfo[playerid][pLeader])
{
if(CanGiverankPlayer(playerid,para1))
{
if(para1 != INVALID_PLAYER_ID)
{
new mem = 0;
if(PlayerInfo[playerid][pLeader] > 0) mem = PlayerInfo[playerid][pLeader];
else if(PlayerInfo[playerid][pMember] > 0) mem = PlayerInfo[playerid][pMember];
if(PlayerInfo[para1][pMember] != mem) return SendClientMessage(playerid,COLOR_GREY,"Этот игрок не в вашей фракции!");
if(PlayerInfo[playerid][pMember] > 0 && PlayerInfo[playerid][pRank] < level) return SendClientMessage(playerid,COLOR_WHITE,"Вы не можете повысить ранг выше своего!");
if(IsAFracks(playerid) && !IsZamRank(para1,level)) return SendClientMessage(playerid,COLOR_GREY,"Вы не можите повысить игрока до заместителя!");
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pRank] = level;
format(string, sizeof(string), "{03c03c}%s{ffffff} повысил/понизил вас до {03c03c}%d{ffffff} ранга", sendername,level);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), "Вы повысили/понизили {03c03c}%s{ffffff} до {03c03c}%d{ffffff} ранга", giveplayer,level);
SendClientMessage(playerid, COLOR_WHITE, string);
// ============================================================================= //
if(IsPolice(para1))
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..3: { PlayerInfo[para1][pModel] = 280; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 4..6: { PlayerInfo[para1][pModel] = 281; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 7,8: { PlayerInfo[para1][pModel] = 284; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 9,10: { PlayerInfo[para1][pModel] = 282; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 11,12: { PlayerInfo[para1][pModel] = 285; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 13,14: { PlayerInfo[para1][pModel] = 288; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 76; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(IsAArm(para1))
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..7: { PlayerInfo[para1][pModel] = 287; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 8..14: { PlayerInfo[para1][pModel] = 179; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 15: { PlayerInfo[para1][pModel] = 61; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 191; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 2)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1,2: { PlayerInfo[para1][pModel] = 286; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 3,4: { PlayerInfo[para1][pModel] = 163; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 5,6: { PlayerInfo[para1][pModel] = 164; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 7: { PlayerInfo[para1][pModel] = 165; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 141; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 4)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..3: { PlayerInfo[para1][pModel] = 274; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 4,5: { PlayerInfo[para1][pModel] = 275; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 6,7: { PlayerInfo[para1][pModel] = 276; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 219; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 5)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..4: { PlayerInfo[para1][pModel] = 124; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 5..9: { PlayerInfo[para1][pModel] = 223; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 214; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 6)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..4: { PlayerInfo[para1][pModel] = 123; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 5..9: { PlayerInfo[para1][pModel] = 120; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 169; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 7)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..3: { PlayerInfo[para1][pModel] = 57; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 4,5: { PlayerInfo[para1][pModel] = 98; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 6..8: { PlayerInfo[para1][pModel] = 187; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 9: { PlayerInfo[para1][pModel] = 147; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 150; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 9)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1: { PlayerInfo[para1][pModel] = 163; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 2: { PlayerInfo[para1][pModel] = 171; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 11; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 11)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..6: { PlayerInfo[para1][pModel] = 240; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 7: { PlayerInfo[para1][pModel] = 59; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 172; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 12)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..4: { PlayerInfo[para1][pModel] = 103; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 5..8: { PlayerInfo[para1][pModel] = 102; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 9: { PlayerInfo[para1][pModel] = 104; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 195; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 13)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..4: { PlayerInfo[para1][pModel] = 108; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 5..8: { PlayerInfo[para1][pModel] = 109; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 9: { PlayerInfo[para1][pModel] = 110; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 41; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 14)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..3: { PlayerInfo[para1][pModel] = 112; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 4..7: { PlayerInfo[para1][pModel] = 111; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 8,9: { PlayerInfo[para1][pModel] = 125; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 298; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 15)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..3: { PlayerInfo[para1][pModel] = 105; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 4..6: { PlayerInfo[para1][pModel] = 106; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 7: { PlayerInfo[para1][pModel] = 107; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 8: { PlayerInfo[para1][pModel] = 269; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 9: { PlayerInfo[para1][pModel] = 271; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 56; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 16)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..4: { PlayerInfo[para1][pModel] = 250; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 5: { PlayerInfo[para1][pModel] = 217; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 211; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 17)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..4: { PlayerInfo[para1][pModel] = 114; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 5..8: { PlayerInfo[para1][pModel] =116 ; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 9: { PlayerInfo[para1][pModel] = 115; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 41; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
else if(PlayerInfo[para1][pMember] == 18)
{
if(PlayerInfo[para1][pSex] == 1)
{
switch(PlayerInfo[para1][pRank])
{
case 1..4: { PlayerInfo[para1][pModel] = 175; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 5..8: { PlayerInfo[para1][pModel] = 174; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
case 9: { PlayerInfo[para1][pModel] = 173; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
}
else if(PlayerInfo[para1][pSex] == 2) { PlayerInfo[para1][pModel] = 226; SetPlayerSkin(para1, PlayerInfo[para1][pModel]); }
}
// ============================================================================= //
}
}
else SendClientMessage(playerid, COLOR_WHITE, ""AdminCommand"");
}
else SendClientMessage(playerid,COLOR_GRAD1,"Этот игрок не из вашей фракции");
}
}
return true;
}
Вот все стоки
PHP:
stock IsValidRank(playerid,rank)
{
new mem = 0;
if(PlayerInfo[playerid][pLeader] > 0) mem = PlayerInfo[playerid][pLeader];
else if(PlayerInfo[playerid][pMember] > 0) mem = PlayerInfo[playerid][pMember];
switch(mem)
{
case 1,10,21:
{
switch(rank)
{
case 1..14:return true;
}
}
case 2,4,11:
{
switch(rank)
{
case 1..7:return true;
}
}
case 3,8,19:
{
switch(rank)
{
case 1..15:return true;
}
}
case 5,6,7,12,13,14,15,17,18:
{
switch(rank)
{
case 1..9:return true;
}
}
case 9:
{
switch(rank)
{
case 1,2:return true;
}
}
case 16:
{
switch(rank)
{
case 1..5:return true;
}
}
}
return false;
}
stock CanGiverankPlayer(playerid,playerid2)
{
if(PlayerInfo[playerid][pLeader] >= 1) return true;
new rank = PlayerInfo[playerid][pRank];
if(PlayerInfo[playerid][pMember] > 0 && PlayerInfo[playerid2][pMember] > 0 && rank < PlayerInfo[playerid2][pRank]) return false;
switch(PlayerInfo[playerid][pMember])
{
case 1,10,21:
{
switch(rank)
{
case 15:return true;
case 14:return true;
}
}
case 2,4,11:
{
switch(rank)
{
case 8:return true;
case 7:return true;
}
}
case 3,8,19:
{
switch(rank)
{
case 16:return true;
case 15:return true;
}
}
case 5,6,7,12,13,14,15,17,18:
{
switch(rank)
{
case 10:return true;
case 9:return true;
}
}
case 16:
{
switch(rank)
{
case 6:return true;
case 5:return true;
}
}
case 9:
{
switch(rank)
{
case 3:return true;
}
}
}
return false;
}
stock IsAFracks(playerid)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 1 && PlayerInfo[playerid][pRank] == 14) return true;
if(PlayerInfo[playerid][pMember] == 2 && PlayerInfo[playerid][pRank] == 7) return true;
if(PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pRank] == 15) return true;
if(PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pRank] == 6) return true;
if(PlayerInfo[playerid][pMember] == 5 && PlayerInfo[playerid][pRank] == 9) return true;
if(PlayerInfo[playerid][pMember] == 6 && PlayerInfo[playerid][pRank] == 9) return true;
if(PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] == 9) return true;
if(PlayerInfo[playerid][pMember] == 8 && PlayerInfo[playerid][pRank] == 15) return true;
if(PlayerInfo[playerid][pMember] == 9 && PlayerInfo[playerid][pRank] == 3) return true;
if(PlayerInfo[playerid][pMember] == 10 && PlayerInfo[playerid][pRank] == 14) return true;
if(PlayerInfo[playerid][pMember] == 11 && PlayerInfo[playerid][pRank] == 7) return true;
if(PlayerInfo[playerid][pMember] == 12 && PlayerInfo[playerid][pRank] == 9) return true;
if(PlayerInfo[playerid][pMember] == 13 && PlayerInfo[playerid][pRank] == 9) return true;
if(PlayerInfo[playerid][pMember] == 14 && PlayerInfo[playerid][pRank] == 9) return true;
if(PlayerInfo[playerid][pMember] == 15 && PlayerInfo[playerid][pRank] == 9) return true;
if(PlayerInfo[playerid][pMember] == 16 && PlayerInfo[playerid][pRank] == 5) return true;
if(PlayerInfo[playerid][pMember] == 17 && PlayerInfo[playerid][pRank] == 9) return true;
if(PlayerInfo[playerid][pMember] == 18 && PlayerInfo[playerid][pRank] == 9) return true;
if(PlayerInfo[playerid][pMember] == 19 && PlayerInfo[playerid][pRank] == 15) return true;
if(PlayerInfo[playerid][pMember] == 21 && PlayerInfo[playerid][pRank] == 14) return true;
}
return false;
}
stock IsZamRank(playerid,rank)
{
new mem = 0;
if(PlayerInfo[playerid][pLeader] > 0) mem = PlayerInfo[playerid][pLeader];
else if(PlayerInfo[playerid][pMember] > 0) mem = PlayerInfo[playerid][pMember];
switch(mem)
{
case 1,10,21:
{
switch(rank)
{
case 1..13:return true;
}
}
case 2,4,11:
{
switch(rank)
{
case 1..6:return true;
}
}
case 3,8,19:
{
switch(rank)
{
case 1..14:return true;
}
}
case 5,6,7,12,13,14,15,17,18:
{
switch(rank)
{
case 1..8:return true;
}
}
case 9:
{
switch(rank)
{
case 1:return true;
}
}
case 16:
{
switch(rank)
{
case 1..4:return true;
}
}
}
return false;
}
stock IsPolice(playerid)
{
if(IsPlayerConnected(playerid))
{
new member = PlayerInfo[playerid][pMember];
if(member==1 || member==21 || member==10)
return true;
}
return false;
}
stock IsAArm(playerid)
{
if(IsPlayerConnected(playerid))
{
new member = PlayerInfo[playerid][pMember];
if(member==3 || member==19 || member==8)
return true;
}
return false;
}
Спасибо за внимание.
Авто работы: [MarKizzz]
