PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Magazinkapazität per Script abfragen ?


Victor
28.08.2006, 10:53
ich habe wieder einmal eine Frage:

und zwar...

ist es möglich, dass man die verbleibenden Schuss im Magazien per Sript abfragen kann ?

-ich will nämlich ein Script schreiben, bei dem etwas passiert (nicht wichtig), sobald eine bestimmte Person ein bestimmte Anzahl von Schüssen abgegeben hat.

Gastowski
28.08.2006, 12:41
Hi Victor,

vielleicht hilft dir das weiter:

Es gibt doch Scripts, die aktiviert werden, wenn ein Schuss abgegeben wird.
Könnte man nicht eine Art Zähler einbauen, der das Script nicht nach einem,
sondern nach z.B. 15 Schüssen aktiviert.

Werde mich noch mal im Netz etwas umsehen.

Grüße Gastowski

Victor
29.08.2006, 09:49
Danke erstmal Gastowski. :)

ich glaube ich habe soetwas schon mal irgendwo gesehen, aber ich weis nicht wo... :ugly:

- warum ich das benötige:
ich will, dass ein Russe, einen Res. im laufen von etwa 1-2meter umlegt.
sieht dann aber etwas komisch aus, wenn der von so einer geringen Entfernng nach der ersten Salve nicht trifft und extra stehen bleiben muss um noch 2-Salven abzufeuern und der Res. erst dann tot umfällt...
--> deshalb will ich, dass nach dem 3. Schuss (oder im Notfall auch ersten) per Script der Res.-Kämpfer durch "setdammage 1" getötet wird... :daumen: ;)

Alex.Sworn
29.08.2006, 11:22
Ich hätte da eine Idee.
Das Skript in der ini Zeile starten. this exec "Name.sqs"
Die RUS Einheit Jack sollte auf nie fuern gestellt sein und immer stehen.

Jack setunitpos "up";
@ 5> Jack Distance John
Jack setbehavior “aware”
John DoMove GetPos “Jack”
@ Speed John > 2 : John SwitchMove “CombatRunDeadVer2”
exit

Victor
29.08.2006, 11:37
Ja währe ne Idee... :daumen:

aber leider nicht das was ich brauche :angel:



- bei mir stehte gerade ein Wiederstandskämpfer auf und ergibt sich und der Russe soll ihn niederstriken...
- ich könnte ja auch einen Auslöser vor den RES. setzen und wenn der Russe darüberläuft, "setdammage 1 ( ---> vom Res.)"...

aber es ist dann blöd, wenn der RES. einfach umfällt, ohne dass er erschössen worden ist... :D

Alex.Sworn
29.08.2006, 15:02
Jack setunitpos "up";
John setunitpos "down"

@ 5> Jack Distance John

Jack setbehavior “aware”

John SwitchMove “FXStandSurDown"

Jack dofire John
~0.5
@ not alive John
John SwitchMove “FXStandSurDead”

exit

sollte klappen. Jack läuft zu John. Bei 5m steht John auf. Nimmt die Hände hoch, Jack feuert auf John, 0,5sec Pause, und wenn John tot ist fällt er um.

Victor
29.08.2006, 19:57
@ Alex.Sworn: Ich weis deine Hilfe und bemühung wirklich zu schätzen... :daumen:


ABER...

- vielleicht habe ich meine(n) Beitrag/Beiträge nicht verständlich genug formuliert... :zahn:


ALSO: genau soetwas: Jack setunitpos "up";
John setunitpos "down"

@ 5> Jack Distance John

Jack setbehavior “aware”

John SwitchMove “FXStandSurDown"

Jack dofire John
~0.5
@ not alive John
John SwitchMove “FXStandSurDead”

exit


habe ich... (nur eben mit Triggers/Auslösern)



--> mein Problem ist nur: dass mit dem Befehl "dofire" der RUSSE im laufen auf den RESISTANCE schießt. --> wenn er aber nicht trifft bleibt der RUSSE extra stehen, um nochmal zu ziehlen und zu schießen... (und ich will, dass der RUSSE im laufen schon trifft!!!)




---> nachdem er aber nicht sicher trifft:

brauche ich ein Script, das die Munition im Magazien des RUSSEN zählt und sobald nur noch 27 Schuss (also 3 Schuss/eine Salve abgegeben wurde[n]) soll der RESISTANCE umfallen ;)

:ugly: :ugly: :ugly:

(ich hoffe, dass das jetzt verständlich genug war :naugthy: :angel: )

HELP !!!

[B.B.S.] Ghost
29.08.2006, 21:38
Füge das in den init von deinem russen

this addEventHandler ["Fired",{this exec "resdead.sqs"}]

Deine Sqs. Datei:

russenname removeEventHandler ["Fired",0]
~1
resname setdammage 1
exit


Sollte die selbe Wirkung haben.

xezon
30.08.2006, 14:04
Hatte in der Mission Pingushooting ein paar Zeilen geschrieben, die die Waffenanzahl und Magazinanzahl bestimmen können. kA ob es hilft, wenn ja findest du hier alles.

_PlayerWaf = weapons Jack;
_PlayerMag = magazines Jack;

_LANG_Wafanzahl = 0;
_LANG_Maganzahl = 0;

_select_Waf = 0;
_select_LANG_Waf = 0;
#check_Waf_LANG
? (_PlayerWaf select _select_Waf) == (_LANG_Waffenarray select _select_LANG_Waf) : _LANG_Wafanzahl = _LANG_Wafanzahl +1;
_select_Waf = _select_Waf +1;
? _select_Waf > (count _PlayerWaf -1) : _select_Waf = 0; _select_LANG_Waf = _select_LANG_Waf +1;
? !(_select_LANG_Waf > (count _LANG_Waffenarray -1)) : goto "check_Waf_LANG";

_select_Mag = 0;
_select_LANG_Mag = 0;
#check_Mag_LANG
_addierer = 1;
? (_PlayerMag select _select_Mag) == "m60" : _addierer = 2;
? (_PlayerMag select _select_Mag) == "mm1magazine" : _addierer = 8;
? (_PlayerMag select _select_Mag) == (_LANG_Magazinarray select _select_LANG_Mag) : _LANG_Maganzahl = _LANG_Maganzahl + _addierer;
_select_Mag = _select_Mag +1;
? _select_Mag > (count _PlayerMag -1) : _select_Mag = 0; _select_LANG_Mag = _select_LANG_Mag +1;
? !(_select_LANG_Mag > (count _LANG_Magazinarray -1)) : goto "check_Mag_LANG";

Victor
30.08.2006, 20:01
@ [B.B.S.] Ghost: danke erstmal, das werde ich mal ausprobieren... (klingt gut) :daumen:


@ xezon: sieht sehr kopliziert aus (blicke ich zurzeit nicht durch :confused: )
- aber das ändert sich hoffentlich noch :D


aufjedenfall: DANKE !!

pspsps91
01.09.2006, 16:28
So müsste es eigentlich auch gehen:

_russe = _this select 0
_waffe = _this select 1
_z = _this select 2

_ammo = _russe ammo _waffe

#loop
_ammoneu = _russe ammo _waffe
? _ammoneu == (_ammo - _z):goto "schuss"
~0.001
goto "loop"

#schuss
schuss = true

exit

in die initzeile bei dem Russen schreibst du dann z.B. [this,"ak74",1] exec "schuss.sqs". "ak74"(immer mit "") muss die Waffe sein die der Russe hat und 1 ist die Anzahl der Schüsse die abgegeben werden müssen, bevor die Variable schuss auf true gesetzt wird.
*ich habs nicht getestet sollte aber gehen :daumen:

xezon
01.09.2006, 18:45
Sieht gut aus. Also kannst du nun wunderbar mit den Befehlen ammo, magazines und weapons spielen. ;)

Victor
07.09.2006, 20:30
@ all:

DANKE JUNGS !!!

Funktioniert alles Perfekt :daumen: :daumen: :daumen: