accurason
Новичок
Как изменить команды что бы нельзя было банить/варнить/кикать администраторов старше по званию? (у меня 5 лвл админки. Хочу что бы 1,2,3,4 лвл админки не могли банить/варнить/кикать всех администраторов, но 5 лвл мог банить/варнить/кикать всех)
Вот сама команда:
Вот сама команда:
Код:
if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 4) return SCM(playerid, COLOR_GRAD2, "Èñïîëüçóéòå: /ban [id èãðîêà] [ñðîê â äíÿõ] [ïðè÷èíà]");
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 3)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
if(money > 30 || money < 3)
{
SCM(playerid, COLOR_GRAD1, "Èñïîëüçóé /ban [id èãðîêà] [ñðîê â äíÿõ (3-30)] [ïðè÷èíà]");
return true;
}
if(Logged[playa] == false) return SCM(playerid, COLOR_GRAD1, "");
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;
new curdate = getdate();
format(query, sizeof(query), "Àäìèíèñòðàòîð %s çàáàíèë èãðîêà %s íà %i äíåé. Ïðè÷èíà: %s", PlayerInfo[playerid][pName],PlayerInfo[playa][pName], money, (result));
if(!strlen(result)) format(query, sizeof(query), "Àäìèíèñòðàòîð %s çàáàíèë èãðîêà %s íà %i äíåé.", PlayerInfo[playerid][pName],PlayerInfo[playa][pName], money);
SCMALL(ADM, query);
PlayerInfo[playa][pBan] = 1;
PlayerInfo[playa][pUnBanTime] = curdate+money;
PlayerInfo[playa][pAdmin] = 0;
PlayerInfo[playa][pMember] = 0;
PlayerInfo[playa][pLeader] = 0;
PlayerInfo[playa][pRang] = 0;
PlayerInfo[playa][pSetSpawn] = 0;
PlayerInfo[playa][pSkinOrg] = 0;
SetPlayerSkin(playa,PlayerInfo[playa][pSkin]);
AdminCombo[playerid][pBan] ++;
if(AdminCombo[playerid][pTimer] < 1) AdminCombo[playerid][pTimer] = 60;
AdminLog("Ban",result,playerid,playa);
BanIP(PlayerInfo[playa][pLastIP], money);
KickEx(playa);
}
}
}
else
{
}
}
return true;
}
Последнее редактирование:
