Сильно ли повлияет на оптимизацию если перехватить паблик к примеру OnPlayerConnect перехватить 100 и более раз (не только этот понадобится перехватывать)
методом Daniel_Cortez
Сильно ли повлияет на оптимизацию если перехватить паблик к примеру OnPlayerConnect перехватить 100 и более раз (не только этот понадобится перехватывать)
методом Daniel_Cortez
На оптимизацию влияет и код в этих пабликах.
Если у вас свой проект, то ИМХО, лучше вызывать функции из паблика, чем использовать перехваты (пример, Open-GTO).
Последний раз редактировалось VVWVV; 21.02.2017 в 02:05.
Есть ли идеи по написанию мода на модулях
Это не мой метод -_-
В моей статье просто приведён пересказ статьи Y_Less'а (Hook Method 7) и добавлено несколько рекомендаций, которых не было в оригинале.
Касаемо самого вопроса, 100+ перехватов - не многовато ли? Зачем вам столько?
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
какая разница сколько перехватов,
они все если и будут влиять то только на скорость компиляции
(будет компилятор тужится слегка читать дерективы че по чем куда по сколько)
[Anticheat]___Invisible Fly Hack
[Anticheat]____Weapon/Ammo Hack
[Function]______ResetPlayerWeaponSlot
[Function]_______FIX_SetPlayerAmmo
[ServerMod]______TDM | Zombie Apokalypse
Не только. Каждый перехват - отдельная функция, которая возвращает оригинал или следующий перехват. Следовательно, уже, как минимум, два дополнительных действия (возврат + вызов другой функции).
Но это всё не существенно в сравнении с теми удобствами, что дают перехваты. Хотя строить модульный мод на перехватах - такая себе идея. В случае с перехватами довольно тяжело контролировать порядок вызова функций в ситуациях, когда это действительно важно. Особенно если код впоследствии будет разбирать кто-то другой. Лучше уж для каждого коллбэка в модуле создавать свою функцию и вызывать её в нативном моде, как это в Open-GTO сделано.
А если нужно убрать зависимость от подключаемых инклудов, то тут на помощь придут директивы препроцессора, а-ля:
И никаких проблем с компиляцией при отключении модуля, в котором находится "TestFunc", не будетPHP код:
public OnGameModeInIt()
{
#if defined TestFunc
TestFunc();
#endif
return 1;
}
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)