Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2016
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.00 KB | None | 0 0
  1. /**
  2. * ExileServer_object_player_createBambi
  3. *
  4. * Exile Mod
  5. * www.exilemod.com
  6. * © 2015 Exile Mod Team
  7. *
  8. * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
  9. * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
  10. */
  11.  
  12. private["_sessionID","_requestingPlayer","_spawnLocationMarkerName","_bambiPlayer","_accountData","_direction","_position","_spawnAreaPosition","_spawnAreaRadius","_clanID","_clanData","_clanGroup","_player","_devFriendlyMode","_devs","_parachuteNetID","_spawnType","_parachuteObject"];
  13. _sessionID = _this select 0;
  14. _requestingPlayer = _this select 1;
  15. _spawnLocationMarkerName = _this select 2;
  16. _bambiPlayer = _this select 3;
  17. _accountData = _this select 4;
  18. _direction = random 360;
  19. if ((count ExileSpawnZoneMarkerPositions) isEqualTo 0) then
  20. {
  21. _position = call ExileClient_util_world_findCoastPosition;
  22. if ((toLower worldName) isEqualTo "namalsk") then
  23. {
  24. while {(_position distance2D [76.4239, 107.141, 0]) < 100} do
  25. {
  26. _position = call ExileClient_util_world_findCoastPosition;
  27. };
  28. };
  29. }
  30. else
  31. {
  32. _spawnAreaPosition = getMarkerPos _spawnLocationMarkerName;
  33. _spawnAreaRadius = getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "spawnZoneRadius");
  34. _position = [_spawnAreaPosition, _spawnAreaRadius] call ExileClient_util_math_getRandomPositionInCircle;
  35. while {surfaceIsWater _position} do
  36. {
  37. _position = [_spawnAreaPosition, _spawnAreaRadius] call ExileClient_util_math_getRandomPositionInCircle;
  38. };
  39. };
  40. _name = name _requestingPlayer;
  41. _clanID = (_accountData select 3);
  42. if !((typeName _clanID) isEqualTo "SCALAR") then
  43. {
  44. _clanID = -1;
  45. _clanData = [];
  46. }
  47. else
  48. {
  49. _clanData = missionNamespace getVariable [format ["ExileServer_clan_%1",_clanID],[]];
  50. if(isNull (_clanData select 5))then
  51. {
  52. _clanGroup = createGroup independent;
  53. _clanData set [5,_clanGroup];
  54. _clanGroup setGroupIdGlobal [_clanData select 0];
  55. missionNameSpace setVariable [format ["ExileServer_clan_%1",_clanID],_clanData];
  56. }
  57. else
  58. {
  59. _clanGroup = (_clanData select 5);
  60. };
  61. [_player] joinSilent _clanGroup;
  62. };
  63. _bambiPlayer setPosATL [_position select 0,_position select 1,0];
  64. _bambiPlayer disableAI "FSM";
  65. _bambiPlayer disableAI "MOVE";
  66. _bambiPlayer disableAI "AUTOTARGET";
  67. _bambiPlayer disableAI "TARGET";
  68. _bambiPlayer disableAI "CHECKVISIBLE";
  69. _bambiPlayer setDir _direction;
  70. _bambiPlayer setName _name;
  71. _bambiPlayer setVariable ["ExileMoney", 0, true];
  72. _bambiPlayer setVariable ["ExileScore", (_accountData select 0)];
  73. _bambiPlayer setVariable ["ExileKills", (_accountData select 1)];
  74. _bambiPlayer setVariable ["ExileDeaths", (_accountData select 2)];
  75. _bambiPlayer setVariable ["ExileClanID", _clanID];
  76. _bambiPlayer setVariable ["ExileClanData", _clanData];
  77. _bambiPlayer setVariable ["ExileHunger", 100];
  78. _bambiPlayer setVariable ["ExileThirst", 100];
  79. _bambiPlayer setVariable ["ExileTemperature", 37];
  80. _bambiPlayer setVariable ["ExileWetness", 0];
  81. _bambiPlayer setVariable ["ExileAlcohol", 0];
  82. _bambiPlayer setVariable ["ExileName", _name];
  83. _bambiPlayer setVariable ["ExileOwnerUID", getPlayerUID _requestingPlayer];
  84. _bambiPlayer setVariable ["ExileIsBambi", true];
  85. _bambiPlayer setVariable ["ExileXM8IsOnline", false, true];
  86. _bambiPlayer setVariable ["ExileLocker", (_accountData select 4), true];
  87. _devFriendlyMode = getNumber (configFile >> "CfgSettings" >> "ServerSettings" >> "devFriendyMode");
  88. if (_devFriendlyMode isEqualTo 1) then
  89. {
  90. _devs = getArray (configFile >> "CfgSettings" >> "ServerSettings" >> "devs");
  91. {
  92. if ((getPlayerUID _requestingPlayer) isEqualTo (_x select 0))exitWith
  93. {
  94. if((name _requestingPlayer) isEqualTo (_x select 1))then
  95. {
  96. _bambiPlayer setVariable ["ExileMoney", 500000, true];
  97. _bambiPlayer setVariable ["ExileScore", 100000];
  98. };
  99. };
  100. }
  101. forEach _devs;
  102. };
  103. _parachuteNetID = "";
  104. if ((getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "parachuteSpawning")) isEqualTo 1) then
  105. {
  106. _position set [2, getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "parachuteDropHeight")];
  107. if ((getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "haloJump")) isEqualTo 1) then
  108. {
  109. _bambiPlayer addBackpackGlobal "B_Parachute";
  110. _bambiPlayer setPosATL _position;
  111. _spawnType = 2;
  112. }
  113. else
  114. {
  115. _parachuteObject = createVehicle ["Steerable_Parachute_F", _position, [], 0, "CAN_COLLIDE"];
  116. _parachuteObject setDir _direction;
  117. _parachuteObject setPosATL _position;
  118. _parachuteObject enableSimulationGlobal true;
  119. _parachuteNetID = netId _parachuteObject;
  120. _spawnType = 1;
  121. };
  122. }
  123. else
  124. {
  125. _spawnType = 0;
  126. };
  127.  
  128. /* GIVE CUSTOM LOADOUT BY RESPECT STATE */
  129. _score = (_accountData select 0);
  130. switch (true) do {
  131. case (_score < 5000) :
  132. {
  133. clearWeaponCargo _bambiPlayer;
  134. clearMagazineCargo _bambiPlayer;
  135. hint "5 - 8k respect loadout attached";
  136. _bambiPlayer forceAddUniform "U_O_CombatUniform_oucamo";
  137. _bambiPlayer addVest "V_Rangemaster_belt";
  138. _bambiPlayer addWeapon 'Exile_Item_XM8';
  139. _bambiPlayer addWeapon "ItemCompass";
  140. _bambiPlayer addMagazines ["30Rnd_9x21_Mag", 2];
  141. _bambiPlayer addWeapon "hgun_Rook40_F";
  142. _bambiPlayer addItemToVest "Exile_Item_EMRE";
  143. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  144. };
  145. case (_score > 4999 && _score < 10000) :
  146. {
  147. clearWeaponCargo _bambiPlayer;
  148. clearMagazineCargo _bambiPlayer;
  149. hint "8 - 10k respect loadout attached";
  150. _bambiPlayer forceAddUniform "U_BG_leader";
  151. _bambiPlayer addVest "V_Rangemaster_belt";
  152. _bambiPlayer addWeapon 'Exile_Item_XM8';
  153. _bambiPlayer addWeapon "ItemCompass";
  154. _bambiPlayer addMagazines ["30Rnd_9x21_Mag", 2];
  155. _bambiPlayer addWeapon "hgun_Rook40_F";
  156. _bambiPlayer addMagazines ["30Rnd_9x21_Mag_SMG_02", 2];
  157. _bambiPlayer addWeapon "SMG_02_F";
  158. _bambiPlayer addItemToVest "Exile_Item_EMRE";
  159. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  160. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  161. };
  162. case (_score > 9999 && _score < 15000) :
  163. {
  164. clearWeaponCargo _bambiPlayer;
  165. clearMagazineCargo _bambiPlayer;
  166. hint "10 - 15k respect loadout attached";
  167. _bambiPlayer forceAddUniform "U_B_CombatUniform_mcam_vest";
  168. _bambiPlayer addVest "V_BandollierB_oli";
  169. _bambiPlayer addWeapon 'Exile_Item_XM8';
  170. _bambiPlayer addWeapon "ItemCompass";
  171. _bambiPlayer addMagazines ["30Rnd_9x21_Mag", 2];
  172. _bambiPlayer addWeapon "hgun_Rook40_F";
  173. _bambiPlayer addMagazines ["30Rnd_556x45_Stanag", 2];
  174. _bambiPlayer addWeapon "arifle_TRG20_F";
  175. _bambiPlayer addItemToVest "Exile_Item_EMRE";
  176. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  177. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  178. };
  179. case (_score > 14999 && _score < 20000) :
  180. {
  181. clearWeaponCargo _bambiPlayer;
  182. clearMagazineCargo _bambiPlayer;
  183. hint "15 - 20k respect loadout attached";
  184. _bambiPlayer forceAddUniform "U_B_CombatUniform_mcam";
  185. _bambiPlayer addVest "V_PlateCarrier1_rgr";
  186. _bambiPlayer addWeapon 'Exile_Item_XM8';
  187. _bambiPlayer addWeapon "ItemCompass";
  188. _bambiPlayer addMagazines ["30Rnd_9x21_Mag", 2];
  189. _bambiPlayer addWeapon "hgun_Rook40_F";
  190. _bambiPlayer addMagazines ["30Rnd_556x45_Stanag", 2];
  191. _bambiPlayer addWeapon "arifle_Mk20C_F";
  192. _bambiPlayer addItemToVest "Exile_Item_EMRE";
  193. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  194. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  195. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  196. };
  197. case (_score > 19999 && _score < 30000) :
  198. {
  199. clearWeaponCargo _bambiPlayer;
  200. clearMagazineCargo _bambiPlayer;
  201. hint "20 - 30k respect loadout attached";
  202. _bambiPlayer forceAddUniform "U_B_CombatUniform_mcam";
  203. _bambiPlayer addVest "V_PlateCarrierSpec_mtp";
  204. _bambiPlayer addWeapon "ItemGPS";
  205. _bambiPlayer addWeapon 'Exile_Item_XM8';
  206. _bambiPlayer addWeapon "ItemCompass";
  207. _bambiPlayer addMagazines ["30Rnd_9x21_Mag", 2];
  208. _bambiPlayer addWeapon "hgun_Rook40_F";
  209. _bambiPlayer addMagazines ["30Rnd_65x39_caseless_Mag", 2];
  210. _bambiPlayer addWeapon "arifle_Mx_Black_F";
  211. _bambiPlayer addItemToVest "Exile_Item_EMRE";
  212. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  213. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  214. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  215. _bambiPlayer addItemToVest "Exile_Item_Vishpirin";
  216. };
  217. case (_score > 29999) :
  218. {
  219. clearWeaponCargo _bambiPlayer;
  220. clearMagazineCargo _bambiPlayer;
  221. hint "30k+ respect loadout attached";
  222. _bambiPlayer forceAddUniform "U_B_CombatUniform_mcam";
  223. _bambiPlayer addVest "V_PlateCarrierGL_mtp";
  224. _bambiPlayer addWeapon "ItemGPS";
  225. _bambiPlayer addWeapon 'Exile_Item_XM8';
  226. _bambiPlayer addWeapon "ItemCompass";
  227. _bambiPlayer addMagazines ["30Rnd_9x21_Mag", 2];
  228. _bambiPlayer addWeapon "hgun_Rook40_F";
  229. _bambiPlayer addMagazines ["200Rnd_65x39_cased_Box", 2];
  230. _bambiPlayer addWeapon "LMG_Mk200_F";
  231. _bambiPlayer addItemToVest "Exile_Item_EMRE";
  232. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  233. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  234. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  235. _bambiPlayer addItemToVest "Exile_Item_PlasticBottleFreshWater";
  236. _bambiPlayer addItemToVest "Exile_Item_InstaDoc";
  237. };
  238. default {
  239.  
  240. };
  241. };
  242. /* END */
  243.  
  244. _bambiPlayer addMPEventHandler ["MPKilled", {_this call ExileServer_object_player_event_onMpKilled}];
  245. _bambiPlayer call ExileServer_object_player_database_insert;
  246. _bambiPlayer call ExileServer_object_player_database_update;
  247. [
  248. _sessionID,
  249. "createPlayerResponse",
  250. [
  251. _bambiPlayer,
  252. _parachuteNetID,
  253. str (_accountData select 0),
  254. (_accountData select 1),
  255. (_accountData select 2),
  256. 100,
  257. 100,
  258. 0,
  259. (getNumber (configFile >> "CfgSettings" >> "BambiSettings" >> "protectionDuration")) * 60,
  260. _clanData,
  261. _spawnType
  262. ]
  263. ]
  264. call ExileServer_system_network_send_to;
  265. [_sessionID, _bambiPlayer] call ExileServer_system_session_update;
  266. true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement