18.10.2013, 13:49 | #1 (permalink) |
Registriert seit: 18.10.2013
Alter: 41
Beiträge: 64
|
Waffen auf Kisten verteilen?
Hallo zusammen,
ich besitze Arma3 erst seit kurzem und möchte mich auch ein bisschen in das Thema Editing und Scripting einarbeiten, damit ich mir auch mal ne kleine Mission zusammen basteln kann. Den alten Murray Guide und den Scripting Guide von James und Bunkerfaust habe ich gelesen, den Murray Guide noch nicht ganz, weil es doch schon ein ziemlich dicker Brocken ist. Und beim Scripting Guide habe ich natürlich nicht alles verstanden, da das Thema Neuland für mich ist. So genug bla bla erstmal. Ich habe folgendes Problem und sitze schon zwei volle Tage daran, habe auch schon alle möglichen Waffenkisten Threads gelesen, aber keiner davon hat mir die Lösung gebracht. Ich habe mir dieses kleine Script geschrieben und probe damit: PHP-Code:
Aber, wie zum Teufel kriege ich es hin, wenn ich zwei Kisten mit den Namen Kiste1 und Kiste2 (mit selbem Inhalt) füllen will, ohne zwei Scripte (Kiste1.sqf und Kiste2.sqf) dafür zu benutzen? Ich möchte alles in einem Script lösen. Und wie kriegt man es hin, die Sachen auf die Kisten zu verteilen in einem Script, wenn es auch mehr wie eine ist? Also z.B.: Kiste1 mit waffen und Kiste2 mit Munition. Ich habe schon so viel rum Probiert und möchte Euch das Ergebnis erst garnicht mitteilen, so verwirrend ist es. Z.B. habe ich es schon so Ausprobiert: PHP-Code:
Kiste1 = Anzahl der Waffen wie angegeben, auch nach den ersten 10 Sekunden. Kiste2 = Anzahl der Waffen verdoppelt, erst nach den ersten 10 Sekunden wieder normal wie angegeben. Wenn ich jetzt ne dritte Kiste nehme, dann ist die Anzahl anfangs verdreifacht und bei ner vierten Kiste vervierfacht. Wieso? Wo liegt da mein Denkfehler? Ich hab auch schon Ergebnisse rausgekriegt, da hat sich die Anzahl in der Kiste jede 10 Sekunden summiert. Mittlerweile bin ich total und kann nicht mehr klar denken. Ich hoffe ich hab mein Problem aufführlich schildern können, so das mir jemand vielleicht helfen kann mein Prob zu lösen. Vielen Dank erstmal |
18.10.2013, 15:15 | #2 (permalink) |
Registriert seit: 11.02.2010
Beiträge: 69
|
Hallo JeeperCreeper,
hab dein Skript mal so angepasst, daß du es beliebig oft für unteschiedlich befüllte Kisten verwenden kannst. _kiste wird zur lokalen Variable, die nur in meintestScript.sqf ausgeführt wird. Zugewiesen wird das Objekt, also die Kiste, die in der Initzeile als this im Array angegeben wird, somit ist auch der Name egal. Durch die Weitergabe der Werte aus dem Array wird dein Skript unabhängig und für mehrere Kisten verfügbar, obwohl sie anders befüllt werden. Deine Kiste wird so, wie es derzeit in deinem Skript steht, alle 10 Sekunden geleert und wieder aufgefüllt. Lässt du die clear Geschichte weg oder plazierst sie oberhalb von "while {true} do", werden alle 10 Sekunden die Mengen hinzuaddiert, die du als Anzahl angibst usw. Mich hat das vor Kurzem auch ziemlich gefordert, aber das gibt sich mit der Zeit. PHP-Code:
PHP-Code:
PHP-Code:
Nun solltest du in der ersten Kiste eine Waffe und in der zweiten Kiste ein Magazin finden, obwohl keine der Kisten einen Namen hat. Wenn das Skript allerdings nicht über die Initzeile der Kiste ausgeführt werden soll, dann muß die Kiste einen Namen haben, der sich folglich auch im Array befinden muß. Beispiel: Kiste1 PHP-Code:
|
18.10.2013, 15:58 | #3 (permalink) |
Registriert seit: 18.10.2013
Alter: 41
Beiträge: 64
|
romans, ich danke Dir!
Mir hätte es sogar schon gereicht, wenn man mir sagen würde, du musst es als array versuchen. So hab ich ja schon die Lösung hehe, danke. So hab ich mir das ganze auch schon überlegt, aber ich Check das mit dem zuweisen aus dem Array noch nicht ganz, diese: = this 0 = this 1 Geschichte usw..., da denk ich mir immer, häh, woher weiss das Skript den jetzt was Null und was Eins ist usw... Naja, das Thema muss ich mir einfach noch vertiefen. So viel gelesen in den letzten Tagen, dass ich jetzt total durcheinander bin und das Gefühl hab garnichts mehr zu verstehen. Big THX! EDIT: Perfekt, jetzt hab ich da auch durchgeblickt! Man kann jetzt wunderbar mehrere Kisten mit unterschiedlichem Inhalt, oder aber auch mehrere Kisten mit gleichem Inhalt füllen. Die Geschichte wäre damit erledigt, jetzt muss ich mir mal nen Spawnscript oder ähnliches Anschauen und testen. Geändert von JeeperCreeper (18.10.2013 um 17:34 Uhr). |
18.10.2013, 16:09 | #4 (permalink) |
Registriert seit: 17.01.2008
Beiträge: 267
|
Das ist ja der Array --> [this, Anzahl Waffen, Anzahl Muni, Anzahl Items] execVM "meintestScript.sqf";
Der Array wird an die Variable "this" übergeben. Mit "select" wählst du dann einen Inhalt aus diesem Array aus und zwar einfach in der Reihenfolge in der sie dran stehen. Das einzig "knifflige" daran ist, das hier mit 0 zu zählen begonnen wird. [0, 1, 2, 3, usw..] Was an welcher Stelle zu stehen hat, bestimmt der, der das Script schreibt. Deswegen steht meistens in der ersten Zeile des Scripts (wie auch bei romans) ein Kommentar in dem zu sehen ist, wie das Script aufgerufen werden muss und wie die Reihenfolge der Parameter ist. ps.: Das Gefühl nix zu verstehen ist ganz normal, das hab ich auch heute (nach etlichen Jahren) öfter noch. Sieh es positiv: Du hast gerade erst an der Oberfläche der Möglichkeiten gekratzt und es gibt noch verdammt viel zu entdecken!
__________________
Geändert von Tajin (18.10.2013 um 16:16 Uhr). |
07.12.2013, 04:04 | #5 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
Du kannst die Geschichte aber noch ausfeilen!
Lade in einem Array die Waffenklassen _waffenarray = ["waffe1","waffe2",....] Statt Waffe natürlich die Classennamen gleiches machst du mit den magazinen _magarray = ["mag1","mag2"...] Du kannst aus dem Script heraus dann auf diese Dinger zugreifen. Gezielt oder per zufall _wumme = floor (random count _waffenarray); oder gezielt _wumme = _waffenarray select 1; (z.B.) Du hast nur einmal die Arbeit die Waffen zu erfassen, kannst später aber schneller gezielt verzeilen |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Zwei primäre Waffen | Vienna | Editing & Scripting | 5 | 19.06.2012 22:22 |
USMC einheiten mit waffen von OA ausrüsten | Lotos | Editing & Scripting | 1 | 18.12.2010 15:06 |
Bug oder Feature: Waffen verziehen unendlich | SnakeByte | Technische Fragen & Probleme | 1 | 24.08.2010 19:16 |
Waffen verbieten - keine Ost waffen für West einheiten | Anemia | Editing & Scripting | 3 | 03.08.2010 19:19 |
Waffen kaufen Waffen dem Menü hinzufügen von einem Mod | Mister Burke | Editing & Scripting | 1 | 05.06.2010 16:53 |