eigenes script, was beim starten ausgeführt wird
Beiträge von moeck
-
-
na du musst das objekt ja erst setzen
-
hihi, ich sag nur copy&paste Fehler
F(life_fnc_robItem,CLIENT)
so dann hier nochmal mit der richtigen Funktion
-
na in der Nähe der Spawns funktioniert das natürlich nicht. Ich hätte das zwar anders gemacht aber das spielt keine Rolle
. Eventuell kannst Du mir ja mal die Fehlermeldung zukommen lassen, da ich auf den ersten Blick erstmal keinen Fehler gesehen habe.
-
Also ich kann erstmal keinen Fehler finden. Du hast ACE im Einsatz?
-
Moin,
du müsstest Dir verschiedene Positionen auf deiner Karte raussuchen und anschliessend per Script beim Restart raussuchen und den Verarbeiter bzw. Händler setzen.
Da ich deine Map bzw. Verarbeiter / Händler nicht kenne kann ich Dir auch nur ein kleines Beispiel geben.
Entweder du erstellst ein neues Script oder packst das mit in die Init.sqf des life_servers
C
Alles anzeigen/* Random Process / Dealer Author: moeck 17.10.2017 */ copper_processor = [[0,0,0],[1,0,0],[1,1,1]]call BIS_fnc_selectRandom; // Positions copper processor copper_dealer = [[0,0,0],[1,0,0],[1,1,1]]call BIS_fnc_selectRandom; // Positions copper dealer ... publicVariable "copper_processor"; publicVariable "copper_dealer"; ...
Dann musst Du in der Mission noch ein Script anlegen welches Dir die Schilder / Kassentische / etc. an die entsprechende Position setzt.
C
Alles anzeigen{ private _obj= (_x select 0)createVehicleLocal [0,0,0]; _obj setPosWorld(_x select 1); _obj enableSimulation(_x select 2); _obj allowDamage(_x select 3); if!((_x select 4) isEqualTo "")then{_obj call compile(_x select 4);}; if!((_x select 5) isEqualTo "")then{_obj setVehicleVarName (_x select 5);}; nil; } count [ ["Land_InfoStand_V2_F",copper_processor,false,false," _this addAction[localize""STR_Process_Copper"",life_fnc_processAction,""copper"",0,false,false,"""",' life_inv_copperUnrefined > 0 && !life_is_processing && !life_action_inUse']; this addAction[format [""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""copper"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""copper"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""copper"",0,false,false,"""",' !license_civ_copper && playerSide isEqualTo civilian '];",""] ,["Land_InfoStand_V2_F",copper_dealer,false,false," _this addAction[localize""STR_MAR_Iron_Copper_Trader"",life_fnc_virt_menu,""iron""];",""] ];
Eventuell musst Du noch die Ausrichtung mit angeben.
Gruß,
moeck
-
Poste bitte mal deine Files dann schaue ich mir das mal an
-
denke aber dran auch die schliessende klammer und das else weg zu nehmen
C/* Remove Items Action Author: moeck (LostonParadise) 17.10.2017 */ private _target = cursorTarget; //Error checks if(isNull _target) exitWith {}; if(!isPlayer _target) exitWith {}; [player] remoteExec ["life_fnc_robItem",_target];
also so!
-
Ja dort legst Du fest welche Items Du wegnehmen willst. Man könnte das jetzt noch schick machen in dem man per Parameter sagt welche(s) Item(s) er bei der Aktion wegnehmen soll. Ist im Prinzip nix anderes als die "Entwaffnen" Funktion bei den Cops
-
Moin,
hast Du einen C4_belt bei Dir als Item eingebunden? Ansonsten suche Dir eine passende Weste raus und verwende die.
Gruß,
moeck
-
So dann mal hier die Scripte für dein Problem
. Achtung ist noch nicht getestet daher bei Fehlern einfach melden.
1. musste Du die fn_setupAction.sqf erweitern.
life_actions = life_actions + [player addAction["<t color='#A9E2F3'>GPS / Telefon abnehmen</t>",life_fnc_robItemsAction,"",0,false,false,"",'!isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && animationState cursorTarget == "Incapacitated" && !(cursorTarget getVariable["robbed",FALSE]) ']];
2. Fügst du in die Functions.hpp das folgenden ein.
2.a. bei den Actions class robItemsAction {};
2.b. bei den Civilian class robItems {};
3. Fügst Du die Datei fn_robItemsActions.sqf im Ordner core\actions ein
C: fn_robItemsActions.sqf
Alles anzeigen/* Remove Items Action Author: moeck (LostonParadise) 17.10.2017 */ if (license_civ_rebel) then { //Needs a rebel license remove the if condition if everybody should do that private _target = cursorTarget; //Error checks if(isNull _target) exitWith {}; if(!isPlayer _target) exitWith {}; [player] remoteExec ["life_fnc_robItems",_target]; } else { hint "Du brauchst eine Banditenlizenz!"; };
4. Fügst Du die Datei fn_robItems.sqf in den Ordner core\civilian ein
C: fn_robItems.sqf/* Rob Items Author: moeck (LostonParadise) 17.10.2017 */ private _robber = param [0]; player removeItem "ItemRadio"; player removeItem "ItemGPS"; [2,"Du hast das GPS und Telefon von %1 zerstört!",true,[profileName]] remoteExec ["life_fnc_broadcast",_robber];
5. Musst du noch den Eintrag in der CfgRemoteExec.hpp machen.
F(life_fnc_robItems,CLIENT)
So damit sollte es dann schon erledigt sein.
Gruß,
moeck
-
ok na dann schauen wir mal
. Welche Version hast?
-
So dann habe ich noch eine Frage dazu, soll es direkt beim niederschlagen weg sein oder als extra Aktion?
-
Moin,
brauchst Du ein Script das jemanden das GPS und das Telefon abnimmt oder was genau suchst Du?
Gruß,
moeck
-
Moin,
füge das mal dem Schild hinzu.
Codethis addAction[localize""STR_MAR_Store_vehicle_in_Garage"",life_fnc_storeVehicle,"""",0,false,false,"""",'!life_garage_store'];";
Solltest Du eine ältere Version haben müsstest Du den Eintrag für den Stringtable machen oder fügst das so ein
Codethis addAction[""Einparken"",life_fnc_storeVehicle,"""",0,false,false,"""",'!life_garage_store'];";
Achtung ich habe das direkt aus der sqm rauskopiert, falls Du das mit dem Editor machen willst muss das so aussehen.
bzw.
Codethis addAction[localize "STR_MAR_Store_vehicle_in_Garage",life_fnc_storeVehicle,"",0,false,false,"",'!life_garage_store'];
Gruß,
moeck
-
Ich gehe hier mal nicht die komplette Lösung, aber wenn eine Person stirbt wird immer das komplette Inventar in der DB gewiped, egal ob er nun combatloggt oder nicht. Ich speichere es aber zwischen sofern ein Medic ihn wieder aufhebt bekommt er alles wieder zurück. Des Weiteren wird halt auch gleich ein Logeintrag in der DB erzeugt, der den Tod dokumentiert falls halt wer in Support kommt und irgendwelche Sachen wieder haben möchte.
Falls wer interesse daran hat kann er sich per PN melden. Des Weiteren kann ich halt auch später noch schauen ob er combatlog begangen hat oder nicht. Vielleicht baue ich das System auch noch weiter aus und wenn er combatloggt bekommt er gleich noch 50% seines Geldes abgezogen
.
Gruß,
moeck
-
Moin,
guckst Du hier? life_atmcash = life_atmbank - _price; wenn Du das so machst klappt es vielleicht life_atmbank = life_atmbank - _price; oder halt mit Macro müsste die Datei dann so aussehen.
Code
Alles anzeigen#include "..\script_macros.hpp" /* Description : Taxi Script to Kavala Author : Mahony */ _price = 100000; _taxigerufen = "<t color='#FFFF00' size='2' shadow='1' shadowColor='#000000' align='center'>Ein Taxi wurde gerufen !</t>"; _taxiangekommen = "<t color='#FFFF00' size='2' shadow='1' shadowColor='#000000' align='center'>Ihr Taxi sollte nun vorort sein (Bitte einsteigen) </t>"; if (life_is_arrested) exitWith {hint "Aktion nicht im Gefängnis nicht möglich";}; if ((BANK) < _price + 25000) exitWith { hint "Du hast nicht genug geld !"; closeDialog 0; }; if ((life_cash) == _price) exitWith { hint "Wir nehmen nur Karte !"; closeDialog 0; }; if (player distance (getMarkerPos "civ_spawn_1") <= 1000) exitWith { hint "Du bist schon in Kavala !"; closeDialog 0; }; if(player getVariable ["restrained",false]) exitWith { hint "Du bist gefesselt!"; closeDialog 0; }; closeDialog 0; sleep 2; hint parseText (_taxigerufen); sleep 30; _taxiK = "C_Hatchback_01_yellow_F" createVehicle position player; _taxiK allowDamage false; hint parseText (_taxiangekommen); sleep 5; waitUntil {vehicle player != player}; sleep 1; player allowDamage false; titleText ["Ihr seid auf dem Weg nach Kavala !", "BLACK FADED", 20]; playSound "wiggle"; deleteVehicle _taxiK; sleep 28; titleText ["Ihr seid angekommen. Nun noch bezahlen und dann können Sie gehen", "BLACK FADED", 1]; BANK = BANK - _price; sleep 1; player setPos (getMarkerPos "civ_spawn_1"); sleep 1; player allowDamage true;
Ich finde das Script lustig, dass man für jedes Taxi ein eigenes Script anlegt. Wieso packt man das nicht alles zusammen und übergibt das Ziel mit an das Script.
Gruß,
moeck
-
Moin,
jede Software hat Bugs von daher bleibt Dir nix weiter übrig als sie zu suchen und für jeden einzelnen eine Lösung zu bauen. Ich habe mir die Tage mal den Spass gemacht und ärgere gerade massiv die lieben Combat Logger
. Wer meint durch einen Combatlog sich sein Inventar zu sichern freut sich wenn er wieder connected
und ich kann mir die Logs anschauen und gegebenen falls noch einen Wipe durchführen.
Gruß,
moeck
-
Und wo war der Fehler? Config_Vehicle?
-
NaviCat, SQL Developer und im Notfall phpmyAdmin