HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   Jeder Fahrzeugklasse eine bestimmte Aktion hinzufügen (https://hx3.de/editing-scripting-167/fahrzeugklasse-bestimmte-aktion-hinzufuegen-22392/)

Eden 17.03.2013 13:22

Jeder Fahrzeugklasse eine bestimmte Aktion hinzufügen
 
Hallo ihr Scripting Profies,
Ich habe ne echt schwere frage:
Ich schreibe grade an einem Spielmodus, indem man per HQ-Truck eine Basis bauen kann. Es funktioniert alles perfekt, außer dass wenn ich mit dem HQ-Truck dann die Basis errichte, bei anderen Spielern die Aktionen die ich per AddAction dem neuen Objekt hinzufüge nicht da sind und auch nicht kommen (manchmal dauert es ja bis ein Objekt die neuen Funktionen erhält.)
Ich hätte hier mal nen Auszug aus meinen Beiden Scripts:

Einmal das Script der HQ-Trucks:
Code:

_object addAction ["Spawn Umsetzen","spawnset.sqf",[_string,_object]];
        _object addAction ["Basis Errichten","scripts\spawn_basepart.sqf",["LAV25_HQ_unfolded",_object]];

_object ist in dem Fall der HQ-Truck

Und das Script, dass die Basis errichtet "spawn_basepart.sqf":
Code:

_string = (_this select 3) select 0;
_delete = (_this select 3) select 1;
_object = _string createVehicle getPos player;

_object addAction ["Position -- Neue Position setzen...","scripts\set_new_postition.sqf",[_object]];

if (_string == "LAV25_HQ_unfolded") then
{
        deleteVehicle _delete;
        _object addAction ["Spawnpunkt -- Umsetzen","spawnset.sqf",["LAV25_HQ",_object]];
        _object addAction ["Bauen -- Quartiere","scripts\spawn_basepart.sqf",["USMC_WarfareBBarracks"]]; publicVariable "newaction";
        _object addAction ["Bauen -- Heliport","scripts\spawn_basepart.sqf",["WarfareBAircraftFactory_USMC"]];
        _object addAction ["Bauen -- Leichte Waffenfabrik","scripts\spawn_basepart.sqf",["USMC_WarfareBLightFactory"]];
        _object addAction ["Bauen -- Schwere Waffenfabrik","scripts\spawn_basepart.sqf",["USMC_WarfareBHeavyFactory"]];
        _object addAction ["Bauen -- Barrikaden Fabrik","scripts\spawn_basepart.sqf",["USMC_WarfareBUAVterminal"]];
};
[...]

Ich glaube ich brauche nicht alle weiteren Teile der Scripts posten, weil der Fehler schon hier irgendwo liegen muss, da die neuen Aktionen nur bei dem Spieler der die Basis erschafft erscheinen. Nun ist die Frage: Wie schaffe ich es, dass alle diese Aktionen zur Ferfügung haben, oder gibt es einen weg, die Aktionen an die Objekt Klasse, zum Beispiel die Aktion für das Bauen der Basis direkt an die Klasse des HQ-Trucks zu binden. Die zweite Methode wäre mir lieber, weil dann später Beitretende Spieler oder bei geladenen Spielständen alles wieder seinen Aktionen erhält.
Ich hoffe ich habe euch jetzt nicht geplättet mit dem was ich hier Poste, aber ich suche jetzt seit etwa 2 Tagen nach ner Lösung und finde nix.

Also schon mal Danke für die Mühen, die ihr für mich auf euch nehmt.

Vienna 17.03.2013 14:35

addAction ist ein lokaler Befehl. Wenn ihn in MP alle sehen sollen, dann ist er über http://community.bistudio.com/wiki/setVehicleInit auszuführen.

Dazu ist dann auch dieser Befehl erforderlich: http://community.bistudio.com/wiki/processInitCommands

Eden 17.03.2013 15:53

Cool danke für die Antwort.
Jetzt noch die Frage:
Muss ich die " in den AddAction befehlen dann duch ' ersetzen?
und wie ist dann noch der syntax:
erst createVehicel, dann setinit und dann processInitCommands?

Edit: Ok ich habe es jetzt so abgeändert wie es oben steht und...
Es funktioniert!!!
Danke Vienna für deine Antwort


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119