Ошибка Grab_Rendering

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
460
Реакции
68
Помог
7 раз(а)
Ошибка
L 07/18/2020 - 07:54:47: [ReAPI] set_entvar: invalid or uninitialized entity
L 07/18/2020 - 07:54:47: [AMXX] Displaying debug trace (plugin "grab/grab_rendering.amxx", version "1.0.0")
L 07/18/2020 - 07:54:47: [AMXX] Run time error 10: native error (native "set_entvar")
L 07/18/2020 - 07:54:47: [AMXX] [0] grab_rendering.sma::UTIL_SetRendering (line 177)
L 07/18/2020 - 07:54:47: [AMXX] [1] grab_rendering.sma::grab_on_finish (line 163)
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5271 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Jun 24 2020 13:53:30
Built from: https://github.com/alliedmodders/amxmodx/commit/5eea3e5
Build ID: 5271:5eea3e5
Core mode: JIT+ASM32
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.7.0.696-dev
Build date: 18:46:47 May 18 2020 (2228)
Build from: https://github.com/dreamstalker/rehlds/commit/987ee51
ReGamedll
ReGameDLL version: 5.18.0.474-dev
Build date: 11:07:34 Jul 16 2020
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/efb06a7
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
Список метамодулей
Currently loaded plugins:
description stat pend file vers src load unload
[ 1] SafeNameAndChat RUN - SafeNameAndChat.so v1.1 ini ANY ANY
[ 2] Reunion RUN - reunion_mm_i386.so v0.1.0.92c ini Start Never
[ 3] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 4] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC5 ini ANY ANY
[ 5] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5271 ini Start ANY
[ 6] WHBlocker RUN - whblocker_mm_i386.so v1.5.697 ini Chlvl ANY
[ 7] ReSemiclip RUN - resemiclip_mm_i386.so v2.3.9 ini Chlvl ANY
[ 8] Rechecker RUN - rechecker_mm_i386.so v2.5 ini Chlvl ANY
[ 9] YaPB RUN - yapb.so v4.0.0 ini Chlvl ANY
[10] CSX RUN - csx_amxx_i386.so v1.9.0.5271 pl5 ANY ANY
[11] SQLite RUN - sqlite_amxx_i386.so v1.9.0.5271 pl5 ANY ANY
[12] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl5 ANY Never
[13] ReAPI RUN - reapi_amxx_i386.so v5.15.0.197-dev pl5 ANY Never
[14] Engine RUN - engine_amxx_i386.so v1.9.0.5271 pl5 ANY ANY
[15] hackdetector RUN - hackdetector_amxx_i386.so v0.15.328.lite pl5 ANY ANY
[16] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5271 pl5 ANY ANY
[17] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5271 pl5 ANY ANY
[18] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5271 pl5 ANY ANY
[19] SxGeo RUN - sxgeo_amxx_i386.so v2.2 pl5 ANY Never
[20] FakeServerQueries RUN - fsq_amxx_i386.so v1.0 pl5 ANY ANY
20 plugins, 20 running
Список плагинов
Currently loaded plugins:
name version author file status
[ 1] FreshBans 1.4.2b kanagava fresh_bans_142_ running
[ 2] CSStatsX SQL 0.7.4+2 serfreeman1337 csstatsx_sql.am debug
[ 3] Top Awards 0.11c Safety1st Top_Awards.amxx running
[ 4] AES: StatsX Info Rank 0.1 serfreeman1337 aes_statsx_rank running
[ 5] AES: StatsX 0.5+1 serfreeman1337 aes_statsx_cstr running
[ 6] Stats Configuration 1.9.0.5263 AMXX Dev Team statscfg.amxx running
[ 7] SF Bets 0.1.5 serfreeman1337 sf_bets.amxx running
[ 8] SF Warn Menu 0.1.4g serfreeman1337 sf_admin_warns. running
[ 9] Players Menu 1.7 neugomon players_menu.am running
[ 10] [ReAPI] AWPoff 1.4.3 PAffAEJIkA :3 awp_off.amxx running
[ 11] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a running
[ 12] ScreenMaker 1.1 neygomon screen_maker.am running
[ 13] RC BaseChanger freesrv custom rc_basechanger. stopped
[ 14] ReChecker Logging freesrv custom rc_logging.amxx running
[ 15] Lite Admin ESP 1.1 neygomon, AcE admin_esp_ace.a running
[ 16] Admin Base 1.9.0.5263 AMXX Dev Team admin.amxx running
[ 17] Music Connection 1.0.0 Jumper Music_Connectio running
[ 18] Ping Control 1.33 neygomon+wopox+H ping_control_N_ running
[ 19] AFK Control ReNew 1.2(a) neygomon afk_control.amx running
[ 20] Maps Menu 1.9.0.5263 AMXX Dev Team mapsmenu.amxx running
[ 21] Server Menu 1.5.0 F@nt0M server_menu.amx debug
[ 22] Advanced Kill Assists 1.3b Xelson next21_kill_ass running
[ 23] Parachute Lite [ReAPI] 14.0 Leo_[BH] parachute_leo_1 running
[ 24] Demo Recorder 2.4.1 F@nt0M demo_recorder.a running
[ 25] Rock to Ban 1.02 Safety1st rock2ban.amxx running
[ 26] [ReAPI] Kills Counter 0.3 serfreeman1337 kills_counter.a running
[ 27] GameName Changer 1.0 neugomon gamename_change running
[ 28] [ReAPI] Bullet Damage 0.0.1 ConnorMcLeod re_bullet_damag running
[ 29] lite screen fade 1.0 AcE re_lite_screen_ running
[ 30] AntiFlood Change Name 28.11.2018 sergrib AntiFlood_Chang running
[ 31] [ReAPI] Random Weapons 2.4.9 neugomon/h1k3 Random_Weapons_ running
[ 32] [ReAPI] Best player of 1.1.2 F@nt0M best_player_of_ running
[ 33] Radio Hudmsg Block 1.0 AcE radio_hudmsg_bl running
[ 34] Lite C4 Timer 1.0.0 neygomon lite_c4timer.am running
[ 35] [ReAPI] No Team Flash 0.0.2 Vaqtincha no_team_flash.a running
[ 36] Items Restrict 1.0 s1lent items_restrict. running
[ 37] Say Rs, Me, Hp 1.0 AcE rs_me_hp.amxx running
[ 38] Knife Duel with Telepo 1.2 neygomon knife_duel.amxx running
[ 39] Ultimate KillStreak Ad 0.7 SAMURAI ut_killstreak_a running
[ 40] Models Replacement 0.0.2 ConnorMcLeod | V models_replacem running
[ 41] SpecList 1.2a FatalisDK speclist.amxx running
[ 42] Steam Models 0.1b+mod.l Freedo.m steam_models.am running
[ 43] [SxGeo] Connect Info 1.0p s1lent sxgeo_connect_i running
[ 44] Custom Smoke 1.09 bionext custom_smoke.am running
[ 45] Admin Loger 1.0 HARDCORE admin_loger.amx running
[ 46] Weaponmenu 1.0 HARDCORE weaponmenu.amxx running
[ 47] Blood Fountain 1.0 HARDCORE Blood_Fountain. running
[ 48] VK_INFO 1.0 HARDCORE vk.amxx running
[ 49] [ReAPI] Healthnade 0.0.2 F@nt0M reapi_healthnad running
[ 50] Chat Manager: Addon 0.0.4-70 Mistrick chatmanager_add running
[ 51] Chat Manager 1.1.2-16 Mistrick chatmanager.amx running
[ 52] FakeServerQueries Mana 1.0 Inline fsq_manager.amx running
[ 53] Grab Modular 1.1.3 w0w grab/grab_modul debug
[ 54] Grab Menu: Core 1.0.3 w0w grab/grab_menu/ running
[ 55] Grab Menu: Freeze 1.0.0 w0w grab/grab_menu/ running
[ 56] Grab Menu: Kick 1.0.0 w0w grab/grab_menu/ running
[ 57] Grab Menu: Kill 1.0.0 w0w grab/grab_menu/ running
[ 58] Grab Menu: Strip Weapo 1.0.0 w0w grab/grab_menu/ running
[ 59] Grab Menu: Team Change 1.0.0 w0w grab/grab_menu/ running
[ 60] Grab: Hit 1.0.0 w0w grab/grab_hit.a running
[ 61] Grab: No Fall Damage A 1.0.0 w0w grab/grab_no_fa running
[ 62] Grab: Notify on Grab 1.0.0 w0w grab/grab_notif running
[ 63] Grab: Pull 1.0.0 w0w grab/grab_pull. running
[ 64] Grab: Push 1.0.0 w0w grab/grab_push. running
[ 65] Grab: Rendering 1.0.0 w0w grab/grab_rende debug
[ 66] Grab: Throw on Drop 1.0.0 w0w grab/grab_throw running
[ 67] Map Manager: Core 3.0.7 Mistrick map_manager_cor running
[ 68] Map Manager: Scheduler 0.1.5 Mistrick map_manager_sch running
[ 69] Map Manager: Rtv 0.1.1 Mistrick map_manager_rtv running
[ 70] Map Manager: Nominatio 0.1.2 Mistrick map_manager_nom running
[ 71] Map Manager: BlockList 0.0.3 Mistrick map_manager_blo running
[ 72] Map Manager: Online so 0.0.2 Mistrick map_manager_onl running
[ 73] Map Manager: Effects 0.0.9 Mistrick map_manager_eff running
[ 74] Map Manager: Informer 0.0.5 Mistrick map_manager_inf running
[ 75] Map Manager: Advanced 0.0.5 Mistrick map_manager_adv running
[ 76] V.I.P Custom Weapons 1.0.0 Vaqtincha vip_custom.amxx running
[ 77] V.I.P Custom DEAGLE 1.0.0 Vaqtincha custom_deagle.a running
[ 78] V.I.P Custom M4A1 1.0.0 Vaqtincha custom_m4a1.amx running
[ 79] V.I.P Custom AK-47 1.0.0 Vaqtincha custom_ak47.amx running
[ 80] V.I.P Custom AWP 1.0.0 Vaqtincha custom_awp.amxx running
[ 81] Advanced Experience Sy 0.5.9 [REA serfreeman1337/s aes_main.amxx running
[ 82] AES: CStrike Addon 0.5.9 [REA serfreeman1337/s aes_exp_cstrike running
[ 83] AES: Informer 0.5.9 [REA serfreeman1337/s aes_informer.am running
[ 84] AES: Admin Tools 0.5.9 [REA serfreeman1337/s aes_exp_editor. running
[ 85] AES: Bonus System 0.5.9 Vega serfreeman1337/s aes_bonus_syste running
[ 86] AES: Bonus CSTRIKE 0.5.9 [REA serfreeman1337/s aes_bonus_cstri running
[ 87] Chat Additions Core 1.0.0-beta Sergey Shorokhov ChatAdditions_C running
[ 88] [CA] Gag 1.0.0-beta Sergey Shorokhov CA_Gag.amxx running
[ 89] [CA] Mute menu 1.0.0-beta Sergey Shorokhov CA_Mute.amxx running
89 plugins, 88 running
Автор плагина
w0w
Версия плагина
1.0.0
Исходный код
#include <amxmodx>
#include <reapi>
#include <grab_modular>

#pragma semicolon 1

new const PLUGIN_NAME[] = "Grab: Rendering";
new const PLUGIN_VERSION[] = "1.0.0";
new const PLUGIN_AUTHOR[] = "w0w";

/****************************************************************************************
****************************************************************************************/

#define CHECK_PLAYER(%0) \
if (!(1 <= %0 <= MaxClients)) \
abort(AMX_ERR_NATIVE, "Player out of range (%d)", %0);

enum _:Cvars
{
CVAR_ENABLED
};

new g_eCvar[Cvars];

enum _:RenderData
{
Float:RENDER_COLOR_RED,
Float:RENDER_COLOR_GREEN,
Float:RENDER_COLOR_BLUE,
Float:RENDER_AMOUNT
};

new Float:g_flRenderCvar[RenderData];
new Float:g_flPlayerRenderData[MAX_PLAYERS+1][RenderData];

public plugin_init()
{
register_plugin(
.plugin_name = PLUGIN_NAME,
.version = PLUGIN_VERSION,
.author = PLUGIN_AUTHOR
);

register_dictionary("grab_rendering.txt");

func_RegisterCvars();
}

func_RegisterCvars()
{
new pCvar;

pCvar = create_cvar("grab_rendering_enabled", "1", FCVAR_NONE, fmt("%L", LANG_SERVER, "GRAB_RENDERING_CVAR_ENABLED"), true, 0.0, true, 1.0);
bind_pcvar_num(pCvar, g_eCvar[CVAR_ENABLED]);

pCvar = create_cvar("grab_rendering_color_red", "255", FCVAR_NONE, fmt("%L", LANG_SERVER, "GRAB_RENDERING_CVAR_COLOR_RED"), true, 0.0, true, 255.0);
bind_pcvar_float(pCvar, g_flRenderCvar[RENDER_COLOR_RED]);

pCvar = create_cvar("grab_rendering_color_green", "255", FCVAR_NONE, fmt("%L", LANG_SERVER, "GRAB_RENDERING_CVAR_COLOR_GREEN"), true, 0.0, true, 255.0);
bind_pcvar_float(pCvar, g_flRenderCvar[RENDER_COLOR_GREEN]);

pCvar = create_cvar("grab_rendering_color_blue", "255", FCVAR_NONE, fmt("%L", LANG_SERVER, "GRAB_RENDERING_CVAR_COLOR_BLUE"), true, 0.0, true, 255.0);
bind_pcvar_float(pCvar, g_flRenderCvar[RENDER_COLOR_BLUE]);

pCvar = create_cvar("grab_rendering_amount", "128", FCVAR_NONE, fmt("%L", LANG_SERVER, "GRAB_RENDERING_CVAR_AMOUNT"), true, 0.0, true, 255.0);
bind_pcvar_float(pCvar, g_flRenderCvar[RENDER_AMOUNT]);

AutoExecConfig(true, "grab_rendering", "grab_modular");
}

public plugin_natives()
{
register_library("grab_rendering");

register_native("grab_set_player_rendering", "NativeHandle_SetPlayerRendering");
register_native("grab_get_player_rendering", "NativeHandle_GetPlayerRendering");
}

public NativeHandle_GetPlayerRendering(iPlugin, iParams)
{
enum { arg_player = 1, arg_color_red, arg_color_green, arg_color_blue, arg_amount };

new iPlayer = get_param(arg_player);

CHECK_PLAYER(iPlayer)

set_float_byref(arg_color_red, g_flPlayerRenderData[iPlayer][RENDER_COLOR_RED]);
set_float_byref(arg_color_green, g_flPlayerRenderData[iPlayer][RENDER_COLOR_GREEN]);
set_float_byref(arg_color_blue, g_flPlayerRenderData[iPlayer][RENDER_COLOR_BLUE]);
set_float_byref(arg_amount, g_flPlayerRenderData[iPlayer][RENDER_AMOUNT]);
}

public NativeHandle_SetPlayerRendering(iPlugin, iParams)
{
enum { arg_player = 1, arg_color_red, arg_color_green, arg_color_blue, arg_amount };
#pragma unused arg_color_red, arg_color_green, arg_color_blue

new iPlayer = get_param(arg_player);

new Float:flData[arg_amount - 1];

for(new i; i < sizeof flData; i++)
flData[i] = get_param_f(i + 2);

if(iPlayer)
{
CHECK_PLAYER(iPlayer)

for(new i; i < sizeof flData; i++)
g_flPlayerRenderData[iPlayer][i] = flData[i] != -1.0 ? flData[i] : g_flRenderCvar[i];
}
else
{
for(new i = 1; i <= MaxClients; i++)
{
if(!is_user_connected(i))
continue;

for(new a; a < sizeof flData; a++)
g_flPlayerRenderData[i][a] = flData[a] != -1.0 ? flData[a] : g_flRenderCvar[a];
}
}

}

public client_putinserver(id)
{
for(new i; i < RenderData; i++)
g_flPlayerRenderData[id][i] = g_flRenderCvar[i];
}

public grab_on_start(id, iEntity)
{
if(!g_eCvar[CVAR_ENABLED])
return;

UTIL_SetRendering(iEntity,
kRenderFxGlowShell,
g_flPlayerRenderData[id][RENDER_COLOR_RED],
g_flPlayerRenderData[id][RENDER_COLOR_GREEN],
g_flPlayerRenderData[id][RENDER_COLOR_BLUE],
kRenderNormal,
g_flPlayerRenderData[id][RENDER_AMOUNT]);
}

public grab_on_finish(id, iEntity)
{
if(!g_eCvar[CVAR_ENABLED])
return;

new iRenderFx, Float:flRenderColor[3], iRender, Float:flAmount;
UTIL_GetRendering(iEntity, iRenderFx, flRenderColor[0], flRenderColor[1], flRenderColor[2], iRender, flAmount);

if(
iRenderFx == kRenderFxGlowShell
&& g_flPlayerRenderData[id][RENDER_COLOR_RED] == flRenderColor[0]
&& g_flPlayerRenderData[id][RENDER_COLOR_GREEN] == flRenderColor[1]
&& g_flPlayerRenderData[id][RENDER_COLOR_BLUE] == flRenderColor[2]
&& iRender == kRenderNormal
&& g_flPlayerRenderData[id][RENDER_AMOUNT] == flAmount
)
{
UTIL_SetRendering(iEntity);
}
}

/****************************************************************************************
****************************************************************************************/

stock UTIL_SetRendering(iEnt, iRenderFx = kRenderFxNone, Float:flRed = 0.0, Float:flGreen = 0.0, Float:flBlue = 0.0, iRender = kRenderNormal, Float:flAmount = 0.0)
{
new Float:flRenderColor[3];
flRenderColor[0] = flRed;
flRenderColor[1] = flGreen;
flRenderColor[2] = flBlue;

set_entvar(iEnt, var_renderfx, iRenderFx);
set_entvar(iEnt, var_rendercolor, flRenderColor);
set_entvar(iEnt, var_rendermode, iRender);
set_entvar(iEnt, var_renderamt, flAmount);
}

stock UTIL_GetRendering(id, &iRenderFx = kRenderFxNone, &Float:flRed = 0.0, &Float:flGreen = 0.0, &Float:flBlue = 0.0, &iRender = kRenderNormal, &Float:flAmount = 0.0)
{
new Float:flRenderColor[3];
get_entvar(id, var_rendercolor, flRenderColor);

iRenderFx = get_entvar(id, var_renderfx);

flRed = flRenderColor[0];
flGreen = flRenderColor[1];
flBlue = flRenderColor[2];

iRender = get_entvar(id, var_rendermode);
flAmount = Float:get_entvar(id, var_renderamt);
}
Всем доброго времени суток.
Выдаёт ошибку помогите исправить.
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
1,419
Реакции
2,508
Помог
59 раз(а)
Можно попробовать так:
Код:
public grab_on_finish(id, iEntity)
{
    if(!g_eCvar[CVAR_ENABLED])
        return;
+
+    if(!is_entity(iEntity))
+        return;
 
Сообщения
103
Реакции
179
А при каком условии вызывается функция grab_on_finish? Возможно, к тому моменту времени, как она вызывается, энтити на сервере уже начинают уничтожаться и в функцию попадает индекс уже удалённой энтити.
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
Ошибок пока нет. Спасибо за решение twisterniq.
Можно закрывать.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу