Advertisement
Guest User

Untitled

a guest
Oct 27th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.41 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. _bambiPlayer forceAddUniform "U_I_G_resistanceLeader_F"; - Униформа
  88. _bambiPlayer addVest "V_BandollierB_rgr"; - Бронежилет
  89. _bambiPlayer addBackpack "B_FieldPack_khk"; - Рюкзак
  90. _bambiPlayer addHeadgear "Exile_Cap_Exile"; - Головной убор
  91. _bambiPlayer addWeapon "Exile_Weapon_Makarov"; - Оружье (можно прописать пистолет, автомат и т.д)
  92. _bambiPlayer addItemToBackpack "Exile_Magazine_8Rnd_9x18"; - Патроны
  93. _bambiPlayer addItemToBackpack "Exile_Magazine_8Rnd_9x18";
  94. _bambiPlayer addItemToBackpack "Exile_Magazine_8Rnd_9x18";
  95. _bambiPlayer addItemToBackpack "Exile_Magazine_8Rnd_9x18";
  96. _bambiPlayer addItemToBackpack "Exile_Item_DuctTape"; - Изолента
  97. _bambiPlayer addItemToBackpack "Exile_Item_EMRE"; - Еда
  98. _bambiPlayer addItemToBackpack "Exile_Item_EMRE";
  99. _bambiPlayer addItemToBackpack "Exile_Item_EnergyDrink"; - Напитки
  100. _bambiPlayer addItemToBackpack "Exile_Item_EnergyDrink";
  101. _bambiPlayer addItemToBackpack "Exile_Item_InstaDoc"; - Первая помощь
  102. _bambiPlayer addItemToBackpack "NVGoggles_OPFOR"; - ПНВ
  103. _devFriendlyMode = getNumber (configFile >> "CfgSettings" >> "ServerSettings" >> "devFriendyMode");
  104. if (_devFriendlyMode isEqualTo 1) then
  105. {
  106.     _devs = getArray (configFile >> "CfgSettings" >> "ServerSettings" >> "devs");
  107.     {
  108.         if ((getPlayerUID _requestingPlayer) isEqualTo (_x select 0))exitWith
  109.         {
  110.             if ((name _requestingPlayer) isEqualTo (_x select 1))then
  111.             {
  112.                 _bambiPlayer setVariable ["ExileMoney", 500000, true];
  113.                 _bambiPlayer setVariable ["ExileScore", 100000];
  114.             };
  115.         };
  116.     }
  117.     forEach _devs;
  118. };
  119. _parachuteNetID = "";
  120. if ((getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "parachuteSpawning")) isEqualTo 1) then
  121. {
  122.     _position set [2, getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "parachuteDropHeight")];
  123.     if ((getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "haloJump")) isEqualTo 1) then
  124.     {
  125.         _bambiPlayer addBackpackGlobal "B_Parachute";
  126.         _bambiPlayer setPosATL _position;
  127.         _spawnType = 2;
  128.     }
  129.     else
  130.     {
  131.         _parachuteObject = createVehicle ["Steerable_Parachute_F", _position, [], 0, "CAN_COLLIDE"];
  132.         _parachuteObject setDir _direction;
  133.         _parachuteObject setPosATL _position;
  134.         _parachuteObject enableSimulationGlobal true;
  135.         _parachuteNetID = netId _parachuteObject;
  136.         _spawnType = 1;
  137.     };
  138. }
  139. else
  140. {
  141.     _spawnType = 0;
  142. };
  143. _bambiPlayer addMPEventHandler ["MPKilled", {_this call ExileServer_object_player_event_onMpKilled}];
  144. _bambiPlayer call ExileServer_object_player_database_insert;
  145. _bambiPlayer call ExileServer_object_player_database_update;
  146. [
  147.     _sessionID,
  148.     "createPlayerResponse",
  149.     [
  150.         _bambiPlayer,
  151.         _parachuteNetID,
  152.         str (_accountData select 0),
  153.         (_accountData select 1),
  154.         (_accountData select 2),
  155.         100,
  156.         100,
  157.         0,
  158.         (getNumber (configFile >> "CfgSettings" >> "BambiSettings" >> "protectionDuration")) * 60,
  159.         _clanData,
  160.         _spawnType
  161.     ]
  162. ]
  163. call ExileServer_system_network_send_to;
  164. [_sessionID, _bambiPlayer] call ExileServer_system_session_update;
  165. true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement