Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.24 KB | None | 0 0
  1. #include "$CurrentDir:\\mpmissions\\DAYZUSONIA.enoch\\CustomBuildings.c"
  2.  
  3. void main()
  4. {
  5. //INIT WEATHER BEFORE ECONOMY INIT------------------------
  6. Weather weather = g_Game.GetWeather();
  7.  
  8. weather.MissionWeather(false); // false = use weather controller from Weather.c
  9.  
  10. weather.GetOvercast().Set( Math.RandomFloatInclusive(0.4, 0.6), 1, 0);
  11. weather.GetRain().Set( 0, 0, 1);
  12. weather.GetFog().Set( Math.RandomFloatInclusive(0.05, 0.1), 1, 0);
  13.  
  14. //INIT ECONOMY--------------------------------------
  15. Hive ce = CreateHive();
  16. if ( ce )
  17. ce.InitOffline();
  18.  
  19. //Custom Objects
  20. CustomBuildings();
  21.  
  22. //DATE RESET AFTER ECONOMY INIT-------------------------
  23. int year, month, day, hour, minute;
  24. int reset_month = 9, reset_day = 20;
  25. GetGame().GetWorld().GetDate(year, month, day, hour, minute);
  26.  
  27. if ((month == reset_month) && (day < reset_day))
  28. {
  29. GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
  30. }
  31. else
  32. {
  33. if ((month == reset_month + 1) && (day > reset_day))
  34. {
  35. GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
  36. }
  37. else
  38. {
  39. if ((month < reset_month) || (month > reset_month + 1))
  40. {
  41. GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
  42. }
  43. }
  44. }
  45. }
  46.  
  47. class CustomMission : MissionServer
  48. {
  49. private static const float MESSAGE_DELAY_MINUTES = 10;
  50.  
  51. void CustomMission()
  52. {
  53. //! create a looping call queue for call method AnnouncePlayerCount every X minute(s) in MESSAGE_DELAY_MINUTES
  54. GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(AnnouncePlayerCount, (MESSAGE_DELAY_MINUTES * 60000), true);
  55. }
  56.  
  57. void ~CustomMission()
  58. {
  59. //! remove AnnouncePlayerCount from the call queue when mission is over
  60. GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).Remove(AnnouncePlayerCount);
  61. }
  62.  
  63. void AnnouncePlayerCount()
  64. {
  65. string message;
  66. int playerCount = m_Players.Count(); // m_Players is a derived member from MissionServer
  67.  
  68. // if there is no players online, prevent further execution
  69. if (playerCount < 1)
  70. return;
  71.  
  72. if (playerCount == 1)
  73. message = string.Format("[USONIA] There is currently %1 player online.", playerCount);
  74. else
  75. message = string.Format("[USONIA] There are currently %1 players online.", playerCount);
  76.  
  77. //! send an RPC to all clients connected with the message
  78. GetGame().RPCSingleParam(m_Players[0], ERPCs.RPC_USER_ACTION_MESSAGE, new Param1<string>(message), true, null);
  79. }
  80. }
  81.  
  82. void SetRandomHealth(EntityAI itemEnt)
  83. {
  84. if ( itemEnt )
  85. {
  86. int rndHlt = Math.RandomInt(55,100);
  87. itemEnt.SetHealth("","",rndHlt);
  88. }
  89. }
  90.  
  91. override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
  92. {
  93. Entity playerEnt;
  94. playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player
  95. Class.CastTo(m_player, playerEnt);
  96.  
  97. GetGame().SelectPlayer(identity, m_player);
  98.  
  99. return m_player;
  100. }
  101.  
  102. override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
  103. {
  104. EntityAI itemTop;
  105. EntityAI itemEnt;
  106. ItemBase itemBs;
  107. float rand;
  108.  
  109. int h= m_humanity.GetHumanity(player.GetIdentity().GetPlainId());
  110. int l = m_humanity.determainLevel(h);
  111.  
  112. player.RemoveAllItems();
  113.  
  114. switch(l)
  115. {
  116. case -4:
  117. // Bandit LvL 4
  118. itemEnt = player.GetInventory().CreateInInventory("MSFC_Facemask_Black"); itemBs = ItemBase.Cast(itemEnt);
  119. player.GetInventory().CreateInInventory("Jeans_Blue");itemBs = ItemBase.Cast(itemEnt);
  120. player.GetInventory().CreateInInventory("MSFCLowaZephyrBootsBlack");itemBs = ItemBase.Cast(itemEnt);
  121. player.GetInventory().CreateInInventory("BDUJacket");itemBs = ItemBase.Cast(itemEnt);
  122. player.GetInventory().CreateInInventory("SalineBagIV");itemBs = ItemBase.Cast(itemEnt);
  123. player.GetInventory().CreateInInventory("Morphine");
  124. break;
  125. case -3:
  126. // Bandit LvL 3
  127. itemEnt = player.GetInventory().CreateInInventory("MSFC_Facemask_Black"); itemBs = ItemBase.Cast(itemEnt);
  128. player.GetInventory().CreateInInventory("Jeans_Blue");itemBs = ItemBase.Cast(itemEnt);
  129. player.GetInventory().CreateInInventory("MSFCLowaZephyrBootsBlack");itemBs = ItemBase.Cast(itemEnt);
  130. player.GetInventory().CreateInInventory("BDUJacket");itemBs = ItemBase.Cast(itemEnt);
  131. player.GetInventory().CreateInInventory("AviatorGlasses");itemBs = ItemBase.Cast(itemEnt);
  132. player.GetInventory().CreateInInventory("Morphine");
  133. break;
  134. case -2:
  135. // Bandit LvL 2
  136. itemEnt = player.GetInventory().CreateInInventory("Shemagh_Bandit_Brown"); itemBs = ItemBase.Cast(itemEnt);
  137. player.GetInventory().CreateInInventory("MSFCGorkaJSURPATDesertNoPatch");itemBs = ItemBase.Cast(itemEnt);
  138. player.GetInventory().CreateInInventory("MSFCPantsSURPATDesert");itemBs = ItemBase.Cast(itemEnt);
  139. player.GetInventory().CreateInInventory("MSFCLowaZephyrBootsSURPATDesert");itemBs = ItemBase.Cast(itemEnt);
  140. player.GetInventory().CreateInInventory("MSFCNBCGlovesATACSFG");itemBs = ItemBase.Cast(itemEnt);
  141. player.GetInventory().CreateInInventory("AviatorGlasses");itemBs = ItemBase.Cast(itemEnt);
  142. break;
  143. case -1:
  144. // Bandit LvL 1
  145. itemEnt = player.GetInventory().CreateInInventory("Shemagh_Bandit_Brown"); itemBs = ItemBase.Cast(itemEnt);
  146. player.GetInventory().CreateInInventory("MSFCGorkaJSURPATDesertNoPatch");itemBs = ItemBase.Cast(itemEnt);
  147. player.GetInventory().CreateInInventory("MSFCPantsSURPATDesert");itemBs = ItemBase.Cast(itemEnt);
  148. player.GetInventory().CreateInInventory("MSFCLowaZephyrBootsSURPATDesert");itemBs = ItemBase.Cast(itemEnt);
  149. player.GetInventory().CreateInInventory("MSFCNBCGlovesATACSFG");itemBs = ItemBase.Cast(itemEnt);
  150. player.GetInventory().CreateInInventory("AviatorGlasses");itemBs = ItemBase.Cast(itemEnt);
  151. break;
  152. case 1:
  153. // Hero LvL 1
  154. itemEnt = player.GetInventory().CreateInInventory("Shemagh_Scarf_Brown"); itemBs = ItemBase.Cast(itemEnt);
  155. player.GetInventory().CreateInInventory("Shirt_BlueCheckBright");itemBs = ItemBase.Cast(itemEnt);
  156. player.GetInventory().CreateInInventory("MSFC_TacticalCap_Desert");itemBs = ItemBase.Cast(itemEnt);
  157. player.GetInventory().CreateInInventory("Jeans_Blue");itemBs = ItemBase.Cast(itemEnt);
  158. player.GetInventory().CreateInInventory("MSFCLowaZephyrBootsBlack");itemBs = ItemBase.Cast(itemEnt);
  159. player.GetInventory().CreateInInventory("AviatorGlasses");itemBs = ItemBase.Cast(itemEnt);
  160. player.GetInventory().CreateInInventory("Fingerless_Gloves");itemBs = ItemBase.Cast(itemEnt);
  161. player.GetInventory().CreateInInventory("Morphine");
  162. break;
  163. case 2:
  164. // Hero LvL 2
  165. itemEnt = player.GetInventory().CreateInInventory("Shemagh_Scarf_Brown"); itemBs = ItemBase.Cast(itemEnt);
  166. player.GetInventory().CreateInInventory("Shirt_BlueCheckBright");itemBs = ItemBase.Cast(itemEnt);
  167. player.GetInventory().CreateInInventory("MSFC_TacticalCap_Desert");itemBs = ItemBase.Cast(itemEnt);
  168. player.GetInventory().CreateInInventory("Jeans_Blue");itemBs = ItemBase.Cast(itemEnt);
  169. player.GetInventory().CreateInInventory("MSFCLowaZephyrBootsBlack");itemBs = ItemBase.Cast(itemEnt);
  170. player.GetInventory().CreateInInventory("AviatorGlasses");itemBs = ItemBase.Cast(itemEnt);
  171. player.GetInventory().CreateInInventory("Fingerless_Gloves");itemBs = ItemBase.Cast(itemEnt);
  172. player.GetInventory().CreateInInventory("SalineBagIV");itemBs = ItemBase.Cast(itemEnt);
  173. player.GetInventory().CreateInInventory("Morphine");
  174. break;
  175. case 3:
  176. // Hero LvL 3
  177. itemEnt = player.GetInventory().CreateInInventory("Shemagh_Scarf_Brown"); itemBs = ItemBase.Cast(itemEnt);
  178. player.GetInventory().CreateInInventory("Shirt_BlueCheckBright");itemBs = ItemBase.Cast(itemEnt);
  179. player.GetInventory().CreateInInventory("MSFC_TacticalCap_Desert");itemBs = ItemBase.Cast(itemEnt);
  180. player.GetInventory().CreateInInventory("Jeans_Blue");itemBs = ItemBase.Cast(itemEnt);
  181. player.GetInventory().CreateInInventory("MSFCLowaZephyrBootsBlack");itemBs = ItemBase.Cast(itemEnt);
  182. player.GetInventory().CreateInInventory("AviatorGlasses");itemBs = ItemBase.Cast(itemEnt);
  183. player.GetInventory().CreateInInventory("Fingerless_Gloves");itemBs = ItemBase.Cast(itemEnt);
  184. player.GetInventory().CreateInInventory("SalineBagIV");itemBs = ItemBase.Cast(itemEnt);
  185. player.GetInventory().CreateInInventory("SalineBagIV");itemBs = ItemBase.Cast(itemEnt);
  186. player.GetInventory().CreateInInventory("Morphine");
  187. break;
  188. case 4:
  189. // Hero LvL 4
  190. itemEnt = player.GetInventory().CreateInInventory("Shemagh_Scarf_Brown"); itemBs = ItemBase.Cast(itemEnt);
  191. player.GetInventory().CreateInInventory("Shirt_BlueCheckBright");itemBs = ItemBase.Cast(itemEnt);
  192. player.GetInventory().CreateInInventory("MSFC_TacticalCap_Desert");itemBs = ItemBase.Cast(itemEnt);
  193. player.GetInventory().CreateInInventory("Jeans_Blue");itemBs = ItemBase.Cast(itemEnt);
  194. player.GetInventory().CreateInInventory("MSFCLowaZephyrBootsBlack");itemBs = ItemBase.Cast(itemEnt);
  195. player.GetInventory().CreateInInventory("AviatorGlasses");itemBs = ItemBase.Cast(itemEnt);
  196. player.GetInventory().CreateInInventory("Fingerless_Gloves");itemBs = ItemBase.Cast(itemEnt);
  197. player.GetInventory().CreateInInventory("SalineBagIV");itemBs = ItemBase.Cast(itemEnt);
  198. player.GetInventory().CreateInInventory("SalineBagIV");itemBs = ItemBase.Cast(itemEnt);
  199. player.GetInventory().CreateInInventory("Morphine");
  200. player.GetInventory().CreateInInventory("Morphine");
  201. break;
  202. case 0:
  203. // Bambi
  204. switch (Math.RandomInt(100, 104)) {
  205. case 100:
  206. itemEnt = player.GetInventory().CreateInInventory("DayZUsonia_TShirt_Red"); itemBs = ItemBase.Cast(itemEnt);
  207. player.GetInventory().CreateInInventory("Jeans_Grey");itemBs = ItemBase.Cast(itemEnt);
  208. player.GetInventory().CreateInInventory("AthleticShoes_Grey");itemBs = ItemBase.Cast(itemEnt);
  209. break;
  210. case 101:
  211. itemEnt = player.GetInventory().CreateInInventory("DayZUsonia_TShirt_Olive"); itemBs = ItemBase.Cast(itemEnt);
  212. player.GetInventory().CreateInInventory("Jeans_Green");itemBs = ItemBase.Cast(itemEnt);
  213. player.GetInventory().CreateInInventory("AthleticShoes_Green");itemBs = ItemBase.Cast(itemEnt);
  214. break;
  215. case 102:
  216. itemEnt = player.GetInventory().CreateInInventory("DayZUsonia_TShirt_Blue"); itemBs = ItemBase.Cast(itemEnt);
  217. player.GetInventory().CreateInInventory("Jeans_Blue");itemBs = ItemBase.Cast(itemEnt);
  218. player.GetInventory().CreateInInventory("AthleticShoes_Blue");itemBs = ItemBase.Cast(itemEnt);
  219. break;
  220. case 103:
  221. itemEnt = player.GetInventory().CreateInInventory("DayZUsonia_TShirt_Black"); itemBs = ItemBase.Cast(itemEnt);
  222. player.GetInventory().CreateInInventory("Jeans_Black");itemBs = ItemBase.Cast(itemEnt);
  223. player.GetInventory().CreateInInventory("AthleticShoes_Black");itemBs = ItemBase.Cast(itemEnt);
  224. break;
  225. }
  226. default:
  227. break;
  228. }
  229. // Give universal gear
  230. player.GetInventory().CreateInInventory("KitchenKnife");itemBs = ItemBase.Cast(itemEnt);
  231. player.GetInventory().CreateInInventory("SodaCan_Cola");itemBs = ItemBase.Cast(itemEnt);
  232. player.GetInventory().CreateInInventory("PeachesCan");itemBs = ItemBase.Cast(itemEnt);
  233. player.GetInventory().CreateInInventory("Apple");itemBs = ItemBase.Cast(itemEnt);
  234. itemEnt = player.GetInventory().CreateInInventory("BandageDressing");
  235. itemBs = ItemBase.Cast(itemEnt);
  236. itemBs.SetQuantity(2);
  237. }
  238. };
  239.  
  240. Mission CreateCustomMission(string path)
  241. {
  242. return new CustomMission();
  243. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement