SDKCall или бред? Помогите [Решено]

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
В общем создаю я SDKCall
PHP:
    StartPrepSDKCall(SDKCall_Entity)
    PrepSDKCall_SetVirtual(CSGOCheckLinux2() ? 37 : 36)
    PrepSDKCall_AddParameter(SDKType_String, SDKPass_Pointer)
    PrepSDKCall_AddParameter(SDKType_String, SDKPass_Pointer)
    PrepSDKCall_AddParameter(SDKType_PlainOldData, SDKPass_Plain)
    fGetKeyValue = EndPrepSDKCall()

Захожу, запускаю, а мне пишет это:
PHP:
L 08/26/2016 - 23:13:02: [SM] Exception reported: Entity index 128 is not a valid client
L 08/26/2016 - 23:13:02: [SM] Blaming: super_plugin_pro_mode.smx()
L 08/26/2016 - 23:13:02: [SM] Call stack trace:
L 08/26/2016 - 23:13:02: [SM]   [0] SDKCall

Причем это работает нормально
PHP:
#include <icpack/load>

new Handle:fGetKeyValue = INVALID_HANDLE

public OnPluginStart()
{
    StartPrepSDKCall(SDKCall_Entity)
    PrepSDKCall_SetVirtual(CSGOCheckLinux2() ? 37 : 36)
    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 attacker, int inflictor, float damage, int damagetype)
{
    PrintToChat(attacker, "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)
}
 
Сверху Снизу