⚡ Neueste Beiträge

Aus Fahrzeug schießen

28.11.2008, 18:28 #1 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Aus Fahrzeug schießen

Hi Leute,

ich wollte mal das Skript Shoot from moving vehicles ein kleines bisschen erweitern. Das Problem ist, dass ich es nicht hinkriege irgendwie wieder aus dem Fahrzeug auszusteigen. Kann mir da jemand helfen?

Video abspielenBeim Abspielen werden Daten an YouTube übertragen.
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
28.11.2008, 22:19 #2 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Hat keiner eine Idee, wie ich das einfügen könnte, damit man auch wieder aussteigen kann? Würde das gerne in eine Mission einbauen, da ich aber atm keine Möglichkeit habe wieder aus dem Fahrzeug rauszukommen, wende ich mich an euch.
Nur wie es scheint, weiß se auch keiner von euch bzw. es ist zu schwer für euch :zahn:
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
29.11.2008, 10:05 #3 (Permalink)
Mr-Murray
500 Beiträge
Avatar von Mr-Murray
Registriert seit: 10.06.2004
Ort: München - Germany
Beiträge: 876
Guten Morgen
Ich habe das Addon noch nicht getestet. Aber wir wäre ein Actionmenü-Eintrag und eine Abfrage im Skript. Dann gehts!


Grüße

Mr-Murray
__________________
MR-MURRAY presents

ArmA Editing Guide Deluxe Edition - English Version Download
ArmA Editing Guide Deluxe Edition - German Version Download

Visit me at Facebook! Mapfact Murray
29.11.2008, 12:08 #4 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Zitat von Mr-Murray
Guten Morgen
Ich habe das Addon noch nicht getestet. Aber wir wäre ein Actionmenü-Eintrag und eine Abfrage im Skript. Dann gehts!


Grüße

Mr-Murray
Das is kein Addon, das wurde über Skripte geregelt. DemoMissionen snid dabei.

Aber ic hweiß ja nicht wie die Abfrage und das addaction ausschauen muss! Ich hab schon alles probiert, mal mit worldtomodel anstatt modeltoworld, moveindriver irgendwas, is egal, der bleibt immer aufm Heli/Farhzeug sitzen.

Hier z.b. das Skript, was einen in den Heli setzt (ScriptC):
Code:
_Unit=_This Select 0;
_Vehicle=_This Select 1;

_Unit SetPos (_Vehicle ModelToWorld [-0.8,1.4,-2.0]);

DegHead = 0;
_CurrentDeg = 0;
publicVariable "DegHead";

WaitUntil
	{
	_Unit SetVelocity (Velocity _Vehicle);
	_Unit SetPos (_Vehicle ModelToWorld [-0.8,1.4,-2.0]);
	_VUp=VectorUp _Vehicle;
	_VDir=VectorDir _Vehicle;
	_Unit SetvectorUp _VUp;
	if (DegHead > _CurrentDeg) then {_CurrentDeg = _CurrentDeg + 1};
	if (DegHead < _CurrentDeg) then {_CurrentDeg = _CurrentDeg - 1};
	_Unit SetvectorDir [Sin _CurrentDeg,Cos _CurrentDeg,0];
	not alive _Unit;
	};
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
29.11.2008, 15:06 #5 (Permalink)
Atsche
10 Jahre hx3
500 Beiträge
Avatar von Atsche
Registriert seit: 06.07.2003
Beiträge: 600
Ich hatte das vor Jahren mal so gemacht das ich mich einfach wieder rausgebeamt hatte neben das Fahrzeug ne neue kurze Anim verpasst wo er wieder in den Spieler wechselt und gut war.
__________________
"170th Nighthawks dont quit"

"ARMA SIM"
29.11.2008, 17:45 #6 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Zitat von Sgt.Ace
Ich hatte das vor Jahren mal so gemacht das ich mich einfach wieder rausgebeamt hatte neben das Fahrzeug ne neue kurze Anim verpasst wo er wieder in den Spieler wechselt und gut war.
Ah und weißt du noch wie du das gemacht hast? Hatte es auch mal mit soldat setpos (position h) probiert, aber der hatet sich nich weggebeamt. Kannst du mir bitte sagen, wie ich das machen muss?

Weil eigentlich funzt alles bei dem Skript, außer, dass man nicht mehr aufsethen kann, wenn man sich ein Mal hingelegt hat. Aber das kann man verkraften :zahn:
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
29.11.2008, 21:14 #7 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Argh ... ich glaub ich bin zu ungeduldig :naughty: Ich versuche es ständig, aber ich kriege es einfach nicht hin, dass ich aus dem blöden Fahrzeug rauskomme -.-

PS: Weiß jemand was man machne müsste, damit die KI auch aus dem Fahrzeug rausschießt ?
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
30.11.2008, 15:19 #8 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
So ... weil mir keiner mehr antwortete, hab ich das jetzt nochmal ausprobiert und es funktioniert :D

Mit diesem Skript hier kommt man aus dem Heli in der Demomission 1 (Active Cargo 1):
Code:
h = "HeliHEmpty" createvehicle [(getpos ch2 select 0),(getpos ch2 select 1),(getpos ch2 select 2)];
para = createvehicle ["Parachute", [(getpos ch2 select 0),(getpos ch2 select 1),(getpos ch2 select 2)], [], 0, "FLY"];
para setpos [(getpos ch2 select 0),(getpos ch2 select 1),(getpos ch2 select 2)];
"SoldierWB" createUnit [position h,S2,"S1=this",0.5,"Corporal"];
S1 moveindriver para;
deletevehicle S2;
dostop t1;
selectPlayer S1;
~0.5
deletevehicle MG1;

Natürlich kann man das auch noch per _unit = this select 0 usw. noch verfeinern, aber grundsätzlich funzt es jtzt, dass man per Fallschirm aus dem Heli springt :naughty:


PS: S2 ist eine Spiellogik, die nur gebraucht wird, weil man einen Leader angeben muss. Man könnte es auch noch so machen, wenn der Spieler ein Leader, dass S1 dort reinjoint und dann zum Leader ernannt wird.
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
30.11.2008, 15:52 #9 (Permalink)
Xeno
10 Jahre hx3
5000 Beiträge
Avatar von Xeno
Registriert seit: 03.01.2008
Alter: 86
Beiträge: 6.552
Warum brichst Du das waitUntil nicht einfach ab ?

In dem o.a. Script wird das Positionieren der Einheit nur beendet, wenn das unit tod ist (not alive _Unit;)

Du kannst da noch eine zweite Bedingung mit reinbauen (meinetwegen eine Variable, die durch ein Action Menü geändert wird oder wie auch immer).

Also z.B. so in der Art:
not alive _Unit || nu_raus

nu_raus zu Beginn mit false initialisieren und durch z.B. einen Action Menüeintrag wird die Variable auf true gesetzt.

Xeno
__________________
In arma everything is made of refined explodium, armored with wet paper towels.
30.11.2008, 19:59 #10 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Ahja ok und wie bricht man bitte so ein WaitUntil ab? Mich selbst umbringen? :naughty:
EDIT: Mal den ganzen Beitrag lesen :D Hm ... stimmt ... sit einfacher und dann halt einfach in dem neuen Skript den Fallschirm createn usw.
EDIT2: Das funzt nicht! Ich hab in dem WaitUntil noc hdas mit renigeschrieben: raus==1;
Aber es will nich tfunktionieren, wenn ich den Auslöser auslös, der die Variable raus auf 1 setzt ...

Außerdem hängt man dann bei meinem Skript gleich an nem Fallschirm und segelt schön runter :D Das ist zwar eine neue Einheit, aber man kann der neuen Einheit den selben Namen wie der alten Einheit geben und auch wieder als Leader seinem alten Trupp zuweisen. Von daher ist mein Skript gar nicht so falsch :D
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
30.11.2008, 20:03 #11 (Permalink)
Lester
10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Lester
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 59
Beiträge: 3.013
Zitat von Cyborg11
Ahja ok und wie bricht man bitte so ein WaitUntil ab?
Ich würde mal so grob sagen indem man eine zusätzliche Bedingung hinzufügt die erfüllt werden kann. :naughty: ;)
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547
30.11.2008, 20:18 #12 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Zitat von Lester
Ich würde mal so grob sagen indem man eine zusätzliche Bedingung hinzufügt die erfüllt werden kann. :naughty: ;)
Guck mal @Edit2 ^^
Zitat:
EDIT2: Das funzt nicht! Ich hab in dem WaitUntil noch das mit reingeschrieben: raus==1;
Aber es will nicht funktionieren, wenn ich den Auslöser auslös, der die Variable raus auf 1 setzt ...
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
30.11.2008, 21:14 #13 (Permalink)
Xeno
10 Jahre hx3
5000 Beiträge
Avatar von Xeno
Registriert seit: 03.01.2008
Alter: 86
Beiträge: 6.552
Nun raten wir wieder alle...

Was hat er in dem waitUntil denn drin nun ?

waitUntil ist wie die Bedingung eines Auslösers, verschiedene Zustände können es abbrechen (Zustände lassen sich auch per && oder || verknüpfen).

Xeno
__________________
In arma everything is made of refined explodium, armored with wet paper towels.
30.11.2008, 21:20 #14 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Sry, dass ichs vergessen habe =(
Code:
WaitUntil
    {
    _Unit SetVelocity (Velocity _Vehicle);
    _Unit SetPos (_Vehicle ModelToWorld [0,-3,-0.5]);
    _VUp=VectorUp _Vehicle;
    _VDir=VectorDir _Vehicle;
    _Unit SetvectorUp _VUp;
    if (DegHead > _CurrentDeg) then {_CurrentDeg = _CurrentDeg + 1};
    if (DegHead < _CurrentDeg) then {_CurrentDeg = _CurrentDeg - 1};
    _Unit SetvectorDir [Sin _CurrentDeg,Cos _CurrentDeg,0];
    not alive _Unit || raus == 1;
    };

Das hab ich drinnen und das funzt net.

Hab nen Funkauslöser Alpha erstellt, der bei Aktivierung raus auf 1 setzt (raus=1), aber das geht nicht =o

Ganzes Skript schaut atm so aus:
Code:
_Unit=_This Select 0;
_Vehicle=_This Select 1;

_Unit SetPos (_Vehicle ModelToWorld [0,-3,-0.5]);

DegHead = 0;
_CurrentDeg = 0;
publicVariable "DegHead";

WaitUntil
    {
    _Unit SetVelocity (Velocity _Vehicle);
    _Unit SetPos (_Vehicle ModelToWorld [0,-3,-0.5]);
    _VUp=VectorUp _Vehicle;
    _VDir=VectorDir _Vehicle;
    _Unit SetvectorUp _VUp;
    if (DegHead > _CurrentDeg) then {_CurrentDeg = _CurrentDeg + 1};
    if (DegHead < _CurrentDeg) then {_CurrentDeg = _CurrentDeg - 1};
    _Unit SetvectorDir [Sin _CurrentDeg,Cos _CurrentDeg,0];
    not alive _Unit || raus==1;
    };
MG1 setpos (position h);
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
30.11.2008, 21:35 #15 (Permalink)
Xeno
10 Jahre hx3
5000 Beiträge
Avatar von Xeno
Registriert seit: 03.01.2008
Alter: 86
Beiträge: 6.552
Komisch mal wieder, geht einwandfrei hier mit dem Script und einem Soldaten als player und einem BH als Vehikel (bis auf die Tatsache, dass ich auf dem Heli stehe solange das waitUntil im Script läuft, aber egal).

Exakt o.a. Script, raus = 1 in einem Auslöser mit Countdown der nach 6 Sekunden aktiviert wird.

Xeno
__________________
In arma everything is made of refined explodium, armored with wet paper towels.
30.11.2008, 21:53 #16 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Zitat von Xeno
Komisch mal wieder, geht einwandfrei hier mit dem Script und einem Soldaten als player und einem BH als Vehikel (bis auf die Tatsache, dass ich auf dem Heli stehe solange das waitUntil im Script läuft, aber egal).

Exakt o.a. Script, raus = 1 in einem Auslöser mit Countdown der nach 6 Sekunden aktiviert wird.

Xeno
Könntest du mal bitte deine Missi uppen? Ich schaffe se mit dem o.a. Skript nur, dass ich mich nich mehr mit A und D drehen kann, aber mein Spieler teleportiert sich nich zu dem Heliport. Hab es jetzt mal versucht, dass sich der Spieler per moveindriver in einen Fallschirm begibt => Ich werde sofort wieder in den Heli zurückgebeamt. WTF?!

Die einzige Möglichkeit, die bei mir atm klappt, ist, dass ich eine neue Einheit create. Nur da krieg ich ein Fehler beim Joinbefehl -.-* Würde aber gerne erstere Methode bevorzugen, da sie leichter ist :daumen:
Code:
_Unit=_This Select 0;
_Vehicle=_This Select 1;

grp1 = units group _unit;
h = "HeliHEmpty" createvehicle [(getpos _Vehicle select 0),(getpos _Vehicle select 1),(getpos _Vehicle select 2)];
para = createvehicle ["Parachute", [(getpos _Vehicle select 0),(getpos _Vehicle select 1),(getpos _Vehicle select 2)], [], 0, "FLY"];
para setpos [(getpos _Vehicle select 0),(getpos _Vehicle select 1),(getpos _Vehicle select 2)];
"SoldierWB" createUnit [position h,S2,"S1=this",0.5,"Corporal"];
S1 moveindriver para;
deletevehicle S2;
;dostop t1;
selectPlayer S1;
~0.5
deletevehicle MG1;
~0.1
S1 setvehicleVarName MG1;
MG1 join grp1;
group grp1 selectLeader MG1;
Fehlermeldung is diese hier:
Zitat:
'S1 |x|join grp1;'
Error join: Typ Objekt, erwartet Array
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
01.12.2008, 21:44 #17 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Knan mir denn keiner helfen wie ich aus der blöden Schleife rauskomme? <.< Das will einfach nicht funktionieren!

Xeno? :naughty:
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
01.12.2008, 23:04 #18 (Permalink)
Spiderman
50 Beiträge
Avatar von Spiderman
Registriert seit: 07.03.2008
Alter: 49
Beiträge: 93
Man, man, man.. scheint so dass die Leute kein Bock mehr haben dir deine Scripte zu schreiben. Lieber wartest du auf die Arbeit anderer die dir eine bequeme Lösung vor den Latz setzen. Das hier ist aber nicht für Lösungen sondern für Hilfeleistung gedacht. Selber ausprobieren anstatt jeden Scheiss posten. Ausserdem funktionierts doch:
Zitat:
So ... weil mir keiner mehr antwortete, hab ich das jetzt nochmal ausprobiert und es funktioniert

Rechergieren tust du auf jedenfall nicht:
Zitat:
Fehlermeldung is diese hier:
Zitat:
'S1 |x|join grp1;'
Error join: Typ Objekt, erwartet Array
Such mal nach "join" in der wicki oder erkundige dich in den Tutorials. Dann ist der Fehler gelöst.
Wie man Schleifen programmiert ist auch in Tutorials beschrieben. Und wenn jetzt die Frage nach den Tutorials kommt, wird für dich garantiert niemand mehr etwas tun.
So.. da werd ich echt sauer wenn Leute sich den A.. nachtragen lassen.
__________________
- Silent enim leges inter ArmA -

02.12.2008, 16:40 #19 (Permalink)
Cyborg11
500 Beiträge1000 Beiträge2.500 Beiträge
Avatar von Cyborg11
Registriert seit: 26.03.2008
Beiträge: 2.822
Das Skript tut hier nichts zu belangen ...

Habe es nur gepostet, weil ich es für mich atm die einzigste Möglichkeit ist, aus dem Fahrzeug auszusteigen. ich will aber, dass das Waituntil abbrechen und das funzt nicht! Außerdem weiß ich schon längst, wo der Fehler bei dem join Befehl lag, aber ich konnte menien Post nicht mehr editieren ...

Erstmal bitte die Posts ganz lesen, dann hättest du gewusst, warum ich das Skript gepostet habe ... mich interessiert aber die Möglichkeit von Xeno, da sie die einfachere ist, aber die funktioniert einfach nicht bei mir. Hier nochmal das Skript (ScriptB.sqs):
Code:
_Unit=_This Select 0;
_Vehicle=_This Select 1;

_Unit SetPos (_Vehicle ModelToWorld [0,-3,-0.5]);

DegHead = 0;
_CurrentDeg = 0;
publicVariable "DegHead";

WaitUntil
    {
    _Unit SetVelocity (Velocity _Vehicle);
    _Unit SetPos (_Vehicle ModelToWorld [0,-3,-0.5]);
    _VUp=VectorUp _Vehicle;
    _VDir=VectorDir _Vehicle;
    _Unit SetvectorUp _VUp;
    if (DegHead > _CurrentDeg) then {_CurrentDeg = _CurrentDeg + 1};
    if (DegHead < _CurrentDeg) then {_CurrentDeg = _CurrentDeg - 1};
    _Unit SetvectorDir [Sin _CurrentDeg,Cos _CurrentDeg,0];
    not alive _Unit || raus==1;
    };

MG1 setpos (position h);


Mit moveindriver parachute wird mein Spieler nachdem er am Fallschirm hängt, sofort wieder in den Heli zurückgebeamt. Warum?`Evtl. is das auch eine Ursache, warum der setpos Befehl nicht funzt.
Muss ich da vorher noch mit worldtomodel arbeiten?
__________________
[Xfire] - [System] - [Showclass Skript v1.4] - [GlovePIE Skript: Mausrad zoomen]
02.12.2008, 19:46 #20 (Permalink)
Spiderman
50 Beiträge
Avatar von Spiderman
Registriert seit: 07.03.2008
Alter: 49
Beiträge: 93
Wat willste denn?
das "waituntil" abbrechen? - siehe post von Lester (mit Anmerkung von Xeno)
Zitat:
weiß ich schon längst, wo der Fehler bei dem join Befehl lag
Bei Problemen schreibst du erst ins Forum bevor du nachschlägst?!
Sowas macht man wenn es wirklich kein anderes Mittel gibt. Da du es bereits alleine gelöst hast siehe:
Zitat:
So ... weil mir keiner mehr antwortete, hab ich das jetzt nochmal ausprobiert und es funktioniert
Xeno hats ja ausprobiert - bei ihm läufts! Und der Kerl wird ja ne Ahnung vom scripten haben!
Murrays Idee sind addaction Einträge - wie das funkt steht ja im Guide.
Xenos Idee ist auch bereits aufgeführt. Nun liegt es an dir.
DU must DEINE scripte schreiben. Du kannst nicht erwarten, dass auf dich angepasste Scripte hier angeboten werden.
Hilfestellung - ja, die kannst du erwarten und die wird auch oft ziemlich schnell gewährt!

Ich persönlich finde es schon unverschämt mit welcher Dreistigkeit du versucht, dass andere hier deine Ideen verwirklichen sollen.
Zitat:
Erstmal bitte die Posts ganz lesen, dann hättest du gewusst, warum ich das Skript gepostet habe
Das "waituntil" Script hast du gepostet damit andere dir sagen, was und wo du es eintragen musst. Xeno hat es ja gesagt. Aber es dir nicht in Form einer Beispiel Datei vor den Latz geknallt. Das ist DEINE Aufgabe!
q.e.d: Du willst eine sofortige Scriptlösung (am besten gleich als pbo) damit du auch ja nichts mehr ausprobieren musst! Ich prophezeie dir: Keiner wird sich diese Mühe machen, schon garnicht wenn es so offensichtlich ist, dass du nicht viel Zeit investierst um selber zu suchen - siehe join. Nach dem Motto: erst mal blöd Fragen, es wird mir ja schon so einer die Lösung vor die Füsse werfen.

So, genug off topic!
__________________
- Silent enim leges inter ArmA -

HX3 Foren · Startseite · Archiv · Impressum · Datenschutz