-
Content count
123 -
Donations
0.00 EUR -
Joined
-
Last visited
Community Reputation
74 ExcellentAbout FallingSheep
-
Rank
Capo
Recent Profile Visitors
1731 profile views
-
what about a kick starter campaign to help fund the dev process and stuff?
-
Hey guys, Im afraid TERD is right, Due to personal/family issues i will no longer be coding for arma/exile as i simply cant put in the time and effort needed to maintain the repack. I wish to thank you all and apologise for for building hope about the repack. If someone wants to pick were i left they are more than welcome to. Regards, Fallingsheep
-
lucy2990 started following FallingSheep
-
Kingdom started following FallingSheep
-
sirbeni started following FallingSheep
-
FallingSheep started following Exile Nuke Script
-
try adding this to your init.sqf NUKEACTIVE = false; // DONT CHANGE! _daytime = daytime; _nuketimestart = 5.1; _nuketimeend = 5.15; if ((_daytime >= _nuketimestart) && (_daytime <= _nuketimeend)) then{ NUKEACTIVE = true; }; if (NUKEACTIVE) then{ [] execVM "nuke\nuke.sqf"; NUKEACTIVE = false; // RESET NUKE }; not tested but in theory it should work its messy yes but im at work and cant research this correctly
-
nuke ey.... i like it! i will have a mess around with it and see what i can do
-
...cause the forums hate me ive temp changed it to just plain text until i can fix the links
-
try changing if (_MAPNAME == "Altis") then{ to if (_MAPNAME = "Altis") then{ in initServer.sqf i have tested this a lot as im busy porting to the new build
-
updated mapcenter with bornholm coords and possible fix generic error in RPT
-
[Help please] Detect when X Player kills a target player
FallingSheep replied to FragZ's topic in Programming
ok so ive slapped this together (not tested so there may be errors) you need to set a UID for _killerID = ("guy who kills UID"); // Set killer UID here _victimID = ("guy to be killed UID"); // set victims UID here it will check UID and if the the killer kills the victim it only alert the killer it will set a variable for 10 seconds so other scripts can check if the victim was successfully killed and then resets it so it can be used again just replace the code in ExileServer_object_player_event_onMpKilled.sqf with the below (always backup first!) /** * ExileServer_object_player_event_onMpKilled * * Exile Mod * exile.majormittens.co.uk * © 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["_victim","_killer","_victimPosition","_addDeathStat","_addKillStat","_normalkill","_killerRespectPoints","_fragAttributes","_player","_grpvictim","_grpkiller","_log","_lastVictims","_victimUID", "_vehicleRole","_vehicle","_lastKillAt","_killStack","_distance","_distanceBonus","_flagNextToKiller","_homieBonus","_flagNextToVictim","_raidBonus","_overallRespectChange","_newKillerScore","_killMessage", "_newKillerFrags","_newVictimDeaths","_weapon","_txt","_pic"]; if (!isServer || hasInterface) exitWith {}; _victim = _this select 0; _killer = _this select 1; if( isNull _victim ) exitWith {}; _victim setVariable ["ExileDiedAt", time]; if !(isPlayer _victim) exitWith {}; _victimPosition = getPos _victim; format["insertPlayerHistory:%1:%2:%3:%4:%5", getPlayerUID _victim, name _victim, _victimPosition select 0, _victimPosition select 1, _victimPosition select 2] call ExileServer_system_database_query_fireAndForget; format["deletePlayer:%1", _victim getVariable ["ExileDatabaseId", -1]] call ExileServer_system_database_query_fireAndForget; _victim setVariable ["ExileIsDead", true]; _victim setVariable ["ExileName", name _victim, true]; _victim call ExileServer_object_flies_spawn; _addDeathStat = true; _addKillStat = true; _normalkill = true; _killerRespectPoints = []; _fragAttributes = []; // Announce kill to certain players only _killerID = ("guy who kills UID"); // Set killer UID here _killerUID = (_killer getplayerUID); _killerNAME = name _killer; _victimID = ("guy to be killed UID"); // set victims UID here _victimUID = (_victim getplayerUID); _victimNAME = name _victim; _message = format["<t color='#ff0000' size = '.8'>%1 Was Killed.",_victimNAME]; _announce = true; VICTIMKILLED = false; //variable can be accessed from other scripts if (( _killerUID == _killerID ) && ( _victimUID == _victimID )) then { _announce = false; // dont show kill globally VICTIMKILLED = true; [_Message,-1,-1,4,1,0,789] spawn BIS_fnc_dynamicText; sleep 10; // wait 10 seconds then reset VICTIMKILLED = false; }; if (_victim isEqualTo _killer) then { if(_announce)then{ ["systemChatRequest", [format["%1 commited suicide!", (name _victim)]]] call ExileServer_object_player_event_killFeed; }; } else { if (vehicle _victim isEqualTo _killer) then { if(_announce)then{ ["systemChatRequest", [format["%1 crashed to death!", (name _victim)]]] call ExileServer_object_player_event_killfeed; }; } else { if (isNull _killer) then { if(_announce)then{ ["systemChatRequest", [format["%1 died for an unknown reason!", (name _victim)]]] call ExileServer_object_player_event_killfeed; }; } else { _player = objNull; if (isPlayer _killer) then { if ((typeOf _killer) isEqualTo "Exile_Unit_Player") then { _player = _killer; } else { _uid = getPlayerUID _killer; { if ((getPlayerUID _x) isEqualTo _uid) exitWith { _player = _x; }; } forEach allPlayers; }; } else { if (isUAVConnected _killer) then { _player = (UAVControl _killer) select 0; }; }; if !(isNull _player) then { _killer = _player; if (_victim getVariable ["ExileIsBambi", false]) then { _addKillStat = false; _addDeathStat = false; _fragAttributes pushBack "Bambi Slayer"; _killerRespectPoints pushBack ["BAMBI SLAYER", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "bambi"))]; } else { _grpvictim = _victim getVariable ["ExileGroup",(group _victim)]; _grpkiller = _killer getVariable ["ExileGroup",(group _killer)]; if((_grpvictim isEqualTo _grpkiller)&&!(ExileGraveyardGroup isEqualTo _grpkiller))then { _log = format["%2 was team-killed by %1!", (name _killer), (name _victim)]; if(_announce)then{ ["systemChatRequest", [_log]] call ExileServer_object_player_event_killfeed; }; _fragAttributes pushBack "Teamkill"; _killerRespectPoints pushBack ["TEAMKILL", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "friendlyFire"))]; _normalkill = false; } else { _lastVictims = _killer getVariable ["ExileLastVictims", ["0", "1", "2"]]; _victimUID = _victim getVariable ["ExileOwnerUID", getPlayerUID _victim]; if (_victimUID in _lastVictims) then { _log = format["%1 keeps killing %2!", (name _killer), (name _victim)]; if(_announce)then{ ["systemChatRequest", [_log]] call ExileServer_object_player_event_killfeed; }; _fragAttributes pushBack "Domination"; _killerRespectPoints pushBack ["DOMINATION BONUS", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "domination"))]; } else { _lastVictims deleteAt 0; _lastVictims pushBack _victimUID; _killer setVariable ["ExileLastVictims", _lastVictims]; if ((vehicle _killer) isEqualTo _killer) then { if ((currentWeapon _killer) isEqualTo "Exile_Melee_Axe") then { _fragAttributes pushBack "Humiliation"; _killerRespectPoints pushBack ["HUMILIATION", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "humiliation"))]; } else { _killerRespectPoints pushBack ["ENEMY FRAGGED", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "standard"))]; }; } else { _vehicleRole = assignedVehicleRole _killer; switch (toLower (_vehicleRole select 0)) do { case "driver": { _vehicle = vehicle _killer; switch (true) do { case (_vehicle isKindOf "ParachuteBase"): { _fragAttributes pushBack "Chute > Chopper"; _killerRespectPoints pushBack ["CHUTE > CHOPPER", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "chuteGreaterChopper"))]; }; case (_vehicle isKindOf "Air"): { _fragAttributes pushBack "Big Bird"; _killerRespectPoints pushBack ["BIG BIRD", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "bigBird"))]; }; default { _fragAttributes pushBack "Road Kill"; _killerRespectPoints pushBack ["ROAD KILL", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "roadKill"))]; }; }; }; case "turret": { if ((currentWeapon _killer) isKindOf "StaticWeapon") then { _fragAttributes pushBack "Let it Rain"; _killerRespectPoints pushBack ["LET IT RAIN", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "letItRain"))]; } else { _fragAttributes pushBack "Mad Passenger"; _killerRespectPoints pushBack ["MAD PASSENGER", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "passenger"))]; }; }; default { _fragAttributes pushBack "Mad Passenger"; _killerRespectPoints pushBack ["MAD PASSENGER", (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Frags" >> "passenger"))]; }; }; }; }; }; }; if (_addKillStat) then { if(_normalkill)then { _lastKillAt = _killer getVariable ["ExileLastKillAt", 0]; _killStack = _killer getVariable ["ExileKillStack", 0]; _killStack = _killStack + 1; if (isNil "ExileServerHadFirstBlood") then { ExileServerHadFirstBlood = true; _fragAttributes pushBack "First Blood"; _killerRespectPoints pushBack ["FIRST BLOOD", getNumber (configFile >> "CfgSettings" >> "Respect" >> "Bonus" >> "firstBlood")]; } else { if (time - _lastKillAt < (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Bonus" >> "killStreakTimeout"))) then { _fragAttributes pushBack (format ["%1x Kill Streak", _killStack]); _killerRespectPoints pushBack [(format ["%1x KILL STREAK", _killStack]), _killStack * (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Bonus" >> "killStreak"))]; } else { _killStack = 1; }; }; _killer setVariable ["ExileKillStack", _killStack]; _killer setVariable ["ExileLastKillAt", time]; }; _distance = floor(_victim distance _killer); _fragAttributes pushBack (format ["%1m Distance", _distance]); _distanceBonus = (floor ((_distance min 3000) / 100)) * getNumber (configFile >> "CfgSettings" >> "Respect" >> "Bonus" >> "per100mDistance"); if (_distanceBonus > 0) then { _killerRespectPoints pushBack [(format ["%1m RANGE BONUS", _distance]), _distanceBonus]; }; _flagNextToKiller = _killer call ExileClient_util_world_getTerritoryAtPosition; if !(isNull _flagNextToKiller) then { if ((getPlayerUID _killer) in (_flagNextToKiller getVariable ["ExileTerritoryBuildRights", []])) then { _homieBonus = getNumber (configFile >> "CfgSettings" >> "Respect" >> "Bonus" >> "homie"); if (_homieBonus > 0) then { _fragAttributes pushBack "Homie"; _killerRespectPoints pushBack ["HOMIE BONUS", _homieBonus]; }; }; }; _flagNextToVictim = _victim call ExileClient_util_world_getTerritoryAtPosition; if !(isNull _flagNextToVictim) then { if ((getPlayerUID _victim) in (_flagNextToVictim getVariable ["ExileTerritoryBuildRights", []])) then { _raidBonus = getNumber (configFile >> "CfgSettings" >> "Respect" >> "Bonus" >> "raid"); if (_raidBonus > 0) then { _fragAttributes pushBack "Raid"; _killerRespectPoints pushBack ["RAID BONUS", _raidBonus]; }; }; }; }; _overallRespectChange = 0; { _overallRespectChange = _overallRespectChange + (_x select 1); } forEach _killerRespectPoints; _newKillerScore = _killer getVariable ["ExileScore", 0]; _newKillerScore = _newKillerScore + _overallRespectChange; _killer setVariable ["ExileScore", _newKillerScore]; format["setAccountScore:%1:%2", _newKillerScore,getPlayerUID _killer] call ExileServer_system_database_query_fireAndForget; if(_normalkill)then { _killMessage = format ["%1 was killed by %2", (name _victim), (name _killer)]; if !(count _fragAttributes isEqualTo 0) then { _killMessage = _killMessage + " (" + (_fragAttributes joinString ", ") + ")"; }; if(_announce)then{ ["systemChatRequest", [_killMessage]] call ExileServer_object_player_event_killfeed; }; if (_addKillStat isEqualTo true) then { _newKillerFrags = _killer getVariable ["ExileKills", 0]; _newKillerFrags = _newKillerFrags + 1; _killer setVariable ["ExileKills", _newKillerFrags]; format["addAccountKill:%1", getPlayerUID _killer] call ExileServer_system_database_query_fireAndForget; }; }; [_killer, "showFragRequest", [_killerRespectPoints]] call ExileServer_system_network_send_to; _killer call ExileServer_object_player_sendStatsUpdate; } else { if(_announce)then{ ["systemChatRequest", [format["%1 was killed by an NPC! (%2m Distance)", (name _victim), floor(_victim distance _killer)]]] call ExileServer_object_player_event_killfeed; }; }; }; }; }; if (_addDeathStat isEqualTo true) then { _newVictimDeaths = _victim getVariable ["ExileDeaths", 0]; _newVictimDeaths = _newVictimDeaths + 1; _victim setVariable ["ExileDeaths", _newVictimDeaths]; format["addAccountDeath:%1", getPlayerUID _victim] call ExileServer_system_database_query_fireAndForget; _victim call ExileServer_object_player_sendStatsUpdate; }; [_victim] joinSilent ExileGraveyardGroup; true -
ive updated the SQL entries theres now 4 files to run, give em a shot
-
Darkhound started following FallingSheep
-
ok first pass at multi map support is on git it should support the following maps with loot and traders Altis Bornholm Chernarus Al Rayak Sahrani Esseker There may be errors but its a lot of maps to download and test and my crappy adsl is taking ages lol BASIC INSTALL FOR TESTING rename mission.sqm.MAPNAME (remove the map name from the end) rename the folder Exile.Altis to Exile.MAPNAME (replace map name with actual mapname ) in ScriptControlClient.cpp change MAPNAME = "Altis" to MAPNAME = "MAPNAME " (replace map name with actual mapname ) traders should load based on map name, loot will spawn in buildings regardless of map name (i added every buildng loot pos from the internet i could find for everymap and removed double ups errors etc ) NEW SCRIPTS ADDED TODAY * GPS Check for Map Markers * Indestructible Bases * Respect Based Load Outs
-
i didnt write the orignal code just ported it over, i can try to fix the issues in it but cant guarantee anything as i have other projects that take priority at the moment
-
[Help please] Detect when X Player kills a target player
FallingSheep replied to FragZ's topic in Programming
no probs ill write a script to detec if a certain UID was killed by another UID and only message the killer it will most likey be an edited ExileServer_Object_Player_event_onMpKilled? -
im still asking for permissions, i sent you a PM but when i checked just now its not there o_O i better go back and check the others actually went out (dont send important messages over 2/g3g connection that drops constantly )
-
[Help please] Detect when X Player kills a target player
FallingSheep replied to FragZ's topic in Programming
ah now i get what you want since i like the idea of alerting just one player ill see if i can come up with a script for you. if you could tell me what you want the app to do/ display ill try get a test version together today for you -
[Help please] Detect when X Player kills a target player
FallingSheep replied to FragZ's topic in Programming
you could check by UID (very rough example not tested) _victimID = (guytobe killed UID ); _killerID = (guy who kills UID ); _killerUID = (_killer getplayerUID); _victimUID = (_victim getplayerUID); _WASKILLED = false; if (( _killerUID == _killerID ) && ( _victimUID == _victimID )) then { //message here / code here _WASKILLED = true; }; you would put this under _fragAttributes = []; in theroy this will work, there may be better ways to do it but this is simple and easy to implement it will still say to all he was killed but you could just add a boolean and have the main alert code check for it and if its true not send of the global message