Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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);
- //INIT ECONOMY--------------------------------------
- Hive ce = CreateHive();
- if ( ce )
- ce.InitOffline();
- //DATE RESET AFTER ECONOMY INIT-------------------------
- int year, month, day, hour, minute;
- int reset_month = 9, reset_day = 20;
- GetGame().GetWorld().GetDate(year, month, day, hour, minute);
- if ((month == reset_month) && (day < reset_day))
- {
- GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
- }
- else
- {
- if ((month == reset_month + 1) && (day > reset_day))
- {
- GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
- }
- else
- {
- if ((month < reset_month) || (month > reset_month + 1))
- {
- GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
- }
- }
- }
- // 1. Uncomment the line below these instructions and save this file (init.c).
- // 2. Start the server and let it run for a few minutes.
- // 3. The server should now have created a folder called "export" in the folder "dayzOffline.chernarusplus\storage_1". In it should be a file called "mapgrouppos.xml".
- // 4. Stop the server.
- // 5. Copy the file "mapgrouppos.xml" to the folder "mpmissions\dayzOffline.chernarusplus" and replace the existing one.
- // 6. Comment the line below these instructions and save this file (init.c) so it doesn't generate a new loot file every time the server starts up. You already have it.
- // 7. Start the server and loot should now spawn in the new buildings.
- // Info: The argument for the line below is the X, Y and Z coordinates to the center of the map ("7500 0 7500"), and the radius of how far to go out and find buildings (10000).
- //GetCEApi().ExportProxyData("7500 0 7500", 10000);
- }
- class CustomMission: MissionServer
- {
- 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)
- {
- 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( "Rag" );
- if ( Class.CastTo( itemBs, itemEnt ) )
- itemBs.SetQuantity( 4 );
- SetRandomHealth( itemEnt );
- 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" );
- }
- };
- Mission CreateCustomMission(string path)
- {
- return new CustomMission();
- }
Add Comment
Please, Sign In to add comment