Revive/Mined Die Players / Revive teammates крашит сервер

Сообщения
99
Реакции
15
Помог
1 раз(а)
Ошибка
нет ошибки
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5281 (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: Jul 11 2021 22:22:58
Built from: https://github.com/alliedmodders/amxmodx/commit/5e7e177
Build ID: 5281:5e7e177
Core mode: JIT+ASM32
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.11.0.767-dev
Build date: 03:13:55 Oct 25 2021 (2753)
Build from: https://github.com/dreamstalker/rehlds/commit/471158b
ReGamedll
ReGameDLL version: 5.21.0.540-dev
Build date: 17:33:16 Oct 25 2021
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/b9cccc6
Версия 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] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC5 ini ANY ANY
[ 2] Reunion RUN - reunion_137.so v0.1.0.137 ini Start Never
[ 3] ReAuthCheck RUN - reauthcheck.so v0.1.6 ini Start Never
[ 4] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5281 ini Start ANY
[ 5] Rechecker RUN - rechecker.so v2.5 ini Chlvl ANY
[ 6] ReSRDetector RUN - resrdetector.so v0.1.0 ini Chlvl ANY
[ 7] ReSemiclip RUN - resemiclip.so v2.3.9 ini Chlvl ANY
[ 8] WHBlocker RUN - whblocker_mm_i386.so v1.5.697 ini Chlvl ANY
[ 9] HitBox Fix RUN - hitbox_fix_mm_i386_1_10.so v1.0.10 ini Start ANY
[10] MySQL RUN - mysql_amxx_i386.so v1.9.0.5281 pl4 ANY ANY
[11] Admins Kit RUN - adminskit_amxx_i386.so v2.1.0 pl4 ANY ANY
[12] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5281 pl4 ANY ANY
[13] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5281 pl4 ANY ANY
[14] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5281 pl4 ANY ANY
[15] ReAPI RUN - reapi_amxx_i386.so v5.21.0.248-dev pl4 ANY Never
[16] Engine RUN - engine_amxx_i386.so v1.9.0.5281 pl4 ANY ANY
[17] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl4 ANY Never
[18] Fun RUN - fun_amxx_i386.so v1.9.0.5281 pl4 ANY ANY
[19] gRIP RUN - grip_amxx_i386.so v0.1.5 Beta pl4 ANY ANY
19 plugins, 19 running
Список плагинов
Currently loaded plugins:
name version author file status
[ 1] Chat Logger 2.1a Jim chat_logger_no_ running
[ 2] Steam Control 1.0 neygomon steam_control.a running
[ 3] Nice Killer 1.7 Got Milk? / HoHo nice_killer_1.7 running
[ 4] SF Warn Menu 0.1.4g serfreeman1337 sf_admin_warns. running
[ 5] CSStatsX SQL 0.7.4+2 serfreeman1337 aes_csstatsx_sq running
[ 6] resetscore(ReAPI) 1.0 Phantom resetscore.amxx running
[ 7] Stats Configuration 1.9.0.5271 AMXX Dev Team statscfg.amxx running
[ 8] Say me and Say hp REAP 1.4 neygomon sayme_reapi.amx running
[ 9] [190] Piss RBS 20.06.06 SKAJIbnEJIb & KR piss_rbs.amxx running
[ 10] [190] Shit RBS 20.06.06 SKAJIbnEJIb shit_rbs.amxx running
[ 11] AntiIdleBot 2.0.0 mx?! antiindlebot.am running
[ 12] DopBan 3.0.8b kanagava dop_ban308.amxx running
[ 13] Admin Loader 3.5 neygomon admin_loader.am running
[ 14] FreshBans 1.4.5b kanagava fresh_bans_145- running
[ 15] Menus Front-End 1.5 neugomon menufront.amxx running
[ 16] Admin Commands 1.9.0.5281 AMXX Dev Team admincmd.amxx running
[ 17] Commands Menu 1.9.0.5281 AMXX Dev Team cmdmenu.amxx running
[ 18] Players Menu 1.7 neugomon players_menu.am running
[ 19] [190] BuyMenu RBS 21.03.23 SKAJIbnEJIb buymenu_rbs.amx running
[ 20] Restrict Weapons 20.06.06 SKAJIbnEJIb & AM restmenu_rbs.am running
[ 21] Admin Votes 1.9.0.5281 AMXX Dev Team adminvote.amxx running
[ 22] Pause Plugins 1.9.0.5281 AMXX Dev Team pausecfg.amxx running
[ 23] ScreenMaker 1.1 neygomon screen_maker.am running
[ 24] Maps Menu 1.4.1 neugomon mapsmenu.amxx running
[ 25] Map Manager: Core 3.0.7 Mistrick map_manager.amx running
[ 26] Map Manager: Scheduler 0.1.7 Mistrick map_manager_sch running
[ 27] Map Manager: Rtv 0.1.1 Mistrick map_manager_rtv running
[ 28] Map Manager: Nominatio 0.1.3 Mistrick map_manager_nom running
[ 29] Map Manager: Online so 0.0.3 Mistrick map_manager_onl running
[ 30] Map Manager: Effects 0.0.10 Mistrick map_manager_eff running
[ 31] Mode 2x2 2.5re s1lent mode_2x2.amxx running
[ 32] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a running
[ 33] Stop the Bastards 1.7.0 [email protected] stop_the_bastar running
[ 34] [ReAPI] AWPoff 1.4.3 PAffAEJIkA :3 awp_off.amxx running
[ 35] Top Time Awards 0.2.0 Jumper top_time_awards running
[ 36] Flag for Steam 1.0 TBONTB/muhycspb auto_steam_vip. running
[ 37] Trial Access 1.0.0 mx?! trial_access.am running
[ 38] Reklama 20.05.2020 mx?! reklama.amxx running
[ 39] Bomb Taker 0.0.1b Vaqtincha c4_taker.amxx running
[ 40] C4 Timer on roundtime 0.3.3a neygomon c4timer.amxx running
[ 41] [ReAPI] Silly C4 2.0 [email protected] & Cheap_S reapi_sillyc4.a running
[ 42] WeaponForNONsteam 1.0 gyxoBka WeaponForNONste running
[ 43] Menu for AUW 0.01 muhycspb VIPwithAuw_3kom running
[ 44] Advanced Ultimate Weap 0.1.0b steelzzz auw.amxx running
[ 45] Regen HP AP for knife 1.0 I Am LeGenD Knife_Regen.amx running
[ 46] Parachute for ALL [ReA 3.0 Leo_[BH] parachute_for_a running
[ 47] Top killer 1.3.2.1 uMk0 topkiller.amxx running
[ 48] [ReAPI] Block 'Fire in 0.0.1 sergrib reapi_block_FIT running
[ 49] Nade Health 1.2 medusa NadeHealth.amxx running
[ 50] unknown unknown unknown noflash.amxx running
[ 51] [ReAPI] Random Weapons 2.4.9 neugomon/h1k3 random_weapons_ running
[ 52] Afk Control 0.4.1 Freedo.m | neygo afk_control.amx running
[ 53] Ping Control 1.31 neygomon ping_control.am running
[ 54] Demo Recorder 2.4.1 [email protected] demo_recorder.a running
[ 55] Menu System 0.1.2 serfreeman1337 menuSystem.amxx running
[ 56] Amx Change Name 1.0 neygomon amx_namechanger running
[ 57] Killer ScreenFade 0.0.5 Vaqtincha reapi_killer_sc running
[ 58] Damager 0.0.6 steelzzz damager.amxx running
[ 59] Combo On Kill 0.2 Vaqtincha combo_on_kill.a running
[ 60] Show enemies on radar 0.1b Denzer show_enemies_on running
[ 61] ShowMotdAdVip 0.01 muhycspb ShowMotdAdVip.a running
[ 62] RE Vampire 1.0.7 MakapoH, AcE, RE re_vampire.amxx running
[ 63] WeaponState Remember 0.0.4 Vaqtincha weaponstate_rem running
[ 64] Glock 18 Auto Mode 1.0 | 2021 Ruby glock18_auto_mo running
[ 65] botov v spec 26.12.21 muhycspb botov_v_spec.am running
[ 66] [FB] CSBANS Tools 0.0.2 uMk0 csbans_tools.am running
[ 67] Revive Die Players 2.3.2 Emma Jule revive_teammate paused
[ 68] Mute Weapon Shots 0.2 RauliTop mute_weapon_sho running
[ 69] ARROW BACKPACK 1.0 Wilian M. | Mayr arrow_backpack. running
[ 70] KiLL Assist poka_4to_b [email protected] Kill_assist_rea running
[ 71] Advanced Experience Sy 0.5.9 [REA serfreeman1337/s aes_main.amxx running
[ 72] AES: StatsX 0.5.9 [REA serfreeman1337/s aes_statsx_cstr running
[ 73] AES: CStrike Addon 0.5.9 [REA serfreeman1337/s aes_exp_cstrike running
[ 74] AES: Informer 0.5.9 [REA serfreeman1337/s aes_informer.am running
[ 75] ChatAdditions: Core %CA_VERSIO Sergey Shorokhov ChatAdditions_C running
[ 76] ChatAdditions: CSBans %CA_VERSIO Sergey Shorokhov CA_Storage_CSBa running
[ 77] CA: Anti Flood %CA_VERSIO Nordic Warrior CA_AntiFlood.am running
[ 78] CA: Mute %CA_VERSIO Sergey Shorokhov CA_Mute.amxx running
[ 79] CA: Gag %CA_VERSIO Sergey Shorokhov CA_Gag.amxx running
[ 80] CA: VoteGAG 1.0.0-alph Sergey Shorokhov CA_Addon_VoteGa running
[ 81] Admin Chat 1.9.0.5281 AMXX Dev Team adminchat.amxx running
[ 82] Chat Manager 1.1.2-16 Mistrick chatmanager.amx running
[ 83] Chat Manager: Addon 0.0.4-70 Mistrick chatmanager_add running
[ 84] Max Restart/Round 0.0.1 Albertio only_map1.amxx running
[ 85] [ReAPI] Lite TeamBalan 2.3 neugomon lite_balancer_2 running
85 plugins, 84 running
Автор плагина
Emma Jule
Версия плагина
2.3.9
Исходный код
#define PLUGIN			"Revive/Mined Die Players"
#define VERSION "2.3.9"

//#define UNSTUCK // если у вас люди при воскрешении застряют люди в текстурах (и если у вас есть прохождения сквозь свових) то расскоментируйте это.
//#define SKIN // активируйте если у вас есть субмодели (skin) в моделях

new const CORPSE_CLASSNAME[] = "info_corpse";

#define NOTIFY(%0,%1,%2,%3) \
%0(%1, %2, %3); \
\
if ((1 << %2) & ((1 << print_team_red) | (1 << print_center)) && CVAR[SOUND_NOTIFICATION]) \
client_cmd(%1, "spk ^"buttons/blip2.wav^"");


#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <reapi>
#include <emma_jule>
//#include <aes_v>


enum _:CVARS
{
ACCESS[16],
MAX_SPAWNS,
MAX_REVIVALS,
MAX_MINES,
DURATION,
OBSERVER,
NO_FIRE,
RENDER,
BAR,
Float:RADIUS,
Float:DAMAGE,
Float:SHOCK,
SCREENPUNCH,
SPAWN_MODE,
#if REAPI_VERSION >= 5200231
GIBS,
#endif
GUN[256],
Float:NEW_HEALTH,
Float:BONUS_HEALTH,
FRAGS,
NO_DEATH,
COST,
DUEL,
BOMB,
VIP,
ROUND,
DOMINATION,
Float:TIME_EXPIRED,
SOUND_NOTIFICATION,
DONT_MOTION,
CAN_MINED,
NOTIFICATION,
REVIVE_SAMPLE[MAX_RESOURCE_PATH_LENGTH],
MINED_SAMPLE[MAX_RESOURCE_PATH_LENGTH],
EXPLODE_SAMPLE[MAX_RESOURCE_PATH_LENGTH],
SIZE[64],

}; new CVAR[CVARS];


// Дата на каждого игрока
enum _:REVIVE_DATA
{
CORPSE,
IS_REVIVING,
REVIVALS_COUNT,
MINES_COUNT,

}; new eCorpseStruct[MAX_PLAYERS + 1][REVIVE_DATA];


new g_iAccessFlags, g_iPreventFlags;
new g_sModelIndexFireball, g_sModelIndexFireball2, g_sModelIndexFireball3;
new Float:g_vecCorpseMins[3], Float:g_vecCorpseMaxs[3];
new Float:flNextCorpseUsingTime[MAX_PLAYERS + 1];

public plugin_precache()
{
register_plugin(PLUGIN, VERSION, "Emma Jule");

@CreateCvars();

// def sprites
g_sModelIndexFireball = precache_model("sprites/zerogxplode.spr");
g_sModelIndexFireball2 = precache_model("sprites/eexplo.spr");
g_sModelIndexFireball3 = precache_model("sprites/fexplo.spr");
}

public plugin_init()
{
if (register_dictionary("revive_teammates.txt") == 0) {
//createLangFile("revive_teammates.txt");
}

register_event("TeamInfo", "Event_TeamInfo", "a", "1>0");
register_message(get_user_msgid("ClCorpse"), "@CorpseSpawn");

RegisterHookChain(RG_CSGameRules_CleanUpMap, "CSGameRules_CleanUpMap", true);
if (CVAR[DONT_MOTION])
RegisterHookChain(RG_CBasePlayer_ResetMaxSpeed, "CBasePlayer_ResetMaxSpeed", true);

RegisterHam(Ham_ObjectCaps, "info_target", "fw_ObjectCaps", false);
}

public Event_TeamInfo()
{
@CorpseRemove(read_data(1));
}

public CSGameRules_CleanUpMap()
{
new id = rg_find_ent_by_class(NULLENT, CORPSE_CLASSNAME);

while (id > 0)
{
@CorpseRemove(get_entvar(id, var_owner));

id = rg_find_ent_by_class(id, CORPSE_CLASSNAME);
}

arrayset(eCorpseStruct[0][_:0], 0, sizeof(eCorpseStruct) * sizeof(eCorpseStruct[]));
}

public CBasePlayer_ResetMaxSpeed(id)
{
if (eCorpseStruct[id][IS_REVIVING])
{
set_entvar(id, var_maxspeed, 1.0);
}
}

public fw_ObjectCaps(id)
{
if (!FClassnameIs(id, CORPSE_CLASSNAME)) {
return HAM_IGNORED;
}

SetHamReturnInteger(FCAP_ONOFF_USE);
return HAM_OVERRIDE;
}

public Corpse_Use(id, activator, caller, USE_TYPE:useType, Float:value)
{
if (value == 0.0)
return;

if (activator != caller)
return;

if (!ExecuteHam(Ham_IsPlayer, activator))
return;

// static Float:flCurTime;
new Float:flCurTime = get_gametime();

// static Float:flNextCorpseUsingTime[MAX_PLAYERS + 1];
if (flNextCorpseUsingTime[activator] > flCurTime)
return;

flNextCorpseUsingTime[activator] = flCurTime + 0.1;

// if (~get_entvar(activator, var_flags) & FL_ONGROUND)
// return;

if (rg_get_current_round() < CVAR[ROUND])
{
NOTIFY(client_print_color, activator, print_team_red, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_ROUND", CVAR[ROUND])
return;
}

if (!rg_is_time_expired(CVAR[TIME_EXPIRED]))
{
NOTIFY(client_print_color, activator, print_team_red, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_TIME_RESTRICTIONS", CVAR[TIME_EXPIRED])
return;
}

new TeamName:team = get_member(activator, m_iTeam);
if (CVAR[DOMINATION] > 0 && rg_get_team_wins_row(CVAR[DOMINATION]) == team)
{
NOTIFY(client_print_color, activator, print_team_red, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_DOMINATION")
return;
}

if (CVAR[VIP] && get_member(activator, m_bIsVIP))
{
NOTIFY(client_print, activator, print_center, "%L", LANG_PLAYER, "RT_VIP_PERSON")
return;
}

if ((caller = get_entvar(id, var_euser1)) > 0)
{
NOTIFY(client_print, activator, print_center, "%L", LANG_PLAYER, "RT_ALREADY_USING_BY", caller)
return;
}

if (UTIL_IsRestricted(id, activator))
return;

// Получаем владельца трупа
caller = get_entvar(id, var_owner);

// ВОСКРЕШЕНИЕ
if (team == get_entvar(id, var_team))
{
if (get_member(caller, m_iNumSpawns) > CVAR[MAX_SPAWNS])
{
NOTIFY(client_print, activator, print_center, "%L", LANG_PLAYER, "RT_MAX_SPAWNS")
return;
}

if (eCorpseStruct[activator][REVIVALS_COUNT] >= CVAR[MAX_REVIVALS])
{
NOTIFY(client_print, activator, print_center, "%L", LANG_PLAYER, "RT_MAX_REVIVALS", CVAR[MAX_REVIVALS])
return;
}

set_dhudmessage(0, 160, 30, -1.0, 0.76, 2, 3.0, 2.0, 0.03, 0.4);
show_dhudmessage(caller, "%L", LANG_PLAYER, "RT_REVIVED", activator);

set_dhudmessage(0, 160, 30, -1.0, 0.76, 2, 3.0, 2.0, 0.03, 0.4);
show_dhudmessage(activator, "%L", LANG_PLAYER, "RT_REVIVING", caller, CVAR[DURATION]);

if (CVAR[OBSERVER])
{
// set_entvar(caller, var_iuser2, OBS_IN_EYE);
rg_internal_cmd(caller, "specmode", "4");
set_entvar(caller, var_iuser2, activator);

set_member(caller, m_hObserverTarget, activator);
set_member(caller, m_flNextObserverInput, flCurTime + 1.6);
}
}
// МИНИРОВАНИЕ
else
{
if (!CVAR[CAN_MINED])
{
// NOTIFY(client_print, activator, print_center, "%L", LANG_PLAYER, "RT_NO_MINED_MODE")
return;
}

if (get_entvar(id, var_euser2) > 0)
{
NOTIFY(client_print, activator, print_center, "%L", LANG_PLAYER, "RT_ALREADY_MINED")
return;
}

if (eCorpseStruct[activator][MINES_COUNT] >= CVAR[MAX_MINES])
{
NOTIFY(client_print, activator, print_center, "%L", LANG_PLAYER, "RT_MAX_MINES", CVAR[MAX_MINES])
return;
}

set_dhudmessage(160, 0, 30, -1.0, 0.76, 2, 3.0, 2.0, 0.03, 0.4);
show_dhudmessage(activator, "%L", LANG_PLAYER, "RT_MINING", caller);
}

// Присваеваем булевую которую можно проверять в других функциях
eCorpseStruct[activator][IS_REVIVING] = true;

// Ограничиваем движение игрока согласно флагам
set_entvar(activator, var_iuser3, get_entvar(activator, var_iuser3) | g_iPreventFlags);

if (CVAR[NO_FIRE]) {
set_member(activator, m_bIsDefusing, true);
}

if (CVAR[BAR]) {
rg_send_bartime(activator, CVAR[DURATION]);
}

if (CVAR[DONT_MOTION])
{
rg_reset_maxspeed(activator);
set_entvar(activator, var_velocity, NULL_VECTOR);
}

set_entvar(id, var_euser1, activator);
set_entvar(id, var_fuser1, flCurTime + float(CVAR[DURATION]));
set_entvar(id, var_nextthink, flCurTime + 0.1);

if (CVAR[RENDER])
{
UTIL_Render(id,
.mode = kRenderTransAlpha,
.flColor = Float:{ 200.0, 200.0, 200.0 },
.fAmount = 200.0
);
}
}

public Corpse_Think(id)
{
// Get Activator
new pActivator = get_entvar(id, var_euser1);

if (!VALID_PLAYER(pActivator)) {
// return;
}

if (!is_user_alive(pActivator) || ~get_entvar(pActivator, var_button) & IN_USE || UTIL_IsRestricted(id, pActivator))
{
ResetRestrictions(id, !is_user_connected(pActivator) ? 0 : pActivator);
return;
}

new Float:flTimeLeft;
get_entvar(id, var_fuser1, flTimeLeft);
if ((flTimeLeft != 0.0 && get_gametime() >= flTimeLeft))
{
new Float:vecSrc[3];
get_entvar(id, var_origin, vecSrc);

if (get_member(pActivator, m_iTeam) != get_entvar(id, var_team))
{
if (CVAR[MINED_SAMPLE][0]) {
rh_emit_sound2(id, 0, CHAN_BODY, CVAR[MINED_SAMPLE]);
}

NOTIFY(client_print_color, pActivator, print_team_blue, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_MINED_SUCCESS")

rg_add_account(pActivator, -CVAR[COST]);
eCorpseStruct[pActivator][MINES_COUNT]++;
ResetRestrictions(id, pActivator);

// Set pMinedOwner
set_entvar(id, var_euser2, pActivator);
}
else
{
new pOwner = get_entvar(id, var_owner), pMiner = get_entvar(id, var_euser2);
new TeamName:iTeam = get_entvar(id, var_team);

if (pMiner > 0)
{
new Float:vecSrc[3];
get_entvar(id, var_origin, vecSrc);

#if REAPI_VERSION >= 5200231
if (CVAR[GIBS])
rg_spawn_random_gibs(id, 5);
#endif

// Делаем взрыв
UTIL_MakeExplosionEffects(vecSrc);

// player not connected fix
if (!is_user_connected(pMiner) || (1 << _:get_member(pMiner, m_iTeam) & ((1 << _:TEAM_UNASSIGNED) | (1 << _:TEAM_SPECTATOR) | (1 << _:iTeam))))
{
pMiner = 0;
}

for (new i = 1, Float:fReduceDamage, Float:vecEnd[3]; i <= MaxClients; i++)
{
if (!is_user_alive(i))
continue;

if (get_member(i, m_iTeam) != iTeam)
continue;

get_entvar(i, var_origin, vecEnd);
if ((fReduceDamage = (CVAR[DAMAGE] - vector_distance(vecSrc, vecEnd) * (CVAR[DAMAGE] / CVAR[RADIUS]))) < 1.0)
continue;

set_member(i, m_LastHitGroup, HITGROUP_GENERIC);
if (ExecuteHamB(Ham_TakeDamage, i, id, pMiner, fReduceDamage, DMG_GRENADE | DMG_ALWAYSGIB))
{
set_member(i, m_flVelocityModifier, CVAR[SHOCK]);

if (CVAR[SCREENPUNCH])
set_entvar(i, var_punchangle, Float: { 42.2, 19.0, 64.4 });
}
}

@CorpseRemove(pOwner);

//if (CVAR[MINED_EXPLOSION_SAMPLE][0]) {
//rh_emit_sound2(id, 0, CHAN_ITEM, CVAR[MINED_EXPLOSION_SAMPLE]);
//}

NOTIFY(client_print_color, 0, print_team_red, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_WAS_MINED", pActivator)
}
else
{
// ::GiveDefaultItems() игнорирование при SpawnEquip
set_member(pOwner, m_bNotKilled, true);

// no ScoreInfo
if (CVAR[NO_DEATH]) {
set_member(pOwner, m_iDeaths, max(get_member(pOwner, m_iDeaths) - 1, 0) /* -1 fix */ );
}

rg_round_respawn(pOwner);

if (CVAR[SPAWN_MODE])
{
#if defined UNSTUCK
// Semiclip edition
get_entvar(pActivator, var_origin, vecSrc);
engfunc(EngFunc_SetOrigin, pOwner, vecSrc);
#else
engfunc(EngFunc_SetOrigin, pOwner, vecSrc);
#endif
set_entvar(pOwner, var_flags, get_entvar(pOwner, var_flags) | FL_DUCKING);
// set_entvar(pOwner, var_button, get_entvar(pOwner, var_button) | IN_DUCK);
set_entvar(pOwner, var_view_ofs, Float:{ 0.0, 0.0, 12.0 });
}

if (CVAR[NEW_HEALTH])
{
set_entvar(pOwner, var_max_health, CVAR[NEW_HEALTH]);
set_entvar(pOwner, var_health, CVAR[NEW_HEALTH]);
}

if (CVAR[GUN][0])
rg_give_items(pOwner, CVAR[GUN]);
else
rg_give_default_items(pOwner);

if (CVAR[FRAGS]) {
ExecuteHamB(Ham_AddPoints, pActivator, CVAR[FRAGS], false);
}

if (CVAR[BONUS_HEALTH]) {
rg_add_user_health(pActivator, CVAR[BONUS_HEALTH], .obey_limit = true);
// ExecuteHamB(Ham_TakeHealth, pActivator, CVAR[BONUS_HEALTH], DMG_GENERIC);
}

//aes_add_player_exp_f(pActivator, 1);
//client_print_color(pActivator, print_team_default, "%L вы получили^4 1 XP", LANG_PLAYER, "RT_PREFIX");

// Уведомления включены
if (CVAR[NOTIFICATION] < 2)
{
if (CVAR[NOTIFICATION])
{
// Всем
NOTIFY(client_print_color, 0, pActivator, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_NOTIFICATION", pActivator, pOwner)
}
else
{
// Только игроку кто воскрешал и тому кого воскресили
NOTIFY(client_print_color, pOwner, pActivator, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_NOTIFICATION", pActivator, pOwner)
NOTIFY(client_print_color, pActivator, print_team_default, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_NOTIFICATION", pActivator, pOwner)
}
}

if (CVAR[REVIVE_SAMPLE][0]) {
rh_emit_sound2(id, 0, CHAN_BODY, CVAR[REVIVE_SAMPLE]);
}

rg_add_account(pActivator, -CVAR[COST]);

eCorpseStruct[pActivator][REVIVALS_COUNT]++;
}
}
}

set_entvar(id, var_nextthink, get_gametime() + 0.1);
}

ResetRestrictions(id = 0, pActivator)
{
if (pActivator > 0)
{
eCorpseStruct[pActivator][IS_REVIVING] = false;

set_entvar(pActivator, var_iuser3, get_entvar(pActivator, var_iuser3) & ~g_iPreventFlags);

if (CVAR[NO_FIRE]) {
set_member(pActivator, m_bIsDefusing, false);
}

if (CVAR[BAR]) {
// 3rd party
rg_send_bartime(pActivator, 0);
}

rg_reset_maxspeed(pActivator);
}

if (id > 0)
{
set_entvar(id, var_euser1, 0);
set_entvar(id, var_fuser1, 0.0);
set_entvar(id, var_nextthink, 0.0);

if (CVAR[RENDER])
UTIL_Render(id);
}
}

UTIL_IsRestricted(pCorpse, pPlayer)
{
// Раунд окончен
if (get_member_game(m_bRoundTerminating))
{
return true;
}

// Нельзя использовать труп в повышенном движении
if (UTIL_GetPlayerSpeed(pPlayer) > 240.0)
{
return true;
}

// На лестнице
if (get_entvar(pPlayer, var_movetype) == MOVETYPE_FLY)
{
NOTIFY(client_print, pPlayer, print_center, "%L", LANG_PLAYER, "RT_ON_LADDER")
return true;
}

// По уши в воде
if (get_entvar(pPlayer, var_waterlevel) > 2)
{
NOTIFY(client_print, pPlayer, print_center, "%L", LANG_PLAYER, "RT_IN_WATER")
return true;
}

// Нет доступа
if (!access(pPlayer, g_iAccessFlags))
{
NOTIFY(client_print_color, pPlayer, print_team_red, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_ACCESS")
return true;
}

// Бомба установленна
if (CVAR[BOMB] && rg_is_bomb_planted())
{
NOTIFY(client_print_color, pPlayer, print_team_red, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_BOMB")
return true;
}

// Остались 1 на 1
if (CVAR[DUEL] && rg_is_1v1())
{
NOTIFY(client_print_color, pPlayer, print_team_red, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_1V1")
return true;
}

// Нет денег
if (get_member(pPlayer, m_iAccount) < CVAR[COST])
{
NOTIFY(client_printex, pPlayer, print_center, "#Not_Enough_Money")
return true;
}

// Нарушена допустимая дистанция
static Float:vecCorpseOrigin[3], Float:vecPlayerOrigin[3];

get_entvar(pCorpse, var_origin, vecCorpseOrigin);
get_entvar(pPlayer, var_origin, vecPlayerOrigin);

if (vector_distance(vecCorpseOrigin, vecPlayerOrigin) > 150.0)
{
NOTIFY(client_print_color, pPlayer, print_team_red, "%L %L", LANG_PLAYER, "RT_PREFIX", LANG_PLAYER, "RT_DISTANCE")
return true;
}

// Все по правилам, даю добро
return false;
}

// Создание трупа
@CorpseSpawn()
{
/*
if (GET_CURRENT_ROUND() < CVAR[ROUND]) {
return PLUGIN_CONTINUE;
}
*/
new id
= rg_create_entity("info_target");

if (is_nullent(id)) {
return PLUGIN_HANDLED;
}

new Float:vecOrigin[3], Float:vecAngles[3];
for (new i; i < 3; i++)
{
vecOrigin[i] = float(get_msg_arg_int(2 + i)) / 128.0;
vecAngles[i] = get_msg_arg_float(5 + i);
}

new szModel[32];
new pPlayer = get_msg_arg_int(12);
get_msg_arg_string(1, szModel, charsmax(szModel));

set_entvar(id, var_classname, CORPSE_CLASSNAME);
//set_entvar(id, var_movetype, MOVETYPE_TOSS);
set_entvar(id, var_solid, SOLID_TRIGGER);
set_entvar(id, var_angles, vecAngles);
set_entvar(id, var_body, get_msg_arg_int(10));
#if defined SKIN
set_entvar(id, var_skin, get_entvar(pPlayer, var_skin));
#endif
set_entvar(id, var_framerate, 1.0);
set_entvar(id, var_animtime, 0.0);
set_entvar(id, var_sequence, get_msg_arg_int(9));
set_entvar(id, var_euser1, 0); // pData activator
set_entvar(id, var_fuser1, 0.0); // pData timing
set_entvar(id, var_euser2, 0); // pData mined
set_entvar(id, var_owner, pPlayer);
set_entvar(id, var_team, get_msg_arg_int(11));

engfunc(EngFunc_SetModel, id, fmt("models/player/%s/%s.mdl", szModel, szModel));
engfunc(EngFunc_SetSize, id, g_vecCorpseMins, g_vecCorpseMaxs);
engfunc(EngFunc_SetOrigin, id, vecOrigin);

SetUse(id, "Corpse_Use");
SetThink(id, "Corpse_Think");

eCorpseStruct[pPlayer][CORPSE] = id;

// hook original corpse
return PLUGIN_HANDLED;
}

// Удаление трупа
@CorpseRemove(pOwner)
{
new id = eCorpseStruct[pOwner][CORPSE];

eCorpseStruct[pOwner][CORPSE] = 0;

if (is_nullent(id)) {
return;
}

ResetRestrictions(.pActivator = get_entvar(id, var_euser1));

SetUse(id, NULL_STRING);
SetThink(id, NULL_STRING);

set_entvar(id, var_flags, FL_KILLME);
set_entvar(id, var_nextthink, get_gametime());
}

// Регистрация кваров
@CreateCvars()
{
bind_pcvar_string(create_cvar("rt_access", "", .description = "Флаг(и) доступа для воскрешений/минирований игроков"), CVAR[ACCESS], charsmax(CVAR[ACCESS]));
bind_pcvar_num(create_cvar("rt_max_spawns", "3", .description = "Сколько максимально может воскреснуть игрок за раунд", .has_max = true, .max_val = 10.0), CVAR[MAX_SPAWNS]);
bind_pcvar_num(create_cvar("rt_max_revivals", "2", .description = "Сколько максимально может воскресить союзников игрок за раунд"), CVAR[MAX_REVIVALS]);
bind_pcvar_num(create_cvar("rt_max_mines", "2", .description = "Сколько максимально может заминировать врагов игрок за раунд"), CVAR[MAX_MINES]);
bind_pcvar_num(create_cvar("rt_duration", "5", .description = "Длительность возрождения", .has_min = true, .min_val = 1.0, .has_max = true, .max_val = 30.0), CVAR[DURATION]);
bind_pcvar_num(create_cvar("rt_observer", "1", .description = "Автоматически переключать мою камеру на того кто меня воскрешает"), CVAR[OBSERVER]);
bind_pcvar_num(create_cvar("rt_hook_attack", "1", .description = "Заблокировать стрельбу во время возрождения/минирования?"), CVAR[NO_FIRE]);
bind_pcvar_num(create_cvar("rt_render", "1", .description = "Подсвечивать труп когда его минируют/возрождают?"), CVAR[RENDER]);
bind_pcvar_num(create_cvar("rt_progress_bar", "1", .description = "Полоска прогресса во время возрождения/минирования?"), CVAR[BAR]);
bind_pcvar_float(create_cvar("rt_radius", "350.0", .description = "Максимальный допустимый радиус поражения", .has_min = true, .min_val = 64.0, .has_max = true, .max_val = 500.0), CVAR[RADIUS]);
bind_pcvar_float(create_cvar("rt_damage", "250.0", .description = "Максимальный урон от взрыва (урон наносится в зависимости от радиуса)", .has_min = true, .min_val = 64.0), CVAR[DAMAGE]);
bind_pcvar_float(create_cvar("rt_painshock", "0.15", .description = "Болевой шок после удара (сила замедления диапазон: от 0 до 1)", .has_min = true, .has_max = true, .max_val = 1.0), CVAR[SHOCK]);
bind_pcvar_num(create_cvar("rt_screen_punch", "1", .description = "Трясти экран от полученного урона (взрывной волны)"), CVAR[SCREENPUNCH]);
bind_pcvar_num(create_cvar("rt_spawn_place", "1", .description = "Спавнить воскрешенного игрока на месте смерти (в противном случае будет на базе)"), CVAR[SPAWN_MODE]);
#if REAPI_VERSION >= 5200231
bind_pcvar_num(create_cvar("rt_gibs", "1", .description = "Спавнить ошметки после взрыва заминированного трупа?"), CVAR[GIBS]);
#endif
bind_pcvar_string(create_cvar("rt_weapons", "knife deagle", .description = "Оружия вновь воскрешенного игрока (пустое значение будет использовать оружия из game.cfg)"), CVAR[GUN], charsmax(CVAR[GUN]));
bind_pcvar_float(create_cvar("rt_health", "0.0", .description = "Здоровье воскрешенного игрока (0 - будет как обычно)", .has_max = true, .max_val = 255.0), CVAR[NEW_HEALTH]);
bind_pcvar_float(create_cvar("rt_bonus_health", "10.0", .description = "Сколько добавить здоровья игроку за воскрешение", .has_max = true, .max_val = 100.0), CVAR[BONUS_HEALTH]);
bind_pcvar_num(create_cvar("rt_frags", "1", .description = "Сколько давать фрагов за возрождение?"), CVAR[FRAGS]);
bind_pcvar_num(create_cvar("rt_restore_death", "1", .description = "Обнулить очко смерти игроку которое он получил при смерти"), CVAR[NO_DEATH]);
bind_pcvar_num(create_cvar("rt_cost", "0", .description = "Стоимость услуги (используйте отрицательное значение и тогда будет в + как награда)"), CVAR[COST]);
bind_pcvar_num(create_cvar("rt_bomb", "0", .description = "Нельзя воскрешать когда бомба установленна"), CVAR[BOMB]);
bind_pcvar_num(create_cvar("rt_1v1", "0", .description = "Нельзя воскрешать когда 1 на 1"), CVAR[DUEL]);
bind_pcvar_num(create_cvar("rt_vip", "0", .description = "Может ли VIP игрок воскрешать (as_* карты)"), CVAR[VIP]);
bind_pcvar_num(create_cvar("rt_round", "0", .description = "С какого раунда доступно возрождение"), CVAR[ROUND]);
bind_pcvar_num(create_cvar("rt_domination", "0", .description = "Если команда доминирует над другой (побед подряд) запретить ей воскрешать/минировать?"), CVAR[DOMINATION]);
bind_pcvar_float(create_cvar("rt_time_expired", "10.0", .description = "Возможность воскрешать/минировать только после Х сек. от начала раунда", .has_max = true, .max_val = 60.0), CVAR[TIME_EXPIRED]);
bind_pcvar_num(create_cvar("rt_sound_notification", "1", .description = "Проигрывать звук к запрещаюшим уведомлениям"), CVAR[SOUND_NOTIFICATION]);
bind_pcvar_num(create_cvar("rt_dont_motion", "1", .description = "Заблокировать движение во время воскрешения/минирования"), CVAR[DONT_MOTION]);
bind_pcvar_num(create_cvar("rt_can_mined", "1", .description = "Возможно ли минировать врагов [1 - да, 0 - только воскрешение тиммейтов]"), CVAR[CAN_MINED]);
bind_pcvar_num(create_cvar("rt_notification", "1", .description = "Метод уведомлений при воскрешении^n2 - отключить^n1 - всем^n0 - только тому кто поднимал и тому кто поднял", .has_min = true), CVAR[NOTIFICATION]);
bind_pcvar_string(create_cvar("rt_revive_sample", "", .description = "Звук воскрешения трупа (опционально)"), CVAR[REVIVE_SAMPLE], charsmax(CVAR[REVIVE_SAMPLE]));
bind_pcvar_string(create_cvar("rt_mined_sample", "weapons/c4_disarm.wav", .description = "Звук когда труп заминировали (опционально)"), CVAR[MINED_SAMPLE], charsmax(CVAR[MINED_SAMPLE]));
bind_pcvar_string(create_cvar("rt_explode_sample", "", .description = "Звук взрыва от заминированного трупа (опционально)"), CVAR[EXPLODE_SAMPLE], charsmax(CVAR[EXPLODE_SAMPLE]));
bind_pcvar_string(create_cvar("rt_size", "-36.0 -36.0 -36.0 36.0 36.0 36.0", .description = "Минимальный и максимальный размер объекта"), CVAR[SIZE], charsmax(CVAR[SIZE]));

if (CVAR[REVIVE_SAMPLE][0]) {
precache_sound(CVAR[REVIVE_SAMPLE]);
}

if (CVAR[MINED_SAMPLE][0]) {
precache_sound(CVAR[MINED_SAMPLE]);
}

if (CVAR[EXPLODE_SAMPLE][0]) {
precache_sound(CVAR[EXPLODE_SAMPLE]);
}

new szSize[6][8];
if (parse(CVAR[SIZE], szSize[0], 7, szSize[1], 7, szSize[2], 7, szSize[3], 7, szSize[4], 7, szSize[5], 7) != 6)
{
// Установим размеры по умолчанию
@defsize:
g_vecCorpseMins[0] = g_vecCorpseMins[1] = g_vecCorpseMins[2] = -24.0;
g_vecCorpseMaxs[0] = g_vecCorpseMaxs[1] = g_vecCorpseMaxs[2] = 24.0;

// server_print("[%s] Установленны размеры трупа по умолчанию", PLUGIN);
}
else
{
// Установим размеры согласно квару
for (new i; i < 3; i++)
{
if ((g_vecCorpseMins[i] = str_to_float(szSize[i])) > 0.0
|| (g_vecCorpseMaxs[i] = str_to_float(szSize[3 + i])) < 0.0)
goto @defsize
}
}

// Флаги доступа
g_iAccessFlags = read_flags(CVAR[ACCESS]);

// Флаги движения
g_iPreventFlags = (1 << 5); // def
if (CVAR[DONT_MOTION])
g_iPreventFlags |= (1 << 6);

// configs/plugins/ReviveTeammates.cfg
AutoExecConfig(.name = "ReviveTeammates");
}

// Взрыв
stock UTIL_MakeExplosionEffects(const Float:vecOrigin[3])
{
new bIsCustomExplosive = CVAR[EXPLODE_SAMPLE][0] != EOS;

message_begin_f(MSG_PAS, SVC_TEMPENTITY, vecOrigin);
write_byte(TE_EXPLOSION); // This makes a dynamic light and the explosion sprites/sound
write_coord_f(vecOrigin[0]); // Send to PAS because of the sound
write_coord_f(vecOrigin[1]);
write_coord_f(vecOrigin[2] + 20.0);
write_short(g_sModelIndexFireball3);
write_byte(25); // scale * 10
write_byte(30); // framerate
write_byte(bIsCustomExplosive ? TE_EXPLFLAG_NOSOUND : TE_EXPLFLAG_NONE); // flags
message_end();

message_begin_f(MSG_PAS, SVC_TEMPENTITY, vecOrigin);
write_byte(TE_EXPLOSION); // This makes a dynamic light and the explosion sprites/sound
write_coord_f(vecOrigin[0] + random_float(-64.0, 64.0)); // Send to PAS because of the sound
write_coord_f(vecOrigin[1] + random_float(-64.0, 64.0));
write_coord_f(vecOrigin[2] + random_float(30.0, 35.0));
write_short(g_sModelIndexFireball2);
write_byte(30); // scale * 10
write_byte(30); // framerate
write_byte(bIsCustomExplosive ? TE_EXPLFLAG_NOSOUND : TE_EXPLFLAG_NONE); // flags
message_end();

message_begin_f(MSG_PAS, SVC_TEMPENTITY, vecOrigin);
write_byte(TE_SPRITE);
write_coord_f(vecOrigin[0] + random_float(-256.0, 256.0));
write_coord_f(vecOrigin[1] + random_float(-256.0, 256.0));
write_coord_f(vecOrigin[2] + random_float(-10.0, 10.0));
write_short(g_sModelIndexFireball2);
write_byte(30);
write_byte(150);
message_end();

message_begin_f(MSG_PAS, SVC_TEMPENTITY, vecOrigin);
write_byte(TE_SPRITE);
write_coord_f(vecOrigin[0] + random_float(-256.0, 256.0));
write_coord_f(vecOrigin[1] + random_float(-256.0, 256.0));
write_coord_f(vecOrigin[2] + random_float(-10.0, 10.0));
write_short(g_sModelIndexFireball2);
write_byte(30);
write_byte(150);
message_end();

message_begin_f(MSG_PAS, SVC_TEMPENTITY, vecOrigin);
write_byte(TE_SPRITE);
write_coord_f(vecOrigin[0] + random_float(-256.0, 256.0));
write_coord_f(vecOrigin[1] + random_float(-256.0, 256.0));
write_coord_f(vecOrigin[2] + random_float(-10.0, 10.0));
write_short(g_sModelIndexFireball3);
write_byte(30);
write_byte(150);
message_end();

message_begin_f(MSG_PAS, SVC_TEMPENTITY, vecOrigin);
write_byte(TE_SPRITE);
write_coord_f(vecOrigin[0] + random_float(-256.0, 256.0));
write_coord_f(vecOrigin[1] + random_float(-256.0, 256.0));
write_coord_f(vecOrigin[2] + random_float(-10.0, 10.0));
write_short(g_sModelIndexFireball);
write_byte(30);
write_byte(17);
message_end();

if (bIsCustomExplosive) {
rh_emit_sound2(0, 0, CHAN_AUTO, CVAR[EXPLODE_SAMPLE], .origin = vecOrigin);
}
}

stock Float:UTIL_GetPlayerSpeed(const id)
{
new Float:vecVelocity[3];
get_entvar(id, var_velocity, vecVelocity);
// vecVelocity[2] *= 0.5;

return vector_length(vecVelocity);
}

stock UTIL_Render(const id, const fx = kRenderFxNone, const mode = kRenderNormal, const Float:flColor[] = NULL_VECTOR, const Float:fAmount = 0.0)
{
set_entvar(id, var_renderfx, fx);
set_entvar(id, var_rendermode, mode);
set_entvar(id, var_rendercolor, flColor);
set_entvar(id, var_renderamt, fAmount);
}
При воскрешении, как только статус бар доходит до конца, сервер зависает/перезапускается. Трупы минируются, но взрываются ли не знаю, до этого еще не дошел.
Пробовал версии 2.3.9 и 2.3.2, пробовал коментить/раскоментить UNSTUCK результат тот же.
Я бы пользовался версией 1.0.0, она у меня нормально работает, но чтобы начать воскрешение, надо хорошенько помучаться с нахождением "нужной точки", просто в труп ткнуть не катит, а в последних версиях, как я понял такой проблемы нет.
Может с каким-то плагином конфликт, но хз с каким, не представляю.
 

Вложения

Сообщения
170
Реакции
41
Помог
4 раз(а)
muhycspb, при падении краш лог скинь посмотрим
 
Сообщения
99
Реакции
15
Помог
1 раз(а)
IIIKuIIeP,. Наверно это )
CRASH: Thu 28 Apr 2022 08:17:20 AM MSK
Start Line: ./hlds_linux -game cstrike +ip 94.103.92.227 -port 27015 -maxplayers 32 -pingboost 3 -condebug -debug +sys_ticrate 1100 +map de_dust2_2x2 -pidfile hlds.722.pid
[New LWP 654027]
[New LWP 654033]
[New LWP 654034]
[New LWP 654036]
[New LWP 654040]
[New LWP 654041]
[New LWP 654042]
[New LWP 654043]
[New LWP 654044]
[New LWP 658128]
[New LWP 658129]
[New LWP 658130]
Core was generated by `./hlds_linux -game cstrike +ip 94.103.92.227 -port 27015 -maxplayers 32 -pingbo'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xf7586d5b in ?? ()
[Current thread is 1 (LWP 654027)]
#0 0xf7586d5b in ?? ()
Backtrace stopped: Cannot access memory at address 0xffe06ef0
No symbol table info available.
No shared libraries loaded at this time.
Stack level 0, frame at 0xffe06ef4:
eip = 0xf7586d5b; saved eip = <not saved>
Outermost frame: Cannot access memory at address 0xffe06ef0
Arglist at 0xffe06eec, args:
Locals at 0xffe06eec, Previous frame's sp is 0xffe06ef4
End of crash report
----------------------------------------------
----------------------------------------------
CRASH: Thu 28 Apr 2022 09:19:48 AM MSK
Start Line: ./hlds_linux -game cstrike +ip 94.103.92.227 -port 27015 -maxplayers 32 -pingboost 3 -condebug -debug +sys_ticrate 1100 +map de_dust2_2x2 -pidfile hlds.722.pid
[New LWP 658243]
Core was generated by `./hlds_linux -game cstrike +ip 94.103.92.227 -port 27015 -maxplayers 32 -pingbo'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xf74e90fb in ?? ()
#0 0xf74e90fb in ?? ()
Backtrace stopped: Cannot access memory at address 0xffe01100
No symbol table info available.
No shared libraries loaded at this time.
Stack level 0, frame at 0xffe01104:
eip = 0xf74e90fb; saved eip = <not saved>
Outermost frame: Cannot access memory at address 0xffe01100
Arglist at 0xffe010fc, args:
Locals at 0xffe010fc, Previous frame's sp is 0xffe01104
End of crash report
----------------------------------------------
----------------------------------------------
CRASH: Thu 28 Apr 2022 01:09:18 PM MSK
Start Line: ./hlds_linux -game cstrike +ip 94.103.92.227 -port 27015 -maxplayers 32 -pingboost 3 -condebug -debug +sys_ticrate 1100 +map de_dust2_2x2 -pidfile hlds.722.pid
[New LWP 660558]
[New LWP 660563]
[New LWP 660564]
[New LWP 660566]
[New LWP 660570]
[New LWP 660571]
[New LWP 660572]
[New LWP 660573]
[New LWP 660574]
[New LWP 667964]
[New LWP 667965]
[New LWP 667966]
Core was generated by `./hlds_linux -game cstrike +ip 94.103.92.227 -port 27015 -maxplayers 32 -pingbo'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xf74f2d5b in ?? ()
[Current thread is 1 (LWP 660558)]
#0 0xf74f2d5b in ?? ()
Backtrace stopped: Cannot access memory at address 0xffaf0a70
No symbol table info available.
No shared libraries loaded at this time.
Stack level 0, frame at 0xffaf0a74:
eip = 0xf74f2d5b; saved eip = <not saved>
Outermost frame: Cannot access memory at address 0xffaf0a70
Arglist at 0xffaf0a6c, args:
Locals at 0xffaf0a6c, Previous frame's sp is 0xffaf0a74
End of crash report
----------------------------------------------
----------------------------------------------
CRASH: Thu 28 Apr 2022 01:12:03 PM MSK
Start Line: ./hlds_linux -game cstrike +ip 94.103.92.227 -port 27015 -maxplayers 32 -pingboost 3 -condebug -debug +sys_ticrate 1100 +map de_dust2_2x2 -pidfile hlds.722.pid
[New LWP 668188]
[New LWP 668189]
[New LWP 668190]
[New LWP 668191]
[New LWP 668193]
[New LWP 668194]
[New LWP 668196]
[New LWP 668200]
[New LWP 668201]
[New LWP 668202]
[New LWP 668203]
[New LWP 668204]
Core was generated by `./hlds_linux -game cstrike +ip 94.103.92.227 -port 27015 -maxplayers 32 -pingbo'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xf75a5d5b in ?? ()
[Current thread is 1 (LWP 668188)]
#0 0xf75a5d5b in ?? ()
Backtrace stopped: Cannot access memory at address 0xffc18470
No symbol table info available.
No shared libraries loaded at this time.
Stack level 0, frame at 0xffc18474:
eip = 0xf75a5d5b; saved eip = <not saved>
Outermost frame: Cannot access memory at address 0xffc18470
Arglist at 0xffc1846c, args:
Locals at 0xffc1846c, Previous frame's sp is 0xffc18474
End of crash report
----------------------------------------------
----------------------------------------------
CRASH: Thu 28 Apr 2022 02:55:13 PM MSK
Start Line: ./hlds_linux -game cstrike +ip 94.103.92.227 -port 27015 -maxplayers 32 -pingboost 3 -condebug -debug +sys_ticrate 1100 +map de_dust2_2x2 -pidfile hlds.722.pid
[New LWP 668359]
[New LWP 668364]
[New LWP 668365]
[New LWP 668367]
[New LWP 668371]
[New LWP 668372]
[New LWP 668374]
[New LWP 668375]
[New LWP 671723]
[New LWP 671724]
[New LWP 671725]
[New LWP 668373]
Core was generated by `./hlds_linux -game cstrike +ip 94.103.92.227 -port 27015 -maxplayers 32 -pingbo'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xf754dd5b in ?? ()
[Current thread is 1 (LWP 668359)]
#0 0xf754dd5b in ?? ()
Backtrace stopped: Cannot access memory at address 0xffcafd70
No symbol table info available.
No shared libraries loaded at this time.
Stack level 0, frame at 0xffcafd74:
eip = 0xf754dd5b; saved eip = <not saved>
Outermost frame: Cannot access memory at address 0xffcafd70
Arglist at 0xffcafd6c, args:
Locals at 0xffcafd6c, Previous frame's sp is 0xffcafd74
End of crash report
----------------------------------------------
 
Сообщения
944
Реакции
1,690
Помог
48 раз(а)
Если краш стабильно воспроизводится (т.е. схема воспроизведения известна), можно снять другие плагины и проверить есть краш или нет. Если нет - включать группами и перепроверять. И так до момента, пока не выявишь, с каким плагином конфликт.
 
Сообщения
99
Реакции
15
Помог
1 раз(а)
BlackSignature, GIT подсказал, что скорее всего это из-за Admins Kit, так оно и оказалось. Но чем теперь его заменить хз, сейчас гляну настройки, мб конфликт с каким-то определенным кваром.
Нашел причину, это включение Invisible Spectator. Если его выключить, вылетов нет.
 
Последнее редактирование:
Сообщения
26
Реакции
5
Помог
1 раз(а)
Admins Kit
ispec_enable выставить значение в 0
 

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

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