[DC_CMD]Загадка для игроков - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: [CM]OlegEhtler, Getbackthere, Phoenixxx_Czar  
[DC_CMD]Загадка для игроков
Artem_Buero Дата: Понедельник, 27.04.2015, 18:59 | Сообщение # 1
Сообщений: 4223
Статус: Offline
Добавим нужные переменные:
Цитата

new bool:Zagadka = false;
new Zagadka_Vopros[128];
new Zagadka_Otvet[128];
new Zagadka_Priz;
new Zagadka_Kolvo[MAX_PLAYERS];

Теперь команды:
Код
CMD:zagadka(playerid,params[])
{
     if(Log[playerid] == 0) return KKick(playerid);
  if(sscanf(params,"dd",params[0],params[1])) return SendClientMessage(playerid, -1, "{660066}Используйте: /zagadka [Приз] [Кол-во попыток]");
  if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1, "{660066}У вас нету доступа");
   if(Zagadka == true) return SendClientMessage(playerid, -1, "{660066}Ошибка");
  for(new f;f < GetMaxPlayers();f++)
   {
    if(!IsPlayerConnected(f)) continue;
       Zagadka_Kolvo[f] = params[1];
   }
   Zagadka_Priz = params[0];
   ShowPlayerDialog(playerid,1001,DIALOG_STYLE_INPUT,"Загадки[www.cheat-master.ru]","Введите загадку:","Ок","Отмена");
  return 1;
}
CMD:zagadkastop(playerid)
{
     if(Log[playerid] == 0) return KKick(playerid);
  if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1, "{660066}У вас нету доступа");
   if(Zagadka == false) return SendClientMessage(playerid, -1, "{660066}Ошибка");
   Zagadka_Priz = -1;
   Zagadka = false;
  return 1;
}
CMD:zagadkaotv(playerid,params[])
{
     if(Log[playerid] == 0) return KKick(playerid);
  if(sscanf(params,"s",params[0])) return SendClientMessage(playerid, -1, "{660066}Используйте: /zagadkaotv [Ответ]");
   if(Zagadka == false) return SendClientMessage(playerid, -1, "{660066}Ошибка");
   if (Zagadka_Kolvo[playerid] == 0) return SendClientMessage(playerid, -1, "{660066}У вас больше нет попыток");
   if(strcmp(params[0],Zagadka_Otvet, false))
   {
  Zagadka_Kolvo[playerid]--;
   SendClientMessage(playerid,-1,"{B0E0E6}Неверно.");
   return 1;
   }
   else
   {
   Zagadka = false;
   Player[playerid][pMoney] += Zagadka_Priz;
   SetPlayerMoney(playerid,Player[playerid][pMoney]);
   new s[128];
   format(s,128,"{B0E0E6}Игрок %s отгадал загадку!",GetNick(playerid));
  SendClientMessageToAll(-1,s);
   }
  return 1;
}

И в OnDialogResponse
Код
if(dialogid == 1001)
   {
         if(!response) return 1;
   ShowPlayerDialog(playerid,1002,DIALOG_STYLE_INPUT,"Загадки[www.cheat-master.ru]","Введите ответ:","Ок","Отмена");
   format(Zagadka_Vopros,128,"%s",inputtext);
       return 1;
   }
   if(dialogid == 1002)
   {
         if(!response) return 1;
   new s[159];
   format(s,159,"{8470FF}Загадка для игроков:%s.Приз:%d[У вас %d попыток]",Zagadka_Vopros,Zagadka_Priz,Zagadka_Kolvo);
   SendClientMessageToAll(-1,s);
     Zagadka = true;
     format(Zagadka_Otvet,128,"%s",inputtext);
       return 1;
   }

Вот что получилось:
Админ командой /zagadka Устанавливает приз и сколько попыток у игрока.
/zagadkastop выключить всё это
/zagadkaotv ввести ответ


МОЙ ВК - https://vk.com/gospodin_buero
  • Страница 1 из 1
  • 1
Поиск: