Создание AdminName
|
|
Дата: 20.12.2010, Понедельник, 19:34:10 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Всем привет. Ну пожалуй начнем. Для начала найдем enum pInfo. И вставляем туда: Далее ищем Паблик OnPlayerRegister и вставляем туда: Code format(var, 32, "AdminName=NoAdmin\n", PlayerInfo[playerid][pAdminName]);fwrite(hFile, var); Далее ищем паблик SavePlayer и туда вставляем: Code format(var, 32, "AdminName=%s\n", PlayerInfo[playerid][pAdminName]);fwrite(hFile, var); Ищем паблик OnPlayerLogin и туда вставляем: Code if( strcmp( key , "AdminName" , true ) == 0 ) { val = ini_GetValue( Data ); strmid(PlayerInfo[playerid][pAdminName], val, 0, strlen(val)-1, 255);} Теперь давай добавим саму команду /makeadmin Code if(strcmp(cmd, "/makeadmin", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Введите: /makeadmin [ID игрока] [уровень админа] [Админ ник"); return 1; } new AdmName[32]; new para1; new level; para1 = ReturnUser(tmp); tmp = strtok(cmdtext, idx); level = strval(tmp); AdmName = strtok(cmdtext, idx); if (!strlen(AdmName)) { SendClientMessage(playerid, COLOR_GREY, "Введите: /makeadmin [ID игрока] [уровень админа] [Админ ник]"); return 1; } if (PlayerInfo[playerid][pAdmin] >= 8) { if(IsPlayerConnected(para1)) { if(para1 != INVALID_PLAYER_ID) { GetPlayerName(para1, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); PlayerInfo[para1][pAdmin] = level; format(string, sizeof(string), "%s", AdmName); strmid(PlayerInfo[para1][pAdminName], string, 0, strlen(string), 255); if(level > 0) { printf("*Внимание! %s был назначен администратором %d-го уровня администратором %s, Админ ник: %s", giveplayer, level, PlayerInfo[playerid][pAdminName], AdmName); format(string, sizeof(string), " Вы стали админом %d-го уровня благодаря %s. Ваш админ ник: [%s]", level, PlayerInfo[playerid][pAdminName], AdmName); SendClientMessage(para1, COLOR_LIGHTBLUE, string); format(string, sizeof(string), " Вы назначили %s администратором %d уровня, Админи-ник: %s", giveplayer,level, AdmName); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); } if(level < 1) { printf("*Внимание! %s был снят с администрирования администратором %s", giveplayer, PlayerInfo[playerid][pAdminName]); format(string, sizeof(string), " Вы были сняты с должности админа администратором %s", PlayerInfo[playerid][pAdminName]); SendClientMessage(para1, COLOR_LIGHTBLUE, string); format(string, sizeof(string), " Вы сняли %s с должности админа", giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); } } } } } return 1; } Теперь во всех командах админа заменяем sendername на PlayerInfo[playerid][pAdminName] пишем /makeleader ставим себе ник и вуаля все работает. Удачи всем. Если будут вопросы пишите в комментариях. Автор: AVIZT
|
|
|
Дата: 20.12.2010, Понедельник, 20:14:08 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
bstr, Ну впринцепи это даже очень удобно:) Ну вот смотри тебе кикнул админ Avizit или тебя кикнул админ Marko_Guovani, лично мне кажется это удобно в особенности для РП модов.
|
|
|
Дата: 20.12.2010, Понедельник, 20:48:15 | Сообщение # $NUMBER
Группа: SCT-Team
Сообщений: 252
Quote (bstr) AVIZT, И зачем это? мдэээ нуп,если ты это поставишь ты токо можешь использовать ету кому,больше не кто
|
|
|
Дата: 20.12.2010, Понедельник, 21:03:40 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Тимка, Ни откуда не вырезал! Это будет обычная админка, только при кике будет писать админ тототот кикнул тоготогото:)Добавлено (20.12.2010, 21:03:40) ---------------------------------------------
Code if(strcmp(cmd, "/kick", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, " Подсказка: /kick [IDигрока] [причина]"); return 1; } giveplayerid = ReturnUser(tmp); if (PlayerInfo[playerid][pAdmin] >= 2) { 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 playerIP[15]; GetPlayerIp(giveplayerid, playerIP, sizeof(playerIP)); 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)) { SendClientMessage(playerid, COLOR_GRAD2, " Подсказка: /kick [IDигрока] [причина]"); return 1; } new year, month,day; getdate(year, month, day); format(string, sizeof(string), "AdmCmd: %s was kicked by %s, reason: %s (%d-%d-%d),IP Adress %s ", giveplayer, PlayerInfo[playerid][pAdminName], (result),month,day,year,playerIP); KickLog(string); format(string, sizeof(string), " АдминКоманда: %s был кикнут админом %s, причина: %s, IP Adress %s ", giveplayer, PlayerInfo[playerid][pAdminName], (result),playerIP); SendClientMessageToAll(COLOR_LIGHTRED, string); AdmCmdLog(string); Kick(giveplayerid); return 1; } } } else { format(string, sizeof(string), " %d не активный игрок.", giveplayerid); SendClientMessage(playerid, COLOR_GRAD1, string); } } return 1; } Вот вам кик попробуйте просто в админских командах замените где написано на Code PlayerInfo[playerid][pAdminName]
|
|
|
Дата: 20.12.2010, Понедельник, 21:40:09 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 263
О боже. Чуждо строим ИРПЭ сервер!1
|
|
|
Дата: 21.12.2010, Вторник, 16:11:16 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 414
AVIZT, Лол?че ты врешь что сам делал?из моего мода вырезал... P.S сис-ма багнутая
|
|
|
Дата: 21.12.2010, Вторник, 16:14:35 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Valeron, Не я писал эту команду просто знаю как её сделать и не с твоего мода брал:)
|
|
|
Дата: 21.12.2010, Вторник, 16:43:42 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 414
AVIZT, Код сравни,потом говори сам ли ты ее делал или вырезал,ибо ты в теме с моим модом жаловался что нету сис-мы покупных тачек,на самом деле не было всего лишь файла тачек,уровень скриптера у тебя не большой
|
|
|
Дата: 21.12.2010, Вторник, 17:16:41 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Valeron, Не ствоего мода это точнО:)
|
|
|
Дата: 05.01.2011, Среда, 08:27:23 | Сообщение # $NUMBER
Группа: Забаненые
Сообщений: 23
этот урок стырен с другово сайта .
|
|
|
Дата: 06.01.2011, Четверг, 00:44:53 | Сообщение # $NUMBER
Группа: Удаленные
Сообщений:
Я сейчас всех обрадую так, как я это умею. Составлю ка я не большой списочек: 1 - Зачем такой простой урок, писать для ГФ? 2 - Автор понимает о чом пишет? 3 - Автор слышал слово оптимизация? 4 - Автор как и большенство нубов тоже повелся на писание кода лесенкой? 5 - Автор курит травку?! 6 - Автор, по твоему коду выдно что ты верешь в мистику. Иначе как объяснить что у приконнекченого игрока, не правельный айди? 7 - Автор точно что-то курит, ибо зачем он иначе ответил на то что сказал тимка, кодом команды кик, и чуть измененным текстом из урока? 8 - Зачем вобще довать второй ник? 9 - Автор, можно я буду называть тебя Лизой? 10 - Автор нуб 11 - Автор нуб 12 - Автор нуб 13 - Автор нуб 14 - Автор нуб 15 - Автор нуб 16 - Автор нуб 17-111100 - Автор нуб (я так написал, потому что у меня руки отсохнут столько раз писать это). 111101 - Меня очень порадовали знания Лизы, то есть автора, в функциях инклуда file.inc. Он не просто додумался сам, как при помощи него записать строку в файл, но и умудрился придумать способ, читать данные от туда при помощи другово инклуда. 111102 - Автор так хорошо расписал урок, так что если кто-то захочет расписать хуже, ему придется выложить код, даже без коментариев. 111103 - Автор, ты не автор. И я могу продолажть этот список до 99995, ой нет. До 999998, извените обсчитался, так автор, то есть Лиза, надеюсь ты пролистаешь тот маленький отрывок из моего списка, и хотябы постораешься исравить что-то, ну хотябы то что написано пунктами 10, 11, 12 и 13. Фух, господи, моя гениальность становится невыносимой. Помоги мне.
|
|
|
Дата: 06.01.2011, Четверг, 08:55:42 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 245
Быдло код беее + автор не ты
|
|
|
Дата: 06.01.2011, Четверг, 17:51:22 | Сообщение # $NUMBER
Группа: Администраторы
Сообщений: 351
Батька всея Samp-City
Quote (Xe|N|o) Фух, господи, моя гениальность становится невыносимой. Помоги мне.
|
|
|
Дата: 16.01.2011, Воскресенье, 23:15:32 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 86
Valeron, валерон ты думаеш что один тб геймс такой умный есть люди и по умнее создателю
|
|
|
Дата: 17.01.2011, Понедельник, 04:25:25 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 414
Quote (ukrains) Valeron, валерон ты думаеш что один тб геймс такой умный есть люди и по умнее создателю Во всяком случаем TB-Games одни из самых живучих и достойных проектов, подобных которой нету, так что смело стягивай удочку, убейся об стенку, ну или просто асади) PS Приведи уж на столько умных, о которых я в принципе не слышал? Я знаю только отличных скриптеров,но серверов у них как таковых нету, я сейчас про Энрико. И кстати жаль что у него нет сервера т.к он бы раскрутил его неплохо даже за счет мода.
|
|
|