Chester_Master |
Дата: Воскресенье, 25.05.2014, 16:18 | Сообщение # 1
|
Бывалый
Сообщений: 339
Статус: Offline
|
Всем привет, выкладываю лично свою команду /awarn, возможность Основателю / гл.администратору дать выговор администратору.
И так, ничего сложного нету, начнем.
В pInfoвставляем:
В publicOnPlayerConnect(playerid)
Код PlayerInfo[playerid][pAWarn] = 0;
В public OnPlayerRegister(playerid, password[]) Код ini_setInteger(File,"AWarn",PlayerInfo[playerid][pAWarn]); [c] В public OnPlayerUpdateRL(playerid)
Код ini_setInteger(File,"AWarn",PlayerInfo[playerid][pAWarn]);
В public OnPlayerLogin(playerid,password[])
Код ini_getInteger(File,"AWarn",PlayerInfo[playerid][pAWarn]);
В public OnPlayerCommandText(playerid, cmdtext[])
Код else if(strcmp(cmd, "/awarn", true) == 0) { if (PlayerInfo[playerid][pAdmin] == 10) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /awarn [id] [причина]"); giveplayerid = ReturnUser(tmp); if(PlayerInfo[giveplayerid][pAdmin] == 10) return SCM(playerid, COLOR_GRAD2, "Запрещено"); if(PlayerInfo[giveplayerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_GRAD2, "Он не модератор!"); if(PlayerInfo[playerid][pAdmin] == 10) { 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[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /awarn [id] [причина]"); PlayerInfo[giveplayerid][pAWarn] += 1; if(PlayerInfo[giveplayerid][pAWarn] >= 4) return SendClientMessage(playerid, COLOR_GREY, "У него 3/3 выговоров"); if(PlayerInfo[giveplayerid][pAWarn] == 2) { new ip[256]; format(string, sizeof(string), "<ADM-CMD> Администратор %s понизил %s (2/3 Выговоров). Причина: %s ", sendername,giveplayer, (result)); ABroadCast(COLOR_REDD,string,1); GetPlayerIp(giveplayerid,ip,sizeof(ip)); PlayerInfo[giveplayerid][pAdmin] -= 1; return 1; } if(PlayerInfo[giveplayerid][pAWarn] >= 3) { new ip[256]; format(string, sizeof(string), "<ADM-CMD> Администратор %s снял %s (3/3 Выговоров). Причина: %s ", sendername,giveplayer, (result)); ABroadCast(COLOR_REDD,string,1); GetPlayerIp(giveplayerid,ip,sizeof(ip)); format(string, sizeof(string), "%s.ini",giveplayer); GetPlayerIp(giveplayerid,ip,sizeof(ip)); PlayerInfo[giveplayerid][pAdmin] = 0; PlayerInfo[giveplayerid][pDostup] = 0; return 1; } new ip[256]; format(string, sizeof(string), "<ADM-CMD> Администратор %s дал выговор %s (1/3). Причина: %s", sendername, giveplayer, (result)); ABroadCast(COLOR_REDD,string,1); GetPlayerIp(giveplayerid,ip,sizeof(ip)); OnPlayerUpdateRL(giveplayerid); return 1; } }//not connected } else { SendClientMessage(playerid, COLOR_GREY, "Игрок не найден!"); } } return 1; }
else if(strcmp(cmd, "/aunwarn", true) == 0) // Очистка варнов { if(PlayerInfo[playerid][pAdmin] >= 10) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /unwarn [id]"); giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { new planame[32]; GetPlayerName(giveplayerid, planame, sizeof(planame)); if(PlayerInfo[giveplayerid][pAWarn] <= 0) {SendClientMessage(playerid, COLOR_RED, "Выговоров нет."); return 1;} PlayerInfo[giveplayerid][pAWarn] = 0; format(string, sizeof(string), "Вы сняли все выговоры у %s!",planame); SendClientMessage(playerid, COLOR_REDD,string); } else { SendClientMessage(playerid, COLOR_GREY, "Игрок не найден!"); } } else { SendClientMessage(playerid, COLOR_RED, ""); } return 1; }
Вот и все, ничего сложного нету.
Если у вас возникнет проблема со вставкой сис-мы, пишите в ЛС или в тему описывайте проблемы.
Подкорректируйте систему под ваш мод, возможно проверки разные будут.
Сообщение отредактировал Chester_Master - Воскресенье, 25.05.2014, 16:20 |
|
|
|
artempetroff2004 |
Дата: Воскресенье, 03.04.2016, 13:09 | Сообщение # 2
|
Новичок
Сообщений: 1
Статус: Offline
|
Chester_Master, artempetroff2004 Добавь в скайп, вопрос есть.
Tema Rahmanin
|
|
|
|
Kirill_Morvol |
Дата: Суббота, 18.06.2016, 19:26 | Сообщение # 3
|
Новичок
Сообщений: 1
Статус: Offline
|
4 ошибки помогите исправить (( error 029: invalid expression, assumed zero warning 215: expression has no effect error 001: expected token: ";", but found "if" error 017: undefined symbol "cmd" fatal error 107: too many error messages on one line
|
|
|
|