Beiträge von moeck
-
-
AvirexDE was hindert Dich das zu ändern? Es gibt ein I-Item das aussieht wie Geld
(Land_Money_F) und klar kann man das dann auch in die Kiste legen und als Variable den Betrag drauflegen. Wie Alice Kingsleigh schon geschrieben hat haben wir uns an dem orientiert was wir im Video von Armaservices gesehen haben.
Da es sich hier um ein Tutorial und kein gekauftes Script handelt kann man das nach seinen Wünschen abändern, solange man weiß was man tut
Gruß,
moeck
-
-
Moin,
Alice Kingsleigh und ich habe da mal was fertig gemacht
, Alice Kingsleigh wird das die nächsten Tage mal als Tutorial veröffentlichen. Dann kann jeder selbst entscheiden ob er 20€ bei Armaservices lassen möchte oder nicht.
In diesem Sinne ein gute Nacht.
Gruß,
moeck
-
Moin,
mein Tipp wäre schau dir an wie das mit den Lizenzen funktioniert, ist gar nicht so schwer und du kannst relativ viel davon für deine Baupläne übernehmen. Generell würde ich die Playertabelle um eine Spalte erweitern und dort nach dem Lizenzformat die Bauplaninfo speichern. Anschliessend müsste man die queryRequest und requestReceive um das Feld Bauplan erweitern.
Natürlich könnte man das ganze auch mit einer neuen Tabelle und Relationen lösen, hier ist Frage was mehr Sinn macht. Theoretisch müsste man mal hingehen und das komplette Framework auf die vollständige Unterstützung relationaler DBs umbauen. Dann könnte man auf diese "schönen" Textfelder in der DB verzichten und einige Administrative Vorgänge wären auch deutlich angenehmer.
Gruß,moeck
-
Alice Kingsleigh : hier nochmal eine geänderte Version, falls Du lust und zeit hast können wir uns das heute abend gemeinsam anschauen.
Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_dropItems.sqf Author: moeck Description: Called on death, Player drops any 'virtual' items and items. They are stored in a plastic case. */ private ["_obj","_unit","_item","_value"]; private _unit = _this select 0; private _pos = _unit modelToWorld[0,3,0]; _pos = [(_pos select 0),(_pos select 1),0]; private _obj = "Land_PlasticCase_01_small_F" createVehicle _pos; clearWeaponCargoGlobal _obj; clearItemCargoGlobal _obj; clearMagazineCargoGlobal _obj; clearBackpackCargoGlobal _obj; private _trunk =[]; private _weight = 0; { private _value = 0; private _iweight = 0; private _itemName= ""; if (_x isEqualType "") then {_item = _x;} else {_item = configName _x}; if (_item isEqualTo "life_cash") then { _value = CASH; _itemName = "CASH"; } else { _value = ITEM_VALUE(_item); _iweight = (([_item] call life_fnc_itemWeight) * _value); _itemName = ITEM_VARNAME(_item); }; _weight = _weight +_iweight; _trunk pushBack [_item,_value]; missionNamespace setVariable [_itemName,0]; } forEach (("true" configClasses (missionConfigFile >> "VirtualItems")) + ["life_cash"]); diag_log format ["V-Items: %1",str(_trunk)]; _obj setVariable["Trunk",[_trunk,_weight],true]; if (!(uniform _unit isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];diag_log format ["Uniform: %1",_x];} forEach (uniformItems _unit); }; if (!(backpack _unit isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];diag_log format ["Backpack: %1",_x]} forEach (backpackItems _unit); }; if (!(vest _unit isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];diag_log format ["Vest: %1",_x]} forEach (vestItems _unit); }; if (count (primaryWeaponItems _unit) > 0) then { {_obj addItemCargoGlobal [_x, 1];diag_log format ["Weaponitems: %1",_x]} forEach (primaryWeaponItems _unit); }; if (count (handgunItems _unit) > 0) then { {_obj addItemCargoGlobal [_x, 1];diag_log format ["Pistolitems: %1",_x]} forEach (handGunItems _unit); }; if !(primaryWeapon _unit isEqualTo "") then {_obj addItemCargoGlobal [(primaryWeapon _unit), 1];diag_log format ["Weapon: %1",(primaryWeapon _unit)];}; if !(handgunWeapon _unit isEqualTo "") then {_obj addItemCargoGlobal [(handgunWeapon _unit), 1];diag_log format ["Pistol: %1",(handgunWeapon _unit)];}; removeAllWeapons _unit; {player removeMagazine _x;} forEach (magazines _unit); removeUniform _unit; removeVest _unit; removeBackpack _unit; removeGoggles _unit; removeHeadGear _unit; { _unit unassignItem _x; _unit removeItem _x; } forEach (assignedItems _unit); if (hmd _unit != "") then { _unit unlinkItem (hmd _unit); };
-
Alice Kingsleigh kannst Du mir mal bitte das Clientlog zur verfügung stellen? dass du die Items noch hast ist mir klar, da sie noch nicht gelöscht werden
-
ok ich bin ein Idiot
, vielleicht sollte man statt player _unit verwenden
Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_dropItems.sqf Author: moeck Description: Called on death, Player drops any 'virtual' items and items. They are stored in a plastic case. */ private ["_obj","_unit","_item","_value"]; private _unit = _this select 0; private _pos = _unit modelToWorld[0,3,0]; _pos = [(_pos select 0),(_pos select 1),0]; private _obj = "Land_PlasticCase_01_small_F" createVehicle _pos; clearWeaponCargoGlobal _obj; clearItemCargoGlobal _obj; clearMagazineCargoGlobal _obj; clearBackpackCargoGlobal _obj; private _trunk =[]; private _weight = 0; { if (_x isEqualType "") then {_item = _x;} else {_item = configName _x}; _value = if (_item isEqualTo "life_cash") then {CASH} else {ITEM_VALUE(_item);}; _iweight = if (_item isEqualTo "life_cash") then {0} else {(([_item] call life_fnc_itemWeight) * _value)}; _weight = _weight +_iweight; _trunk pushBack [_item,_value]; } forEach (("true" configClasses (missionConfigFile >> "VirtualItems")) + ["life_cash"]); diag_log str(_trunk); _obj setVariable["Trunk",[_trunk,_weight],true]; if (!(uniform _unit isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];diag_log _x;} forEach (uniformItems _unit); }; if (!(backpack _unit isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];diag_log _x;} forEach (backpackItems _unit); }; if (!(vest _unit isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];diag_log _x;} forEach (vestItems _unit); }; if (count (primaryWeaponItems _unit) > 0) then { {_obj addItemCargoGlobal [_x, 1];diag_log _x;} forEach (primaryWeaponItems _unit); }; if (count (handgunItems _unit) > 0) then { {_obj addItemCargoGlobal [_x, 1];diag_log _x;} forEach (handGunItems _unit); }; if !(primaryWeapon _unit isEqualTo "") then {_obj addItemCargoGlobal [(primaryWeapon _unit), 1];diag_log (primaryWeapon _unit);}; if !(handgunWeapon _unit isEqualTo "") then {_obj addItemCargoGlobal [(handgunWeapon _unit), 1];diag_log (handgunWeapon _unit);};
-
Julian ich habe das hier eher sportlich gesehenund wollte nur zeigen, dass man nicht immer sinnlos Geld ausgeben muss. Da der ganze Arma Kram nicht mehr als ein Hobby ist, muss ich damit kein Geld verdienen
. Ich habe bereits einen recht gut bezahlten Job
-
also der clinetlog ist eine Katastrophe, da sind so viele Fehler drin von den Mods dass es nicht mehr feierlich ist. Des Weiteren wird nich das ende des Clientsetups erreicht!
Code20:33:10 Error in expression <nd_FuelStation_02_pump_F"],5] select 0; _pump setFuelCargo 0; _pump addAction [l> 20:33:10 Error position: <_pump setFuelCargo 0; _pump addAction [l> 20:33:10 Error Nicht definierte Variable in Ausdruck: _pump 20:33:10 File mpmissions\__CUR_MP.Lakeside_Countyv2\core\fn_setupStationService.sqf, line 235
das server log sieht erst mal ganz gut aus. Da der deathscreen nicht auf geht hänge mal bitte noch die onPlayerkilled ran
-
so es hat mir doch keine Ruhe gelassen. Einfach mal zum debuggen der Kram mit logausgaben
Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_dropItems.sqf Author: moeck Description: Called on death, player drops any 'virtual' items and items. They are stored in a plastic case. */ private ["_obj","_unit","_item","_value"]; private _unit = _this select 0; private _pos = _unit modelToWorld[0,3,0]; _pos = [(_pos select 0),(_pos select 1),0]; private _obj = "Land_PlasticCase_01_small_F" createVehicle _pos; clearWeaponCargoGlobal _obj; clearItemCargoGlobal _obj; clearMagazineCargoGlobal _obj; clearBackpackCargoGlobal _obj; private _trunk =[]; private _weight = 0; { if (_x isEqualType "") then {_item = _x;} else {_item = configName _x}; _value = if (_item isEqualTo "life_cash") then {CASH} else {ITEM_VALUE(_item);}; _iweight = if (_item isEqualTo "life_cash") then {0} else {(([_item] call life_fnc_itemWeight) * _value)}; _weight = _weight +_iweight; _trunk pushBack [_item,_value]; } forEach (("true" configClasses (missionConfigFile >> "VirtualItems")) + ["life_cash"]); diag_log str(_trunk); _obj setVariable["Trunk",[_trunk,_weight],true]; if (!(uniform _unit isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];diag_log _x;} forEach (uniformItems player); }; if (!(backpack player isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];diag_log _x;} forEach (backpackItems player); }; if (!(vest player isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];diag_log _x;} forEach (vestItems player); }; if (count (primaryWeaponItems player) > 0) then { {_obj addItemCargoGlobal [_x, 1];diag_log _x;} forEach (primaryWeaponItems player); }; if (count (handgunItems player) > 0) then { {_obj addItemCargoGlobal [_x, 1];diag_log _x;} forEach (handGunItems player); }; if !(primaryWeapon player isEqualTo "") then {_obj addItemCargoGlobal [(primaryWeapon player), 1];diag_log (primaryWeapon player);}; if !(handgunWeapon player isEqualTo "") then {_obj addItemCargoGlobal [(handgunWeapon player), 1];diag_log (handgunWeapon player);};
-
ja dann wäre zum einen mal ein server und client log hilfreich und zum anderen vielleicht der death_screen.hpp und die fn_spawnmenu.sqf im ersten schritt
-
ja ich sehe gerade da muss noch was anderes geändert werden. Das schaue ich mir später mal an, erstmal pennen
-
ist im I-Inventar was drin?
-
dann rufe einfach mal die standard funktion auf
leider weis ich das control für die map nicht
-
So damit es fast fertig ist hier mal noch ein kleines Update hinterher
Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_dropItems.sqf Author: moeck Description: Called on death, player drops any 'virtual' items and items. They are stored in a plastic case. */ private ["_obj","_unit","_item","_value"]; private _unit = _this select 0; private _pos = _unit modelToWorld[0,3,0]; _pos = [(_pos select 0),(_pos select 1),0]; private _obj = "Land_PlasticCase_01_small_F" createVehicle _pos; private _trunk =[]; private _weight = 0; { if (_x isEqualType "") then {_item = _x;} else {_item = configName _x}; _value = if (_item isEqualTo "life_cash") then {CASH} else {ITEM_VALUE(_item);}; _iweight = if (_item isEqualTo "life_cash") then {0} else {(([_item] call life_fnc_itemWeight) * _value)}; _weight = _weight +_iweight; _trunk pushBack [_item,_value]; } forEach (("true" configClasses (missionConfigFile >> "VirtualItems")) + ["life_cash"]); _obj setVariable["Trunk",[_trunk,_weight],true]; if (!(uniform _unit isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];} forEach (uniformItems player); }; if (!(backpack player isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];} forEach (backpackItems player); }; if (!(vest player isEqualTo "")) then { {_obj addItemCargoGlobal [_x, 1];} forEach (vestItems player); }; if (count (primaryWeaponItems player) > 0) then { {_obj addItemCargoGlobal [_x, 1];} forEach (primaryWeaponItems player); }; if (count (handgunItems player) > 0) then { {_obj addItemCargoGlobal [_x, 1];} forEach (handGunItems player); }; if !(primaryWeapon player isEqualTo "") then {_obj addItemCargoGlobal [(primaryWeapon player), 1]}; if !(handgunWeapon player isEqualTo "") then {_obj addItemCargoGlobal [(handgunWeapon player), 1]};
so damit man an das T-Inventar kommt muss man die folgende Zeile im keyhandler um die gespawnte Kiste erweitern
Code_list = ((ASLtoATL (getPosASL player)) nearEntities [["Box_IND_Grenades_F","B_supplyCrate_F","Land_PlasticCase_01_small_F"], 2.5]) select 0;
so nun werden auch die I-Items in die Box gelegt. Also ganz ehrlich das wäre mir keine 20€ wert
. Vielleicht mag es ja mal wer testen
. Würde mich über Rückmeldungen freuen
.
Gruß,
moeck
-
so also ich habe jetzt mal geschaut und der folgende Script anfang ist dabei rausgekommen.
Code
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_dropItems.sqf Author: moeck Description: Called on death, player drops any 'virtual' items they may be carrying. */ private ["_obj","_unit","_item","_value"]; private _unit = _this select 0; private _pos = _unit modelToWorld[0,3,0]; _pos = [(_pos select 0),(_pos select 1),0]; private _obj = "Land_PlasticCase_01_small_F" createVehicle _pos; private _trunk =[]; private _weight = 0; { if (_x isEqualType "") then {_item = _x;} else {_item = configName _x}; _value = ITEM_VALUE(_item); _weight = _weight + (([_item] call life_fnc_itemWeight) * _value); _trunk pushBack [_item,_value]; } forEach (("true" configClasses (missionConfigFile >> "VirtualItems")) + ["life_cash"]); _obj setVariable["Trunk",[_trunk,_weight],true];
Es wird eine Kiste gespawnt und alle VItems und Geld rein gelegt. Klar jetzt müsste man noch schauen dass die Kiste per T oder addaction geöffnet wird und wenn man will kann man dann auch noch die I-Items des Spielers in die Kiste packen. Ich denke mal inkl. testen ist das vielleicht ein Aufwand von 2-3h und dafür will man 20€ ausgeben
.
Achtung ich habe es noch nicht getestet
Gruß,
moeck
-
Ja kann man aber auch selber machen und sich die 20€ sparen
-
so hier mal die Änderung für den Keyhandler und
Codecase _mapKey: { switch (playerSide) do { case west: {if (!visibleMap) then {[] spawn life_fnc_copMarkers;}}; case independent: {if (!visibleMap) then {[] spawn life_fnc_medicMarkers;}}; case civilian: {if (!visibleMap) then {[] spawn life_fnc_civMarkers;}}; }; if (!visibleMap) then {[1,0.1,(getpos player),false] call life_fnc_setMapPosition}; };
die modifiziert setMapPosition
Code: fn_setMapPosition.sqf
Alles anzeigen/* File: fn_setMapPosition.sqf Author: Bryan "Tonic" Boardwine Description: Sets the given control / maps focus position */ disableSerialization; params [ ["_control",controlNull,[controlNull]] ,["_time",1,[0]] ,["_zoom",0.1,[0]] ,["_position",[],[[]]] ,["_spawn",true,[true]] ]; if (_spawn) then { if(isNull _control OR count _position isEqualto 0) exitWith {}; _control ctrlMapAnimAdd[_time,_zoom,_position]; ctrlMapAnimCommit _control; } else { mapAnimAdd [_time,_zoom,player]; MapAnimCommit; };
viel spass damit
-
Meinst Du, wenn wer stirbt? Dass die Sachen dann alle in einer Kiste landen?