Fist
Ученик
Команда даёт возможность Гл.Администратору дать выговор Модераторам
И так приступим:
В enum pInfo добавляем
В public OnPlayerConnect(playerid) добавляем
В public OnPlayerRegister(playerid, password[]) добавляем
В public OnPlayerSave(playerid) добавляем
В public OnPlayerLogin(playerid,password[]) добавляем
В public OnPlayerCommandText(playerid, cmdtext[]) добавляем
Надеюсь вам пригодится
Автор-Я
От + не откажусь
И так приступим:
В enum pInfo добавляем
PHP:
pAWarns,
PHP:
PlayerInfo[playerid][pAWarns] = 0;
PHP:
dini_IntSet(string, "AWarn", PlayerInfo[playerid][pAWarns]);
PHP:
dini_IntSet(string, "AWarn", PlayerInfo[playerid][pAWarns]);
В public OnPlayerLogin(playerid,password[]) добавляем
PHP:
PlayerInfo[playerid][pAWarns] = dini_Int(string2,"AWarn");
PHP:
if(strcmp(cmd, "/awarn", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "/awarn [id_игрока/ЧастьИмени] [причина]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 5)//тут вместо 5 ставим своё
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if (PlayerInfo[giveplayerid][pAdmin] == 5)//тут вместо 5 ставим своё
{
SendClientMessage(playerid, COLOR_GREY, "Он Гл.Администратор -_-");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[256];
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, "/awarn [id_игрока/ЧастьИмени] [причина]");
return 1;
}
PlayerInfo[giveplayerid][pAWarns] += 1;
if(PlayerInfo[giveplayerid][pAWarns] >= 3)
{
new kols[64];
new level = PlayerInfo[giveplayerid][pAdmin];
if(level == 1) { kols = "Модератору"; }//тут всё делаем по своему
else if(level == 3) { kols = "Модератору"; }//тут всё делаем по своему
else if(level == 2) { kols = "Модератору"; }//тут всё делаем по своему
else if(level == 4) { kols = "Гл.Модератору"; }//тут всё делаем по своему
else if(level == 5) { kols = "Гл.Администратору"; }//тут всё делаем по своему
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "Название сервера : Гл.Администратор %s выдал(а) предупреждение %s %s. Причина: %s (3/3) ", sendername, kols, giveplayer, (result));
SendAdminMessage(TEAM_AZTECAS_COLOR, string);
format(string, sizeof(string), "Название сервера : %s[%d] в результате был(а) снят(а) с своего поста.", giveplayer, giveplayerid);
SendAdminMessage(TEAM_AZTECAS_COLOR, string);
PlayerInfo[giveplayerid][pAWarns] = 0;
PlayerInfo[giveplayerid][pAdmin] = 0;
return 1;
}
new level = PlayerInfo[giveplayerid][pAdmin];
new arank[256];
if(level == 1) { arank = "Модератору"; }//тут всё делаем по своему
else if(level == 3) { arank = "Модератору"; }//тут всё делаем по своему
else if(level == 2) { arank = "Модератору"; }//тут всё делаем по своему
else if(level == 4) { arank = "Гл.Модератору"; }//тут всё делаем по своему
else if(level == 5) { arank = "Гл.Администратору"; }//тут всё делаем по своему
format(string, sizeof(string), "Название сервера : Гл.Администратор %s дал(a) выговор %s %s. Причина: %s (%d/3)", sendername, arank, giveplayer, (result), PlayerInfo[giveplayerid][pAWarns]);
SendAdminMessage(TEAM_AZTECAS_COLOR, string);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Он Гл.Администратор -_-");
return 1;
}
}
else
{
format(string, sizeof(string), "%d - нет такого игрока.", giveplayerid);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
}
}
}
if(strcmp(cmd, "/unawarn", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "/unawarn [id_игрока/ЧастьИмени] [причина]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 5)//тут вместо 5 ставим своё
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[256];
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, "/unawarn [id_игрока/ЧастьИмени] [причина]");
return 1;
}
new level = PlayerInfo[giveplayerid][pAdmin];
new arank[256];
if(level == 1) { arank = "Модератора"; }//тут всё делаем по своему
else if(level == 2) { arank = "Модератора"; }//тут всё делаем по своему
else if(level == 3) { arank = "Модератора"; }//тут всё делаем по своему
else if(level == 4) { arank = "Гл.Модератора"; }//тут всё делаем по своему
else if(level == 5) { arank = "Гл.Администратора"; }//тут всё делаем по своему
PlayerInfo[giveplayerid][pAWarns] -= 1;
format(string, sizeof(string), "Название сервера : Гл.Администратор %s снял(a) предупреждение с %s %s. Причина: %s (%d/3)", sendername, arank, giveplayer, (result), PlayerInfo[giveplayerid][pAWarns]);
SendFamilyMessage(PlayerInfo[giveplayerid][pMember], TEAM_AZTECAS_COLOR, string);
return 1;
}
else
{
format(string, sizeof(string), "%d - нет такого игрока.", giveplayerid);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Вы не Гл.Администратор!");
return 1;
}
}
return 1;
}
Автор-Я
От + не откажусь
Последнее редактирование:
