Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * ExileServer_object_player_createBambi
- *
- * Exile Mod
- * www.exilemod.com
- * © 2015 Exile Mod Team
- *
- * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
- */
- private["_sessionID", "_requestingPlayer", "_spawnLocationMarkerName", "_bambiPlayer", "_accountData", "_escapeEnabled", "_direction", "_position", "_spawnAreaPosition", "_spawnAreaRadius", "_clanID", "_clanData", "_clanGroup", "_escapeAccountdata", "_devFriendlyMode", "_devs", "_parachuteNetID", "_spawnType", "_parachuteObject"];
- _sessionID = _this select 0;
- _requestingPlayer = _this select 1;
- _spawnLocationMarkerName = _this select 2;
- _bambiPlayer = _this select 3;
- _accountData = _this select 4;
- _escapeEnabled = getNumber(configFile >> "CfgSettings" >> "Escape" >> "enableEscape") isEqualTo 1;
- _direction = random 360;
- if (_escapeEnabled) then
- {
- _position = getArray(configFile >> "CfgSettings" >> "Escape" >> worldName >> "startingLocation");
- (uniformContainer _bambiPlayer) call ExileClient_util_containerCargo_clear;
- _bambiPlayer linkItem "ItemGPS";
- }
- else
- {
- if ((count ExileSpawnZoneMarkerPositions) isEqualTo 0) then
- {
- _position = call ExileClient_util_world_findCoastPosition;
- if ((toLower worldName) isEqualTo "namalsk") then
- {
- while {(_position distance2D [76.4239, 107.141, 0]) < 100} do
- {
- _position = call ExileClient_util_world_findCoastPosition;
- };
- };
- }
- else
- {
- _spawnAreaPosition = getMarkerPos _spawnLocationMarkerName;
- _spawnAreaRadius = getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "spawnZoneRadius");
- _position = [_spawnAreaPosition, _spawnAreaRadius] call ExileClient_util_math_getRandomPositionInCircle;
- while {surfaceIsWater _position} do
- {
- _position = [_spawnAreaPosition, _spawnAreaRadius] call ExileClient_util_math_getRandomPositionInCircle;
- };
- };
- };
- _name = name _requestingPlayer;
- _clanID = (_accountData select 3);
- if !((typeName _clanID) isEqualTo "SCALAR") then
- {
- _clanID = -1;
- _clanData = [];
- }
- else
- {
- _clanData = missionNamespace getVariable [format ["ExileServer_clan_%1",_clanID],[]];
- if(isNull (_clanData select 5))then
- {
- _clanGroup = createGroup independent;
- _clanData set [5,_clanGroup];
- _clanGroup setGroupIdGlobal [_clanData select 0];
- missionNameSpace setVariable [format ["ExileServer_clan_%1",_clanID],_clanData];
- }
- else
- {
- _clanGroup = (_clanData select 5);
- };
- [_bambiPlayer] joinSilent _clanGroup;
- };
- _bambiPlayer setPosATL [_position select 0,_position select 1,0];
- _bambiPlayer disableAI "FSM";
- _bambiPlayer disableAI "MOVE";
- _bambiPlayer disableAI "AUTOTARGET";
- _bambiPlayer disableAI "TARGET";
- _bambiPlayer disableAI "CHECKVISIBLE";
- _bambiPlayer setDir _direction;
- _bambiPlayer setName _name;
- _bambiPlayer setVariable ["ExileMoney", 0, true];
- _bambiPlayer setVariable ["ExileScore", (_accountData select 0)];
- _bambiPlayer setVariable ["ExileKills", (_accountData select 1)];
- _bambiPlayer setVariable ["ExileDeaths", (_accountData select 2)];
- _bambiPlayer setVariable ["ExileClanID", _clanID];
- _bambiPlayer setVariable ["ExileClanData", _clanData];
- _bambiPlayer setVariable ["ExileHunger", 100];
- _bambiPlayer setVariable ["ExileThirst", 100];
- _bambiPlayer setVariable ["ExileTemperature", 37];
- _bambiPlayer setVariable ["ExileWetness", 0];
- _bambiPlayer setVariable ["ExileAlcohol", 0];
- _bambiPlayer setVariable ["ExileName", _name];
- _bambiPlayer setVariable ["ExileOwnerUID", getPlayerUID _requestingPlayer];
- _bambiPlayer setVariable ["ExileIsBambi", !_escapeEnabled];
- _bambiPlayer setVariable ["ExileXM8IsOnline", false, true];
- _bambiPlayer setVariable ["ExileLocker", (_accountData select 4), true];
- if (_escapeEnabled) then
- {
- _escapeAccountdata = format["getEscapeAccountStats:%1", getPlayerUID _requestingPlayer] call ExileServer_system_database_query_selectSingle;
- _bambiPlayer setVariable ["ExileWins", (_escapeAccountdata select 0)];
- _bambiPlayer setVariable ["ExileMatches", (_escapeAccountdata select 1)];
- };
- _devFriendlyMode = getNumber (configFile >> "CfgSettings" >> "ServerSettings" >> "devFriendyMode");
- if (_devFriendlyMode isEqualTo 1) then
- {
- _devs = getArray (configFile >> "CfgSettings" >> "ServerSettings" >> "devs");
- {
- if ((getPlayerUID _requestingPlayer) isEqualTo (_x select 0))exitWith
- {
- if ((name _requestingPlayer) isEqualTo (_x select 1))then
- {
- _bambiPlayer setVariable ["ExileMoney", 500000, true];
- _bambiPlayer setVariable ["ExileScore", 100000];
- };
- };
- }
- forEach _devs;
- };
- _parachuteNetID = "";
- if ((getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "parachuteSpawning")) isEqualTo 1 && {!(_escapeEnabled)}) then
- {
- _position set [2, getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "parachuteDropHeight")];
- if ((getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "haloJump")) isEqualTo 1) then
- {
- _bambiPlayer addBackpackGlobal "B_Parachute";
- _bambiPlayer setPosATL _position;
- _spawnType = 2;
- }
- else
- {
- _parachuteObject = createVehicle ["Steerable_Parachute_F", _position, [], 0, "CAN_COLLIDE"];
- _parachuteObject setDir _direction;
- _parachuteObject setPosATL _position;
- _parachuteObject enableSimulationGlobal true;
- _parachuteNetID = netId _parachuteObject;
- _spawnType = 1;
- };
- }
- else
- {
- _spawnType = 0;
- };
- /////////////////////////////////////////////
- ///// Respect based loadouts start here /////
- /////////////////////////////////////////////
- _respect = (_accountData select 0);
- switch (true) do
- {
- case (_Respect > 0 && _Respect < 2500):
- //Bambi
- {
- _bambiPlayer forceAddUniform "Exile_Uniform_BambiOverall";
- _bambiplayer addItem "Exile_Item_Moobar";
- _bambiplayer addItem "Exile_Item_ChocolateMilk";
- };
- case (_respect > 2500 && _respect < 4999):
- {
- _bambiPlayer forceAddUniform "U_C_Poor_shorts_1";
- _bambiPlayer addVest "V_Rangemaster_belt";
- _bambiPlayer addItem "Exile_Item_Moobar";
- _bambiPlayer addItem "Exile_Item_ChocolateMilk";
- _bambiPlayer addWeaponGlobal "hgun_Pistol_01_F";
- _bambiPlayer addMagazine "10Rnd_9x21_Mag";
- //systemChat "Your rank is Enforcer";
- };
- case (_respect > 5000 && _respect < 9999):
- {
- _bambiPlayer forceAddUniform "U_C_Poloshirt_redwhite";
- _bambiplayer addHeadGear "H_Bandanna_khk";
- _bambiPlayer addVest "V_BandollierB_khk";
- _bambiPlayer addItem "Exile_Item_Moobar";
- _bambiPlayer addItem "Exile_Item_ChocolateMilk";
- _bambiPlayer addWeaponGlobal "hgun_Pistol_01_F";
- _bambiPlayer addMagazine "10Rnd_9x21_Mag";
- //systemChat "Your rank is Slayer";
- };
- case (_respect > 9999 && _respect < 19999):
- {
- _bambiPlayer forceAddUniform "U_Competitor";
- _bambiplayer addHeadGear "H_Hat_blue";
- _bambiPlayer addVest "V_BandollierB_oli";
- _bambiPlayer addBackpack "B_TacticalPack_mcamo";
- _bambiPlayer addWeaponGlobal "hgun_Pistol_heavy_02_F";
- _bambiPlayer addMagazine "6Rnd_45ACP_Cylinder";
- _bambiplayer addItem "Exile_Item_Bandage";
- _bambiplayer addItem "Exile_Item_Raisins";
- _bambiplayer addItem "Exile_Item_MountainDupe";
- //systemChat "Your rank is Hitman";
- };
- case (_respect > 19999 && _respect < 29999):
- {
- _bambiPlayer forceAddUniform "U_Rangermaster";
- for "_i" from 1 to 2 do {_bambiPlayer addItemToUniform "6Rnd_45ACP_Cylinder";};
- _bambiPlayer addHeadgear "H_Booniehat_dgtl";
- _bambiPlayer addVest "V_BandollierB_rgr";
- _bambiPlayer addBackpack "B_TacticalPack_mcamo";
- _bambiPlayer addWeaponGlobal "hgun_Pistol_heavy_02_F";
- _bambiPlayer addMagazine "6Rnd_45ACP_Cylinder";
- _bambiplayer addItem "Exile_Item_EnergyDrink";
- _bambiplayer addItem "Exile_Item_Noodles";
- _bambiPlayer addItem "Exile_Item_Vishpirin";
- _bambiplayer addItem "Exile_Item_Bandage";
- //systemChat "Your rank is Executioner";
- };
- case (_respect > 29999 && _respect < 39999):
- {
- _bambiPlayer forceAddUniform "U_C_HunterBody_grn";
- for "_i" from 1 to 2 do {_bambiPlayer addItemToUniform "10Rnd_9x21_Mag";};
- _bambiPlayer addHeadgear "H_Booniehat_dgtl";
- _bambiPlayer addVest "V_BandollierB_oli";
- _bambiPlayer addWeaponGlobal "hgun_ACPC2_F";
- _bambiPlayer addMagazine "10Rnd_9x21_Mag";
- _bambiPlayer addBackpack "B_Bergen_mcamo";
- _bambiPlayer addItem "Exile_Item_Vishpirin";
- _bambiplayer addItem "Exile_Item_Bandage";
- _bambiplayer addItem "Exile_Item_BeefParts";
- _bambiplayer addItem "Exile_Item_EnergyDrink";
- _bambiplayer addItem "Exile_Item_DuctTape";
- //systemChat "Your rank is Tyrant";
- };
- case (_respect > 39999 && _respect < 49999):
- {
- _bambiPlayer forceAddUniform "U_C_WorkerCoveralls";
- for "_i" from 1 to 2 do {_bambiPlayer addItemToUniform "10Rnd_9x21_Mag";};
- _bambiPlayer addHeadgear "Exile_Headgear_SafetyHelmet";
- _bambiPlayer addVest "V_BandollierB_rgr";
- _bambiPlayer addWeaponGlobal "hgun_ACPC2_F";
- _bambiPlayer addMagazine "10Rnd_9x21_Mag";
- _bambiPlayer addBackpack "B_Bergen_mcamo";
- _bambiPlayer addItemToVest "Exile_Item_PowerDrink";
- _bambiPlayer addItemToVest "Exile_Item_BeefParts";
- _bambiPlayer addItem "Exile_Item_DuctTape";
- _bambiPlayer addItem "Exile_Item_InstaDoc";
- //systemChat "Your rank is Triggerman";
- };
- case (_respect > 49999 && _respect < 69999):
- {
- //_bambiPlayer forceAddUniform "U_I_G_resistanceLeader_F";
- _bambiPlayer forceAddUniform "U_I_G_Story_Protagonist_F";
- for "_i" from 1 to 2 do {_bambiPlayer addItemToUniform "30Rnd_9x21_Mag_SMG_02";};
- _bambiPlayer addHeadgear "H_Cap_oli_hs";
- _bambiPlayer addVest "V_HarnessO_gry";
- _bambiPlayer addWeaponGlobal "SMG_05_F";
- _bambiPlayer addMagazine "30Rnd_9x21_Mag_SMG_02";
- _bambiplayer addBackpack "B_OutdoorPack_blu";
- _bambiplayer addItem "Exile_Item_PowerDrink";
- _bambiplayer addItem "Exile_Item_Bandage";
- _bambiplayer addItem "Exile_Item_GloriousKnakworst";
- _bambiplayer addItem "Exile_Item_CanOpener";
- _bambiplayer addItem "Exile_Item_DuctTape";
- _bambiPlayer addItem "Exile_Item_InstaDoc";
- //systemChat "Your rank is Trooper";
- };
- case (_respect > 69999 && _respect < 89999):
- {
- //_bambiPlayer forceAddUniform "U_B_survival_uniform";
- _bambiPlayer forceAddUniform "U_BG_Guerilla3_1";
- for "_i" from 1 to 2 do {_bambiPlayer addItemToUniform "20Rnd_556x45_UW_Mag";};
- _bambiPlayer addHeadgear "H_ShemagOpen_tan";
- _bambiPlayer addVest "V_HarnessO_gry";
- _bambiPlayer addWeaponGlobal "arifle_sdar_f";
- _bambiPlayer addMagazine "20Rnd_556x45_UW_Mag";
- _bambiplayer addBackpack "B_TacticalPack_blk";
- _bambiplayer addItem "Exile_Item_PowerDrink";
- _bambiplayer addItem "Exile_Item_Bandage";
- _bambiplayer addItem "Exile_Item_MacasCheese";
- _bambiplayer addItem "Exile_Item_CanOpener";
- _bambiplayer addItem "Exile_Item_DuctTape";
- _bambiPlayer addItem "Exile_Item_InstaDoc";
- _bambiPlayer linkItem "ItemGPS";
- //systemChat "Your rank is High Executioner";
- };
- case (_respect > 89999 && _respect < 149999):
- {
- _bambiPlayer forceAddUniform "U_BG_Guerrilla_6_1";
- for "_i" from 1 to 2 do {_bambiPlayer addItemToUniform "30Rnd_556x45_Stanag";};
- _bambiPlayer addHeadgear "H_Booniehat_oli";
- _bambiPlayer addVest "V_HarnessO_gry";
- _bambiPlayer addWeaponGlobal "arifle_AKS_F";
- _bambiPlayer addPrimaryWeaponItem "optic_Aco_smg";
- _bambiPlayer addPrimaryWeaponItem "acc_flashlight";
- _bambiPlayer addMagazine "30Rnd_556x45_Stanag";
- _bambiPlayer addBackpack "B_Kitbag_rgr";
- _bambiPlayer addItem "Exile_Item_PlasticBottleFreshWater";
- _bambiplayer addItem "Exile_Item_Bandage";
- _bambiplayer addItem "Exile_Item_MacasCheese";
- _bambiplayer addItem "Exile_Item_CanOpener";
- _bambiplayer addItem "Exile_Item_DuctTape";
- _bambiPlayer addItem "Exile_Item_InstaDoc";
- _bambiPlayer linkItem "ItemGPS";
- //systemChat "Your rank is Reaper";
- };
- case (_respect > 149999):
- {
- //_bambiPlayer forceAddUniform "Exile_Uniform_Woodland";
- _bambiPlayer forceAddUniform "U_I_CombatUniform_shortsleeve";
- for "_i" from 1 to 2 do {_bambiPlayer addItemToUniform "30Rnd_762x39_mag_tracer_F";};
- _bambiplayer addHeadGear "H_Watchcap_blk";
- _bambiPlayer addVest "V_TacChestrig_grn_F";
- _bambiPlayer addWeaponGlobal "arifle_MX_Black_F";
- _bambiPlayer addPrimaryWeaponItem "optic_Aco_smg";
- _bambiPlayer addMagazine "30Rnd_762x39_Mag_F";
- _bambiPlayer addBackpack "B_Kitbag_rgr";
- _bambiPlayer addItem "Exile_Item_PlasticBottleFreshWater";
- _bambiplayer addItem "Exile_Item_Bandage";
- _bambiplayer addItem "Exile_Item_BBQSandwich_Cooked";
- _bambiplayer addItem "Exile_Item_CanOpener";
- _bambiplayer addItem "Exile_Item_DuctTape";
- _bambiPlayer addItem "Exile_Item_InstaDoc";
- _bambiPlayer addItem "Exile_Item_Vishpirin";
- _bambiPlayer linkItem "ItemGPS";
- _bambiPlayer addWeapon "NVGoggles";
- //systemChat "Your rank is Supreme Overlord";
- };
- default
- {
- };
- };
- /////////////////////////////////////////////
- ///// Respect based loadouts end here /////
- /////////////////////////////////////////////
- if (getNumber(missionConfigFile >> "CfgSimulation" >> "enableDynamicSimulation") isEqualTo 1) then
- {
- if ((canTriggerDynamicSimulation _bambiPlayer) isEqualTo false) then
- {
- _bambiPlayer triggerDynamicSimulation true;
- _bambiPlayer enableDynamicSimulation true;
- };
- };
- _bambiPlayer addMPEventHandler ["MPKilled", {_this call ExileServer_object_player_event_onMpKilled}];
- if !(_escapeEnabled) then
- {
- _bambiPlayer call ExileServer_object_player_database_insert;
- _bambiPlayer call ExileServer_object_player_database_update;
- };
- [
- _sessionID,
- "createPlayerResponse",
- [
- _bambiPlayer,
- _parachuteNetID,
- str (_accountData select 0),
- (_accountData select 1),
- (_accountData select 2),
- 100,
- 100,
- 0,
- (getNumber (configFile >> "CfgSettings" >> "BambiSettings" >> "protectionDuration")) * 60,
- _clanData,
- _spawnType
- ]
- ]
- call ExileServer_system_network_send_to;
- if (_escapeEnabled) then
- {
- [
- _sessionID,
- "escapeVariables",
- [
- (_escapeAccountdata select 0),
- (_escapeAccountdata select 1)
- ]
- ]
- call ExileServer_system_network_send_to;
- };
- [_sessionID, _bambiPlayer] call ExileServer_system_session_update;
- true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement