HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   Scrpting - viele Fragen (https://hx3.de/editing-scripting-187/scrpting-viele-fragen-22967/)

Drunken Officer 28.09.2013 19:28

Scrpting - viele Fragen
 
Moinse.

Ich lasse in der Init mein Hausspawn anlaufen. Auf der Karte habe ich diverse Marker z.B."ma_haus_sani".
Momentan drehe ich die Häuser im script. Gibt es ein Möglichkeit eine Markerausrichtung abzufragen. GetMakerDir gibt es laut liste nicht und GetDir verlangt ein Objekt.
Das würde des später erleichtern, wenn man mal die Marker umplatziert.

Code:

//Hausspawn.sqf
haus_sani = createVehicle "wasweißich_F" (getMarkerPos "ma_haus_sani");
haus_sani setDir 123;

Und muß diese Script mit
if (!isDedicated) exitWith {};
beginnen? Da es doch vom Server ausgeführt werden muss? :ugly: Momentan funzt es, weil ich Host & spieler in einer Person bin.
... irgendwie will mir das nicht begreiflich werden....

Tajin 02.10.2013 14:50

klar gibt es ein "getMarkerDir".... nur eben ohne "get"
https://community.bistudio.com/wiki/markerDir

Und wenn du das Script nicht ausschließlich nur auf dem Server laufen lässt, dann wirst du im Multiplayer so viele Häuserkopien haben, wie Spieler auf dem Server sind +1 für den Server selbst.
Also aufpassen bei sowas. ;)

Allerdings solltest du lieber diese Abfrage benutzen, dann funktioniert es auch wenn die mission lokal gehostet wird:
PHP-Code:

if (!isServerexitWith {}; 


Drunken Officer 13.10.2013 22:44

Moinsen.

Ich kann als Textnachricht player Chat oder [WEST"HQ"] auswerfen. Ich habe aber in einer Mission gesehen, dass da auch andere Namen auftauchen können.
Wie erreiche ist das?

Ich schliesse meine Mission bei einem Offizier ab. Dann soll unten als CommandChat auftauchen
Officer: "Good job guys. Your first mission is done" (als commandchat ausgabe)

Ist eine Singleplayer Mission, MP bekomme ich nicht hin. :ugly:

Drunken Officer 20.11.2013 20:17

Array abfrage
 
Ich habe einen Array definiert.
luncherscheibe = [g1,..,..g27]
Was schonmal nicht funktionierte war
Code:

luncherscheibe =[[g1,g2,g3],[g4,g5,g6],[...],[..]];
Per floor i.V.. Random wird eine zufällige Variable aus dem Arry angesprochen.

Ich benötige aber für den Granateluncher, dass immer ein 3er Pärchen aufpoppt und nicht einzelne Scheiben. Einzelne bekomme ich hin.

Ich habe mal gelesen, dass die Geschichte mit Array im Array funktioniert und mit select 0 ... in einer von diesen innnenliegenden Array angesprochen wird. Kann mir da einer weiterhelfen.

Buliwyf 20.11.2013 20:31

Launcher.. es schreibt sich launcher! ;)

Und das mit dem Array im Array ist im Grund recht logisch... um zB an g6 aus Deinem Beispiel zu kommen lautet es:

Code:

((launcherscheibe select 1) select 2)
;)

Drunken Officer 21.11.2013 19:49

Stringtable
 
Ich will einen Wert aus der Stringtabel nehmen
Code:

titleText [localize "STR_nehmen","plain",1];
Das funzt aber net mehr.

Laut BIS sollte es dies aber tun. Ich benutzte eine stringtable.csv, genau wie bei A2.
Funktionieren *.csv nicht mehr bei A3?

JanIs 22.11.2013 01:01

Doch und wie ich finde sogar besser als die xml.
Warum, weil man in der csv wunderbar auch farbigen Text verbauen kann was ich mit der xml nicht geschafft habe.

Zu deinem Problem:
Die TitleText-Zeile ist vollkommen richtig.
Endweder du hast in der stringtable.csv einen Fehler drin, eine falsche Variable verwendet oder du musst die Mission aufgrund von Änderungen in der csv einfach nochmal reinladen.

Dann müsste es laufen. Ich kann das mit Bestimmtheit sagen, da ich ausschließich mit stringtable.csv's werkle.

Drunken Officer 23.11.2013 18:17

ShowCinemaBorder
 
showCinemaBorder true; / false

Das funzt bei mir nur, wenn ich im Kameramodus bin. Ist das nur dafür gedacht, oder kann ich das auch im Spiel einblenden?

Ich will das ähnlich dem Intro von BIS machen. Eine Puppel laufen lassen, showCinemaBorder und dann die Kontrolle auf den Spieler übertragen.
Bis auf diesen Kinorahmen bekomme ich es hin.

JanIs 24.11.2013 10:29

Soweit ich weiß nur für den Kameramodus.
Andernfalls müsstest du wohl extra eine Klasse dafür machen um sie für eine Zeit lang sozusagen künstlich zu erzeugen ...

Drunken Officer 02.12.2013 21:27

Wie kann ich abfragen ob der Spieler "DemoCharge_Remote_Mag" im Inventar hat?

Der erste Task ist "get the satchels", damit später die Mission erfüllt werden kann.
Mit hasWeapon klappt das nicht, das die satchels MAgazine sind.

Lösung gefunden:
"DemoCharge_Remote_Mag" in magazines player


Ich hatte zum Anfang "DemoCharge_Remote_Mag" in player magazines -> und das funzte net...

Drunken Officer 05.01.2014 12:18

paa wird nicht im SP geladen
 
Hallo.

Ich lade für eine SP Mission via Script für alle Westeinheiten eine neue uniform. Ich habe schlicht weg eine DeutschlandFlagge darauf gemalt.

Im Editor funktioniert das wunderbar. Speichere ich es als SP Mission und starte das Szenario , dann wird US uniform geladen.

Duke49th 04.03.2014 21:48

Ich schliesse mich mal an.

Wieso funzt so was einfaches wie der Sidechat nimmer?

Oberkommando=[West,"HQ"]; Oberkommando SideChat "Blaahh blubb mit Umlauten äöü.";

Will nicht im Auslöser bei Aktivierung. Warum?

Auslöser funzt. Hakt brav die Aufgabe ab und aktiviert die nächste.

Nur der Funkspruch kommt nicht. Ist ne MP Missi.

So ähnlich stehts doch sogar in den scripting commands als Beispiel. Abgesehen davon das keine Umlaute enthalten sind und PAPPABEAR eben in Großbuchstaben ist. Das dürfte/sollte aber doch nicht das Problem sein, oder doch?

Drunken Officer 15.03.2014 20:17

Moinsen.

Wie kann ich mir einen Triggernamen als String ausgeben lassen? Ich lasse in diesem Trigger in Spawnscript mit
Code:

egal= [thistrigger] spawn
{
_trg = _this select 0;
....
hint format ["Feindliche Einheiten sind in %1 eingefallen!", _trgname];
 ... };

Ich habe es jetzt mit missionnamespace, str usw probiert. Entweder es kommt <null> oder <noshape> anstelle des Triggernamens

Vienna 17.03.2014 09:48

Das wird nur gehen, wenn du nicht nur die Liste des Triggers verwendest, sondern auch den Trigger für das Auslösen des Skripts und dabei einen Text übergibst.

z.B.
Triggername: Trigger1
Aktivierung: OPFOR
Bedingung: this
Bei Akt.: temp = ["Stadtname",Trigger1] execVM "Textausgabe.sqf"

Hier wird z.B. der Stadtname im Bereich des Triggers und die Trigger-ID, mit welcher dann mit list das Trigger-Array im Skript verwendet werden kann, dem Skript übergeben.

Drunken Officer 28.03.2014 21:46

Auslesen welcher Player das Script aufruft.
 
Moinsen.

Ich stehe mal wieder vor einem Problem. Ich schraube an meinem Hubi-Evac Script weiter.
Im SP Modus alles ganz easy.

Allerdings im MP etwas tricky. Alle Spieler haben den Aufruf über CfgCommunicationMenu drin. So kann jeder Spieler sich mit seinem Trupp ausfliegen lassen.
Im SP kann ich den Heli wunderbar zum "Player" fliegen lassen. Das klappt so nun im MP nicht.

Wie kann ich auslesen, wer das Script aufgerufen hat? Es ist kein AddAction, wo der "Caller" eine select 2 ist.

Alternativ müßte ich xyz Cfg Einträge mit unterschiedlicher ID und den jeweiligen Editornamen übergeben. Wobei das Script dann nimmer so flexibel ist.

Vienna 28.03.2014 22:22

Das Skript überträgt beim Aufruf eine globale Variable public an die anderen Spieler. Die Variable identifiziert den aufrufenden Spieler und sperrt das Skript bei den anderen Spielern.

Drunken Officer 28.03.2014 23:44

Jupp danke.

Ich muss dir das mal per PM schicken. Im SP haut es hin und im MP überrennt er es.
Außer ich (=HOST) bin der Spieler. Dann klappt es wieder...

Bah, dass ist so ätzend mit der Lokalität. Dann doch wieder SP Misisons :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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