orpheu_memory.inc
VIP Сървъри
Всички сървъри
#if defined _orpheu_memory_included
#endinput
#endif
#define _orpheu_memory_included
#include <orpheu_const>
/*
* To use this functionality you must build files that identify memory locations
* This files go on the folder "configs/orpheu/memory"
* More instructions on Orpheu thread
*/
/**
* Replaces data in memory in the full extent of a library
*
* @param memoryDataName The name of the block that qualifies memory as defined in a file at "configs/orpheu/memory"
* @param count The number of occurences to replace. 0 = infinite
* @param any A pair "to be replaced" - "replacement". Pair members must be of the same type
*
* @return The number of replacements made
*
* Example:
*
* Replacing the value 16000 by 100000 in a library
*
* OrpheuMemoryReplace("name",0,16000,100000) (where name should be related to a block of data that qualifies the memory as holding a long value)
*
* Replacing the string "weapon_smokegrenade","weapon_flashbang"
*
* OrpheuMemoryReplace("name",0,"weapon_smokegrenade","weapon_flashbang") (where name should be related to a block of data that qualifies the memory as holding a string)
*/
native OrpheuMemoryReplace(const memoryDataName[],count,any:...)
/**
* Replaces data in memory.It works like OrpheuMemoryReplace but starts at a given address
*
* @param address The address to start at
* @param memoryDataName The name of the block that qualifies memory as defined in a file at "configs/orpheu/memory"
* @param count The number of occurence. 0 = infinite
* @param any A pair "to be replaced" - "replacement". Pair members must be of the same type
*
* @return The number of replacements made
*/
native OrpheuMemoryReplaceAtAddress(address,const memoryDataNameName[],count,any:...)
/**
* Retrieves data in memory. The block of data that qualifies memory must also identify it by having identifier blocks,
* Memory can be located given an offset or a signature
*
* @param memoryDataName The name of the block that qualifies memory as defined in a file at "configs/orpheu/memory"
* @param any If the type of the memory location is passed by ref, the variables needed to get the value
* You can give an extra argument to retrieve the address where the data retrieved lies
*
* @return If the type of the memory location is not passed by ref, its value
*/
native OrpheuMemoryGet(const memoryDataName[],any:...)
/**
* Retrieves data in memory. It works like OrpheuMemoryGet but starts at a given address
*
* @param address The address to start at
* @param memoryDataName The name of the block that qualifies memory as defined in a file at "configs/orpheu/memory"
* @param any If the type of the memory location is passed by ref, the variables needed to get the value
* You can give an extra argument to retrieve the address where the data retrieved lies
*
* @return If the type of the memory location is not passed by ref, its value
*/
native OrpheuMemoryGetAtAddress(address,const memoryDataName[],any:...)
/**
* Alters data in memory. The block of data that qualifies memory must also identify it by having identifier blocks.
* Memory can be located given an offset or a signature
*
* @param memoryDataName The name of the block that qualifies memory as defined in a file at "configs/orpheu/memory"
* @param count The number of occurences to alter. 0 = infinite
* @param any The value to use as replacement
* You can give an extra argument to retrieve the address where the data retrieved lies
*
* @return Number of occurences replaced
*/
native OrpheuMemorySet(const memoryDataName[],count,any:...)
/**
* Alters data in memory. It works like OrpheuMemorySet but starts at a given address
*
* @param address The address to start at
* @param memoryDataName The name of the block that qualifies memory as defined in a file at "configs/orpheu/memory"
* @param count The number of occurences to alter. 0 = infinite
* @param any The value to use as replacement
* You can give an extra argument to retrieve the address where the data retrieved lies
*
* @return Number of occurences replaced
*/
native OrpheuMemorySetAtAddress(address,const memoryDataName[],count,any:...)
КАК ДА ИЗПОЛЗВАМ
Добави в началото на .sma файла:
#include <orpheu_memory>
1. Изтегли
Свали файла от бутона по-горе
2. Копирай
Постави в
scripting/include/3. Включи
Добави #include директивата
4. Компилирай
Използвай amxxpc или scripting/compile.exe