Закрыть Привет! Если вы читаете это - Вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы пользоваться всеми возможностями нашего форума. Обратите внимание, запрещены непристойные, матерные, бессмысленные (цифры, случайный набор букв) ники. Удачи!

Тема: Оружейный магазин[GF]

Показано с 1 по 10 из 22

  1. #1
    Пользователь

    Аватар для WodkaGT

    Статус: Оффлайн
    Регистрация:20.11.2010
    Сообщений:21
    Репутация:6 [+/-] 

    Хорошо Оружейный магазин[GF]

    Сейчас покажу, как создать ветвистый диалог с покупкой оружия...

    Для начала забиваем переменную:

    PHP код:
    new GunShop
    Затем...Создаём пикап в OnGamemodeInit...

    PHP код:
    GunShop CreatePickup(12741312.4039,-165.5755,999.6010, -1);// Координаты ставьте свои... 
    Затем создаём диалог к пикапу...в OnPlayerPickupPickup...

    PHP код:
    if (pickupid == GunShop)// Оружейный Магазин
    {
       if(
    PlayerInfo[playerid][pGunLic] != 1)
       {
          
    SendClientMessage(playeridCOLOR_GREY"У Вас нет лицензии на оружие, чтобы сделать покупку.");
          return 
    1;
       }
          new 
    listitems[] = "Пистолеты\nДробовики\nПолу-Автоматы\nАвтоматы\nВинтовки\nПиротехника";
          
    ShowPlayerDialog(playerid,60,DIALOG_STYLE_LIST,"Оружейный Магазин",listitems,"Принять","Отмена");

    Ну и под конец...создаём саму ветвь...в OnDialogResponse...

    PHP код:
    else if(dialogid == 60)
        {
            if(
    response)
             {
                 if(
    listitem == 0)
                 {
                    new 
    listitems[] = "Пистолет [$350]\nПистолет с Глушителем [$450]\nПустынный Орёл [$850]";
                    
    ShowPlayerDialog(playerid,65,DIALOG_STYLE_LIST,"Оружейный Магазин - Пистолеты",listitems,"Принять","Назад");
                    return 
    0;
                   }
                   if(
    listitem == 1)
                   {
                       new 
    listitems[] = "Помповое Ружьё [$1000]\nОбрез [$1250]\nS.P.A.S.-7 [$1650]";
                    
    ShowPlayerDialog(playerid,70,DIALOG_STYLE_LIST,"Оружейный Магазин - Дробовики",listitems,"Принять","Назад");
                    return 
    0;
                }
                if(
    listitem == 2)
                   {
                       new 
    listitems[] = "MP5 [$2000]\nTec-9 [$1950]\nUzi [$1950]";
                    
    ShowPlayerDialog(playerid,75,DIALOG_STYLE_LIST,"Оружейный Магазин - Полу-Автоматические Винтовки",listitems,"Принять","Отмена");
                    return 
    0;
                }
                if(
    listitem == 3)
                   {
                       new 
    listitems[] = "M-16 [$3500]\nAK-47 [$3100]";
                    
    ShowPlayerDialog(playerid,80,DIALOG_STYLE_LIST,"Оружейный Магазин - Автоматические Винтовки",listitems,"Принять","Отмена");
                    return 
    0;
                }
                if(
    listitem == 4)
                   {
                       new 
    listitems[] = "Карабин [$3500]\nСнайперская Винтовка [$5000]";
                    
    ShowPlayerDialog(playerid,85,DIALOG_STYLE_LIST,"Оружейный Магазин - Винтовки",listitems,"Принять","Отмена");
                    return 
    0;
                }
                if(
    listitem == 5)
                   {
                       new 
    listitems[] = "Коктейль Молотова [$4500]\nГраната [$2500]\nДымовая Граната [$2500]\nС-4 [$25000]";
                    
    ShowPlayerDialog(playerid,90,DIALOG_STYLE_LIST,"Оружейный Магазин - Пиротехника",listitems,"Принять","Отмена");
                    return 
    0;
                }
              }
              else
              {
            }
           }
           else if(
    dialogid == 65)
        {
            if(
    response)
             {
                 if(
    listitem == 0)
                 {
                    if(
    GetPlayerMoney(playerid) < 350) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                    
    GivePlayerWeapon(playerid2234);
                    
    ServerGivePlayerMoney(playerid, -350);
                    new 
    listitems[] = "Пистолет [$350]\nПистолет с Глушителем [$450]\nПустынный Орёл [$850]";
                    
    ShowPlayerDialog(playerid,65,DIALOG_STYLE_LIST,"Оружейный Магазин - Пистолеты",listitems,"Принять","Назад");
                    return 
    0;
                   }
                   if(
    listitem == 1)
                   {
                    if(
    GetPlayerMoney(playerid) < 450) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid2334);
                    
    ServerGivePlayerMoney(playerid, -450);
                    new 
    listitems[] = "Пистолет [$350]\nПистолет с Глушителем [$450]\nПустынный Орёл [$850]";
                    
    ShowPlayerDialog(playerid,65,DIALOG_STYLE_LIST,"Оружейный Магазин - Пистолеты",listitems,"Принять","Назад");
                    return 
    0;
                }
                if(
    listitem == 2)
                   {
                    if(
    GetPlayerMoney(playerid) < 850) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid2414);
                    
    ServerGivePlayerMoney(playerid, -850);
                    new 
    listitems[] = "Пистолет [$350]\nПистолет с Глушителем [$450]\nПустынный Орёл [$850]";
                    
    ShowPlayerDialog(playerid,65,DIALOG_STYLE_LIST,"Оружейный Магазин - Пистолеты",listitems,"Принять","Назад");
                    return 
    0;
                }
              }
              else
              {
              new 
    listitems[] = "Пистолеты\nДробовики\nПолу-Автоматы\nАвтоматы\nВинтовки\nПиротехника";
            
    ShowPlayerDialog(playerid,60,DIALOG_STYLE_LIST,"Оружейный Магазин",listitems,"Принять","Отмена");
            }
           }
           else if(
    dialogid == 70)
        {
            if(
    response)
             {
                 if(
    listitem == 0)
                 {
                    if(
    GetPlayerMoney(playerid) < 1000) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                    
    GivePlayerWeapon(playerid2515);
                    
    ServerGivePlayerMoney(playerid, -1000);
                    new 
    listitems[] = "Помповое Ружьё [$1000]\nОбрез [$1250]\nS.P.A.S.-7 [$1650]";
                    
    ShowPlayerDialog(playerid,70,DIALOG_STYLE_LIST,"Оружейный Магазин - Дробовики",listitems,"Принять","Назад");
                    return 
    0;
                   }
                   if(
    listitem == 1)
                   {
                    if(
    GetPlayerMoney(playerid) < 1250) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid266);
                    
    ServerGivePlayerMoney(playerid, -1250);
                    new 
    listitems[] = "Помповое Ружьё [$1000]\nОбрез [$1250]\nS.P.A.S.-7 [$1650]";
                    
    ShowPlayerDialog(playerid,70,DIALOG_STYLE_LIST,"Оружейный Магазин - Дробовики",listitems,"Принять","Назад");
                    return 
    0;
                }
                if(
    listitem == 2)
                   {
                    if(
    GetPlayerMoney(playerid) < 1650) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid2714);
                    
    ServerGivePlayerMoney(playerid, -1650);
                    new 
    listitems[] = "Помповое Ружьё [$1000]\nОбрез [$1250]\nS.P.A.S.-7 [$1650]";
                    
    ShowPlayerDialog(playerid,70,DIALOG_STYLE_LIST,"Оружейный Магазин - Дробовики",listitems,"Принять","Назад");
                    return 
    0;
                }
              }
              else
              {
              new 
    listitems[] = "Пистолеты\nДробовики\nПолу-Автоматы\nАвтоматы\nВинтовки\nПиротехника";
            
    ShowPlayerDialog(playerid,60,DIALOG_STYLE_LIST,"Оружейный Магазин",listitems,"Принять","Отмена");
            }
           }
           else if(
    dialogid == 75)
        {
            if(
    response)
             {
                 if(
    listitem == 0)
                 {
                    if(
    GetPlayerMoney(playerid) < 2000) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                    
    GivePlayerWeapon(playerid2960);
                    
    ServerGivePlayerMoney(playerid, -2000);
                    new 
    listitems[] = "MP5 [$2000]\nTec-9 [$1950]\nUzi [$1950]";
                    
    ShowPlayerDialog(playerid,75,DIALOG_STYLE_LIST,"Оружейный Магазин - Полу-Автоматические Винтовки",listitems,"Принять","Отмена");
                    return 
    0;
                   }
                   if(
    listitem == 1)
                   {
                    if(
    GetPlayerMoney(playerid) < 1950) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid3260);
                    
    ServerGivePlayerMoney(playerid, -1950);
                    new 
    listitems[] = "MP5 [$2000]\nTec-9 [$1950]\nUzi [$1950]";
                    
    ShowPlayerDialog(playerid,75,DIALOG_STYLE_LIST,"Оружейный Магазин - Полу-Автоматические Винтовки",listitems,"Принять","Отмена");
                    return 
    0;
                }
                if(
    listitem == 2)
                   {
                    if(
    GetPlayerMoney(playerid) < 1950) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid2860);
                    
    ServerGivePlayerMoney(playerid, -1950);
                    new 
    listitems[] = "MP5 [$2000]\nTec-9 [$1950]\nUzi [$1950]";
                    
    ShowPlayerDialog(playerid,75,DIALOG_STYLE_LIST,"Оружейный Магазин - Полу-Автоматические Винтовки",listitems,"Принять","Отмена");
                    return 
    0;
                }
              }
              else
              {
              new 
    listitems[] = "Пистолеты\nДробовики\nПолу-Автоматы\nАвтоматы\nВинтовки\nПиротехника";
            
    ShowPlayerDialog(playerid,60,DIALOG_STYLE_LIST,"Оружейный Магазин",listitems,"Принять","Отмена");
            }
           }
           else if(
    dialogid == 80)
        {
            if(
    response)
             {
                 if(
    listitem == 0)
                 {
                    if(
    GetPlayerMoney(playerid) < 3500) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                    
    GivePlayerWeapon(playerid3160);
                    
    ServerGivePlayerMoney(playerid, -3500);
                    new 
    listitems[] = "M-16 [$3500]\nAK-47 [$3100]";
                    
    ShowPlayerDialog(playerid,80,DIALOG_STYLE_LIST,"Оружейный Магазин - Автоматические Винтовки",listitems,"Принять","Отмена");
                    return 
    0;
                   }
                   if(
    listitem == 1)
                   {
                    if(
    GetPlayerMoney(playerid) < 3100) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid3060);
                    
    ServerGivePlayerMoney(playerid, -3100);
                    new 
    listitems[] = "M-16 [$3500]\nAK-47 [$3100]";
                    
    ShowPlayerDialog(playerid,80,DIALOG_STYLE_LIST,"Оружейный Магазин - Автоматические Винтовки",listitems,"Принять","Отмена");
                    return 
    0;
                }
              }
              else
              {
              new 
    listitems[] = "Пистолеты\nДробовики\nПолу-Автоматы\nАвтоматы\nВинтовки\nПиротехника";
            
    ShowPlayerDialog(playerid,60,DIALOG_STYLE_LIST,"Оружейный Магазин",listitems,"Принять","Отмена");
            }
           } 
    Готовые Мануалы:


    [Manual] Создание зоны для получения премии (The GodFather Script)
    [Manual] Создание команды /leaders в диалоговом окне (The GodFather Script)
    [Manual] Создание оружейного магазина в диалоговом окне (The GodFather Script)


    Мануалы в Разработке:


    [Manual] Создание центров изменения стиля боя за деньги, по уровням, с интервалами, в диалогах :) [49 %]
  2. 3 пользователей сказали cпасибо WodkaGT за это полезное сообщение:

    Alex_Bacardi (03.12.2011), Alvaro (13.03.2012), Flasher dock (08.03.2012)

  3. #2
    Пользователь

    Аватар для WodkaGT

    Статус: Оффлайн
    Регистрация:20.11.2010
    Сообщений:21
    Репутация:6 [+/-] 
    Продолжение OnDialogResponse...

    PHP код:
    else if(dialogid == 85)
        {
            if(
    response)
             {
                 if(
    listitem == 0)
                 {
                    if(
    GetPlayerMoney(playerid) < 3500) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                    
    GivePlayerWeapon(playerid3310);
                    
    ServerGivePlayerMoney(playerid, -3500);
                    new 
    listitems[] = "Карабин [$3500]\nСнайперская Винтовка [$5000]";
                    
    ShowPlayerDialog(playerid,85,DIALOG_STYLE_LIST,"Оружейный Магазин - Винтовки",listitems,"Принять","Отмена");
                    return 
    0;
                   }
                   if(
    listitem == 1)
                   {
                    if(
    GetPlayerMoney(playerid) < 5000) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid3410);
                    
    ServerGivePlayerMoney(playerid, -5000);
                    new 
    listitems[] = "Карабин [$3500]\nСнайперская Винтовка [$5000]";
                    
    ShowPlayerDialog(playerid,85,DIALOG_STYLE_LIST,"Оружейный Магазин - Винтовки",listitems,"Принять","Отмена");
                    return 
    0;
                }
              }
              else
              {
              new 
    listitems[] = "Пистолеты\nДробовики\nПолу-Автоматы\nАвтоматы\nВинтовки\nПиротехника";
            
    ShowPlayerDialog(playerid,60,DIALOG_STYLE_LIST,"Оружейный Магазин",listitems,"Принять","Отмена");
            }
           }
           else if(
    dialogid == 90)
        {
            if(
    response)
             {
                 if(
    listitem == 0)
                 {
                    if(
    GetPlayerMoney(playerid) < 4500) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                    
    GivePlayerWeapon(playerid181);
                    
    ServerGivePlayerMoney(playerid, -4500);
                    new 
    listitems[] = "Коктейль Молотова [$4500]\nГраната [$2500]\nДымовая Граната [$2500]\nС-4 [$25000]";
                    
    ShowPlayerDialog(playerid,90,DIALOG_STYLE_LIST,"Оружейный Магазин - Пиротехника",listitems,"Принять","Отмена");
                    return 
    0;
                   }
                   if(
    listitem == 1)
                   {
                    if(
    GetPlayerMoney(playerid) < 2500) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid161);
                    
    ServerGivePlayerMoney(playerid, -2500);
                    new 
    listitems[] = "Коктейль Молотова [$4500]\nГраната [$2500]\nДымовая Граната [$2500]\nС-4 [$25000]";
                    
    ShowPlayerDialog(playerid,90,DIALOG_STYLE_LIST,"Оружейный Магазин - Пиротехника",listitems,"Принять","Отмена");
                    return 
    0;
                }
                if(
    listitem == 2)
                   {
                    if(
    GetPlayerMoney(playerid) < 2500) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid171);
                    
    ServerGivePlayerMoney(playerid, -2500);
                    new 
    listitems[] = "Коктейль Молотова [$4500]\nГраната [$2500]\nДымовая Граната [$2500]\nС-4 [$25000]";
                    
    ShowPlayerDialog(playerid,90,DIALOG_STYLE_LIST,"Оружейный Магазин - Пиротехника",listitems,"Принять","Отмена");
                    return 
    0;
                }
                if(
    listitem == 3)
                   {
                    if(
    GetPlayerMoney(playerid) < 25000) return SendClientMessage(playeridCOLOR_GRAD4"У вас недостаточно денег.");
                       
    GivePlayerWeapon(playerid391);
                    
    ServerGivePlayerMoney(playerid, -25000);
                    new 
    listitems[] = "Коктейль Молотова [$4500]\nГраната [$2500]\nДымовая Граната [$2500]\nС-4 [$25000]";
                    
    ShowPlayerDialog(playerid,90,DIALOG_STYLE_LIST,"Оружейный Магазин - Пиротехника",listitems,"Принять","Отмена");
                    return 
    0;
                }
              }
              else
              {
              new 
    listitems[] = "Пистолеты\nДробовики\nПолу-Автоматы\nАвтоматы\nВинтовки\nПиротехника";
            
    ShowPlayerDialog(playerid,60,DIALOG_STYLE_LIST,"Оружейный Магазин",listitems,"Принять","Отмена");
            }
           } 
    Ньюансы кода:

    1. Замените переменную выдачи денег ServerGivePlayerMoney на свою...
    2. ИДы диалогов тоже замените на свои...
    3. Для полноты эффекта сделует найти в паблике OnGamemodeInit таймер "CustomPickups" и с 1000 (1 секунда), заменить на 4000...
    Готовые Мануалы:


    [Manual] Создание зоны для получения премии (The GodFather Script)
    [Manual] Создание команды /leaders в диалоговом окне (The GodFather Script)
    [Manual] Создание оружейного магазина в диалоговом окне (The GodFather Script)


    Мануалы в Разработке:


    [Manual] Создание центров изменения стиля боя за деньги, по уровням, с интервалами, в диалогах :) [49 %]
  4. 1 пользователь сказал cпасибо WodkaGT за это полезное сообщение:

    Alex_Bacardi (03.12.2011)

  5. #3
    •Администратор•

    Аватар для Сергей68

    Статус: Оффлайн
    Регистрация:11.11.2010
    Адрес:СССР
    Сообщений:1,041
    Репутация:2099 [+/-] 
    а это что?http://pawno-info.ru/showthread.php/...n-в-диалоге(GF)
    где разница
  6. #4
    Пользователь

    Аватар для WodkaGT

    Статус: Оффлайн
    Регистрация:20.11.2010
    Сообщений:21
    Репутация:6 [+/-] 
    У него пухи...Но на разных страницах...У меня поделено на категории....Стоит проверка на лицензию...Ну и я вдумчиво балансировал цены к количеству патронов...которые дают...
    Готовые Мануалы:


    [Manual] Создание зоны для получения премии (The GodFather Script)
    [Manual] Создание команды /leaders в диалоговом окне (The GodFather Script)
    [Manual] Создание оружейного магазина в диалоговом окне (The GodFather Script)


    Мануалы в Разработке:


    [Manual] Создание центров изменения стиля боя за деньги, по уровням, с интервалами, в диалогах :) [49 %]
  7. 1 пользователь сказал cпасибо WodkaGT за это полезное сообщение:

    Alex_Bacardi (03.12.2011)

  8. #5
    •Администратор•

    Аватар для Сергей68

    Статус: Оффлайн
    Регистрация:11.11.2010
    Адрес:СССР
    Сообщений:1,041
    Репутация:2099 [+/-] 
    ну вобщем разницы 0)
  9. #6
    Пользователь

    Аватар для Blad_Gad

    Статус: Оффлайн
    Регистрация:24.01.2011
    Адрес:Нижний Тагил
    Сообщений:768
    Репутация:373 [+/-] 
    С пасибо,нужная штука
  10. #7
    Пользователь

    Аватар для Vlad777

    Статус: Оффлайн
    Регистрация:12.11.2010
    Сообщений:131
    Репутация:0 [+/-] 
    + За урок, но с таким списком оружия не для РП серверов)
    Возьми и отожмись:
    http://s1.ipicture.ru/uploads/20110130/mj7AJdhP.gif
  11. #8
    Пользователь

    Аватар для IncoGnitO

    Статус: Оффлайн
    Регистрация:11.11.2010
    Сообщений:251
    Репутация:22 [+/-] 
    + За урок, но с таким списком оружия не для РП серверов)
    Меня Id и всё
  12. #9
    Пользователь

    Аватар для KAMIKADZE

    Статус: Оффлайн
    Регистрация:24.03.2011
    Сообщений:45
    Репутация:1 [+/-] 
    Отличный урок
  13. #10
    Заблокирован

    Аватар для _MaRiK_

    Статус: Оффлайн
    Регистрация:26.02.2011
    Адрес:Санкт-Петербург
    Сообщений:352
    Репутация:77 [+/-] 
    хм...Спасбо..но так и непонял...почему я хочу во многих местах поставить пикап ! а работает только в 1 месте !
Страница 1 из 3 123 Последняя
  • К странице:

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения