cell Call_Int_Vector_Vector_Float_Float(AMX *amx, cell *params) { SETUP(4); Vector v3; Vector v4; float *fl3=(float *)MF_GetAmxAddr(amx, params[3]); v3.x=fl3[0]; v3.y=fl3[1]; v3.z=fl3[2]; float *fl4=(float *)MF_GetAmxAddr(amx, params[4]); v4.x=fl4[0]; v4.y=fl4[1]; v4.z=fl4[2]; float f5=amx_ctof2(*MF_GetAmxAddr(amx, params[5])); float f6=amx_ctof2(*MF_GetAmxAddr(amx, params[6])); #if defined(_WIN32) return reinterpret_cast<int (__fastcall *)(void *, int, Vector, Vector, float, float)>(__func)(pv, 0, v3, v4, f5, f6); #elif defined(__linux__) || defined(__APPLE__) return reinterpret_cast<int (*)(void *, Vector, Vector, float, float)>(__func)(pv, v3, v4, f5, f6); #endif }
cell Call_Int_Float_Float(AMX *amx, cell *params) { SETUP(2); float f3=amx_ctof2(*MF_GetAmxAddr(amx, params[3])); float f4=amx_ctof2(*MF_GetAmxAddr(amx, params[4])); #if defined(_WIN32) return reinterpret_cast<int (__fastcall *)(void*, int, float, float)>(__func)(pv, 0, f3, f4); #elif defined(__linux__) || defined(__APPLE__) return reinterpret_cast<int (*)(void *, float, float)>(__func)(pv, f3, f4); #endif }
cell Call_Void_Entvar_Float_Vector_Trace_Int(AMX *amx, cell *params) { SETUP(5); int id3=*MF_GetAmxAddr(amx, params[3]); float f4=amx_ctof2(*MF_GetAmxAddr(amx, params[4])); Vector v5; TraceResult *tr6=reinterpret_cast<TraceResult *>(*MF_GetAmxAddr(amx, params[6])); int i7=*MF_GetAmxAddr(amx, params[7]); float *fl5=(float *)MF_GetAmxAddr(amx, params[5]); v5.x=fl5[0]; v5.y=fl5[1]; v5.z=fl5[2]; if (tr6==NULL) { MF_LogError(amx, AMX_ERR_NATIVE, "Null traceresult provided."); return 0; } CHECK_ENTITY(id3); entvars_t *ev3=&(INDEXENT_NEW(id3)->v); #if defined(_WIN32) reinterpret_cast<void (__fastcall *)(void *, int, entvars_t *, float, Vector, TraceResult *, int)>(__func)(pv, 0, ev3, f4, v5, tr6, i7); #elif defined(__linux__) || defined(__APPLE__) reinterpret_cast<void (*)(void *, entvars_t *, float, Vector, TraceResult *, int)>(__func)(pv, ev3, f4, v5, tr6, i7); #endif return 1; }
cell Call_Void_Vector_Entvar_Entvar_Float_Int_Int(AMX *amx, cell *params) { SETUP(6); Vector v3; float *fl3=(float *)MF_GetAmxAddr(amx, params[3]); v3.x=fl3[0]; v3.y=fl3[1]; v3.z=fl3[2]; int id4=*MF_GetAmxAddr(amx, params[4]); int id5=*MF_GetAmxAddr(amx, params[5]); float f6=amx_ctof2(*MF_GetAmxAddr(amx, params[6])); int i7=*MF_GetAmxAddr(amx, params[7]); int i8=*MF_GetAmxAddr(amx, params[8]); CHECK_ENTITY(id4); CHECK_ENTITY(id5); entvars_t *ev4=&(INDEXENT_NEW(id4)->v); entvars_t *ev5=&(INDEXENT_NEW(id5)->v); #if defined(_WIN32) reinterpret_cast<void (__fastcall *)(void *, int, Vector, entvars_t *, entvars_t *, float, int, int)>(__func)(pv, 0, v3, ev4, ev5, f6, i7, i8); #elif defined(__linux__) || defined(__APPLE__) reinterpret_cast<void (*)(void *, Vector, entvars_t *, entvars_t *, float, int, int)>(__func)(pv, v3, ev4, ev5, f6, i7, i8); #endif return 1; }
cell Call_Void_Float_Vector_Trace_Int(AMX *amx, cell *params) { SETUP(4); float f3=amx_ctof2(*MF_GetAmxAddr(amx, params[3])); Vector v4; TraceResult *tr5=reinterpret_cast<TraceResult *>(*MF_GetAmxAddr(amx, params[5])); int i6=*MF_GetAmxAddr(amx, params[6]); float *fl4=(float *)MF_GetAmxAddr(amx, params[4]); v4.x=fl4[0]; v4.y=fl4[1]; v4.z=fl4[2]; if (tr5==NULL) { MF_LogError(amx, AMX_ERR_NATIVE, "Null traceresult provided."); return 0; } #if defined(_WIN32) reinterpret_cast<void (__fastcall *)(void *, int, float, Vector, TraceResult *, int)>(__func)(pv, 0, f3, v4, tr5, i6); #elif defined(__linux__) || defined(__APPLE__) reinterpret_cast<void (*)(void *, float, Vector, TraceResult *, int)>(__func)(pv, f3, v4, tr5, i6); #endif return 1; }
cell Call_Vector_Float_Cbase_Int(AMX *amx, cell *params) { SETUP(4); float f3=amx_ctof2(*MF_GetAmxAddr(amx, params[3])); int id4=*MF_GetAmxAddr(amx, params[4]); int i5=*MF_GetAmxAddr(amx, params[5]); CHECK_ENTITY(id4); void *p4=IndexToPrivate(id4); #if defined(_WIN32) Vector ret; reinterpret_cast<void(__fastcall *)(void *, int, Vector*, float, void *, int)>(__func)(pv, 0, &ret, f3, p4, i5); #elif defined(__linux__) || defined(__APPLE__) Vector ret = reinterpret_cast<Vector(*)(void *, float, void *, int)>(__func)(pv, f3, p4, i5); #endif float *out = (float *)MF_GetAmxAddr(amx, params[6]); out[0] = ret.x; out[1] = ret.y; out[2] = ret.z; return 1; }
cell PSKeyValueF(const char *name, AMX *amx, cell *params) { if (params[1]==0) { MF_LogError(amx,AMX_ERR_NATIVE,"Invalid particle system handle provided!"); return 0; } KeyValueData kvd; char StrData[1024]; UTIL_Format(StrData, sizeof(StrData)-1, "%f", amx_ctof2(params[2])); kvd.szClassName=const_cast<char *>(STRING(reinterpret_cast<edict_t *>(params[1])->v.classname)); kvd.szKeyName=name; kvd.szValue=&StrData[0]; kvd.fHandled=0; //printf("\"%s\" \"%s\"\n",kvd.szKeyName,kvd.szValue); MDLL_KeyValue(reinterpret_cast<edict_t *>(params[1]),&kvd); return 1; }
cell Call_Void_Float_Float_Float_Int(AMX* amx, cell* params) { SETUP(4); float f3=amx_ctof2(*MF_GetAmxAddr(amx, params[3])); float f4=amx_ctof2(*MF_GetAmxAddr(amx, params[4])); float f5=amx_ctof2(*MF_GetAmxAddr(amx, params[5])); int i6=*MF_GetAmxAddr(amx, params[6]); #if defined(_WIN32) reinterpret_cast<void (__fastcall *)(void*, int, float, float, float, int)>(__func)(pv, 0, f3, f4, f5, i6); #elif defined(__linux__) || defined(__APPLE__) reinterpret_cast<void (*)(void*, float, float, float, int)>(__func)(pv, f3, f4, f5, i6); #endif return 1; }
cell Call_Void_Cbase_pVector_Float(AMX *amx, cell *params) { SETUP(3); int id3=*MF_GetAmxAddr(amx, params[3]); CHECK_ENTITY(id3); void *i3=IndexToPrivate(id3); Vector v4; float *fl4=(float *)MF_GetAmxAddr(amx, params[4]); v4.x=fl4[0]; v4.y=fl4[1]; v4.z=fl4[2]; float f5=amx_ctof2(*MF_GetAmxAddr(amx, params[5])); #if defined(_WIN32) reinterpret_cast<void (__fastcall *)(void*, int, void *, Vector *, float)>(__func)(pv, 0, i3, &v4, f5); #elif defined(__linux__) || defined(__APPLE__) reinterpret_cast<void (*)(void *, void *, Vector *, float)>(__func)(pv, i3, &v4, f5); #endif fl4[0]=v4.x; fl4[1]=v4.y; fl4[2]=v4.z; return 1; }
static cell AMX_NATIVE_CALL ns_add_jpfuel(AMX *amx, cell *params) { CreatePlayerPointer(amx,params[1]); REAL fuel = clamp(amx_ctof2(params[2]),0.0,100.0); return amx_ftoc2(player->GetPev()->fuser3 = clamp(static_cast<float>(player->GetPev()->fuser3 + (fuel * 10.0)),static_cast<float>(0.0))); };
cell Call_Void_Str_Float_Float_Float(AMX *amx, cell *params) { SETUP(4); char *sz3=MF_GetAmxString(amx, params[3], 0, NULL); float f4=amx_ctof2(*MF_GetAmxAddr(amx, params[4])); float f5=amx_ctof2(*MF_GetAmxAddr(amx, params[5])); float f6=amx_ctof2(*MF_GetAmxAddr(amx, params[6])); #if defined(_WIN32) reinterpret_cast<void (__fastcall *)(void*, int, const char *, float, float, float)>(__func)(pv, 0, sz3, f4, f5, f6); #elif defined(__linux__) || defined(__APPLE__) reinterpret_cast<void (*)(void *, const char *, float, float, float)>(__func)(pv, sz3, f4, f5, f6); #endif return 1; }
cell Call_Void_Entvar_Float_Float(AMX *amx, cell *params) { SETUP(3); int id3=*MF_GetAmxAddr(amx, params[3]); float f4=amx_ctof2(*MF_GetAmxAddr(amx, params[4])); float f5=amx_ctof2(*MF_GetAmxAddr(amx, params[5])); CHECK_ENTITY(id3); entvars_t *ev3=&(INDEXENT_NEW(id3)->v); #if defined(_WIN32) reinterpret_cast<void (__fastcall *)(void *, int, entvars_t *, float, float)>(__func)(pv, 0, ev3, f4, f5); #elif defined(__linux__) || defined(__APPLE__) reinterpret_cast<void (*)(void *, entvars_t *, float, float)>(__func)(pv, ev3, f4, f5); #endif return 1; }
cell Call_Int_Entvar_Entvar_Float_Float_Int(AMX *amx, cell *params) { SETUP(5); int id3=*MF_GetAmxAddr(amx, params[3]); int id4=*MF_GetAmxAddr(amx, params[4]); float f5=amx_ctof2(*MF_GetAmxAddr(amx, params[5])); float f6=amx_ctof2(*MF_GetAmxAddr(amx, params[6])); int i7=*MF_GetAmxAddr(amx, params[7]); CHECK_ENTITY(id3); CHECK_ENTITY(id4); entvars_t *ev3=&(INDEXENT_NEW(id3)->v); entvars_t *ev4=&(INDEXENT_NEW(id4)->v); #if defined(_WIN32) return reinterpret_cast<int (__fastcall *)(void *, int, entvars_t *, entvars_t *, float, float, int)>(__func)(pv, 0, ev3, ev4, f5, f6, i7); #elif defined(__linux__) || defined(__APPLE__) return reinterpret_cast<int (*)(void *, entvars_t *, entvars_t *, float, float, int)>(__func)(pv, ev3, ev4, f5, f6, i7); #endif }
cell Call_Void_Float(AMX* amx, cell* params) { SETUP(1); float f3=amx_ctof2(*MF_GetAmxAddr(amx, params[3])); #if defined(_WIN32) reinterpret_cast<void (__fastcall *)(void*, int, float)>(__func)(pv, 0, f3); #elif defined(__linux__) || defined(__APPLE__) reinterpret_cast<void (*)(void*, float)>(__func)(pv, f3); #endif return 1; }
cell Call_Int_pVector_pVector_Float_Cbase_pVector(AMX *amx, cell *params) { SETUP(5); Vector v3; Vector v4; float *fl3=(float *)MF_GetAmxAddr(amx, params[3]); float *fl4=(float *)MF_GetAmxAddr(amx, params[4]); v3.x=fl3[0]; v3.y=fl3[1]; v3.z=fl3[2]; v4.x=fl4[0]; v4.y=fl4[1]; v4.z=fl4[2]; float f5=amx_ctof2(*MF_GetAmxAddr(amx, params[5])); int id6=*MF_GetAmxAddr(amx, params[6]); CHECK_ENTITY(id6); void *p6=IndexToPrivate(id6); Vector v7; float *fl7=(float *)MF_GetAmxAddr(amx, params[7]); v7.x=fl7[0]; v7.y=fl7[1]; v7.z=fl7[2]; #if defined(_WIN32) int ret=reinterpret_cast<int (__fastcall *)(void *, int, Vector*, Vector*, float, void*, Vector*)>(__func)(pv, 0, &v3, &v4, f5, p6, &v7); #elif defined(__linux__) || defined(__APPLE__) int ret=reinterpret_cast<int (*)(void *, Vector*, Vector*, float, void*, Vector*)>(__func)(pv, &v3, &v4, f5, p6, &v7); #endif fl3[0]=v3.x; fl3[1]=v3.y; fl3[2]=v3.z; fl4[0]=v4.x; fl4[1]=v4.y; fl4[2]=v4.z; fl7[0]=v7.x; fl7[1]=v7.y; fl7[2]=v7.z; return ret; }
// ns_set_weap_range(WeaponID,Float:range) static cell AMX_NATIVE_CALL ns_set_weapon_range(AMX *amx, cell *params) { CreateNonPlayerEdict(amx,params[1]); if (Entity->pvPrivateData == NULL || Entity->free) { return 0; } set_private_f(Entity,MAKE_OFFSET(WEAPRANGE),amx_ctof2(params[2])); return 1; }
cell Call_Void_Str_Float_Float_Float_Int_Cbase(AMX *amx, cell *params) { SETUP(6); char *sz3=MF_GetAmxString(amx, params[3], 0, NULL); float f4=amx_ctof2(*MF_GetAmxAddr(amx, params[4])); float f5=amx_ctof2(*MF_GetAmxAddr(amx, params[5])); float f6=amx_ctof2(*MF_GetAmxAddr(amx, params[6])); int i7=*MF_GetAmxAddr(amx, params[7]); int id8=*MF_GetAmxAddr(amx, params[8]); CHECK_ENTITY(id8); void *p8=IndexToPrivate(id8); #if defined(_WIN32) reinterpret_cast<void (__fastcall *)(void*, int, const char *, float, float, float, int, void *)>(__func)(pv, 0, sz3, f4, f5, f6, i7, p8); #elif defined(__linux__) || defined(__APPLE__) reinterpret_cast<void (*)(void *, const char *, float, float, float, int, void *)>(__func)(pv, sz3, f4, f5, f6, i7, p8); #endif return 1; }
cell Call_Float_Float(AMX *amx, cell *params) { SETUP(2); float f3=amx_ctof2(*MF_GetAmxAddr(amx, params[3])); #if defined(_WIN32) float ret=reinterpret_cast<float (__fastcall *)(void *, int, float)>(__func)(pv, 0, f3); #elif defined(__linux__) || defined(__APPLE__) float ret=reinterpret_cast<float (*)(void *, float)>(__func)(pv, f3); #endif *MF_GetAmxAddr(amx, params[4])=amx_ftoc2(ret); return 1; }
// ns_set_jpfuel(id,Float:fuelpercent) static cell AMX_NATIVE_CALL ns_set_jpfuel(AMX *amx, cell *params) { CreatePlayerPointer(amx,params[1]); REAL fuel = amx_ctof2(params[2]); if (fuel > 100.0) { fuel = 100.0; } if (fuel < 0.0) { fuel = 0.0; } player->GetPev()->fuser3 = fuel * 10.0; return 1; }
cell Call_Float_Float_Cbase(AMX* amx, cell* params) { SETUP(3); float f3=amx_ctof2(*MF_GetAmxAddr(amx, params[3])); int id4=*MF_GetAmxAddr(amx, params[4]); CHECK_ENTITY(id4); void *p4 = IndexToPrivate(id4); #if defined(_WIN32) float ret = reinterpret_cast<float(__fastcall *)(void*, int, float, void*)>(__func)(pv, 0, f3, p4); #elif defined(__linux__) || defined(__APPLE__) float ret = reinterpret_cast<float (*)(void*, float, void*)>(__func)(pv, f3, p4); #endif *MF_GetAmxAddr(amx, params[5]) = amx_ftoc2(ret); return 1; }
cell Call_Vector_Float(AMX *amx, cell *params) { SETUP(2); float f3=amx_ctof2(*MF_GetAmxAddr(amx, params[3])); #if defined(_WIN32) Vector ret; reinterpret_cast<void (__fastcall *)(void *, int, Vector*, float)>(__func)(pv, 0, &ret, f3); #elif defined(__linux__) || defined(__APPLE__) Vector ret = reinterpret_cast<Vector(*)(void *, float)>(__func)(pv, f3); #endif float *out=(float *)MF_GetAmxAddr(amx, params[4]); out[0]=ret.x; out[1]=ret.y; out[2]=ret.z; return 1; }
cell Call_Void_Cbase_Float(AMX *amx, cell *params) { SETUP(2); int id3=*MF_GetAmxAddr(amx, params[3]); CHECK_ENTITY(id3); void *p8=IndexToPrivate(id3); float f4=amx_ctof2(*MF_GetAmxAddr(amx, params[4])); #if defined(_WIN32) reinterpret_cast<void (__fastcall *)(void*, int, void *, float)>(__func)(pv, 0, p8, f4); #elif defined(__linux__) || defined(__APPLE__) reinterpret_cast<void (*)(void *, void *, float)>(__func)(pv, p8, f4); #endif return 1; }
// Float:ns_add_exp(Player,Float:exp) static cell AMX_NATIVE_CALL ns_add_exp(AMX *amx, cell *params) { if (!GameMan.IsCombat()) { return 0; } CreatePlayerPointer(amx,params[1]); if (!player->IsConnected()) { return 0; } if (!player->HasPrivateData()) { return 0; } return amx_ftoc2(inc_private_f(player->GetEdict(),MAKE_OFFSET(EXP),amx_ctof2(params[2]),0.0)); }
// ns_set_res(Player,Float:res) static cell AMX_NATIVE_CALL ns_set_res(AMX *amx, cell *params) { if (GameMan.IsCombat()) { return 0; } CreatePlayerPointer(amx,params[1]); if (!player->IsConnected()) { return 0; } if (!player->HasPrivateData()) { return 0; } set_private_f(player->GetEdict(),MAKE_OFFSET(RESOURCES),amx_ctof2(params[2])); return 1; }