[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Создание AdminName
Дата: 20.12.2010, Понедельник, 19:34:10 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Репутация: 1+
Всем привет.
Ну пожалуй начнем.
Для начала найдем enum pInfo.
И вставляем туда:
Code
pAdminName[32],

Далее ищем Паблик 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
Репутация: 1+
bstr, Ну впринцепи это даже очень удобно:) Ну вот смотри тебе кикнул админ Avizit или тебя кикнул админ Marko_Guovani, лично мне кажется это удобно в особенности для РП модов.
Дата: 20.12.2010, Понедельник, 20:48:15 | Сообщение # $NUMBER
Группа: SCT-Team
Сообщений: 252
Репутация: 66+
Quote (bstr)
AVIZT, И зачем это?

мдэээ нуп,если ты это поставишь ты токо можешь использовать ету кому,больше не кто
Дата: 20.12.2010, Понедельник, 21:03:40 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Репутация: 1+
Тимка, Ни откуда не вырезал!
Это будет обычная админка, только при кике будет писать админ тототот кикнул тоготогото:)

Добавлено (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
sendername
на
Code
PlayerInfo[playerid][pAdminName]
Дата: 20.12.2010, Понедельник, 21:40:09 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 263
Репутация: 242+
О боже. Чуждо строим ИРПЭ сервер!1
Дата: 21.12.2010, Вторник, 16:11:16 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 414
Репутация: 886+
AVIZT, Лол?че ты врешь что сам делал?из моего мода вырезал...
P.S сис-ма багнутая
Дата: 21.12.2010, Вторник, 16:14:35 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Репутация: 1+
Valeron, Не я писал эту команду просто знаю как её сделать и не с твоего мода брал:)
Дата: 21.12.2010, Вторник, 16:43:42 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 414
Репутация: 886+
AVIZT, Код сравни,потом говори сам ли ты ее делал или вырезал,ибо ты в теме с моим модом жаловался что нету сис-мы покупных тачек,на самом деле не было всего лишь файла тачек,уровень скриптера у тебя не большой
Дата: 21.12.2010, Вторник, 17:16:41 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 84
Репутация: 1+
Valeron, Не ствоего мода это точнО:)
Дата: 05.01.2011, Среда, 08:27:23 | Сообщение # $NUMBER
Группа: Забаненые
Сообщений: 23
Репутация: 2+
этот урок стырен с другово сайта .
Дата: 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
Репутация: 125+
Быдло код беее + автор не ты
Дата: 06.01.2011, Четверг, 17:51:22 | Сообщение # $NUMBER
Группа: Администраторы
Сообщений: 351
Репутация: 32757+
Батька всея Samp-City
Quote (Xe|N|o)
Фух, господи, моя гениальность становится невыносимой. Помоги мне.

Дата: 16.01.2011, Воскресенье, 23:15:32 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 86
Репутация: 6+
Valeron, валерон ты думаеш что один тб геймс такой умный есть люди и по умнее
создателю
Дата: 17.01.2011, Понедельник, 04:25:25 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 414
Репутация: 886+
Quote (ukrains)
Valeron, валерон ты думаеш что один тб геймс такой умный есть люди и по умнее
создателю

Во всяком случаем TB-Games одни из самых живучих и достойных проектов, подобных которой нету, так что смело стягивай удочку, убейся об стенку, ну или просто асади)
PS Приведи уж на столько умных, о которых я в принципе не слышал? Я знаю только отличных скриптеров,но серверов у них как таковых нету, я сейчас про Энрико. И кстати жаль что у него нет сервера т.к он бы раскрутил его неплохо даже за счет мода.
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: