#include #include #include #include #include "esforces.h" #include "esf_pdata.h" #define GET_PDATA_D(v,o) ( *((int *)v + (o)) ) #define SET_PDATA_D(v,o,s) ( *((int *)v + (o)) = (s) ) static cell AMX_NATIVE_CALL esf_get_powerlevel(AMX *amx, cell *params) { int index = params[1]; CHECKPLAYER(index); edict_t *pEdict = INDEXENT(index); return GET_PDATA_D(pEdict->pvPrivateData, ESF_POWERLEVEL1); } static cell AMX_NATIVE_CALL esf_set_powerlevel(AMX *amx, cell *params) { int index = params[1]; CHECKPLAYER(index); edict_t *pEdict = INDEXENT(index); SET_PDATA_D(pEdict->pvPrivateData, ESF_POWERLEVEL1, params[2]); SET_PDATA_D(pEdict->pvPrivateData, ESF_POWERLEVEL2, params[2]); return 1; } static cell AMX_NATIVE_CALL esf_get_speed(AMX *amx, cell *params) { int index = params[1]; CHECKPLAYER(index); edict_t *pEdict = INDEXENT(index); return GET_PDATA_D(pEdict->pvPrivateData, ESF_SPEED1); } static cell AMX_NATIVE_CALL esf_set_speed(AMX *amx, cell *params) { int index = params[1]; CHECKPLAYER(index); edict_t *pEdict = INDEXENT(index); int speed = params[2]; SET_PDATA_D(pEdict->pvPrivateData, ESF_SPEED1, speed); SET_PDATA_D(pEdict->pvPrivateData, ESF_SPEED2, speed); return 1; } AMX_NATIVE_INFO g_PdataNatives[] = { {"esf_get_powerlevel", esf_get_powerlevel}, {"esf_set_powerlevel", esf_set_powerlevel}, {"esf_get_speed", esf_get_speed}, {"esf_get_speed", esf_get_speed}, {NULL, NULL}, };