Like2
Компетентный
Добрый день. 
в pInfo:
В OnPlayerConnect:
В OnPlayerRegister:
В OnPlayerSave:
В OnPlayerLogin:
В команду /unban:
Команды(ycmd):
Обычные команды:
Автора не знаю, вырезал из мода Antares RPG.
Команды мои. : ]
в pInfo:
PHP:
pUnbana,
PHP:
PlayerInfo[playerid][pUnbana] = false;
PHP:
ini_setInteger(iniFile, "UnbanPrava", PlayerInfo[playerid][pUnbana]);
PHP:
ini_setInteger(iniFile, "UnbanPrava", PlayerInfo[playerid][pUnbana]);
PHP:
ini_getInteger(iniFile, "UnbanPrava", PlayerInfo[playerid][pUnbana]);
PHP:
if(PlayerInfo[playerid][pAdmin] != 5 || PlayerInfo[playerid][pUnbana] != 1) return SendClientMessage(playerid, -1, "{ff3300}[Ошибка]{ffffff} Недостаточно прав для использования команды.");
PHP:
YCMD:giveunban(playerid, params[], help)
{
if(PlayerInfo[playerid][pAdmin] < 5) return (true);
if(sscanf(params,"u",params[0])) return SendClientMessage(playerid, -1, "Используйте: /giveunban [ ид игрока ]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "{ff3300}[Ошибка]{ffffff} Игрока нет в сети.");
if(PlayerInfo[params[0]][pUnbana] == 1) return SendClientMessage(playerid, -1, "{ff3300}[Ошибка]{ffffff} У указанного игрока - уже есть право заниматься разбанами.");
format(string, sizeof(string), "Ты разрешил(а) игроку %s заняться разбанами игроков.", Name(params[0]));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[params[0]][pUnbana] = 1;
format(string, sizeof(string), "Гл.Администратор %s, разрешил(а) тебе заниматься разбанами игроков.", Name(playerid));
SendClientMessage(params[0], COLOR_LIGHTBLUE, string);
return (true);
}
YCMD:offunban(playerid, params[], help)
{
if(PlayerInfo[playerid][pAdmin] < 5) return (true);
if(sscanf(params,"u",params[0])) return SendClientMessage(playerid, -1, "Используйте: /offunban [ ид игрока ]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "{ff3300}[Ошибка]{ffffff} Игрока нет в сети.");
if(PlayerInfo[params[0]][pUnbana] == 0) return SendClientMessage(playerid, -1, "{ff3300}[Ошибка]{ffffff} У указанного игрока - нет прав.");
format(string, sizeof(string), "Ты запретил(а) игроку %s заниматься разбанами игроков.", Name(params[0]));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[params[0]][pUnbana] = 0;
format(string, sizeof(string), "Гл.Администратор %s, запретил(а) тебе заниматься разбанами игроков.", Name(playerid));
SendClientMessage(params[0], COLOR_LIGHTBLUE, string);
return(true);
}
PHP:
if(strcmp(cmd, "/giveunban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 5)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "{33AA33}[Использование]{FFFFFF}: /giveunban [ид игрока]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(PlayerInfo[giveplayerid][pUnbana] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "{FF3300}[Ошибка]{ffffff}: У этого игркоа уже есть право заниматься разбанами.");
return 1;
}
if(IsPlayerConnected(giveplayerid))
{
new planame[32];
new adminname[32];
new arank[64];
if(PlayerInfo[playerid][pAdmin] == 5) { arank = "Гл.Администратор"; }
else { arank = "Модератор"; }
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;
GetPlayerName(playerid, adminname, sizeof(adminname));
GetPlayerName(giveplayerid, planame, sizeof(planame));
format(string, sizeof(string), "Ты разрешил %s заняться разбанами игроков.", planame);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pUnbana] += 1;
format(string, sizeof(string), "%s %s разрешил(а) тебе заниматься разбанами игроков.", arank, adminname);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
}
else
{
format(string, sizeof(string), "{FF3300}[Ошибка]{ffffff}: Этот игрок не в сети.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "{FF3300}[Ошибка]{ffffff}: Недостаточно прав для использования команды!");
}
}
return 1;
}
if(strcmp(cmd, "/offunban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 5)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "{33AA33}[Использование]{FFFFFF}: /offunban [ид игрока]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(PlayerInfo[giveplayerid][pUnbana] == 0)
{
SendClientMessage(playerid, COLOR_GREY,f "{FF3300}[Ошибка]{ffffff}: У этого игрока и так нет права на разбаны.");
return 1;
}
if(IsPlayerConnected(giveplayerid))
{
new planame[32];
new adminname[32];
new arank[18];
if(PlayerInfo[playerid][pAdmin] == 5) { arank = "Гл.Администратор"; }
else { arank = "Модератор"; }
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;
GetPlayerName(playerid, adminname, sizeof(adminname));
GetPlayerName(giveplayerid, planame, sizeof(planame));
format(string, sizeof(string), "Ты забрал(а) права разбана у %s.", planame);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[giveplayerid][pUnbana] = 0;
format(string, sizeof(string), "%s %s забрал(а) у тебя права заниматься разбанами игроков.", arank, adminname);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
}
else
{
format(string, sizeof(string), "{FF3300}[Ошибка]{ffffff}: Этот игрок не в сети.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "{FF3300}[Ошибка]{ffffff}: Недостаточно прав для использования команды!");
}
}
return 1;
}
Команды мои. : ]
