Плагин комбо спрайты.
выдает ошибку при компиляции
и локально и онлайн
помогите пожалуйста
Код:
#include <amxmodx> #include <reapi> #include <fakemeta> #define EF_OWNER_VISIBILITY (1<<12) // visibility for owner // added https://github.com/s1lentq/ReGameDLL_CS/com...314a4a98d3bc1d5 public plugin_precache() { precache_model(COMBO_SPRITE) } public plugin_init() { register_plugin("Combo On Kill", PL_VERSION, "Vaqtincha") RegisterHookChain(RG_CSGameRules_DeathNotice, "CSGameRules_DeathNotice", .post = true) RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound", .post = true) } public CSGameRules_RestartRound() { new pSpriteEntity = NULLENT while((pSpriteEntity = rg_find_ent_by_class(pSpriteEntity, "env_sprite"))) { if (get_entvar(pSpriteEntity, var_owner) > 0) { RemoveSprite(pSpriteEntity) } } } public CSGameRules_DeathNotice(const pPlayer, const pKiller, const pevInflictor) { if (pPlayer == pKiller || !is_user_connected(pKiller) || is_user_bot(pKiller)) return HC_CONTINUE static Float:flLastKill[MAX_CLIENTS + 1], iCountKill[MAX_CLIENTS + 1] new Float:flTime = get_gametime() if ((flTime - flLastKill[pKiller]) > COMBO_TIME.0) { iCountKill[pKiller] = 0 } iCountKill[pKiller]++ if (iCountKill[pKiller] > 1) { new Float:vecOrigin[3] get_entvar(pPlayer, var_origin, vecOrigin) // GetBonePosition(pPlayer, 8, vecOrigin) vecOrigin[2] += 32.0 new pSpriteEntity = CreateSprite(pKiller, vecOrigin) if (pSpriteEntity != NULLENT) { new Float:vecOrigin2[3] get_entvar(pKiller, var_origin, vecOrigin2) new Float:fScale = floatclamp((get_distance_f(vecOrigin, vecOrigin2) / 2000.0), 0.1, 0.6) set_entvar(pSpriteEntity, var_scale, fScale) set_entvar(pSpriteEntity, var_frame, float(iCountKill[pKiller]) - 1.0) vecOrigin[0] = vecOrigin[1] = 0.0 vecOrigin[2] = 180.0 * fScale set_entvar(pSpriteEntity, var_velocity, vecOrigin) SetThink(pSpriteEntity, "SpriteThink") set_entvar(pSpriteEntity, var_nextthink, get_gametime() + 0.1) } } flLastKill[pKiller] = flTime return HC_CONTINUE } public SpriteThink(const pSpriteEntity) { if (pSpriteEntity <= 0) return static Float:renderamt if ((renderamt = get_entvar(pSpriteEntity, var_renderamt)) > 10.0) { set_entvar(pSpriteEntity, var_renderamt, renderamt - 10.0) set_entvar(pSpriteEntity, var_nextthink, get_gametime() + 0.1) } else { RemoveSprite(pSpriteEntity) } } RemoveSprite(const pSpriteEntity) { SetThink(pSpriteEntity, "") set_entvar(pSpriteEntity, var_nextthink, -1.0) engfunc(EngFunc_RemoveEntity, pSpriteEntity) // set_entvar(pEntity, var_flags, FL_KILLME) } CreateSprite(const pPlayer, Float:vecOrigin[3]) { new pSpriteEntity = rg_create_entity("env_sprite") if (!is_nullent(pSpriteEntity)) { engfunc(EngFunc_SetModel, pSpriteEntity, COMBO_SPRITE) engfunc(EngFunc_SetOrigin, pSpriteEntity, vecOrigin) set_entvar(pSpriteEntity, var_owner, pPlayer) set_entvar(pSpriteEntity, var_movetype, MOVETYPE_NOCLIP) set_entvar(pSpriteEntity, var_effects, EF_OWNER_VISIBILITY) set_entvar(pSpriteEntity, var_rendermode, kRenderTransAdd) // set_entvar(pSpriteEntity, var_renderfx, kRenderFxGlowShell) #if defined SET_DEFAULT_COLOR set_entvar(pSpriteEntity, var_rendercolor, SET_DEFAULT_COLOR) #else set_entvar(pSpriteEntity, var_rendercolor, g_vecColors[random(sizeof(g_vecColors))]) #endif set_entvar(pSpriteEntity, var_renderamt, 255.0) return pSpriteEntity } return NULLENT }