Рекомендованные сообщения



3 posts in this topic

Привет всем, столкнулся вот с такой проблемкой. У меня в аренде транспорта есть 2 диалога, и 1-ый это переход ко 2-ому диалогу, где нужно вводить минуты. Но после нажатия в 1-ом диалоге меня спавнит, а иногда и вылазит окно авторизации/регистрации. Может я как-то накосячил с диалогами в OnDialogResponse, наверное. За помощь заранее огромное спасибо.

OnDialogResponse:

 


 switch(dialogid)
 {
  case DIALOG_RENT:
  {
     if(response) return 1;
     SetPVarInt(playerid, "listitem", listitem);
     new string[64];
     format(string, sizeof(string), "На сколько минут вы хотите арендовать автомобиль?\nЦена за минуту: $%d/минут", RENT_PRICE);
     ShowPlayerDialog(playerid, DIALOG_RENT+1, DIALOG_STYLE_MSGBOX, "Компания RentaCar", string, "Арендовать", "Отмена");
   }
   case DIALOG_RENT+1:
   {
       if(!response) return 1;
       listitem = GetPVarInt(playerid, "listitem");
       new minutes = strval(inputtext);
       if(minutes < 5 || minutes > 120) return SCM(playerid, -1, "Арендовать авто можно от 5 до 120 минут!");
       if(GetPlayerMoney(playerid) < minutes*RENT_PRICE) return SCM(playerid, -1, "У вас не хватает денег на аренду!");
       GivePlayerMoney(playerid, -minutes*RENT_PRICE);
       switch(listitem)
       {
      case 0:
      {
     format(string, sizeof(string), "Вы арендовали автомобиль Landstalker на %d минут, за %d$.", minutes, minutes*RENT_PRICE);
     RentVehicle[playerid] = CreateVehicle(400, 1560.2002,-2325.4160,13.2004, 88.9721, -1, -1, 300);
      }
      case 1:
      {
     format(string, sizeof(string), "Вы арендовали автомобиль Fortune на %d минут, за %d$.", minutes, minutes*RENT_PRICE);
     RentVehicle[playerid] = CreateVehicle(400, 1560.1285,-2322.1777,13.2018,89.2716, -1, -1, 300);
      }
         case 2:
      {
     format(string, sizeof(string), "Вы арендовали автомобиль Tahoma на %d минут, за %d$.", minutes, minutes*RENT_PRICE);
     RentVehicle[playerid] = CreateVehicle(400, 1559.7568,-2318.7905,13.1989,89.4844, -1, -1, 300);
      }
   }
   PlayerTimer[playerid] = SetTimerEx("RentCar", 60000*minutes, false, "%d", playerid);
   SCM(playerid, -1, string);
   PutPlayerInVehicle(playerid, RentVehicle[playerid], 0);
  }
 }

 

Edited by odosenok

0

Share this post


Link to post
Share on other sites

У тебя диалоги хранятся в enum ты так, вручную вводишь? Например, DIALOG_RENT = 46, если так, то id совпадает с другим диалогом

1

Share this post


Link to post
Share on other sites

@SCRIPTMAN спасибо огромное! Аренда авто заработала!

0

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.