Day Time einfügen

  • Du kannst in der init.c


    dann setzt der Server die Zeit immer wieder auf deine eingestellte Zeit zurück


    MFG Jeremias / T1gr3x

  • void main()

    {

    //INIT WEATHER BEFORE ECONOMY INIT------------------------

    Weather weather = g_Game.GetWeather();


    weather.MissionWeather(false); // false = use weather controller from Weather.c


    weather.GetOvercast().Set( Math.RandomFloatInclusive(0.4, 0.6), 1, 0);

    weather.GetRain().Set( 0, 0, 1);

    weather.GetFog().Set( Math.RandomFloatInclusive(0.05, 0.1), 1, 0);


    weather.GetRain().SetLimits( 0, 0.1 );


    //INIT ECONOMY--------------------------------------

    Hive ce = CreateHive();

    if ( ce )

    ce.InitOffline();


    //DATE RESET AFTER ECONOMY INIT-------------------------

    int year;

    int month;

    int day;

    int hour;

    int minute;


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


    if (((month <= 9) && (day < 20)) || ((month >= 10) && (day > 20)))

    {

    month = 9;

    day = 20;


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

    }


    //-----------------------X-mas

    array<vector> treePositions = { "6560.29 0 2462.12",

    "1652.66 0 14230.71",

    "3801.06 0 8847.76",

    "9442.32 0 8829.03",

    "7903.16 0 12576.52",

    "11617.75 0 14663.98",

    "12830.08 0 10115.18",

    "11221.94 0 12225.89",

    "3471.93 0 12988.33",

    "13933.42 0 13228.44",

    "12022.64 0 9082.89",

    "10468.54 0 2373.16",

    "2725.48 0 5288.75",

    };



    Object treeEntity;

    for ( int i=0; i < treePositions.Count(); i++ )

    {

    vector treePos = treePositions[i];

    float posY = GetGame().SurfaceY(treePos[0], treePos[2]);

    treeEntity = GetGame().CreateObject("ChristmasTree", Vector( treePos[0], posY, treePos[2]), false);


    }

    }


    class CustomMission: MissionServer

    {

    //Set Time per Tick

    bool m_SetTimePerTick = true ;


    //The Time to Set

    float Year1 = "2018" ;

    float Month2 = 12 ;

    float Day3 = 23 ;

    float Hour4 = 12 ;

    float Min5 = 00 ;


    override void TickScheduler(float timeslice)

    {

    if ( m_SetTimePerTick == true )

    {

    GetGame().GetWorld().SetDate( Year1 , Month2 , Day3 , Hour4 , Min5 );

    };

    }


    void SetRandomHealth(EntityAI itemEnt)

    {

    if ( itemEnt )

    {

    int rndHlt = Math.RandomInt(55,100);

    itemEnt.SetHealth("","",rndHlt);

    }

    }


    override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)

    {

    Entity playerEnt;

    playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player

    Class.CastTo(m_player, playerEnt);


    GetGame().SelectPlayer(identity, m_player);


    return m_player;

    }


    override void StartingEquipSetup(PlayerBase player, bool clothesChosen)

    {

    /*

    player.RemoveAllItems();


    EntityAI item = player.GetInventory().CreateInInventory(topsMissionArray.GetRandomElement());

    EntityAI item2 = player.GetInventory().CreateInInventory(pantsArray.GetRandomElement());

    EntityAI item3 = player.GetInventory().CreateInInventory(shoesArray.GetRandomElement());

    */

    EntityAI itemTop;

    EntityAI itemEnt;

    ItemBase itemBs;

    float rand;


    itemTop = player.FindAttachmentBySlotName("Body");


    if ( itemTop )

    {

    itemEnt = itemTop.GetInventory().CreateInInventory("Rag");

    if ( Class.CastTo(itemBs, itemEnt ) )

    itemBs.SetQuantity(4);


    SetRandomHealth(itemEnt);


    itemEnt = itemTop.GetInventory().CreateInInventory("RoadFlare");

    SetRandomHealth(itemEnt);


    itemEnt = itemTop.GetInventory().CreateInInventory("StoneKnife");

    SetRandomHealth(itemEnt);

    }


    rand = Math.RandomFloatInclusive(0.0, 1.0);

    if ( rand < 0.25 )

    itemEnt = player.GetInventory().CreateInInventory("SodaCan_Cola");

    else if ( rand > 0.75 )

    itemEnt = player.GetInventory().CreateInInventory("SodaCan_Spite");

    else

    itemEnt = player.GetInventory().CreateInInventory("SodaCan_Pipsi");


    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);

    }

    };


    Mission CreateCustomMission(string path)

    {

    return new CustomMission();

    }

  • das nächste mal in nem code block oder Spoiler XD

    du hast das 2018 in anführungs zeichen mach die mal weg dann sollte es funktionieren