[CSDM] Sentry guns: native error (native "entity_get_edict")

Сообщения
44
Реакции
15
Ошибка
L 10/08/2019 - 20:28:48: Start of error session.
L 10/08/2019 - 20:28:48: Info (map "cs_italy") (file "addons/amxmodx/logs/error_20191008.log")
L 10/08/2019 - 20:28:48: [ENGINE] Invalid entity 95
L 10/08/2019 - 20:28:48: [AMXX] Run time error 10 (plugin "npc_sentryguns.amxx") (native "entity_get_edict") - debug not enabled!
L 10/08/2019 - 20:28:48: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 10/08/2019 - 20:29:55: [ENGINE] Invalid entity 108
L 10/08/2019 - 20:29:55: [AMXX] Run time error 10 (plugin "npc_sentryguns.amxx") (native "entity_get_edict") - debug not enabled!
L 10/08/2019 - 20:29:55: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 10/08/2019 - 20:30:55: String formatted incorrectly - parameter 4 (total 3)
L 10/08/2019 - 20:30:55: [AMXX] Run time error 25 (plugin "mapsmenu.amxx") - debug not enabled!
L 10/08/2019 - 20:30:55: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 10/08/2019 - 20:40:37: Start of error session.
L 10/08/2019 - 20:40:37: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20191008.log")
L 10/08/2019 - 20:40:37: [ENGINE] Invalid entity 74
L 10/08/2019 - 20:40:37: [AMXX] Displaying debug trace (plugin "npc_sentryguns.amxx", version "2.0")
L 10/08/2019 - 20:40:37: [AMXX] Run time error 10: native error (native "entity_get_edict")
L 10/08/2019 - 20:40:37: [AMXX] [0] npc_sentryguns.sma::server_frame (line 815)
ОС
Windows
Amx Mod X
AMX Mod X 1.9.0.5249 (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 19 2019 13:31:53
Built from: https://github.com/alliedmodders/amxmodx/commit/6cecb34
Build ID: 5249:6cecb34
Core mode: JIT+ASM32
C++
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.6.0.672-dev
Build date: 17:31:06 Jun  5 2019 (1880)
Build from: https://github.com/dreamstalker/rehlds/commit/0c8d3d7
C++
ReGamedll
ReGameDLL version: 5.9.0.362-dev
Build date: 20:19:32 Jun 21 2019
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/b669a39
C++
Версия 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
C++
Список метамодулей
[ 1] Reunion       RUN   -    reunion_mm_i386.so         v0.1.0.133      ini  Start Never
 [ 2] ReAuthCheck   RUN   -    reauthcheck_mm_i386.so     v0.1.6          ini  Start Never
 [ 3] Rechecker     RUN   -    rechecker_mm_i386.so       v2.5            ini  Chlvl ANY
 [ 4] AMX Mod X     RUN   -    amxmodx_mm_i386.so         v1.9.0.5249     ini  Start ANY
 [ 5] Revoice       RUN   -    revoice_mm_i386.so         v0.1.0.32       ini  Start Never
 [ 6] ReSemiclip    RUN   -    resemiclip_mm_i386.so      v2.3.9          ini  Chlvl ANY
 [ 7] hackdetector  RUN   -    hackdetector_amxx_i386.so  v0.15.328.lite  pl4  ANY   ANY
 [ 8] CStrike       RUN   -    cstrike_amxx_i386.so       v1.9.0.5249     pl4  ANY   ANY
 [ 9] FakeMeta      RUN   -    fakemeta_amxx_i386.so      v1.9.0.5249     pl4  ANY   ANY
 [10] Ham Sandwich  RUN   -    hamsandwich_amxx_i386.so   v1.9.0.5249     pl4  ANY   ANY
 [11] Engine        RUN   -    engine_amxx_i386.so        v1.8.1.3746     pl4  ANY   ANY
 [12] Fun           RUN   -    fun_amxx_i386.so           v1.9.0.5249     pl4  ANY   ANY
 [13] ReCSDM        RUN   -    csdm_amxx_i386.so          v3.6            pl4  ANY   ANY
C++
Список плагинов
[  1] Admin Base              1.9.0.5249  AMXX Dev Team     admin.amxx       running
 [  2] [CSDM] Amxmodmenu       1.0         NoNameNPC         npc_amxmodmenu.  running
 [  3] [GSDM] Mute System      1.0         NoNameNPC         npc_mutesystem.  running
 [  4] [CSDM] NextMap       1.0         AMXX Dev Team         nextmap.amxx     running
 [  5] [CSDM] Maps Menu        1.0         AMXX Dev Team        mapsmenu.amxx    running
 [  6] [CSDM] Players system   1.0         AMXX Dev Team         plmenu.amxx      running
 [  7] [CSDM] Admin Votes      1.0         AMXX Dev Team         adminvote.amxx   running
 [  8] [CSDM] Nextmap Chooser  1.0         AMXX Dev Team  mapchooser.amxx  running
 [  9] unknown                 unknown     unknown           npc_hero.amxx    running
 [ 10] [CSDM] Sentry guns      2.0         NoNameNPC         npc_sentryguns.  debug
 [ 11] unknown                 unknown     unknown           npc_lasermine.a  debug
 [ 12] unknown                 unknown     unknown           npc_mines.amxx   debug
 [ 13] unknown                 unknown     unknown           npc_laserfence.  debug
 [ 14] unknown                 unknown     unknown           npc_dispenser.a  debug
 [ 15] [CS] Player Models API  1.2         WiLS              cs_player_model  running
 [ 16] Map Manager RU          1.2.2       Mistrick          mapmanager_ru.a  running
 [ 17] Menu Modifical          1.0         NoNameNPC         meni_modifical.  running
 [ 18] unknown                 unknown     unknown           npc_timevote.am  running
 [ 19] unknown                 unknown     unknown           npc_money.amxx   running
 [ 20] unknown                 unknown     unknown           npc_donate.amxx  running
 [ 21] unknown                 unknown     unknown           npc_main_menu.a  debug
 [ 22] [CSDM] Vip-System       1.0         NoNameNPC         npc_sustem.amxx  running
 [ 23] unknown                 unknown     unknown           effects.amxx     running
 [ 24] GunGame AMMO            2.2         Prayer            gg_ammo.amxx     running
 [ 25] unknown                 unknown     unknown           npc_afk.amxx     running
 [ 26] unknown                 unknown     unknown           npc_flags.amxx   running
 [ 27] Parachute               1.0         NoNameNPC         npc_parachute.a  running
 [ 28] unknown                 unknown     unknown           npc_autoteam.am  running
 [ 29] unknown                 unknown     unknown           npc_hpap.amxx    running
 [ 30] [GunGame] Chat System   1.0         NoNameNPC         chat.amxx        running
 [ 31] ReCSDM Main             3.6         ReCSDM Team       csdm_main.amxx   running
 [ 32] unknown                 unknown     unknown           npc_equip.amxx   running
 [ 33] ReCSDM Spawns           3.6         ReCSDM Team       csdm_spawn_pres  running
 [ 34] ReCSDM Misc             3.6         ReCSDM Team       csdm_misc.amxx   running
 [ 35] ReCSDM Stripper         3.6         KWo               csdm_stripper.a  running
 [ 36] ReCSDM Protection       3.6         BAILOPAN          csdm_protection  running
C++
Автор плагина
JGHG & GlobalModders.net Scripting Team
Версия плагина
0.5.3
Исходный код
for (new i = 0; i < tempSentriesNum; i++)
{
	//if (entity_get_float(tempSentries[i], EV_FL_nextthink) < g_game
	sentry_pendulum(tempSentries[i], g_deltaTime)
	if (entity_get_edict(tempSentries[i], SENTRY_ENT_SPYCAM) != 0) 
    {
		entity_get_vector(tempSentries[i], EV_VEC_angles, angles)
		entity_set_vector(entity_get_edict(tempSentries[i], SENTRY_ENT_SPYCAM), EV_VEC_angles, angles)
	}
}
C++
Всем привет, поставил пушки на ксдм и заметил баг, если стрелять прямо по шапке пушки то сервер крашит, пытался ставить проверку на валидность но не помогло(возможно я плохо сделал проверку)
 
Сообщения
927
Реакции
548
Помог
13 раз(а)

[0] npc_sentryguns.sma::server_frame (line 815)

прикольно

как-то так
PHP:
for (new i = 0, pSpyCam; i < tempSentriesNum; i++)
{
    if (tempSentries[i] <= 0)
        continue;
    
    if (!pev_valid(tempSentries[i]))
        continue;

    //if (entity_get_float(tempSentries[i], EV_FL_nextthink) < g_game
    sentry_pendulum(tempSentries[i], g_deltaTime);

    pSpyCam = entity_get_edict(tempSentries[i], SENTRY_ENT_SPYCAM);

    if (pSpyCam > 0)
    {
        if (pev_valid(pSpyCam))
        {
            entity_get_vector(tempSentries[i], EV_VEC_angles, angles)
            entity_set_vector(entity_get_edict(tempSentries[i], SENTRY_ENT_SPYCAM), EV_VEC_angles, angles)
        }
    }
}
PHP
 
Сообщения
72
Реакции
10
Попробуйте
Код:
for (new i = 0; i < tempSentriesNum; i++)
{
    if(!is_valid_ent(tempSentriesNum[i]))
    {
        continue;
    }
    //if (entity_get_float(tempSentries[i], EV_FL_nextthink) < g_game
    sentry_pendulum(tempSentries[i], g_deltaTime)
    entity_get_vector(tempSentries[i], EV_VEC_angles, angles)
    entity_set_vector(entity_get_edict(tempSentries[i], SENTRY_ENT_SPYCAM), EV_VEC_angles, angles)
}
C++
 
Сообщения
927
Реакции
548
Помог
13 раз(а)
NoNameNPC, не помог от падения или от лог еррора?
логично
 
Сообщения
44
Реакции
15
BalbuR, лога нету и падение сервера тоже не пропало
8 Окт 2019
Попробуйте
Код:
for (new i = 0; i < tempSentriesNum; i++)
{
    if(!is_valid_ent(tempSentriesNum[i]))
    {
        continue;
    }
    //if (entity_get_float(tempSentries[i], EV_FL_nextthink) < g_game
    sentry_pendulum(tempSentries[i], g_deltaTime)
    entity_get_vector(tempSentries[i], EV_VEC_angles, angles)
    entity_set_vector(entity_get_edict(tempSentries[i], SENTRY_ENT_SPYCAM), EV_VEC_angles, angles)
}
C++
Не помогло, решить проблему с крашем сервера, при компиляции были ошибки, исправил строчку:
"if(!is_valid_ent(tempSentriesNum))" <--- С ошибкой при компиляции
"if(!is_valid_ent(tempSentries))" <--- Без ошибки при компиляции
 

ifx

Сообщения
336
Реакции
154
Помог
4 раз(а)
NoNameNPC, полная версия исходного когда будет или по огрызку кода гадать надо? :)
 
Сообщения
927
Реакции
548
Помог
13 раз(а)
проблема точно не в этой части кода
при краше не отобразит амхх лог еррор
 
Сообщения
72
Реакции
10
NoNameNPC, не if(!is_valid_ent(tempSentriesNum)) , а if(!is_valid_ent(tempSentriesNum[i]))
 
Сообщения
927
Реакции
548
Помог
13 раз(а)
Nunfy
tempSentriesNum
это не массив, тем более не энтити, а счетчик
 
Сообщения
927
Реакции
548
Помог
13 раз(а)
Я думаю проблемный код здесь

func_breakable при health <= 0.0 переходит в неосязаемое состояние
тут есть блок на получение урона при health <= 0.0, но нет удаления. Проверка по-моему так же кривая
не увидел где в коде удаляется шапка сентригана

PHP:
RegisterHam(Ham_TakeDamage, "func_breakable", "Laser_TakeDamage")


public Laser_TakeDamage(victim, inflictor, attacker, Float:damage, bit_Damage)
{
    if(!pev_valid(victim)) return HAM_IGNORED
    
    static ClassName[32]
    pev(victim, pev_classname, ClassName, charsmax(ClassName))
    if (equal(ClassName, "sentrybase")) 
    {
        if(!is_user_connected(attacker)||(get_user_team(attacker)==entity_get_int(victim, BASE_INT_TEAM)&&attacker!=GetSentryPeople(entity_get_edict(victim, BASE_ENT_SENTRY), OWNER))) 
            return HAM_SUPERCEDE
        
        new Float:g_Health
        pev(victim, pev_health, g_Health)
        if(g_Health<=0.0) return HAM_SUPERCEDE
        if (g_Health <= damage &&!get_user_hero(attacker)&&GetSentryPeople(entity_get_edict(victim, BASE_ENT_SENTRY), OWNER)!=attacker)
        {
            set_task(3.0, "task_reward", attacker+967465)
        }
    }
    else if (equal(ClassName, "sentry")) 
    {
        if(!is_user_connected(attacker)||(get_user_team(attacker)==entity_get_int(victim, SENTRY_INT_TEAM)&&attacker!=GetSentryPeople(victim, OWNER))) 
            return HAM_SUPERCEDE
            
        new Float:g_Health
        pev(victim, pev_health, g_Health)
        if(g_Health<=0.0) return HAM_SUPERCEDE // тут по идее нужно удалять объект
        if (g_Health <= damage &&!get_user_hero(attacker)&&attacker!=GetSentryPeople(victim, OWNER))
        {
            set_task(3.0, "task_reward", attacker+967465)
        }
    }
    return HAM_IGNORED
}
}
PHP
8 Окт 2019
код конечно ужасный
 
  • Нравится
Реакции: ifx
Сообщения
44
Реакции
15
BalbuR, если до завтра не найду решение буду делать другие пушки, меня тоже не устраивают пушки, если ломать базу то всё нормально, если ломать корпус именно бок то всё тоже нормально ломает, а если прям по крыше именно самую верхнюю часть то краш сервера происходит.
 

ifx

Сообщения
336
Реакции
154
Помог
4 раз(а)
NoNameNPC, от миррора поищи пушки, они точно рабочие. А по поводу башни и основы, там если порыть код, видно что это 2 ентитти и соотв 2 модели. Кроме cssb вроде никто так и не сделал единую ентити/модель пушек. Отсюда и миллион лишних строчек и проверок

Радиус может сделал, но у него код закрыт плагинов, я его не ставил
 

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

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