[Pawno | mxINI] /dellacc с подтверждением в диалоге - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Phoenixxx_Czar, Getbackthere, [CM]OlegEhtler  
[Pawno | mxINI] /dellacc с подтверждением в диалоге
Rasrow Дата: Четверг, 07.08.2014, 09:59 | Сообщение # 1
Любитель
Сообщений: 41
Статус: Offline
Всем привет, с вами Rasr0w. Сегодня я поделюсь с вами своей функцией из мода. Она позволит удалить аккаунт игрока прямо из игры с подтверждением. Начнем.

Ко всем new:
Код
new dellacc[MAX_PLAYER_NAME];


В OnPlayerCommandText:
Код
         
if(strcmp(cmd, "/dellacc", true) == 0)
           {
                    if(PlayerInfo[playerid][pAdmin] < 5) // проверка на админа, если нет переменной, удаляйте
                       {
                       return 1;
                    }
                    tmp = strtok(cmdtext, idx);
                    if(!strlen(tmp))
                    {
                       return SendClientMessage(playerid, 0xC7C7C7FF, "Используй: /dellacc [ник]");
                    }
                      format(string, sizeof(string), "players/%s.ini", tmp);
                      if(fexist(string))
                      {
                      format(dellacc[playerid], MAX_PLAYER_NAME, "%s", tmp); // записываем желаемый ник
                      new dell[256];
                      format(dell, 256, "{ffffff}Вы уверены в удалении {FF7626}%s?{ffffff} Чтобы подтвердить, нажмите 'Принять'", tmp);
                      ShowPlayerDialog(playerid, 9981, DIALOG_STYLE_MSGBOX, "{f0ff00}Удаление", dell, "Принять", "Отмена");
                    }
                       else
                    {
                       SendClientMessage(playerid, 0xADADADFF, "Аккаунта не существует");
                   }
               return 1;
           }


В OnDialogResponse:
Код

        if(dialogid == 9981)
        {
            if(response)
            {
                       new string[144];
                       format(string, sizeof(string), "players/%s.ini", dellacc[playerid]);
                       fremove(string);
                       GetPlayerName(playerid, playername, sizeof(playername));
                       format(string, sizeof(string), "[ВНИМАНИЕ] %s[%d] удалил аккаунт игрока %s", playername, playerid, dellacc[playerid]);
                       SendAdminMessage(0xFF0000FF, string);
                       SendClientMessage(GetPlayerID(dellacc[playerid]),0xFF0000FF, "Ваш аккаунт удален за нарушение правил сервера.");
                       return Kick(GetPlayerID(dellacc[playerid]));
         }
         else
         {
                 new stri3[144];
                 format(stri3, 144, "Удаление аккаунта %s успешно отменено",dellacc[playerid]);
                 SendClientMessage(playerid,0xFF6F00FF, stri3);
                 dellacc[playerid] = 0;
         }
        }


В конец мода (у кого нет):
Код

stock SendAdminMessage(color,const strin[])
{
               for(new i = 0; i < MAX_PLAYERS; i++)       
               {
                       if(IsPlayerConnected(i))       
                       {
                     if(isPlayerAnAdmin(i))       
                     {
                      SendClientMessage(i, color, strin);
                      printf("%s", strin);       
                     }
                       }
               }
               return true;
}

Код

stock GetPlayerID(Name[])
{
           for(new i = 0; i < MAX_PLAYERS; i++)
           {
               if(IsPlayerConnected(i))
               {
               new pName2[MAX_PLAYER_NAME];
               GetPlayerName(i, pName2, sizeof(pName2));
               if(!strcmp(Name, pName2))
               {
                       return i;
               }
               }
           }
           return -1;
}


Автор: я. Извиняюсь за кривую табуляцию. Мой первый урок :3

Добавлено (07.08.2014, 09:59)
---------------------------------------------
Подниму чуток dry

Сообщение отредактировал Rasrow - Среда, 06.08.2014, 11:07
[CM]Logotipo Дата: Понедельник, 11.08.2014, 20:45 | Сообщение # 2
Авторитет
Сообщений: 1083
Статус: Offline
В диалогах используют case. Функция GetPlayerID не совсем правильная. Да и табуляции 0((

Скуп
ВК
RakDroid - прокачка аккаунтов с телефона
VKMusic - вк музыка без браузера
Делаю сайты/софт/стимботов на заказ
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума