Reapi

Ayk

Сообщения
763
Реакции
476
Помог
19 раз(а)
Ayk, чем тебя ham не устроил?
Ham как пример реализации.
Основное пожелание было иметь более удобную замену Orpheu, отсутствие необходимости создания сигнатур.
К тому же, предоставленные примеры наличия замен ни разу таковыми не являются.
Тот же CHostage::RePosition() делает всё это: https://github.com/s1lentq/ReGameDL...c2a76/regamedll/dlls/hostage/hostage.cpp#L542
Зачем всё это делать вручную когда можно вызвать один натив?
Call/ExecuteHookChain( RG_CHostage_RePosition, iHostageEnt )
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
Ham как пример реализации.
Основное пожелание было иметь более удобную замену Orpheu, отсутствие необходимости создания сигнатур.
К тому же, предоставленные примеры наличия замен ни разу таковыми не являются.
Тот же CHostage::RePosition() делает всё это: https://github.com/s1lentq/ReGameDL...c2a76/regamedll/dlls/hostage/hostage.cpp#L542
Зачем всё это делать вручную когда можно вызвать один натив?
Call/ExecuteHookChain( RG_CHostage_RePosition, iHostageEnt )
Ну так в регеймдлл хукаешь функцию, добавляешь в реапи натив, вызываешь.
 

Ayk

Сообщения
763
Реакции
476
Помог
19 раз(а)
Ну так в регеймдлл хукаешь функцию, добавляешь в реапи натив, вызываешь.
Не совсем понял, это предложение делать свой РеГейм с "блэкджеком и ..."?

Я просто спросил, планируется ли альтернатива Орфею, а если нет - так нет.
 
Сообщения
576
Реакции
1,003
Помог
18 раз(а)
Ayk, если вам нужны какие-то функции, то либо просите их добавить в API, либо добавляйте их сами.
Орфей это мемхак, который сломается от любого чиха при изменении бинарника. Это ненужная вещь, когда под руками исходники и можно сделать нормальные хуки через API.
Причина использования орфея в hlds - закрытый код и необходимость как-то его патчить. Здесь такой необходимости нет.
 

Ayk

Сообщения
763
Реакции
476
Помог
19 раз(а)
Последнее редактирование:
Сообщения
2,491
Реакции
2,791
Помог
61 раз(а)
Ayk, вы немного не в ту степь клоните. Тот же пример который вы привели (только вместо Ham пусть будет FM)
Код:
engfunc(EngFunc_SetClientKeyValue, buffer, key, value);
На самом деле это не вызов хука, а вызов функций движка
Код:
(*g_engfuncs.pfnSetClientKeyValue)(index, temp, temp2, temp3);
В ReAPI же для этого есть натив set_key_value. И так для много чего есть нативы, но не для всего.
Я частично разделяю ваше мнение что было бы неплохо иметь возможность вызывать отдельные функции движка (и то для него есть натив). Но можна смело заявить что такой инструмент по сути нужен очень немногим. И им очень легко поломать работу сервера.
 
Сообщения
213
Реакции
71
Помог
2 раз(а)
Archive is not uodated yet !!
Its still 5.9.0.167 version, when I download it !!
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)

Архив исправлен согласно актуальной версии

The archive was corrected according to the current version.
 
Сообщения
148
Реакции
48
Помог
4 раз(а)
Мужики, после обновления начались ошибки в плагинах где есть SetHookChainReturn:
SetHookChainReturn: trying to set return value with incompatible type, expected 'ATYPE_BOOL'; got 'ATYPE_INTEGER'
Это что во всех плагинах теперь нужно менять ATYPE_INTEGER на ATYPE_BOOL?
 
Сообщения
148
Реакции
48
Помог
4 раз(а)
fantom, а как это определить? Можно написать в ЛС, я вроде нашел все плагины с этой функцией. Где надо менять где нет, я хз(((((
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
Stas, в исходниках регеймдлл чекни эти функции.
 
Сообщения
39
Реакции
11
тоже обновился) логи в 300 мбайт набились за пару часов
SetHookChainReturn: trying to set return value with incompatible type, expected 'ATYPE_BOOL'; got 'ATYPE_INTEGER'
вот этим.
5 плагинов перекомпилил с ATYPE_BOOL, пока ошибок больше нет
 

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

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу