SCRIPTMAN 358 Опубликовано 2 июня, 2017 Привет народ! Сейчас лето, куча свободного времени, пожалуй помимо тренировок я смогу уделять время скриптингу, так как я пишу мод с нуля, решил с вами поделиться одной простенькой командой, а именно выдачей админки игроку, команда простенькая, но согласитесь - нужная. Сама команда: CMD:makeadmin(playerid, params[]) { new string[90]; if(Player[playerid][pAdmin] < 6) return ESCM; if(sscanf(params, "iii", params[0], params[1], params[2])) return SCM(playerid, COLOR_WHITE, "Введите: /makeadmin [id] [AdminRank [AdminSkin]"); if(!IsPlayerConnected(params[0])) return ISCM; if(Login[params[0]] == false) return LSCM; if(params[2] < 0 || params[2] > 299) return SCM(playerid, COLOR_WHITE, "Скин администратора должен быть от 0 до 299!"); if(params[1] < 0 || params[1] > 6) return SCM(playerid, COLOR_WHITE, "Уровень админки должен быть от 0 до 6!"); Player[params[0]][pAdmin] = params[1]; Player[params[0]][pSkin] = params[2]; f("Вы выдали %s %d уровень администратора. ID скина: %d. Испытательный срок: 3 дня.", GN(params[0]), params[1], params[2]); SCM(playerid, COLOR_NATIVE, string); f("Создатель %s выдал вам %d уровень администратора. ID скина: %d. Испытательный срок: 3 дня.", GN(playerid), params[1], params[2]); SCM(params[0], COLOR_NATIVE, string); return true; } Да, я вставил её из своего мода, сейчас буду объяснять, что заменить. Я добавил к этой команде ещё и выдачу скина, честно говоря команду на работоспособность не проверял, но, думаю будет работать. В общем, начнём. "ESCM" - это у меня сокращённый дефайн, что игрок не уполномочен использовать эту команду. "ISCM" - это у меня сокращённый дефайн, что игрок оффлайн - заменяете. "LSCM" - это у меня сокращённый дефайн, что игрок не авторизован - заменяете. "GN" - это у меня никнейм игрока, заменяете на своё. Кстати, возможно вам нужно будет заменить "if(Login[params[0]] == false)" - проверка, авторизован ли игрок. "f(" - сокращённый формат. "SCM" - сокращённый "SendClientMessage". Кстати, возможно "pAdmin", "pSkin", "Player[][]" вам тоже придётся заменить на свои, кто не понял, что значит "Player[][]" - это примерно: "Player[player][pAdmin]". Ну, а кому лень заменять на своё, то вот: #define ESCM SCM(playerid, COLOR_GREY, "Вы не уполномочены использовать данную команду!") #define ISCM SCM(playerid, COLOR_GREY, "Игрок оффлайн!") #define LSCM SCM(playerid, COLOR_GREY, "Игрок не авторизован!") #define f( format(string, sizeof(string), #define GN(%1) Player[%1][pName] #define SCM SendClientMessage На этом всё, не видел данную команду на форуме, да и не смотрел. P.S: Администрация, простите, если не туда написал тему, забыл уже :) Автор: Shapik 4 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
hteppl 214 Опубликовано 3 июня, 2017 [AdminRank]* Мелочь,но всё же. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SCRIPTMAN 358 Опубликовано 3 июня, 2017 ,упс, спасибо, не заметил) 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты