Иконка ресурса

Не поддерживается [ANY] Получение KeyValue у сущности (entity) 26-08-2016

Обратите внимание: этот ресурс не поддерживается разработчиком.
Поддерживаемые игры
  1. CS: GO
Получаем функцией GetKeyValue(int entity, const String:name[], String:buf[], int size)
PHP:
#include <sdktools>

new Handle:fGetKeyValue = INVALID_HANDLE

public OnPluginStart()
{
    StartPrepSDKCall(SDKCall_Entity)
    new Handle:conf = LoadGameConfigFile("func_getkeyvalue.txt")
    PrepSDKCall_SetFromConf(conf, SDKConf_Virtual, "CBaseEntity_GetKeyValue") // Можно вместо SDKConf_Virtual поставить SDKConf_Signature,
    CloseHandle(conf)
    PrepSDKCall_AddParameter(SDKType_String, SDKPass_Pointer)
    PrepSDKCall_AddParameter(SDKType_String, SDKPass_Pointer)
    PrepSDKCall_AddParameter(SDKType_PlainOldData, SDKPass_Plain)
    fGetKeyValue = EndPrepSDKCall()
}

GetKeyValue(int entity, const String:name[], String:buf[], int size)
{
    SDKCall(fGetKeyValue, entity, name, buf, size)
}

ОБЯЗАТЕЛЬНО func_getkeyvalue.txt ПОЛОЖИТЬ В gamedata ПАПКУ

PHP:
new Handle:fGetKeyValue = INVALID_HANDLE

public OnPluginStart()
{
    StartPrepSDKCall(SDKCall_Entity)
    new Handle:conf = LoadGameConfigFile("func_getkeyvalue.txt")
    PrepSDKCall_SetFromConf(conf, SDKConf_Virtual, "CBaseEntity_GetKeyValue") // Можно вместо SDKConf_Virtual поставить SDKConf_Signature,
    CloseHandle(conf)
    PrepSDKCall_AddParameter(SDKType_String, SDKPass_Pointer)
    PrepSDKCall_AddParameter(SDKType_String, SDKPass_Pointer)
    PrepSDKCall_AddParameter(SDKType_PlainOldData, SDKPass_Plain)
    fGetKeyValue = EndPrepSDKCall()
}

public OnEntityCreated(int entity, const String:classname[])
{
    if(StrEqual(classname, "func_breakable"))
        SDKHook(entity, SDKHook_OnTakeDamagePost, OnTakeDamage_FuncBreakable)
}

public OnTakeDamage_FuncBreakable(int victim, int client, int inflictor, float damage, int damagetype)
{
    if(client<65&&client>0&&IsClientInGame(client))
        PrintHintText(client, "Health: %i", GetKeyValueInt(victim, "health"))
}

int GetKeyValueInt(int entity, const String:name[])
{
    decl String:value[64]
    GetKeyValue(entity, name, value, 64)
    return StringToInt(value)
}

GetKeyValue(int entity, const String:name[], String:buf[], int size)
{
    SDKCall(fGetKeyValue, entity, name, buf, size)
}

Для вас оставил готовый плагин, достаточно пихнуть в начало
native ICNative_GetKeyValue(int entity, const String:name[], String:buffer[], int size)
C-подобный:
param1 Клиент
param2 Название ключа
param3 Буффер для значения
param4 Макс.размер буффера
P.S. Если используете сигнатуру и у вас винда, то работать будет только на CS:GO
Автор
inklesspen
Скачивания
48
Просмотры
575
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя inklesspen

Сверху Снизу