Поиск Карты на 32 и больше слотов

Сообщения
55
Реакции
3
Есть у кого сборник с картами на 32+ слота, поделитесь 🙂
 
Сообщения
166
Реакции
15
Помог
5 раз(а)
Неважно, если на карте десять мест, есть плагины, расширяющие их без изменения bsp.
 
Сообщения
313
Реакции
21
Предупреждения
19
Помог
7 раз(а)
mlibre, Не логично - зачем ставить «лишние» плагины?
Логично - если можно откорректировать нормально карту и использовать нормально, без плагина «фикса» спавнов.
 
Сообщения
166
Реакции
15
Помог
5 раз(а)
kto-to, Это проще, чем менять всю карту. С другой стороны, плагин упрощает вам задачу, проверяя доступные места и автоматически расширяя их при необходимости. Не знаю, замечали ли вы, что в картах типа de_nuke по ошибке скачивают еще одну и добавляют только de_nuke32, в этом уже нет необходимости.
 
Сообщения
313
Реакции
21
Предупреждения
19
Помог
7 раз(а)
mlibre, каждому своё. Для меня лично, лучше и проще карту фиксануть и не юзать плагин, чем иметь лишний плагин и знать что карта «огрызок» по спавнам. Да и спавны на карте ты сам можешь расставить так как захочешь и куда будут смотреть игроки изначально, а куда плагином они будут смотреть - неизвестно. Да и требования к плагину/плагинам для расстановки одни - semiclip/resemiclip (рекомендуется), а что там используется? АдФуллПак…
Поэтому для меня это и не логично использовать плагины, когда можно «вшить»/исправить/добавить/удалить на карте то что нужно обычно и без заморочек.
 
Сообщения
1,116
Реакции
348
kto-to, да вручную спавны расставить куда лучше чем какими-либо плагинами, можно и повернуть камеру игрока в любое направление с помощью angles ключа.

и можно даже не загружать редактированный bsp а просто положить рядом ent файл

но кому лень естественно единственное решение это плагин, ну если бы в regamedll был квар который давал возможность не застревать в других и игнорировал лимит спавнов то было бы самым лучшим решением все равно эти плагины генерирующие не расставят их идеально и в нужном направлении
 
Сообщения
166
Реакции
15
Помог
5 раз(а)
kto-to, Конечно, не всем посчастливилось сделать это вручную, тот, который я использую, не требует никаких дополнений, пока достаточно использовать одну-единственную функцию.

Код:
public SpawnPointCount()
{
    new Target = -1
    new TerrorEnts, CTEnts
    new RequiredSpawnEnt
    
    new bool:Found
    new szData[256], PlayerTeam[32]
    new Float:EntityOrigin[3], Float:EntityAngles[3]
    
    new iFile = fopen(g_sEntFile, "a+")
    
    if(!iFile)
        return
    
    while((Target = find_ent_by_class(Target, "info_player_deathmatch")))
    {
        if(pev_valid(Target))
        {
            TerrorEnts = TerrorEnts + 1
            
            if(!Found)
            {
                pev(Target, pev_origin, EntityOrigin)
                pev(Target, pev_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(pev_valid(Target))
        {
            CTEnts = CTEnts + 1
            
            if(!Found)
            {
                pev(Target, pev_origin, EntityOrigin)
                pev(Target, pev_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")
    }
}
 

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

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