Hey habe da nochmals eine Frage, ich habe Custom Gebäude gedownloadet habe sie auch eingefügt soweit zu gut klappt auch alles, Aber leider spawnt dort kein Loot?.
Habe schon einiges Probiert was man so im Internet finden kann, wie
GetCEApi().ExportProxyData( "7500 0 7500", 10000 ); //Center of map, radius of how far to go out and find buildings.
Zu setzen das der Server eine Datei erstellt leider passiert das nicht.
Beiträge von 3nrico96
-
-
-
Habe nun eine Mod heruntergeladen, Danke für den Tipp.
-
Hey habe mal eine Frage wie kann ich die Map Anzeigen lassen ohne eine Karte zu haben.
-
Eine Frage wenn ich den Jail Spawn ändern will anstatt den Marker "Jail_Maker" zu verwenden, lieber so ein Spawn wie bei den Cops verwenden.
spawnMarker = "knastspawn"; da ich derzeit das Problem habe das ich ein Prison auf den Wasser gemappt habe, Und sobald man jemand einsperrt er im Wasser spawnt.Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_jail.sqf Author: Bryan "Tonic" Boardwine Description: Starts the initial process of jailing. */ private ["_illegalItems"]; params [ ["_unit",objNull,[objNull]], ["_bad",false,[false]] ]; if (isNull _unit) exitWith {}; //Dafuq? if !(_unit isEqualTo player) exitWith {}; //Dafuq? if (life_is_arrested) exitWith {}; //Dafuq i'm already arrested _illegalItems = LIFE_SETTINGS(getArray,"jail_seize_vItems"); player setVariable ["restrained",false,true]; player setVariable ["Escorting",false,true]; player setVariable ["transporting",false,true]; titleText[localize "STR_Jail_Warn","PLAIN"]; hint localize "STR_Jail_LicenseNOTF"; player setPos (getMarkerPos "jail_marker"); if (_bad) then { waitUntil {alive player}; sleep 1; }; //Check to make sure they goto check //if (player distance (getMarkerPos "jail_marker") > 40) then { // player setPos (getMarkerPos "jail_marker"); //}; [1] call life_fnc_removeLicenses; { _amount = ITEM_VALUE(_x); if (_amount > 0) then { [false,_x,_amount] call life_fnc_handleInv; }; } forEach _illegalItems; life_is_arrested = true; if (LIFE_SETTINGS(getNumber,"jail_seize_inventory") isEqualTo 1) then { [] spawn life_fnc_seizeClient; } else { removeAllWeapons player; {player removeMagazine _x} forEach (magazines player); }; if (life_HC_isActive) then { [player,_bad] remoteExecCall ["HC_fnc_jailSys",HC_Life]; } else { [player,_bad] remoteExecCall ["life_fnc_jailSys",RSERV]; }; [5] call SOCK_fnc_updatePartial;
-
Hey habe eine Frage und zwar habe ich eine Plattform auf der Tanoa Map im Wasser gebaut, habe den Marker von Tanoa 5.0 für den Spawn dorthin verschoben, aber leider spawnt er im Wasser statt auf der Plattform. Wie kann ich es am besten ändern?.
-
Habe das Problem das ich mein Haus verkaufe ? noch jemand das Problem?
-
heißen die bei euch auch life_coplevel?
Ja , habe das Tanoa 5.0 Script.
-
6 und medic 5
-
erster fehler ist das du die falsche init genommen hast musst die im life_server nehmen:D
Ist die von life_server.
-
Hier sind die Logs wie gewünscht
-
Makerzones
Code
Alles anzeigenparams [ ["_unit",ObjNull,[ObjNull]] ,["_side","cop",[""]] ,["_timer",15,[0]] ,["_mode",0,[0]] ]; private _pos = getpos _unit; private _pid = getplayeruid _unit; private _markername1 = ""; private _markername2 = ""; private _mcolor = "ColorBlue"; private _mtext = "Polizei Sperrgebiet!"; if (_mode isEqualTo 0) then { { if ((_x select 2) isEqualTo _pid) exitWith {_mode =1}; } foreach life_markerzones; }; if (_mode isEqualTo 1) exitWith { { _x params ["_markers","_time","_uid"]; if (_uid isEqualTo _pid) then { {deletemarker _x;} foreach _markers; life_markerzones deleteat _foreachindex; }; } foreach life_markerzones; }; if (_side isEqualTo "cop") then { _mcolor = "ColorBlue"; _mtext = "Polizei Sperrgebiet!"; }; if (_side isEqualTo "med") then { _mcolor = "ColorYellow"; _mtext = "Gefahrenzone!"; }; private _time = time + (_timer * 60); diag_log format ["Time: %1, Timer: %2", time, _time]; _markername1 = format["marker1_%1",_time]; _markername2 = format["marker2_%1",_time]; _marker = createMarker [_markername1, [_pos select 0, _pos select 1, 0]]; _marker setMarkerShape "ELLIPSE"; _marker setMarkerSize [200, 200]; _marker setMarkerBrush "SOLID"; _marker setMarkerColor _mcolor; _marker2 = createMarker [_markername2, [_pos select 0, _pos select 1, 0]]; _marker2 setMarkerColor "ColorBlack"; _marker2 setMarkerType "mil_warning"; _marker2 setMarkerShape "ICON"; _marker2 setMarkerSize [1,1]; _marker2 setMarkerText _mtext; life_markerzones pushback [[_marker,_marker2],_time,_pid]; systemChat format ["Zone erstellt von : %1",name player];
Functions.hpp
Code
Alles anzeigenclass Socket_Reciever { tag = "SOCK"; class SQL_Socket { file = "core\session"; class dataQuery {}; class insertPlayerInfo {}; class requestReceived {}; class syncData {}; class updatePartial {}; class updateRequest {}; }; }; class SpyGlass { tag = "SPY"; class Functions { file = "SpyGlass"; class cookieJar{}; class notifyAdmins{}; class observe{}; }; }; class Life_Client_Core { tag = "life"; class Master_Directory { file = "core"; class initCiv {}; class initCop {}; class initMedic {}; class setupActions {}; class setupEVH {}; class survival {}; class welcomeNotification {}; }; class Actions { file = "core\actions"; class arrestAction {}; class buyLicense {}; class captureHideout {}; class catchFish {}; class dpFinish {}; class dropFishingNet {}; class escortAction {}; class gather {}; class getDPMission {}; class gutAnimal {}; class healHospital {}; class impoundAction {}; class mine {}; class newsBroadcast {}; class packupSpikes {}; class pickupItem {}; class pickupMoney {}; class postBail {}; class processAction {}; class pulloutAction {}; class putInCar {}; class removeContainer {}; class repairTruck {}; class restrainAction {}; class robAction {}; class searchAction {}; class searchVehAction {}; class seizePlayerAction {}; class serviceChopper {}; class stopEscorting {}; class storeVehicle {}; class surrender {}; class ticketAction {}; class unrestrain {}; }; class Admin { file = "core\admin"; class adminCompensate {}; class adminDebugCon {}; class adminFreeze {}; class admingetID {}; class adminGodMode {}; class adminid {}; class admininfo {}; class adminMarkers {}; class adminMenu {}; class adminQuery {}; class adminSpectate {}; class adminTeleport {}; class adminTpHere {}; }; class Civilian { file = "core\civilian"; class civMarkers {}; class demoChargeTimer {}; class freezePlayer {}; class jail {}; class jailMe {}; class knockedOut {}; class knockoutAction {}; class removeLicenses {}; class robPerson {}; class robReceive {}; class tazed {}; }; class Config { file = "core\config"; class houseConfig {}; class itemWeight {}; class vehicleAnimate {}; class vehicleWeightCfg {}; }; class Cop { file = "core\cop"; class bountyReceive {}; class containerInvSearch {}; class copInteractionMenu {}; class copLights {}; class copMarkers {}; class copSearch {}; class copSiren {}; class doorAnimate {}; class fedCamDisplay {}; class licenseCheck {}; class licensesRead {}; class questionDealer {}; class radar {}; class repairDoor {}; class restrain {}; class searchClient {}; class seizeClient {}; class sirenLights {}; class spikeStripEffect {}; class ticketGive {}; class ticketPaid {}; class ticketPay {}; class ticketPrompt {}; class vehInvSearch {}; class wantedGrab {}; class copzoneMarkers {}; class receiveDealer {}; }; class Dialog_Controls { file = "dialog\function"; class bankDeposit {}; class bankTransfer {}; class bankWithdraw {}; class displayHandler {}; class gangBankResponse {}; class garageLBChange {}; class impoundMenu {}; class progressBar {}; class safeFix {}; class safeInventory {}; class safeOpen {}; class safeTake {}; class sellGarage {}; class setMapPosition {}; class spawnConfirm {}; class spawnMenu {}; class spawnPointCfg {}; class spawnPointSelected {}; class unimpound {}; class useGangBank {}; class vehicleGarage {}; class wireTransfer {}; }; class DynMarket { file = "core\DynMarket"; class bought {}; class update {}; class DisplayPrices {}; class LoadIntoListbox {}; class ForcePrice {}; class DYNMARKET_getPrice {}; }; class scriptVente { file = "scriptVente"; class receivedVeh {}; class returnVente {}; class venteVeh {}; }; class Functions { file = "core\functions"; class AAN {}; class accType {}; class actionKeyHandler {}; class animSync {}; class calWeightDiff {}; class checkMap {}; class clearVehicleAmmo {}; class dropItems {}; class escInterupt {}; class fetchCfgDetails {}; class fetchDeadGear {}; class fetchVehInfo {}; class isDamaged {}; class giveDiff {}; class handleDamage {}; class handleInv {}; class handleItem {}; class hideObj {}; class hudSetup {}; class hudUpdate {}; class inventoryClosed {}; class inventoryOpened {}; class isUIDActive {}; class keyHandler {}; class loadDeadGear {}; class loadGear {}; class nearATM {}; class nearestDoor {}; class nearUnits {}; class numberText {}; class onFired {}; class onTakeItem {}; class playerSkins {}; class playerTags {}; class postNewsBroadcast {}; class pullOutVeh {}; class pushObject {}; class receiveItem {}; class receiveMoney {}; class revealObjects {}; class saveGear {}; class simDisable {}; class startLoadout {}; class stripDownPlayer {}; class teleport {}; class whereAmI {}; class moveIn {}; class radArea {}; class robstore {}; }; class Gangs { file = "core\gangs"; class createGang {}; class gangCreated {}; class gangDisband {}; class gangDisbanded {}; class gangInvite {}; class gangInvitePlayer {}; class gangKick {}; class gangLeave {}; class gangMenu {}; class gangNewLeader {}; class gangUpgrade {}; class initGang {}; }; class Housing { file = "core\housing"; class buyHouse {}; class buyHouseGarage {}; class containerMenu {}; class copBreakDoor {}; class copHouseOwner {}; class garageRefund {}; class getBuildingPositions {}; class houseMenu {}; class initHouses {}; class lightHouse {}; class lightHouseAction {}; class lockHouse {}; class lockupHouse {}; class placeContainer {}; class PlayerInBuilding {}; class raidHouse {}; class sellHouse {}; class sellHouseGarage {}; }; class Items { file = "core\items"; class blastingCharge {}; class boltcutter {}; class defuseKit {}; class flashbang {}; class jerrycanRefuel {}; class jerryRefuel {}; class lockpick {}; class placestorage {}; class spikeStrip {}; class storageBox {}; }; class Medical_System { file = "core\medical"; class deathScreen {}; class medicLights {}; class medicMarkers {}; class medicRequest {}; class medicSiren {}; class medicSirenLights {}; class onPlayerKilled {}; class onPlayerRespawn {}; class requestMedic {}; class respawned {}; class revived {}; class revivePlayer {}; }; class Network { file = "core\functions\network"; class broadcast {}; class corpse {}; class jumpFnc {}; class say3D {}; class setFuel {}; class soundDevice {}; }; class Player_Menu { file = "core\pmenu"; class cellphone {}; class giveItem {}; class giveMoney {}; class keyDrop {}; class keyGive {}; class keyMenu {}; class p_openMenu {}; class p_updateMenu {}; class pardon {}; class removeItem {}; class s_onChar {}; class s_onCheckedChange {}; class s_onSliderChange {}; class settingsMenu {}; class updateViewDistance {}; class useItem {}; class wantedAddP {}; class wantedInfo {}; class wantedList {}; class wantedMenu {}; }; class Shops { file = "core\shops"; class 3dPreviewDisplay {}; class 3dPreviewExit {}; class 3dPreviewInit {}; class atmMenu {}; class buyClothes {}; class changeClothes {}; class chopShopMenu {}; class chopShopSelection {}; class chopShopSell {}; class chopShopSold {}; class clothingFilter {}; class clothingMenu {}; class fuelLBchange {}; class fuelStatOpen {}; class levelCheck {}; class vehicleShopBuy {}; class vehicleShopLBChange {}; class vehicleShopMenu {}; class virt_buy {}; class virt_menu {}; class virt_sell {}; class virt_update {}; class weaponShopAccs {}; class weaponShopBuySell {}; class weaponShopFilter {}; class weaponShopMags {}; class weaponShopMenu {}; class weaponShopSelection {}; }; class Vehicle { file = "core\vehicle"; class addVehicle2Chain {}; class colorVehicle {}; class deviceMine {}; class FuelRefuelcar {}; class fuelStore {}; class fuelSupply {}; class lockVehicle {}; class openInventory {}; class vehiclecolor3DRefresh {}; class vehicleOwners {}; class vehicleWeight {}; class vehInventory {}; class vehStoreItem {}; class vehTakeItem {}; class vInteractionMenu {}; }; };
Init
Code
Alles anzeigen#include "script_macros.hpp" /* File: init.sqf Author: Bryan "Tonic" Boardwine Edit: Nanou for HeadlessClient optimization. Please read support for more informations. Description: Initialize the server and required systems. */ private ["_dome","_rsb","_timeStamp","_extDBNotLoaded"]; DB_Async_Active = false; DB_Async_ExtraLock = false; life_server_isReady = false; _extDBNotLoaded = ""; serv_sv_use = []; publicVariable "life_server_isReady"; life_save_civilian_position = if (LIFE_SETTINGS(getNumber,"save_civilian_position") isEqualTo 0) then {false} else {true}; fn_whoDoneIt = compile preprocessFileLineNumbers "\life_server\Functions\Systems\fn_whoDoneIt.sqf"; /* Prepare the headless client. */ life_HC_isActive = false; publicVariable "life_HC_isActive"; HC_Life = false; publicVariable "HC_Life"; if (EXTDB_SETTING(getNumber,"HeadlessSupport") isEqualTo 1) then { [] execVM "\life_server\initHC.sqf"; }; /* Prepare extDB before starting the initialization process for the server. */ if (isNil {uiNamespace getVariable "life_sql_id"}) then { life_sql_id = round(random(9999)); CONSTVAR(life_sql_id); uiNamespace setVariable ["life_sql_id",life_sql_id]; try { _result = EXTDB format ["9:ADD_DATABASE:%1",EXTDB_SETTING(getText,"DatabaseName")]; if (!(_result isEqualTo "[1]")) then {throw "extDB3: Error with Database Connection"}; _result = EXTDB format ["9:ADD_DATABASE_PROTOCOL:%2:SQL:%1:TEXT2",FETCH_CONST(life_sql_id),EXTDB_SETTING(getText,"DatabaseName")]; if (!(_result isEqualTo "[1]")) then {throw "extDB3: Error with Database Connection"}; } catch { diag_log _exception; _extDBNotLoaded = [true, _exception]; }; if (_extDBNotLoaded isEqualType []) exitWith {}; EXTDB "9:LOCK"; diag_log "extDB3: Connected to Database"; } else { life_sql_id = uiNamespace getVariable "life_sql_id"; CONSTVAR(life_sql_id); diag_log "extDB3: Still Connected to Database"; }; if (_extDBNotLoaded isEqualType []) exitWith { life_server_extDB_notLoaded = true; publicVariable "life_server_extDB_notLoaded"; }; life_server_extDB_notLoaded = false; publicVariable "life_server_extDB_notLoaded"; /* Run stored procedures for SQL side cleanup */ ["CALL resetLifeVehicles",1] call DB_fnc_asyncCall; ["CALL deleteDeadVehicles",1] call DB_fnc_asyncCall; ["CALL deleteOldHouses",1] call DB_fnc_asyncCall; ["CALL deleteOldGangs",1] call DB_fnc_asyncCall; _timeStamp = diag_tickTime; diag_log "----------------------------------------------------------------------------------------------------"; diag_log "---------------------------------- Starting Altis Life Server Init ---------------------------------"; diag_log format["------------------------------------------ Version %1 -------------------------------------------",(LIFE_SETTINGS(getText,"framework_version"))]; diag_log "----------------------------------------------------------------------------------------------------"; if (LIFE_SETTINGS(getNumber,"save_civilian_position_restart") isEqualTo 1) then { [] spawn { _query = "UPDATE players SET civ_alive = '0' WHERE civ_alive = '1'"; [_query,1] call DB_fnc_asyncCall; }; }; /* Map-based server side initialization. */ master_group attachTo[bank_obj,[0,0,0]]; { if (!isPlayer _x) then { _npc = _x; { if (_x != "") then { _npc removeWeapon _x; }; } forEach [primaryWeapon _npc,secondaryWeapon _npc,handgunWeapon _npc]; }; } forEach allUnits; [8,true,12] execFSM "\life_server\FSM\timeModule.fsm"; life_adminLevel = 0; life_medicLevel = 0; life_copLevel = 0; CONST(JxMxE_PublishVehicle,"false"); /* Setup radio channels for west/independent/civilian */ life_radio_west = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []]; life_radio_civ = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []]; life_radio_indep = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []]; /* Set the amount of gold in the federal reserve at mission start */ fed_bank setVariable ["safe",count playableUnits,true]; [] spawn TON_fnc_federalUpdate; /* Event handler for disconnecting players */ addMissionEventHandler ["HandleDisconnect",{_this call TON_fnc_clientDisconnect; false;}]; [] call compile preprocessFileLineNumbers "\life_server\functions.sqf"; /* Set OwnerID players for Headless Client */ TON_fnc_requestClientID = { (_this select 1) setVariable ["life_clientID", owner (_this select 1), true]; }; "life_fnc_RequestClientId" addPublicVariableEventHandler TON_fnc_requestClientID; /* Event handler for logs */ "money_log" addPublicVariableEventHandler {diag_log (_this select 1)}; "advanced_log" addPublicVariableEventHandler {diag_log (_this select 1)}; /* Miscellaneous mission-required stuff */ life_wanted_list = []; cleanupFSM = [] execFSM "\life_server\FSM\cleanup.fsm"; //Remove old dealer entries { [2,_x,objNull,0] call DB_fnc_shops; true } count ["Dealer_2"]; [] spawn TON_fnc_initHouses; cleanup = [] spawn TON_fnc_cleanup; TON_fnc_playtime_values = []; TON_fnc_playtime_values_request = []; //Just incase the Headless Client connects before anyone else publicVariable "TON_fnc_playtime_values"; publicVariable "TON_fnc_playtime_values_request"; /* Setup the federal reserve building(s) */ private _vaultHouse = [[["Altis", "Land_Research_house_V1_F"], ["Tanoa", "Land_Medevac_house_V1_F"]]] call TON_fnc_terrainSort; private _altisArray = [16019.5,16952.9,0]; private _tanoaArray = [11074.2,11501.5,0.00137329]; private _pos = [[["Altis", _altisArray], ["Tanoa", _tanoaArray]]] call TON_fnc_terrainSort; _dome = nearestObject [_pos,"Land_Dome_Big_F"]; _rsb = nearestObject [_pos,_vaultHouse]; for "_i" from 1 to 3 do {_dome setVariable [format ["bis_disabled_Door_%1",_i],1,true]; _dome animateSource [format ["Door_%1_source", _i], 0];}; _dome setVariable ["locked",true,true]; _rsb setVariable ["locked",true,true]; _rsb setVariable ["bis_disabled_Door_1",1,true]; _dome allowDamage false; _rsb allowDamage false; /* Tell clients that the server is ready and is accepting queries */ life_server_isReady = true; publicVariable "life_server_isReady"; /* Initialize hunting zone(s) */ aiSpawn = ["hunting_zone",30] spawn TON_fnc_huntingZone; server_corpses = []; addMissionEventHandler ["EntityRespawned", {_this call TON_fnc_entityRespawned}]; // Start DynMarket [] execVM "\life_server\Functions\DynMarket\fn_config.sqf"; life_markerzones = []; 0 spawn { for "_i" from 0 to 1 step 0 do { uiSleep (1 * 60); { if (time >= _x select 1) then { {deleteMarker _x select 0} foreach (_x select 0); life_markerzones deleteat _foreachindex; }; } forEach life_markerzones; }; }; diag_log "----------------------------------------------------------------------------------------------------"; diag_log format [" End of Altis Life Server Init :: Total Execution Time %1 seconds ",(diag_tickTime) - _timeStamp]; diag_log "----------------------------------------------------------------------------------------------------";
-
Keyhandler
Code
Alles anzeigen#include "..\..\script_macros.hpp" /* * File: fn_keyHandler.sqf * Author: Bryan "Tonic" Boardwine * * Description: * Main key handler for event 'keyDown'. */ params [ "_ctrl", "_code", "_shift", "_ctrlKey", "_alt" ]; private _speed = speed cursorObject; private _handled = false; private _interactionKey = if (actionKeys "User10" isEqualTo []) then {219} else {(actionKeys "User10") select 0}; private _interruptionKeys = [17, 30, 31, 32]; //A,S,W,D //Vault handling... if ((_code in (actionKeys "GetOver") || _code in (actionKeys "salute") || _code in (actionKeys "SitDown") || _code in (actionKeys "Throw") || _code in (actionKeys "GetIn") || _code in (actionKeys "GetOut") || _code in (actionKeys "Fire") || _code in (actionKeys "ReloadMagazine") || _code in [16,18]) && ((player getVariable ["restrained",false]) || (player getVariable ["playerSurrender",false]) || life_isknocked || life_istazed)) exitWith { true; }; if (life_action_inUse) exitWith { if (!life_interrupted && _code in _interruptionKeys) then {life_interrupted = true}; _handled; }; //Hotfix for Interaction key not being able to be bound on some operation systems. if (!(actionKeys "User10" isEqualTo []) && {(inputAction "User10" > 0)}) exitWith { //Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10) if (!life_action_inUse) then { [] spawn { private _handle = [] spawn life_fnc_actionKeyHandler; waitUntil {scriptDone _handle}; life_action_inUse = false; }; }; true; }; if (life_container_active) exitwith { //ignore movement actions private _allowedMoves = [ "MoveForward", "MoveBack", "TurnLeft", "TurnRight", "MoveFastForward", "MoveSlowForward", "turbo", "TurboToggle", "MoveLeft", "MoveRight", "WalkRunTemp", "WalkRunToggle", "AdjustUp", "AdjustDown", "AdjustLeft", "AdjustRight", "Stand", "Crouch", "Prone", "MoveUp", "MoveDown", "LeanLeft", "LeanLeftToggle", "LeanRight", "LeanRightToggle" ]; if (({_code in (actionKeys _x)} count _allowedMoves) > 0) exitwith { false; }; //handle other keys if (_code isEqualTo 57) then {//space key -> place life_storagePlacing = 0 spawn life_fnc_placestorage; } else { //other keys -> abort if (!isNull life_storagePlacing) exitWith {}; //already placing down a box if (!isNull life_container_activeObj) then { deleteVehicle life_container_activeObj; titleText [localize "STR_NOTF_PlaceContainerAbort", "PLAIN"]; }; life_container_active = false; }; true; }; switch (_code) do { // -- Disable commander/tactical view if (LIFE_SETTINGS(getNumber,"disableCommanderView") isEqualTo 1) then { private _CommandMode = actionKeys "tacticalView"; if (_code in _CommandMode) then { hint localize "STR_NOTF_CommanderView"; _handled = true; }; }; //Space key for Jumping case 57: { if (isNil "jumpActionTime") then {jumpActionTime = 0;}; if (_shift && {!(animationState player isEqualTo "AovrPercMrunSrasWrflDf")} && {isTouchingGround player} && {stance player isEqualTo "STAND"} && {speed player > 2} && {!life_is_arrested} && {((velocity player) select 2) < 2.5} && {time - jumpActionTime > 1.5}) then { jumpActionTime = time; //Update the time. [player] remoteExec ["life_fnc_jumpFnc",RANY]; //Global execution _handled = true; }; }; //Surrender (Shift + B) case 48: { if (_shift) then { if (player getVariable ["playerSurrender",false]) then { player setVariable ["playerSurrender",false,true]; } else { [] spawn life_fnc_surrender; }; _handled = true; }; }; //Holster / recall weapon. (Shift + H) case 35: { if (_shift && !_ctrlKey && !(currentWeapon player isEqualTo "")) then { life_curWep_h = currentWeapon player; player action ["SwitchWeapon", player, player, 100]; player switchCamera cameraView; }; if (!_shift && _ctrlKey && !isNil "life_curWep_h" && {!(life_curWep_h isEqualTo "")}) then { if (life_curWep_h in [primaryWeapon player,secondaryWeapon player,handgunWeapon player]) then { player selectWeapon life_curWep_h; }; }; }; //Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10) case _interactionKey: { if (!life_action_inUse) then { [] spawn { private _handle = [] spawn life_fnc_actionKeyHandler; waitUntil {scriptDone _handle}; life_action_inUse = false; }; }; }; //Restraining (Shift + R) case 19: { if (_shift) then {_handled = true}; if (_shift && playerSide isEqualTo west && {!isNull cursorObject} && {cursorObject isKindOf "CAManBase"} && {(isPlayer cursorObject)} && {(side cursorObject in [civilian,independent])} && {alive cursorObject} && {cursorObject distance player < 3.5} && {!(cursorObject getVariable "Escorting")} && {!(cursorObject getVariable "restrained")} && {speed cursorObject < 1}) then { [] call life_fnc_restrainAction; }; }; //Knock out, this is experimental and yeah... (Shift + G) case 34: { if (_shift) then {_handled = true}; if (_shift && playerSide isEqualTo civilian && !isNull cursorObject && cursorObject isKindOf "CAManBase" && isPlayer cursorObject && alive cursorObject && cursorObject distance player < 4 && speed cursorObject < 1) then { if ((animationState cursorObject) != "Incapacitated" && (currentWeapon player == primaryWeapon player || currentWeapon player == handgunWeapon player) && currentWeapon player != "" && !life_knockout && !(player getVariable ["restrained",false]) && !life_istazed && !life_isknocked) then { [cursorObject] spawn life_fnc_knockoutAction; }; }; }; //T Key (Trunk) case 20: { if (!_alt && {!_ctrlKey} && {!dialog} && {!life_action_inUse} && {!(player getVariable ["playerSurrender",false])} && {!(player getVariable ["restrained",false])} && {!life_isknocked} && {!life_istazed}) then { if (!(isNull objectParent player) && alive vehicle player) then { if ((vehicle player) in life_vehicles) then { [vehicle player] spawn life_fnc_openInventory; }; } else { private "_list"; _list = ((ASLtoATL (getPosASL player)) nearEntities [["Box_IND_Grenades_F","B_supplyCrate_F"], 2.5]) select 0; if (!(isNil "_list")) then { _house = nearestObject [(ASLtoATL (getPosASL _list)), "House"]; if (_house getVariable ["locked", false]) then { hint localize "STR_House_ContainerDeny"; } else { [_list] spawn life_fnc_openInventory; }; } else { _list = ["landVehicle","Air","Ship"]; if (KINDOF_ARRAY(cursorObject,_list) && {player distance cursorObject < 7} && {isNull objectParent player} && {alive cursorObject} && {!life_action_inUse}) then { if (cursorObject in life_vehicles || {locked cursorObject isEqualTo 0}) then { [cursorObject] spawn life_fnc_openInventory; }; }; }; }; }; }; //L Key? case 38: { //If cop run checks for turning lights on. if (_shift && playerSide in [west,independent]) then { if (!(isNull objectParent player) && (typeOf vehicle player) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_sport_F","B_Heli_Light_01_F","B_Heli_Transport_01_F"]) then { if (!isNil {vehicle player getVariable "lights"}) then { if (playerSide isEqualTo west) then { [vehicle player] call life_fnc_sirenLights; } else { [vehicle player] call life_fnc_medicSirenLights; }; _handled = true; }; }; }; if (!_alt && !_ctrlKey) then { [] call life_fnc_radar; }; }; //Y Player Menu case 21: { if (!_alt && !_ctrlKey && !dialog && !(player getVariable ["restrained",false]) && {!life_action_inUse}) then { [] call life_fnc_p_openMenu; }; }; //F Key case 33: { if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren_active} && {((driver vehicle player) == player)}) then { [] spawn { life_siren_active = true; sleep 4.7; life_siren_active = false; }; private _veh = vehicle player; if (isNil {_veh getVariable "siren"}) then {_veh setVariable ["siren",false,true];}; if ((_veh getVariable "siren")) then { titleText [localize "STR_MISC_SirensOFF","PLAIN"]; _veh setVariable ["siren",false,true]; if !(isNil {(_veh getVariable "sirenJIP")}) then { private _jip = _veh getVariable "sirenJIP"; _veh setVariable ["sirenJIP",nil,true]; remoteExec ["",_jip]; //remove from JIP queue }; } else { titleText [localize "STR_MISC_SirensON","PLAIN"]; _veh setVariable ["siren",true,true]; private "_jip"; if (playerSide isEqualTo west) then { _jip = [_veh] remoteExec ["life_fnc_copSiren",RCLIENT,true]; } else { _jip = [_veh] remoteExec ["life_fnc_medicSiren",RCLIENT,true]; }; _veh setVariable ["sirenJIP",_jip,true]; }; }; }; //O Key case 24: { if (_shift) then { if !(soundVolume isEqualTo 1) then { 1 fadeSound 1; systemChat localize "STR_MISC_soundnormal"; } else { 1 fadeSound 0.1; systemChat localize "STR_MISC_soundfade"; }; }; }; //Sperrzone case 209: { if((_shift)&&(_alt))then{ [] spawn life_fnc_copzoneMarkers; } }; //U Key case 22: { if (!_alt && !_ctrlKey) then { private _veh = if (isNull objectParent player) then { cursorObject; } else { vehicle player; }; if (_veh isKindOf "House_F" && {playerSide isEqualTo civilian}) then { if (_veh in life_vehicles && {player distance _veh < 20}) then { private _door = [_veh] call life_fnc_nearestDoor; if (_door isEqualTo 0) exitWith {hint localize "STR_House_Door_NotNear"}; private _locked = _veh getVariable [format ["bis_disabled_Door_%1",_door],0]; if (_locked isEqualTo 0) then { _veh setVariable [format ["bis_disabled_Door_%1",_door],1,true]; _veh animateSource [format ["Door_%1_source", _door], 0]; systemChat localize "STR_House_Door_Lock"; } else { _veh setVariable [format ["bis_disabled_Door_%1",_door],0,true]; _veh animateSource [format ["Door_%1_source", _door], 1]; systemChat localize "STR_House_Door_Unlock"; }; }; } else { private _locked = locked _veh; if (_veh in life_vehicles && {player distance _veh < 20}) then { if (_locked isEqualTo 2) then { if (local _veh) then { _veh lock 0; // BI _veh animateDoor ["door_back_R",1]; _veh animateDoor ["door_back_L",1]; _veh animateDoor ['door_R',1]; _veh animateDoor ['door_L',1]; _veh animateDoor ['Door_L_source',1]; _veh animateDoor ['Door_rear',1]; _veh animateDoor ['Door_rear_source',1]; _veh animateDoor ['Door_1_source',1]; _veh animateDoor ['Door_2_source',1]; _veh animateDoor ['Door_3_source',1]; _veh animateDoor ['Door_LM',1]; _veh animateDoor ['Door_RM',1]; _veh animateDoor ['Door_LF',1]; _veh animateDoor ['Door_RF',1]; _veh animateDoor ['Door_LB',1]; _veh animateDoor ['Door_RB',1]; _veh animateDoor ['DoorL_Front_Open',1]; _veh animateDoor ['DoorR_Front_Open',1]; _veh animateDoor ['DoorL_Back_Open',1]; _veh animateDoor ['DoorR_Back_Open ',1]; } else { [_veh,0] remoteExecCall ["life_fnc_lockVehicle",_veh]; _veh animateDoor ["door_back_R",1]; _veh animateDoor ["door_back_L",1]; _veh animateDoor ['door_R',1]; _veh animateDoor ['door_L',1]; _veh animateDoor ['Door_L_source',1]; _veh animateDoor ['Door_rear',1]; _veh animateDoor ['Door_rear_source',1]; _veh animateDoor ['Door_1_source',1]; _veh animateDoor ['Door_2_source',1]; _veh animateDoor ['Door_3_source',1]; _veh animateDoor ['Door_LM',1]; _veh animateDoor ['Door_RM',1]; _veh animateDoor ['Door_LF',1]; _veh animateDoor ['Door_RF',1]; _veh animateDoor ['Door_LB',1]; _veh animateDoor ['Door_RB',1]; _veh animateDoor ['DoorL_Front_Open',1]; _veh animateDoor ['DoorR_Front_Open',1]; _veh animateDoor ['DoorL_Back_Open',1]; _veh animateDoor ['DoorR_Back_Open ',1]; }; systemChat localize "STR_MISC_VehUnlock"; [_veh,"unlockCarSound",50,1] remoteExec ["life_fnc_say3D",RANY]; } else { if (local _veh) then { _veh lock 2; _veh animateDoor ["door_back_R",0]; _veh animateDoor ["door_back_L",0]; _veh animateDoor ['door_R',0]; _veh animateDoor ['door_L',0]; _veh animateDoor ['Door_L_source',0]; _veh animateDoor ['Door_rear',0]; _veh animateDoor ['Door_rear_source',0]; _veh animateDoor ['Door_1_source',0]; _veh animateDoor ['Door_2_source',0]; _veh animateDoor ['Door_3_source',0]; _veh animateDoor ['Door_LM',0]; _veh animateDoor ['Door_RM',0]; _veh animateDoor ['Door_LF',0]; _veh animateDoor ['Door_RF',0]; _veh animateDoor ['Door_LB',0]; _veh animateDoor ['Door_RB',0]; _veh animateDoor ['DoorL_Front_Open',0]; _veh animateDoor ['DoorR_Front_Open',0]; _veh animateDoor ['DoorL_Back_Open',0]; _veh animateDoor ['DoorR_Back_Open ',0]; } else { [_veh,2] remoteExecCall ["life_fnc_lockVehicle",_veh]; _veh animateDoor ["door_back_R",0]; _veh animateDoor ["door_back_L",0]; _veh animateDoor ['door_R',0]; _veh animateDoor ['door_L',0]; _veh animateDoor ['Door_L_source',0]; _veh animateDoor ['Door_rear',0]; _veh animateDoor ['Door_rear_source',0]; _veh animateDoor ['Door_1_source',0]; _veh animateDoor ['Door_2_source',0]; _veh animateDoor ['Door_3_source',0]; _veh animateDoor ['Door_LM',0]; _veh animateDoor ['Door_RM',0]; _veh animateDoor ['Door_LF',0]; _veh animateDoor ['Door_RF',0]; _veh animateDoor ['Door_LB',0]; _veh animateDoor ['Door_RB',0]; _veh animateDoor ['DoorL_Front_Open',0]; _veh animateDoor ['DoorR_Front_Open',0]; _veh animateDoor ['DoorL_Back_Open',0]; _veh animateDoor ['DoorR_Back_Open ',0]; }; systemChat localize "STR_MISC_VehLock"; [_veh,"lockCarSound",50,1] remoteExec ["life_fnc_say3D",RANY]; }; }; }; }; }; }; _handled;
-
CfgRemoteExec
Code
Alles anzeigen#define F(NAME,TARGET) class NAME { \ allowedTargets = TARGET; \ }; #define JIP(NAME,TARGET) class NAME { \ allowedTargets = TARGET; \ jip = 1; \ }; #define ANYONE 0 #define CLIENT 1 #define SERVER 2 #define HC HC_Life class CfgRemoteExec { class Functions { mode = 1; jip = 0; /* Client only functions */ F(life_fnc_AAN,CLIENT) F(life_fnc_addVehicle2Chain,CLIENT) F(life_fnc_adminID,CLIENT) F(life_fnc_adminInfo,CLIENT) F(life_fnc_bountyReceive,CLIENT) JIP(life_fnc_copLights,CLIENT) F(life_fnc_copSearch,CLIENT) JIP(life_fnc_copSiren,CLIENT) F(life_fnc_freezePlayer,CLIENT) F(life_fnc_gangCreated,CLIENT) F(life_fnc_gangDisbanded,CLIENT) F(life_fnc_gangInvite,CLIENT) F(life_fnc_garageRefund,CLIENT) F(life_fnc_giveDiff,CLIENT) F(life_fnc_hideObj,CLIENT) F(life_fnc_impoundMenu,CLIENT) F(life_fnc_jail,CLIENT) F(life_fnc_jailMe,CLIENT) F(life_fnc_knockedOut,CLIENT) F(life_fnc_licenseCheck,CLIENT) F(life_fnc_licensesRead,CLIENT) F(life_fnc_lightHouse,CLIENT) JIP(life_fnc_mediclights,CLIENT) F(life_fnc_medicRequest,CLIENT) JIP(life_fnc_medicSiren,CLIENT) F(life_fnc_moveIn,CLIENT) F(life_fnc_pickupItem,CLIENT) F(life_fnc_pickupMoney,CLIENT) F(life_fnc_receiveItem,CLIENT) F(life_fnc_receiveMoney,CLIENT) F(life_fnc_removeLicenses,CLIENT) F(life_fnc_restrain,CLIENT) F(life_fnc_revived,CLIENT) F(life_fnc_robPerson,CLIENT) F(life_fnc_robReceive,CLIENT) F(life_fnc_searchClient,CLIENT) F(life_fnc_seizeClient,CLIENT) F(life_fnc_soundDevice,CLIENT) F(life_fnc_spikeStripEffect,CLIENT) F(life_fnc_tazeSound,CLIENT) F(life_fnc_ticketPaid,CLIENT) F(life_fnc_ticketPrompt,CLIENT) F(life_fnc_vehicleAnimate,CLIENT) F(life_fnc_wantedList,CLIENT) F(life_fnc_wireTransfer,CLIENT) F(life_fnc_gangBankResponse,CLIENT) F(life_fnc_chopShopSold,CLIENT) F(SOCK_fnc_dataQuery,CLIENT) F(SOCK_fnc_insertPlayerInfo,CLIENT) F(SOCK_fnc_requestReceived,CLIENT) F(SOCK_fnc_updateRequest,CLIENT) F(TON_fnc_clientGangKick,CLIENT) F(TON_fnc_clientGangLeader,CLIENT) F(TON_fnc_clientGangLeft,CLIENT) F(TON_fnc_clientGetKey,CLIENT) F(TON_fnc_clientMessage,CLIENT) F(TON_fnc_player_query,CLIENT) F(TON_fnc_copzoneMarkers,CLIENT) F(life_fnc_radArea,CLIENT) F(life_fnc_receiveDealer,CLIENT) /* Server only functions */ F(DB_fnc_insertRequest,SERVER) F(DB_fnc_queryRequest,SERVER) F(DB_fnc_updatePartial,SERVER) F(DB_fnc_updateRequest,SERVER) F(life_fnc_jailSys,SERVER) F(life_fnc_wantedAdd,SERVER) F(life_fnc_wantedBounty,SERVER) F(life_fnc_wantedCrimes,SERVER) F(life_fnc_wantedFetch,SERVER) F(life_fnc_wantedProfUpdate,SERVER) F(life_fnc_wantedRemove,SERVER) F(SPY_fnc_cookieJar,SERVER) F(SPY_fnc_observe,SERVER) F(TON_fnc_addContainer,SERVER) F(TON_fnc_addHouse,SERVER) F(TON_fnc_chopShopSell,SERVER) F(TON_fnc_cleanupRequest,SERVER) F(TON_fnc_deleteDBContainer,SERVER) F(TON_fnc_getID,SERVER) F(TON_fnc_getVehicles,SERVER) F(TON_fnc_insertGang,SERVER) F(TON_fnc_keyManagement,SERVER) F(TON_fnc_manageSC,SERVER) F(TON_fnc_pickupAction,SERVER) F(TON_fnc_removeGang,SERVER) F(TON_fnc_sellHouse,SERVER) F(TON_fnc_sellHouseContainer,SERVER) F(TON_fnc_spawnVehicle,SERVER) F(TON_fnc_spikeStrip,SERVER) F(TON_fnc_updateGang,SERVER) F(TON_fnc_updateHouseContainers,SERVER) F(TON_fnc_updateHouseTrunk,SERVER) F(TON_fnc_vehicleCreate,SERVER) F(TON_fnc_vehicleDelete,SERVER) F(TON_fnc_vehicleStore,SERVER) F(TON_fnc_vehicleUpdate,SERVER) F(TON_fnc_handleBlastingCharge,SERVER) F(TON_fnc_houseGarage,SERVER) F(TON_fnc_playerLogged,SERVER) //DynMarket F(TON_fnc_getUpdate,SERVER) //DynMarket F(TON_fnc_changePrice, SERVER) //DynMarket F(life_fnc_update,CLIENT) //DynMarket F(life_fnc_markerzones,SERVER) F(DB_fnc_shops,SERVER) /* HeadlessClient only functions */ F(HC_fnc_addContainer,HC) F(HC_fnc_addHouse,HC) F(HC_fnc_chopShopSell,HC) F(HC_fnc_deleteDBContainer,HC) F(HC_fnc_getVehicles,HC) F(HC_fnc_houseGarage,HC) F(HC_fnc_insertGang,HC) F(HC_fnc_insertRequest,HC) F(HC_fnc_insertVehicle,HC) F(HC_fnc_jailSys,HC) F(HC_fnc_keyManagement,HC) F(HC_fnc_queryRequest,HC) F(HC_fnc_removeGang,HC) F(HC_fnc_sellHouse,HC) F(HC_fnc_sellHouseContainer,HC) F(HC_fnc_spawnVehicle,HC) F(HC_fnc_spikeStrip,HC) F(HC_fnc_updateGang,HC) F(HC_fnc_updateHouseContainers,HC) F(HC_fnc_updateHouseTrunk,HC) F(HC_fnc_updatePartial,HC) F(HC_fnc_updateRequest,HC) F(HC_fnc_vehicleCreate,HC) F(HC_fnc_vehicleDelete,HC) F(HC_fnc_vehicleStore,HC) F(HC_fnc_vehicleUpdate,HC) F(HC_fnc_wantedAdd,HC) F(HC_fnc_wantedBounty,HC) F(HC_fnc_wantedCrimes,HC) F(HC_fnc_wantedFetch,HC) F(HC_fnc_wantedProfUpdate,HC) F(HC_fnc_wantedRemove,HC) /* Functions for everyone */ F(BIS_fnc_effectKilledAirDestruction,ANYONE) F(BIS_fnc_effectKilledSecondaries,ANYONE) F(life_fnc_animSync,ANYONE) F(life_fnc_broadcast,ANYONE) F(life_fnc_colorVehicle,ANYONE) F(life_fnc_corpse,ANYONE) F(life_fnc_demoChargeTimer,ANYONE) F(life_fnc_flashbang,ANYONE) F(life_fnc_jumpFnc,ANYONE) F(life_fnc_lockVehicle,ANYONE) F(life_fnc_pulloutVeh,ANYONE) F(life_fnc_say3D,ANYONE) F(life_fnc_setFuel,ANYONE) F(life_fnc_simDisable,ANYONE) F(SPY_fnc_notifyAdmins,ANYONE) F(life_fnc_receivedveh,ANYONE) }; class Commands { mode = 1; jip = 0; F(addHandgunItem,ANYONE) F(addMagazine,ANYONE) F(addPrimaryWeaponItem,ANYONE) F(addWeapon,ANYONE) F(setFuel,ANYONE) }; };
Config
Code
Alles anzeigenclass DefaultEventhandlers; class CfgPatches { class life_server { units[] = {"C_man_1"}; weapons[] = {}; requiredAddons[] = {"A3_Data_F","A3_Soft_F","A3_Soft_F_Offroad_01","A3_Characters_F"}; fileName = "life_server.pbo"; author = "Tonic"; }; }; class CfgFunctions { class MySQL_Database { tag = "DB"; class MySQL { file = "\life_server\Functions\MySQL"; class numberSafe {}; class mresArray {}; class queryRequest{}; class asyncCall{}; class insertRequest{}; class updateRequest{}; class mresToArray {}; class insertVehicle {}; class bool {}; class mresString {}; class updatePartial {}; class shops {}; class changeVehKey {}; }; }; class Life_System { tag = "life"; class Wanted_Sys { file = "\life_server\Functions\WantedSystem"; class wantedFetch {}; class wantedPerson {}; class wantedBounty {}; class wantedRemove {}; class wantedAdd {}; class wantedCrimes {}; class wantedProfUpdate {}; }; class Jail_Sys { file = "\life_server\Functions\Jail"; class jailSys {}; }; class Client_Code { file = "\life_server\Functions\Client"; }; class scripts { file = "\life_server\Functions\Scripts"; }; }; class TON_System { tag = "TON"; class DynMarket { file = "\life_server\Functions\DynMarket"; class calculatePrices {}; class config {}; class getUpdate {}; class HandleDB {}; class playerLogged {}; class sleeper {}; }; class Systems { file = "\life_server\Functions\Systems"; class managesc {}; class cleanup {}; class huntingZone {}; class getID {}; class vehicleCreate {}; class spawnVehicle {}; class getVehicles {}; class vehicleStore {}; class vehicleDelete {}; class spikeStrip {}; class transferOwnership {}; class federalUpdate {}; class chopShopSell {}; class clientDisconnect {}; class entityRespawned {}; class cleanupRequest {}; class keyManagement {}; class vehicleUpdate {}; class recupkeyforHC {}; class handleBlastingCharge {}; class terrainSort {}; }; class Housing { file = "\life_server\Functions\Housing"; class addHouse {}; class addContainer {}; class deleteDBContainer {}; class fetchPlayerHouses {}; class initHouses {}; class sellHouse {}; class sellHouseContainer {}; class updateHouseContainers {}; class updateHouseTrunk {}; class houseCleanup {}; class houseGarage {}; }; class Gangs { file = "\life_server\Functions\Gangs"; class insertGang {}; class queryPlayerGang {}; class removeGang {}; class updateGang {}; }; class Actions { file = "\life_server\Functions\Actions"; class pickupAction {}; }; class PlayTime { file = "\life_server\Functions\PlayTime"; class setPlayTime {}; class getPlayTime {}; }; }; }; class CfgVehicles { class Car_F; class CAManBase; class Civilian; class Civilian_F : Civilian { class EventHandlers; }; class C_man_1 : Civilian_F { class EventHandlers: EventHandlers { init = "(_this select 0) execVM ""\life_server\fix_headgear.sqf"""; }; }; };
CopzoneMarkers
Code
Alles anzeigenparams [ ["_mode",0,[0]] ]; if (playerSide isEqualTo civilian) exitWith {}; if ((playerSide isEqualTo west)&&(call life_coplevel < 5)) exitWith {hint "Dein rang ist nicht hoch genug"}; if ((playerSide isEqualTo independent)&&(call life_mediclevel < 5)) exitWith {hint "Dein rang ist nicht hoch genug"}; if ((player getVariable ["markercooldown",0]) >= time) exitWith {hint "Du darfst noch keine neue Zone setzen"}; private _time = 30; private _side = call { if (playerside isEqualTo west) exitWith {"cop"}; if (playerside isEqualTo independent) exitWith {"med"}; }; [player,_side,_time,_mode] remoteExec ["life_fnc_markerzones",2]; player setVariable ["markercooldown",(time + _time),true];
-
funktioniert irgenwie garnichts wenn ich alt+shift+bildhoch drücke
-
Die altis life RPG ini ist vorhanden.
-
Habe es genau so stehen.
CallExtension loaded: extDB3 (C:\Users\Enrico\Desktop\Arma 3\Next Gaming (ARMA 3) - Kopie\@extDB3\extDB3_x64.dll) [1.0.3.2] [1.0.3.2]
"║ diag_log set [""extDB: Version: 1.032""]"
"extDB: Error with Database Connection"
"║-extDB: Error checked extDB/logs for more info"
Dieser fehlercode kommt.
ExtDB hat den gleichen fehler
extDB3: Config Error: altis-life-rpg-4: No such node (altis-life-rpg-4.IP)
obwohl es stimmt. -
steht die ganze Zeit schon 127.0.0.1
-
Habe das getan.
-
Wir sind weiter gekommen schonmal