Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5

Тема: BuyWeapons

  1. #1
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±

    BuyWeapon

    BuyWeapon - система покупки оружия.

    Все действия будут происходишь в двух диалоговых окнах. В основном выводится вся информация об оружии. Если во время покупки система определит, что у вас в этом же слоте уже есть оружие, то запустится второе диалоговое окно, которое предложит заменить.

    Использование системы довольное простое. Достаточно в меню или пикап поставить функцию BuyWeapon с нужными параметрами. Ид оружия является обязательным, а количество патронов или цену можно ставить на свое усмотрение, или использовать указанные в инклуде.



    Параметры

    PHP код:
    BuyWeapon(playeridweaponidammoprice); 
    • playerid - id игрока
    • weaponid - id оружия (с 22 по 34)
    • ammo - количество патронов (необязательный)
    • price - цена оружия (необязательный)


    Ключи

    Для деактивации одной из функций, допишите нужный макрос перед инклудом.

    Макрос Описание
    BW__KEY__INFO Блокировка информации об оружии
    BW__KEY__REPEAT Блокировка проверки на замену оружия
    BW__KEY__RESET_AMMO Блокировка сброса патронов при покупке

    Пример применения

    PHP код:
    #include <a_samp>
    #include <mn_BuyWeapon>

    new pickup;

    public 
    OnGameModeInit()
    {
            
    pickup CreatePickup(124221503.33591432.358510.1191, -1);
            return 
    1;
    }

    public 
    OnPlayerPickUpPickup(playeridpickupid)
    {
            if (
    pickupid == pickup)
            {
                    
    ShowPlayerDialog(playerid68DIALOG_STYLE_LIST, !"Покупка оружия", !"Silenced 9mm\n\
                            Sniper Rifle\n\
                            Micro SMG/Uz\n\
                            M4"
    , !"Купить", !"Отмена");
            }
            return 
    1;
    }

    public 
    OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
            switch (
    dialogid)
            {
                    case 
    68:
                    {
                            switch (
    listitem)
                            {
                                    case 
    0BuyWeapon(playerid23); 
                                    
    //Silenced 9mm (игрок получит 9mm с указанным количеством патронов и ценой в инклуде)
                                    
                                    
    case 1BuyWeapon(playerid34, .ammo 100); 
                                    
    //Sniper Rifle (игроку будет выдано 100 патронов для этого оружия по цене указанной в инклуде)
                                    
                                    
    case 2BuyWeapon(playerid28, .price 3000); 
                                    
    //Micro SMG/Uz (оружие будет стоить $3000 с количеством патронов указанных в инклуде)
                                    
                                    
    case 3BuyWeapon(playerid311003000); 
                                    
    //M4 (игрок получит M4 со 100 патронами за $3000)
                                    
                                    //Если параметры price и ammo оставить без значения, то они примут значения указанные в инклуде.
                            
    }
                            return 
    1;
                    }
            }
            return 
    0;

    Версия: 0.5.2
    Автор: m1n1vv
    Репозиторий: https://github.com/m1n1vv/BuyWeapon
    Последний раз редактировалось m1n1vv; 12.01.2018 в 20:01.

  2. Пользователь сказал cпасибо:
    Geebrox (16.02.2017)
  3. #2
    Аватар для Battista
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2016
    Адрес
    Улан-Удэ
    Сообщений
    27
    Репутация:
    1 ±
    Интересная у тебя система открытия дверей, не подскажешь что используешь для нее?)

  4. #3
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Battista Посмотреть сообщение
    Интересная у тебя система открытия дверей, не подскажешь что используешь для нее?)
    Думаю, что удаляется стандартный дом, ставится новый, но с дырой для двери, ставится интерьер и двери. Для открывания используется GetPlayerCameraTargetObject + OnPlayerKeyStateChange + MoveObject.

    P.S. m1n1vv, изучи git tag, чтобы не создавать такую ерунду: https://github.com/m1n1vv/Pawn/blob/master/archive/
    Последний раз редактировалось ziggi; 14.02.2017 в 01:16.

  5. #4
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    отличная работа, мне понравился

  6. #5
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    BuyWeapons 0.5.1
    • Незначительная оптимизация;
    • Добавлен макрос блокировки диалога с информацией об оружии.


    BuyWeapons 0.5.2
    • Изменен подбор калибра.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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