Advertisement
sy8282

init

Sep 27th, 2018
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.31 KB | None | 0 0
  1.  
  2. void main()
  3. {
  4.  
  5. Hive ce = CreateHive();
  6. if ( ce )
  7. ce.InitOffline();
  8.  
  9. Weather weather = g_Game.GetWeather();
  10.  
  11. weather.GetOvercast().SetLimits( 0.0 , 1.0 );
  12. weather.GetRain().SetLimits( 0.0 , 1.0 );
  13. weather.GetFog().SetLimits( 0.0 , 0.25 );
  14.  
  15. weather.GetOvercast().SetForecastChangeLimits( 0.0, 0.2 );
  16. weather.GetRain().SetForecastChangeLimits( 0.0, 0.1 );
  17. weather.GetFog().SetForecastChangeLimits( 0.15, 0.45 );
  18.  
  19. weather.GetOvercast().SetForecastTimeLimits( 1800 , 1800 );
  20. weather.GetRain().SetForecastTimeLimits( 600 , 600 );
  21. weather.GetFog().SetForecastTimeLimits( 1800 , 1800 );
  22.  
  23. weather.GetOvercast().Set( Math.RandomFloatInclusive(0.0, 0.3), 0, 0);
  24. weather.GetRain().Set( Math.RandomFloatInclusive(0.0, 0.2), 0, 0);
  25. weather.GetFog().Set( Math.RandomFloatInclusive(0.0, 0.1), 0, 0);
  26.  
  27. weather.SetWindMaximumSpeed(15);
  28. weather.SetWindFunctionParams(0.1, 0.3, 50);
  29. }
  30.  
  31. class CustomMission: MissionServer
  32. {
  33. void SetRandomHealth(EntityAI itemEnt)
  34. {
  35. int rndHlt = Math.RandomInt(40,100);
  36. itemEnt.SetHealth("","",rndHlt);
  37. }
  38.  
  39. override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
  40. {
  41. Entity playerEnt;
  42. playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player
  43. Class.CastTo(m_player, playerEnt);
  44.  
  45. GetGame().SelectPlayer(identity, m_player);
  46.  
  47. return m_player;
  48. }
  49.  
  50. override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
  51. {
  52. /*
  53. player.RemoveAllItems();
  54.  
  55. EntityAI item = player.GetInventory().CreateInInventory(topsArray.GetRandomElement());
  56. EntityAI item2 = player.GetInventory().CreateInInventory(pantsArray.GetRandomElement());
  57. EntityAI item3 = player.GetInventory().CreateInInventory(shoesArray.GetRandomElement());
  58. */
  59. EntityAI itemEnt;
  60. ItemBase itemBs;
  61.  
  62. itemEnt = player.GetInventory().CreateInInventory("Rag");
  63. itemBs = ItemBase.Cast(itemEnt);
  64. itemBs.SetQuantity(4);
  65. SetRandomHealth(itemEnt);
  66.  
  67. itemEnt = player.GetInventory().CreateInInventory("RoadFlare");
  68. itemBs = ItemBase.Cast(itemEnt);
  69. }
  70.  
  71. bool IsInRadialZone(float x, float y, float center_x, float center_y, float radius) {
  72. // keep distance squared because squaring is cheaper then sqrt
  73. float distance_squared = Math.Pow(center_x-x, 2) + Math.Pow(center_y-y, 2);
  74. return (distance_squared < Math.Pow(radius, 2));
  75. }
  76.  
  77. override void OnUpdate(float timeslice)
  78. {
  79. UpdateDummyScheduler();
  80. TickScheduler(timeslice);
  81. UpdateLogoutPlayers();
  82. ref array<Man> players = new array<Man>;
  83. GetGame().GetPlayers( players );
  84.  
  85. float safezone_center_x = 11900.4;
  86. float safezone_center_y = 12508.2;
  87. float safezone_radius = 250.0;
  88.  
  89. for ( int i = 0; i < players.Count(); i++ )
  90. {
  91.  
  92. PlayerBase player;
  93. Class.CastTo(player, players.Get(i));
  94. vector pos = player.GetPosition();
  95. if(IsInRadialZone(pos[0], pos[2], safezone_center_x, safezone_center_y, safezone_radius)) {
  96. player.SetAllowDamage( false );
  97. } else { player.SetAllowDamage( true ); }
  98. }
  99. }
  100. };
  101.  
  102. Mission CreateCustomMission(string path)
  103. {
  104. return new CustomMission();
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement