Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 17
  1. #1
    Аватар для Edwin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    196
    Репутация:
    22 ±

    ePickup | Процессор пикапов




    Плагин-процессор пикапов.
    Расширяет стандартные методы использования пикапов, упрощая работу с ними путём изменения структуры хранения данных.
    Так же, данный модуль исключает повтор подбора пикапа если игрок стоит на нём.
    Новый функционал включает в себя:






    Функции:




    PHP код:
    GetPickupPos (pickupid, &Float:x, &Float:y, &Float:z// Косвенно возвращает X, Y и Z позицию пикапа
    SetPickupPos (pickupidFloat:p_pXFloat:p_pYFloat:p_pZ); // Устанавливает новую позицию пикапу
    GetPickupVirtualWorld (pickupid// Возвращает вирт. мир пикапа (-2 если пикапа не существует)
    GetPickupType (pickupid// Возвращает тип пикапа (-1 если пикап не существует)
    IsValidPickup (pickupid// Проверяет существование пикапа (true/false)
    GetPlayerPickup(playerid// Возвращает ID пикапа, на котором стоит игрок (-1 если не стоит на пикапе)
    CountPickups () // Возвращает количество активных пикапов 




    Коллбэки:




    PHP код:
    OnPlayerPickupExit (playeridpickupid// Срабатывает при выходе игрока из пикапа 




    Так же, добавлены новые типы пикапов:




    PHP код:
    PICKUP_TYPE_VEHRESPAWN // срабатывает только в транспорте, не исчезает
    PICKUP_TYPE_VEHONFOOT // срабатывает как в транспорте, так и пешком 



    Актуальная версия: 0.74 (Beta)
    Автор: Edwin




    Скачать: ePickup





    P.S.: Данная версия находится на стадии Beta. Если Вы нашли недочёты, баги, либо же у Вас есть предложения по расширению функционала, пожалуйста, оставьте их в виде комментария прямо здесь.
    Если плагин найдёт применение среди достаточного количества скриптеров, будет добавлена совместимость с плагином streamer от инкогнито

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Лучше создать макрос, типа
    PHP код:
    #define INVALID_PICKUP_ID -2 
    и уже его значение возвращать во всех функциях в случаях, когда пикап не существует. Будет гораздо проще, чем запоминать где -1, а где -2
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для Edwin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    196
    Репутация:
    22 ±
    Он там есть, только со значением (4096)
    Но можно вернуть и его, не задумался об этом

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

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

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

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    196
    Репутация:
    22 ±
    А разве эта реализация не перехватывает нативные функции?

  6. #6
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    А что насчет производительности? Просто весь этот функционал можно создать и перехватывая нативные функции, может в производительности есть разница?
    Цитата Сообщение от Edwin Посмотреть сообщение
    А разве эта реализация не перехватывает нативные функции?
    Это у вас нужно спросить. Вы ж не выкладывали исходники.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  7. #7
    Аватар для Edwin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    196
    Репутация:
    22 ±
    Так ведь в инклуде все перехваты)

  8. #8
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Цитата Сообщение от Edwin Посмотреть сообщение
    Так ведь в инклуде все перехваты)
    Понятно. Просто давно уже есть способ перехватывать нативные функции из кода на C/C++.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  9. #9
    Аватар для Edwin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    196
    Репутация:
    22 ±
    Invoke?
    А в чём разница?)
    То, что перехвачено, в любом случае подлежит перехвату по скриптовой части
    Последний раз редактировалось Edwin; 09.01.2018 в 18:39.

  10. #10
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Цитата Сообщение от Edwin Посмотреть сообщение
    Invoke?
    Не только. Можно ещё воспользоваться слегка модифицированным SDK, в котором есть функция amx_Redirect. Либо я могу добавить что-то подобное в свой шаблон для плагинов.

    Цитата Сообщение от Edwin Посмотреть сообщение
    А в чём разница?
    То, что перехвачено, в любом случае подлежит перехвату по скриптовой части
    В производительности. Зачем тратить время на выполнение скриптового кода, когда то же самое можно сделать нативно? Да и сам перехват из плагина, ИМХО, даже проще, чем в Pawn (вызов одной функции amx_Redirect против манипуляции с несколькими #define, #undef и #if defined, в которых больше вероятность допустить опечатку).
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  11. 2 пользователя(ей) сказали cпасибо:
    Edwin (10.01.2018) yuriy5022 (09.01.2018)
 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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