Spawn in the wall - de_tuscan32

  • Автор темы Автор темы CSLover
  • Дата начала Дата начала
  • Теги Теги
    spawns

CSLover

Участник
Сообщения
60
Реакции
5
Помог
2 раз(а)
Баллы
8
Ошибка
spawn in the walls.
But the map has 32 slots.
AMX Mod X
AMX Mod X 1.9.0.5294 (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: Dec 3 2021 15:54:56
Built from: https://github.com/alliedmodders/amxmodx/commit/363871a
Build ID: 5294:363871a
Core mode: JIT+ASM32
Билд сервера
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.14.0.857-dev
Build date: 19:52:21 Mar 27 2025 (4002)
ReGameDLL
ReGameDLL version: 5.28.0.756-dev
Build date: 19:19:31 Mar 27 2025
Metamod версия
ReGameDLL version: 5.28.0.756-dev
Build date: 19:19:31 Mar 27 2025
Metamod плагины
[ 1] Reunion             RUN   -    reunion_new_mm_i386.so         v0.2.0.34        ini  Start Never
[ 2] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5294 ini Start ANY
[ 3] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC5 ini ANY ANY
[ 4] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 5] ReSRDetector RUN - resrdetector_mm_i386.so v0.1.0 ini Chlvl 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] SafeNameAndChat RUN - SafeNameAndChat.so v1.2 Beta 3 ini ANY ANY
[ 9] HitBox Fix RUN - hitbox_fix_mm_i386.so v2.0.3 ini Start ANY
[10] Backtrack Detector RUN - backtrack_detector_mm_i386.so v1.0.1 ini Start Never
[11] Accuracy Fix RUN - accuracyfix_mm.so v1.1.17 ini ANY ANY
[12] Rechecker RUN - rechecker_mm_i386.so v2.7 ini Chlvl ANY
[13] MySQL RUN - mysql_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[14] ReAPI RUN - reapi_amxx_i386.so v5.26.0.338-dev pl2 ANY Never
[15] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[16] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[17] CSX RUN - csx_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[18] Engine RUN - engine_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[19] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
[20] hackdetector RUN - hackdetector_amxx_i386.so v0.15.328.lite pl2 ANY ANY
[21] Amxx Easy Http RUN - easy_http_amxx_i386.so v1.4.0 pl2 ANY ANY
[22] Fun RUN - fun_amxx_i386.so v1.9.0.5294 pl2 ANY ANY
Список плагинов
[ 1] Admin Base 1.9.0.5294 AMXX Dev Team admin.amxx running

[ 2] Admin Commands 1.9.0.5294 AMXX Dev Team admincmd.amxx running

[ 3] Slots Reservation 1.9.0.5294 AMXX Dev Team adminslots.amxx running

[ 4] Menus Front-End 1.9.0.5294 AMXX Dev Team menufront.amxx running

[ 5] Maps Menu 1.9.0.5294 AMXX Dev Team mapsmenu.amxx running

[ 6] Plugin Menu 1.9.0.5294 AMXX Dev Team pluginmenu.amxx running

[ 7] Chat Logger 2.1a Jim chat_logger.amx running

[ 8] Anti Flood 1.9.0.5294 AMXX Dev Team antiflood.amxx running

[ 9] Admin Votes 1.9.0.5294 AMXX Dev Team adminvote.amxx running

[ 10] Pause Plugins 1.9.0.5294 AMXX Dev Team pausecfg.amxx running

[ 11] StatsX 1.9.0.5294 AMXX Dev Team statsx.amxx running

[ 12] Hide / cmds 1.2 Dev-CS.ru hide_slash.amxx running

[ 13] Lite Admin ESP 1.0 neygomon admin_esp.amxx running

[ 14] HackDetector 0.15.lite Lev @ AGHL.RU De hackdetector.am running

[ 15] Unreal Aim Blocker 2.21 karaulov aim_blocker.amx running

[ 16] Unreal Cheater Cry 1.7 Karaulov unreal_cheater_ running

[ 17] HPP_BLOCK 1.2 Karaulov hpp_blocker.amx running

[ 18] AirSpeedLimit 1.0 Kova seb_korlat_350_ running

[ 19] [ReAPI] Anti overflow 3.1 mazdan & Inline, antir.amxx running

[ 20] Anti steamid changer 1.0.5 ufame anti_steamidcha running

[ 21] Easy KBChecker 2.1.1 bristol easy_kbchecker. running

[ 22] SF Warn Menu 0.1.4g serfreeman1337 sf_admin_warns. running

[ 23] ProxySnort 1.8.7 SPiNX proxysnort_Siko running

[ 24] Telegram Reports Sende 3.0.1 @pywave & Albert telegram_report running

[ 25] Safe Userinfo 1.0.4 the_hunter safe_userinfo.a running

[ 26] Turul Weapon Menu 1.4 mforce turul_weapon_me running

[ 27] Instant AutoTeamBalanc 1.2.0 ConnorMcLeod instant_autotea running

[ 28] Galileo v5.9.1-926 Brad Jones/Addon galileo.amxx running

[ 29] AFK Bomb Transfer (Sil 0.4-silent VEN / Modified b c4_transfer_tur running

[ 30] Crosshair Menu 1.2.6 KriTo & PurposeL crosshair_menu. running

[ 31] Turull 1.0.0 ConnorMcLeod reload_speed.am running

[ 32] CS AFK Manager 1.0.6 (amx Freeman afk_manager.amx running

[ 33] Icon Color 1.0 AcE icon_color.amxx running

[ 34] Anti Flashbang Bug 1.1.1 Numb / ConnorMcL no_team_flash.a running

[ 35] Spectator Bot 1.2.2(bata b0t. SpectatorBot.am running

[ 36] Save score & money 1.3.7 Minni Mouse Save_Score_and_ running

[ 37] Resetscore System 1.1 OciXCrom crx_resetscore. running

[ 38] Colored Flashbangs 1.0 v3x colored_flashba running

[ 39] Awp Crohssair 1.1b Hip_hop_x awp_crosshair.a running

[ 40] Custom skies 0.0.1 Nordic Warrior CustomSkies.amx running

[ 41] Advanced Bullet Damage 1.1 Sn!ff3r + MOD sebzes_kijelzes running

[ 42] Advanced Kill Assists 1.6 Xelson next21_kill_ass running

[ 43] Admin Commands Log 1.1 w0w admin_commands_ running

[ 44] MultiJump 1.1 twistedeuphoria multijump.amxx running

[ 45] BombSite Lock 0.3 bugsy bombsite_lock.a running

[ 46] [ReAPI] Info Killer 1.1.0 Jumper Info_Killer.amx running

[ 47] BackWeapon 3 0.0.6 ConnorMcLeod backweapons3.am running

[ 48] C4 Crosshair Delete 1.0 Subb98 c4_crosshair_de running

[ 49] Game Messages & Sounds 3.0.2 OciXCrom crx_gamemessage running

[ 50] Custom Flashlight 0.5.4 ConnorMcLeod CustomFlashLigh running

[ 51] Show Weapon in scenari 0.1 b0t. ShowWeaponInSce running

[ 52] Grenade Animation 3rd 1.0 Prefers to be An grenade_animati running

[ 53] cfg_hse 1.0 mut2nt headshot_effect running

[ 54] [ReAPI] Pop Grenades 2.5 EFFx & HamletEag csgo_pop_grenad running

[ 55] Connect Announce 0.3b v3x connect_announc running

[ 56] Free Defuser KIT 2.0.0 tuty FreeDefuserkit. running

[ 57] GoSpec 1.2 OciXCrom crx_gospec.amxx running

[ 58] Simple Menu 2.1.2 OciXCrom crx_simplemenu. running

[ 59] unknown unknown unknown bombplant_siten running

[ 60] Free BPammo Weapons 0.0.1 Vaqtincha FreeBPammoWeapo running

[ 61] ReloadSoundFix 1.1 Karaulov reloadsound_fix running

[ 62] BOMB REAL TIMER 6.0 Vaqtincha | Flym bomb_real_timer running

[ 63] Bomb Effect Defuse 1.0 MayroN bomb_effect_def running

[ 64] Different C4 sound per 1.0.1-25w0 szGabu c4_sound_site4. running

[ 65] No Name Change 2.1 OciXCrom crx_nonamechang running

[ 66] Ultimate Fire in the H 2.1 OciXCrom crx_fireintheho running

[ 67] Block Radio Text 1.0 Inline block_radio_tex running

[ 68] [Resources Manager] Pr 2.0 Shadows Adi precache_list.a running
Last night we played on the de_tuscan32 map, which I downloaded from here , and when the situation reached 9v9, 1 or 2 players occasionally spawned inside a wall. After that, the server crashed.

I checked the spawn points and everything seemed fine.

What could be the problem?
 

Вложения

  • 20251024085509_1.jpg
    20251024085509_1.jpg
    79,4 КБ · Просмотры: 74
Tap
Сообщение автоматически объединено:

fix spawns
 

Вложения

Последнее редактирование:
А может просто побольше добавить спавнов, зач качать другую карту? Просто в энт файле добавить и не надо людям карту качать ещё раз. Через bspguy, например.
Сообщение автоматически объединено:

Спавн на голову выше и урона не будет от падения, плюс шансов появиться в стене - меньше
 
BSPEDIT.exe для редактирования + gsm-loader для определения координат.
 
Нет необходимости скачивать ещё один BSP с дополнительными точками появления; это можно сделать с помощью дополнения, не изменяя оригинальную карту. Это касается всех.
 
Конечно, я считаю это ошибкой новичка, которую люди продолжают совершать спустя годы. Я всё ещё вижу карты вроде cs_assault32, de_train32, de_nuke32... и так далее. Помимо якобы исправления спавнов, это добавляет новую нагрузку в файл fastdl. Но, в любом случае, давайте перейдём к главному. Вот плагин, которым я тогда пользовался, и он исправляет проблему.

Я немного изменил его, удалив ненужные мне части, и заставив его запускаться напрямую, без cvar.

Код:
#include <amxmodx>
#include <engine>

#define PLUGIN    "Fail Spawns Protector"
#define VERSION    "1.2e"
#define AUTHOR    "zmd94 & mlibre"

#define PlayerNotMove 1994

new bool:g_bServerReload

new g_sEntFile[256]
new g_iNowTerrorSpawnNum, g_iNowCTSpawnNum
new g_iMaxSpawn = 16

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)

    SpawnPointCount()
}

public plugin_precache()
{
    get_localinfo("amxx_configsdir", g_sEntFile, charsmax(g_sEntFile))
    
    new szMapName[32]; get_mapname(szMapName, charsmax(szMapName))
    
    formatex(g_sEntFile, charsmax(g_sEntFile), "%s/fw_file", g_sEntFile)
    
    if( !dir_exists(g_sEntFile) )
    {
        mkdir(g_sEntFile)
        
        formatex(g_sEntFile, charsmax(g_sEntFile), "%s/%s.ini", g_sEntFile, szMapName)
        
        return
    }
    
    formatex(g_sEntFile, charsmax(g_sEntFile), "%s/%s.ini", g_sEntFile, szMapName)
    
    server_print("[Fail Spawn Protector] Creating new file")
    
    new iFile = fopen(g_sEntFile, "rt")
    
    if( !iFile )
        return
        
    new Ent, Var, NewSpawnEnt
    new szData[256]
    new PlayerTeam[10], RequiredSpawnEnt[10], SpawnLimit[10], SaveOrigin[3][10], SaveAngles[3][10]
    new Float:Origin[3], Float:Angles[3]
    
    while(fgets(iFile, szData, charsmax(szData)))
    {
        trim(szData)
        
        if( !szData[0] || szData[0] == ';' || (szData[0] == '/' && szData[1] == '/') )
            continue
            
        parse(szData,
        PlayerTeam, charsmax(PlayerTeam),
        SpawnLimit, charsmax(SpawnLimit),
        RequiredSpawnEnt, charsmax(RequiredSpawnEnt),
        SaveOrigin[0], 9,
        SaveOrigin[1], 9,
        SaveOrigin[2], 9,
        SaveAngles[0], 9,
        SaveAngles[1], 9,
        SaveAngles[2], 9)
        
        NewSpawnEnt = str_to_num(RequiredSpawnEnt)
        
        Origin[0] = str_to_float(SaveOrigin[0])
        Origin[1] = str_to_float(SaveOrigin[1])
        Origin[2] = str_to_float(SaveOrigin[2])
        
        Angles[0] = str_to_float(SaveAngles[0])
        Angles[1] = str_to_float(SaveAngles[1])
        Angles[2] = str_to_float(SaveAngles[2])
        
        for(Var = 1; Var <= NewSpawnEnt; Var++)
        {
            switch(PlayerTeam[0])
            {
                case 'T':
                {
                    Ent = create_entity("info_player_deathmatch")
                }
                case 'C':
                {
                    Ent = create_entity("info_player_start")
                }
            }
            
            entity_set_origin(Ent, Origin)
            
            entity_set_vector(Ent, EV_VEC_angles ,Angles)
            
            DispatchSpawn(Ent)
        }
    }
    
    fclose(iFile)
    
    server_print("[Fail Spawn Protector] Deleting old file")
    
    delete_file(g_sEntFile)
}

public SpawnPointCount()
{
    new iFile = fopen(g_sEntFile, "a+")
    
    if( !iFile )
        return
        
    new Target = -1
    new TerrorEnts, CTEnts
    new RequiredSpawnEnt
    
    new bool:Found
    new szData[256], PlayerTeam[32]
    new Float:EntityOrigin[3], Float:EntityAngles[3]
    
    while((Target = find_ent_by_class(Target, "info_player_deathmatch")))
    {
        if(is_valid_ent(Target))
        {
            TerrorEnts = TerrorEnts + 1
            
            if( !Found )
            {
                entity_get_vector(Target, EV_VEC_origin, EntityOrigin)
                
                entity_get_vector(Target, EV_VEC_angles, EntityAngles)
                
                Found = true
            }
        }
    }
    
    if(TerrorEnts != g_iMaxSpawn)
    {
        if(TerrorEnts < g_iMaxSpawn)
        {
            RequiredSpawnEnt = g_iMaxSpawn - TerrorEnts
            
            server_print("[Fail Spawn Protector] Required %d + Terro spawn ent!", RequiredSpawnEnt)
            
            g_bServerReload = true
        }
        
        PlayerTeam = "T"
        
        formatex(szData, charsmax(szData), "%s %d %d %.1f %.1f %.1f %.1f %.1f %.1f^n", PlayerTeam, 0, RequiredSpawnEnt, EntityOrigin[0], EntityOrigin[1], EntityOrigin[2], 0, EntityAngles[1], 0)
        
        fputs(iFile, szData)
        
        server_print("[Fail Spawn Protector] Auto reload TT")
    }
    
    Found = false
    
    while((Target = find_ent_by_class(Target, "info_player_start")))
    {
        if(is_valid_ent(Target))
        {
            CTEnts = CTEnts + 1
            
            if( !Found )
            {
                entity_get_vector(Target, EV_VEC_origin, EntityOrigin)
                
                entity_get_vector(Target, EV_VEC_angles, EntityAngles)
                
                Found = true
            }
        }
    }
    
    if(CTEnts != g_iMaxSpawn)
    {
        if(CTEnts < g_iMaxSpawn)
        {
            RequiredSpawnEnt = g_iMaxSpawn - CTEnts
            
            server_print("Required %d + CT spawn ent!", RequiredSpawnEnt)
            
            g_bServerReload = true
        }
        
        PlayerTeam = "CT"
        
        formatex(szData, charsmax(szData), "%s %d %d %.1f %.1f %.1f %.1f %.1f %.1f^n", PlayerTeam, 0, RequiredSpawnEnt, EntityOrigin[0], EntityOrigin[1], EntityOrigin[2], 0, EntityAngles[1], 0)
        
        fputs(iFile, szData)
        
        server_print("[Fail Spawn Protector] Auto reload CT")
    }
    
    fclose(iFile)
    
    g_iNowTerrorSpawnNum = TerrorEnts
    
    g_iNowCTSpawnNum = CTEnts
    
    server_print("[Fail Spawn Protector] CS Spawn Entity: %d || Terror Spawn Entity: %d", g_iNowCTSpawnNum, g_iNowTerrorSpawnNum)
    
    if(g_bServerReload)
    {
        server_print("[Fail Spawn Protector] Server is reloading")
        
        // Reload server?
        set_task(0.5, "delay_restart")
    }
}

public delay_restart()
{
    server_cmd("restart")
}

официальная тема
 
@mlibre
Thank you very much.
I’m now using the regular de_tuscan map instead of de_tuscan32, and I’ve done the same with all the other maps as well.
If the problem occurs again, I’ll use what you sent me.
 
Хорошо, перефразируя вашу проблему, причину сбоя сервера, хочу уточнить, что, по моему мнению, это не связано с BSP, поэтому мы имеем дело с двумя разными проблемами. Мы уже описали первое решение.
 
Этот инструмент, безусловно, является альтернативой, если вы не используете amxmodx. Ещё один важный момент: после «модификации» карты её не нужно переименовывать; вы всё равно допустите ту же ошибку, что и с nuke32... cpl_mil_32. Проблем не возникнет, если название останется прежним.
 
@mlibre @CSLover

С помощью bspguy редактируется список ентити передаваемый сервером. Так-же есть функционал в rehlds - просто передавать отредактированный файл со списком ентити клиентам от сервера не изменяя саму карту.
Перекачивать же карту есть смысл только при редактировании самой карты путем декомпиляции и перекомпиляции со своими изменениями.

Самый простой и относительно понятный вариант - использовать встроенные возможности ReHLDS:

Квар с документацией:
  • sv_use_entity_file // Use custom entity file for a map. Path to an entity file will be "maps/[map name].ent". 0 - use original entities. 1 - use .ent files from maps directory. 2 - use .ent files from maps directory and create new .ent file if not exist.
 

Кто просматривает тему

Назад
Верх