Приветствую всех пользователей этого сайта. Нечего делать сейчас,решил написать команду для удаление аккаунта,к тому же объяснить,что к чему.Примечание: Если у кого-то стоят команды на zcmd,а не на strcmp,то как-нибудь позже напишу урок на zcmd,поскольку я ещё плоховато знаю его. Ну что ж,начнём. В нашем моде Мы ищем паблик OnPlayerCommandText(playerid, cmdtext[]) Туда добавляем саму команду :
Code
if(strcmp(cmd, "/delakk", true) == 0) //Команда,при которой у нас удалится аккаунт. { if(PlayerInfo[playerid][pAdmin] == 4) { SendClientMessage(playerid,COLOR_CMDDELAKK,"Вы не Администратор!"); } new akk[256],ssss[256]; new string[500]; akk = strtok(cmdtext, idx); if(!strlen(akk)) { SendClientMessage(playerid,ВАШ ЦВЕТ," /delakk [Nickname]"); return 1; } format(string,sizeof(string),"users/%s.acc",akk); if(!fexist(string)) { SendClientMessage(playerid,ВАШ ЦВЕТ,"Такого аккаунта не существует!"); return 1; } else { fremove(string); format(ssss,sizeof(ssss)," Аккаунт \"%s\" был успешно удален!",akk); SendClientMessage(playerid,ВАШ ЦВЕТ,ssss); } return 1; }
Чтобы бы понять,что,где и что.Читаем то,что ниже //if(PlayerInfo[playerid][pAdmin] == 4) - Это у нас стоит проверка на админа,в модах РП обычно эта проверка другая.Давайте узнаем,какая же у нас проверка на админа? Итак,ищем в своём моде хотябы одну команду для админа,например,команда "/ban".После того,как мы нашли эту команду,мы скорее все заметим и саму проверку,она будет такого вида:
Code
if (PlayerInfo[playerid][pAdmin] >= 1) {
Идём чуть дальше:
Code
new akk[256],ssss[256]; new string[500]; akk = strtok(cmdtext, idx); if(!strlen(akk)) { SendClientMessage(playerid,COLOR_GREY," [LS-TDM] Сервер: /delakk [Nickname]"); return 1; }
new akk[256],ssss[256]; - названия переменных а new string[500]; - это тоже название переменной,но что такое "500" в квадратных скобках?Об этом чуть позже расскажу,если кому интересно.Идём дальше: akk = strtok(cmdtext, idx); - тут используется strtok,Если,например,человек не введёт /delakk ИмяАкк, а просто напишет команду пустую,то ему выдаст сообщение " /delakk [Nickname]"
Теперь разберём следующие :
Code
format(string,sizeof(string),"users/%s.acc",akk); // "users/%s.acc" - ЭТО СМЕНИТЬ ОБЯЗАТЕЛЬНО НА СВОЮ ДИРЕКТОРИЮ,у меня USERS - это папка,дальше %s.acc - это имя аккаунта,с форматом "acc". if(!fexist(string)) { SendClientMessage(playerid,COLOR_RED,"Такого аккаунта не существует!"); return 1; } else { fremove(string); format(ssss,sizeof(ssss)," Аккаунт \"%s\" был успешно удален!",akk); SendClientMessage(playerid,COLOR_LIGHTBLUE,ssss); } return 1; }
МЫ видем что аккаунт был удален.После этого делаем рестарт сервера,и видим,что наш аккаунт на самом деле удалён. Автор урока : MaXMuT Если такой урок существует,удалите. Старался,естественно,для новичков.Если есть какие-то вопросы по данному урок,задавайте их тут,или если ошибки есть в моде от данной команды.Я постараюсь вам ответить! и так же хочу сказать спасибо этому форуму,где я очень многому научился. Вернулся на форум.Пишите в личу,если кому надо помочь по скриптенгу( только на форуме,в скайпе не помогаю )
Сообщение отредактировал MaXMuT - Понедельник, 08.08.2011, 09:36:18
Ага,точно Но я брал команду из гф, и расписал подробно.Но я честно не знал,что админ писал этот урок xD Удалите мою тему Вернулся на форум.Пишите в личу,если кому надо помочь по скриптенгу( только на форуме,в скайпе не помогаю )
Сообщение отредактировал [east_side]_trane - Понедельник, 17.10.2011, 15:41:58