Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
malstone

Краши от кастомного сета

Постоянная ошибка в краш логе, почитал, что это связано с кастомным сетом, но не могу понять в чем проблема

Приложил init.c
 

#include "$CurrentDir:mpmissions\regular.namalsk\CustomSpawnPlayerConfig\Script.c"
#include "$CurrentDir:mpmissions\regular.namalsk\CustomSpawnPlayerConfig\Sets.c"
#include "$CurrentDir:mpmissions\regular.namalsk\spawn_buildings.c"
ref CustomSpawnPlayerConfig  My_Custom_Spawn_Parameters = new CustomSpawnPlayerConfig();
ref StartSetsPlayersConfig StartSetsPlayers = new StartSetsPlayersConfig();
void main()
{
    CreateHive();
    GetHive().InitOffline();

    int year, month, day, hour, minute;
    GetGame().GetWorld().GetDate( year, month, day, hour, minute );

    if ( ( month < 11 ) || ( month >= 11 ) )
    {
        year = 2022;
        month = 11;
        day = 1;
        
        GetGame().GetWorld().SetDate( year, month, day, hour, minute );
    }
    SpawnBering();
    SpawnAero();
    SpawnSkat();
    SpawnTara();
    SpawnDomiki();
    SpawnSaw();
    PrisonMilitary();
    //GetCEApi().ExportProxyData( "6500 0 6500", 16000);
    GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(My_Custom_Spawn_Parameters.Read_Update_Config, 120000, true);
};


class CustomMission: MissionServer
{
    override void OnInit()
    {
        super.OnInit();

        // this piece of code is recommended otherwise event system is switched on automatically and runs from default values
        // comment this whole block if NOT using Namalsk Survival
        if ( m_EventManagerServer )
        {
            // enable/disable event system, min time between events, max time between events, max number of events at the same time
            m_EventManagerServer.OnInitServer( true, 3600, 5400, 1 );
            // registering events and their probability
            m_EventManagerServer.RegisterEvent( Aurora, 0.02 );
            m_EventManagerServer.RegisterEvent( Blizzard, 0.02 );                    // МЕТЕЛЬ
            m_EventManagerServer.RegisterEvent( ExtremeCold, 0.02 );                    // ЭКСТРЕМАЛЬНЫЙ ХОЛОД
            m_EventManagerServer.RegisterEvent( Snowfall, 0.02 );                    // СНЕЖНАЯ БУРЯ
            m_EventManagerServer.RegisterEvent( EVRStorm, 0.10 );                    // ВЫБРОС
            m_EventManagerServer.RegisterEvent( HeavyFog, 0.02 );                    // СИЛЬНЫЙ ТУМАН
        }
    }
    
    void SetRandomHealth(EntityAI itemEnt)
    {
        if ( itemEnt )
        {
            float rndHlt = Math.RandomFloat( 0.45, 0.65 );
            itemEnt.SetHealth01( "", "", rndHlt );
        }
    }

    override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
    {
        pos = My_Custom_Spawn_Parameters.Load_And_Check_Spawnpoints(identity, pos);
        characterName = My_Custom_Spawn_Parameters.Load_And_Check_SpawnSkin_Player(identity, characterName);
        Entity playerEnt;
        playerEnt = GetGame().CreatePlayer( identity, characterName, pos, 0, "NONE" );
        Class.CastTo( m_player, playerEnt );

        GetGame().SelectPlayer( identity, m_player );

        return m_player;
    }

    override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
    {
        EntityAI itemClothing;
        EntityAI itemEnt;
        ItemBase itemBs;
        float rand;

        itemClothing = player.FindAttachmentBySlotName( "Body" );
        if ( itemClothing )
        {
            SetRandomHealth( itemClothing );
            
            itemEnt = itemClothing.GetInventory().CreateInInventory( "BandageDressing" );
            if ( Class.CastTo( itemBs, itemEnt ) )
                itemBs.SetQuantity( 2 );

            string chemlightArray[] = { "Chemlight_White", "Chemlight_Yellow", "Chemlight_Green", "Chemlight_Red" };
            int rndIndex = Math.RandomInt( 0, 4 );
            itemEnt = itemClothing.GetInventory().CreateInInventory( chemlightArray[rndIndex] );
            SetRandomHealth( itemEnt );

            rand = Math.RandomFloatInclusive( 0.0, 1.0 );
            if ( rand < 0.35 )
                itemEnt = player.GetInventory().CreateInInventory( "Apple" );
            else if ( rand > 0.65 )
                itemEnt = player.GetInventory().CreateInInventory( "Pear" );
            else
                itemEnt = player.GetInventory().CreateInInventory( "Plum" );

            SetRandomHealth( itemEnt );
        }
        
        itemClothing = player.FindAttachmentBySlotName( "Legs" );
        if ( itemClothing )
            SetRandomHealth( itemClothing );
        
        itemClothing = player.FindAttachmentBySlotName( "Feet" );
        My_Custom_Spawn_Parameters.Load_And_Check_StartLoadout(player);
    }
};
  
Mission CreateCustomMission(string path)
{
    return new CustomMission();
};


 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 1

По проблеме:

Что у вас вот на этой строке?

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 

Забегая вперед и предвидя заранее известный ответ, сразу же вопрос 2:

Откуда брали изначальный скрипт и какого обновления? У вас он явно не актуальной версии. Актуальная тут: 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





  • 0

Был другой вариант скрипта, сделал по Вашему гайду. Вроде бы пропали ошибки. Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.