HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   nach Respawn Ausrüstung behalten (https://hx3.de/editing-scripting-167/respawn-ausruestung-behalten-22268/)

whatever828 27.02.2013 19:33

nach Respawn Ausrüstung behalten
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo Community.

Ich habe ein Problem mit dem Editor von Arma 2. Und zwar will ich eine 2-Spieler Mission erstellen. In dieser Mission kann respawnt werden und die Respawnpunkte wandern auch weiter sobald ein Gebiet "gesäubert" ist. Auch gewisse Fahrzeuge können respawnen. Nun zum Problem:
Ich habe den Spielern jeweils die gleichen Startwaffen bwz. Ausrüstunggegenstände gegeben. Das funktioniert auch. Nur möchte ich das die Einheiten beim Respawn auch Ihre Ausrüstung behalten und nicht zur Standartausrüstung zurückkehren.
Ich habe auch den Editing-Guide von Mr-Murray bezüglich dieses Thema gelesen (Seite 250), jedoch funktioniert das bei mir nicht.

Hier meine Vorgehensweise:
1. Editor öffnen und 2 Trigger erstellt für beide Spieler(siehe beiliegenen Screenshot)
2. Die beiden Spielfiguren in Soldat1 und Soldat2 umbenannt.
3. Das Script lt. Guide geschrieben (siehe Screenshot) und als SQS-Datei gespeichert und in den Missions Ordner gelegt.

Fertig. :D

Vermutlich ist es nur ein kleiner Fehler aber trotzdem wäre euer Rat SEHR hilfreich. Vielen Dank schonmal im Voraus.

Vielleicht weiß jemand eine Methode die funktioniert.

mfg whatever828

Q_W_E_R 27.02.2013 21:01

hab eine frage bevor du jetzt weiter liest sollen beide spieler beim respawn das selbe haben oder jeder etwas bestimmtes?, weil dann brauchen wir nur einen Trigger.

habs auch so getestet wie es im guid is bei mir funktioniert das auch nicht aber ich habe ein lösung dafür :daumen:.

und zwar hab ich das umgebaut:
(vorsicht ist jetzt ne sqf keine sqs mehr)

weapon.sqf
Code:

@alive Player;

removeBackpack Player; //kannste auch weg lassen löscht nur denn akt. rucksack
Player addBackpack "US_Backpack_EP1" //is nur n Tipp dann kann man zwei waffen mit sich rumschleppen

removeallWeapons player; //löscht waffen und muni wie es im guid steht
player addweapon "Binocular"; //so und nun kannst du all deine waffen, muni und equipm reinhauen ;)
player addweapon "NVGoggles";
player addmagazine "8Rnd_9x18_MakarovSD";
player addmagazine "8Rnd_9x18_MakarovSD";
player addmagazine "8Rnd_9x18_MakarovSD";
player addmagazine "8Rnd_9x18_MakarovSD";
player addmagazine "8Rnd_9x18_MakarovSD";
player addmagazine "8Rnd_9x18_MakarovSD";
player addweapon "MakarovSD";

am ende hab ich "exit;" weggelassen brauchst bei nem sqf script net

deinen Trigger kannst du so lassen

Beispielmission gefällig?:
https://www.dropbox.com/s/oy344l9801...3.Desert_E.zip

AHTNTEPPOP 27.02.2013 21:28

Thema ins Editing & Scripting Forum verschoben.

Vienna 28.02.2013 01:12

Hier gibt es die Lösung: http://hx3.de/editing-scripting-167/...32/#post336309

whatever828 28.02.2013 14:06

Danke für die schnellen Lösungsvorschläge.

@Q_U_E_R: habe deine Lösung verwendet und sie funktioniert super. Danke nochmal.

:D

whatever828 01.03.2013 16:12

So habs jetzt ausführlich getestet und einen groben Fehler entdeckt.

Und zwar passiert folgendes: Wenn ich und mein Kumpel die Mission starten läuft alles normal, doch sobald einer stirbt bekommt dieser zwar die vorgegebene Startausrüstung aber auch dem zweiten Spieler wird diese neu hinzugefügt.
Heißt im Klartext. Wenn ich zB. eine andere Waffe aus der Waffenkiste genommen habe zb eine AS50 und mein Kumpel stirbt dann, dann bekomme auch ich automatisch wieder die Startwaffe (in dem Fall eine MK17) und Startausrüstung obwohl ich noch lebe. Das ist natürlich nervig und geht garnicht. :schlagen:

Ich hoffe das ihr habt eine Lösung dafür. Schon mal Danke im Voraus.

PS: Ich benutze zwei Trigger, jeder für einen Spieler. Ein Spieler heißt Soldat1 und der zweite Soldat2. Wenn einer stirbt wird das Script von Q_U_E_R aufgerufen.

Vienna 01.03.2013 17:00

Die Bedingung des Triggers für Soldat1 muss lauten: alive Soldat1

Für Soldat 2 dann natürlich: alive Soldat2

whatever828 01.03.2013 17:37

@Vienna:
also du meinst bei Condition: alive Soldat1 und nicht ! alive Soldat1??

Vienna 02.03.2013 02:04

Du kannst beides nehmen, weil das Skript mit einer "alive" Abfrage beginnt. Bei !alive hat wahrscheinlich der Spieler beim Spielstart eine andere Bewaffnung (die Standardbewaffung der Spielfigur).

Wenn beide Spieler die selbe Bewaffnung bekommen, dann kann im Trigger als Bedingung auch alive Player stehen.

whatever828 02.03.2013 12:46

@Vienna: Nein funktioniert leider nicht :( selbes Problem wie vorhin beschrieben;

Lässt sich das vielleicht folgendermaßen lösen:
a) wenn Spieler 1 stirbt, dann wird Script 1 abgerufen und wenn Spieler 2 stirbt, dann Script 2
oder
b) was muss man machen damit zb Spieler 2 eine andere Startausrüstung erhält wie Spieler 1 - somit könnte ich das Problem umgehen, das für beide Spieler dasselbe Script aufgerufen wird, was wie mir scheint zu Problemen führt.

vielleicht läuft es so??? Für Ratschläge bin immer offen. Danke. :lol:

burns 02.03.2013 14:48

Zitat:

Zitat von whatever828 (Beitrag 443329)
a) wenn Spieler 1 stirbt, dann wird Script 1 abgerufen und wenn Spieler 2 stirbt, dann Script 2

Einfachste Lösung, 2 Trigger platzieren, nix dran ändern ausser vllt. Radius auf 0

Bei Condition "!alive namespielfigur1" (ohne Anführungszeichen)
Bei onActivation "bla=execVM "deinscriptnummer1.sqf" (ohne Anführungszeichen)

Dasselbe auch im zweiten Trigger, allerdings mit Spielfigur2 und Script2 ;)

whatever828 02.03.2013 15:56

@burns: leider funktioniert deine Variante nicht... schade

wenn ich ein zweites Script namens weaponrespawn2.sqf erstellen würde, das von Spieler 2 nach seinem Ableben aufgerufen wird um die Ausrüstung neu zu laden was müsste ich dan im Code ändern im Gegensatz zu dem Script für Spieler 1

Spieler 1 (weaponrespawn1.sqf) lautet:

@alive Player;
removeallWeapons player;
player addweapon "Binocular";
player addweapon "NVGoggles";
player addmagazine "8Rnd_9x18_MakarovSD";
player addmagazine "8Rnd_9x18_MakarovSD";
player addmagazine "8Rnd_9x18_MakarovSD";
player addmagazine "8Rnd_9x18_MakarovSD";
player addmagazine "8Rnd_9x18_MakarovSD";
player addmagazine "8Rnd_9x18_MakarovSD";
player addweapon "MakarovSD";

Problem ist: wenn ich das Script einfach kopiere und umbenenne in weaponrespawn2.sqf und auch die Trigger ändere dann funkt das nicht.

Muss ich vielleicht den beiden Spielern eine ID verpassen, damit das Script begreift das nur der Spieler der gerade gestorben ist die neue Ausrüstung erhält?

Vielleicht kennt jemand eine passende einfache Beispielmission in der ein Weapon Respawn wie ich ihn gerne hätte vorkommt. :D

Vienna 03.03.2013 08:43

Name der Spielfigur: Soldat1
Code:

Auslöser:
Achse A und B: 0
Aktivierung  : Keiner | Mehrfach
Bedingung    : alive Soldat1
Bei Akt.    : temp = 0 execVM "weaponrespawn1.sqf";

Skript weaponrespawn1.sqf
Code:

removeallWeapons player;
player addweapon "Binocular";
player addweapon "NVGoggles";
for "_i" from 1 to 6 do
 {
  player addmagazine "8Rnd_9x18_MakarovSD"
 };
player addweapon  "MakarovSD";
Player selectWeapon"MakarovSD";

Für weitere Soldaten änderst du beim Namen des Soldaten die Zahl 1, dann im Namen des Skripts und ebenso beim Auslöser in der Bedingung und beim Skriptnamen.

So hast du beim Spielstart und nach dem Ableben die im Skript gewählte Bewaffnung. Willst du für andere Soldaten eine andere Bewaffnung, dann nur die Namen der Magazine und der Waffe im Skript abändern.

whatever828 03.03.2013 11:34

Liste der Anhänge anzeigen (Anzahl: 5)
Ok hab es gerade ausprobiert. Leider geht es noch immer nicht :(.

Wieder das gleiche Prozedere: Sobald mein Kumpel oder ich respawne, erhält der noch lebende Spieler ebenfalls wieder die Startwaffen/-ausrüstung auch wenn er eine andere Waffe oder Ausrüstung aus der Waffenkiste genommen hat.
Blöde Frage aber kann man vielleicht im Weaponrespawn-Script das Wort Player für den zweiten Spieler auf Player1 oder Player2 ändern oder würde das nicht funktionieren.

Ich habe im Anhang alles mit Screenshots dokumentiert. Ich hoffe das dies weiterhilft. Danke für eure Geduld :).

mfg

whatever828 03.03.2013 11:35

Liste der Anhänge anzeigen (Anzahl: 1)
und hier noch das 2. Script, jetzt ist alles vollständig

Xeno 03.03.2013 11:51

*deleted*

Xeno

whatever828 03.03.2013 12:38

Ok klingt interessant. Hab mir das auch auf der Bohemia Website angesehen.

Nur kenn ich mich da zu wenig aus. Könntest du mir ein Beispiel geben wie ich das in meiner Mission anwenden könnte.
Folgendes sollte vorkommen:
1. Respawn beider Spieler
2. Spieler erhalten bei Respawn anstatt der Standardausrüstung zb. ein MG, etc. (Spieler können auch unterschiedliche Ausrüstung erhalten)

Hoffe du kannst mir da ein wenig weiterhelfen... :daumen:

Vienna 03.03.2013 20:03

Liste der Anhänge anzeigen (Anzahl: 1)
Keine Ahnung was du da für einen Fehler produziert hast. Im Anhang ein Beispiel für zwei Soldaten. Die Skripte und deren Aufruf ist so geändert, dass auch KI-Soldaten diese Bewaffnung haben.

Aufruf für Soldat1: temp = Soldat1 execVM "weaponrespawn1.sqf"
Code:

removeallWeapons _this;
_this addweapon "Binocular";
_this addweapon "NVGoggles";
for "_i" from 1 to 6 do
 {
  _this addmagazine "8Rnd_B_Saiga12_74Slug"
 };
_this addweapon    "Saiga12K";
_this selectWeapon "Saiga12K";

Wenn der Spieler nach dem Respawn die Bewaffnung haben soll die er vor dem Tod einer Munikiste entnommen hat, dann siehe das Beispiel aus Post #4.

whatever828 04.03.2013 11:38

@ Vienna: Jetzt hats endlich geklappt :D... Alles läuft so wie es soll.

Danke nochmal an alle für die hilfreiche/lehrreiche Unterstützung. :daumen:


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