orpheu_stocks.inc
VIP Сървъри
Всички сървъри
#if defined _orpheu_stocks_included
#endinput
#endif
#define _orpheu_stocks_included
#include <orpheu_const>
#include <orpheu>
#include <orpheu_advanced>
/**
* Retrieves an engine function handler by having its name as a member of the struct that hold
* engine functions and the name that you give it in the file where you define the function
* The name must be the same as the one in the file where the function is defined
*
* @param memberName The name of the member of the struct that holds the address of the function
* Example: pfnPrecacheModel
* The struct representation can be seen in hlsdk at multiplayer/engine/eiface.h with the name "enginefuncs_s"
*
* @param libFunctionName The name of the function as it is in the file where the function is defined
*
* @return A handler to the function
*/
stock OrpheuFunction:OrpheuGetEngineFunction(const memberName[],const libFunctionName[])
{
static OrpheuStruct:engineFunctions
if(!engineFunctions)
{
engineFunctions = OrpheuGetEngineFunctionsStruct()
}
return OrpheuCreateFunction( OrpheuGetStructMember(engineFunctions,memberName),libFunctionName )
}
/**
* Retrieves a dll function handler by having its name as a member of the struct that hold
* dll functions and the name that you give it in the file where you define the function
* The name must be the same as the one in the file where the function is defined
*
* @param memberName The name of the member of the struct that holds the address of the function
* Example: pfnGameInit
* The struct representation can be seen in hlsdk at multiplayer/engine/eiface.h with the name "DLL_FUNCTIONS"
*
* @param libFunctionName The name of the function as it is in the file where the function is defined
*
* @return A handler to the function
*/
stock OrpheuFunction:OrpheuGetDLLFunction(const memberName[],const libFunctionName[])
{
static OrpheuStruct:OrpheuDLLFunctions
if(!OrpheuDLLFunctions)
{
OrpheuDLLFunctions = OrpheuGetDLLFunctionsStruct()
}
return OrpheuCreateFunction( OrpheuGetStructMember(OrpheuDLLFunctions,memberName),libFunctionName )
}
stock OrpheuHook:OrpheuRegisterHookFromClass(const entityClassName[],const libFunctionName[],const libClassName[],const hookFunctionName[],OrpheuHookPhase:phase = OrpheuHookPre)
{
return OrpheuRegisterHook(OrpheuGetFunctionFromClass(entityClassName,libFunctionName,libClassName),hookFunctionName,phase)
}
stock OrpheuHook:OrpheuRegisterHookFromEntity(id,const libFunctionName[],const libClassName[],const hookFunctionName[],OrpheuHookPhase:phase = OrpheuHookPre)
{
return OrpheuRegisterHook(OrpheuGetFunctionFromEntity(id,libFunctionName,libClassName),hookFunctionName,phase)
}
stock OrpheuHook:OrpheuRegisterHookFromObject(object,const libFunctionName[],const libClassName[],const hookFunctionName[],OrpheuHookPhase:phase = OrpheuHookPre)
{
return OrpheuRegisterHook(OrpheuGetFunctionFromObject(object,libFunctionName,libClassName),hookFunctionName,phase)
}
КАК ДА ИЗПОЛЗВАМ
Добави в началото на .sma файла:
#include <orpheu_stocks>
1. Изтегли
Свали файла от бутона по-горе
2. Копирай
Постави в
scripting/include/3. Включи
Добави #include директивата
4. Компилирай
Използвай amxxpc или scripting/compile.exe