HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing (https://hx3.de/editing-139/)
-   -   Wieder da und gleich ein neues problem.. (https://hx3.de/editing-139/gleich-neues-problem-15813/)

S4mmy 19.02.2009 20:04

Wieder da und gleich ein neues problem..
 
Hey,
ich bin wieder zurück!!!:D
Wünsche allen erstmal ein frohes neues Jahr und alles Gute!

Und nun zu meinem Problem:

Ich arbeite derzeit an einem eigenen Medevac-Taxi...
bei diesem "System" soll es weniger darum gehen,dass das Team abgeholt wird sondern nur vor Ort verartztet wird.^^ Klingt komisch ist aber so!
Das erste Script funktioniert "wunderbar" (da ich kein Script Profi bin probiere ich einfach..). Beim 2ten Script stürzt mein ArmA dann ab... warum auch immer.. >.<

Ich werde es mal posten vielleicht könnt ihr mir ja helfen!

Bedanke mich schonmal

Gruß S4mmy

1. Script
Code:

private ["_mh","_bs","_p","_mhl"];

_mh = medicheli1;
_bs = begleits1;
_p = tl;
_mhl = medevach;

_mhl setpos getpos _p;
_mh setspeedMode "Normal";
_mh flyInHeight 50;
_mh domove getpos _mhl;
_mh setbehaviour "Careless";
_bs setspeedMode "FULL";
_bs flyInHeight 50;
_bs domove getpos _mhl;
_bs setbehaviour "Combat";

@speed _mh > 10;
[West,"Hq"] sideChat "Medevac is on the Way! Over!";

@_mh distance _mhl < 700;
_mh setspeedMode "Limited"

@_mh distance _mhl < 300;
[_bs]join group _mh;

_mh setFormation "LINE";
_mh flyInHeight 30;
~10
_mh limitSpeed 1;
_mh forcespeed 1;
~5
rope2 = [_mh, 40, "hawk_1l", "rapel", Medesquad] execVM "\ht\rope.sqf";
@count crew _mh < 4;
~10
_mh flyInHeight 50;
_mh domove getpos holdpos1;
_mh setspeedMode "Normal";
~5
[_bs] join grpnull;
_bs setspeedMode "Full";
_bs domove getpos holdpos2;
@_mh distance holdpos1 < 600;
_genAct = _p addaction ["Sanitäter abholbereit","scripts\medicback"];
@_mh distance holdpos1 > 600;
_p removeAction _genAct;
exit

2. Script

Code:

private ["_mh","_bs","_p","_mhl","_mhcrew"];

_mh = medicheli1;
_bs = begleits1;
_p = tl;
_mhl = medevach;
_mhcrew = Medesquad;

[_bs]join group _mh;
_mh setFormation "LINE";
_mh domove getpos _mhl;
_mh setspeedMode "Normal";

@_mh distance _mhl < 700;
_mh setspeedMode "Limited";
_mh flyInHeight 20;
~5
_mh flyInHeight 10;
_mh limitSpeed 1;
_mh forcespeed 1;
~5
_mh flyInHeight 5;
~2
_mh flyInHeight 1;
~1
_mhcrew domove getpos _mh;
@_mhcrew distance _mh < 5;

{_x moveincargo _mh} foreach units _mhcrew
~4
_mh setspeedMode "Normal";
_mh flyInHeight 5;
_mh domove getpos evach;
~3
_mh flyInHeight 10;
~5
_mh flyInHeight 50;

@_mh distance _mhl > 400;
[_bs] join grpnull;
~1
_bs setbehaviour "Careless";
_bs setspeedMode "Normal";
_bs flyInHeight 50;
_bs domove getpos path;

@_bs distance path < 200;
_bs setspeedMode "limited";
_bs domove "GET OUT";

@_mh distance evach < 200;
_mh setspeedMode "limited";
_mh domove "GET OUT";
exit


Vienna 19.02.2009 21:52

Du nennst ein Objekt "path". Das könnte ein reservierter Name des Systes sein.

Lösche einmal beide Zeilen mit "private". Das ist mehr für die SQF-Syntax vorgesehen.

Dann teste das 2. Skript "blockweise" immer bis zum nächsten Punkt, wo das Skript unterborchen wird (Zeilen mit ~ und @).

Dabei beginnge von oben und nimm dann den nächsten "Block" dazu. So kannst du feststellen in welcher Zeile der Fehler auftritt.

S4mmy 19.02.2009 22:56

Danke für die Antwort!

Hab beides probiert das mit dem path geändert und
dann mit dem Step by Step prinzip wie du gesagt hast und es stürzt weiterhin ab sobald ich das 2. Script starte.

Wie gesagt hab ich das Script bis zum ersten @ gelöscht und probiert und es stürzt ab...
Code:

_mh = medicheli1;
_bs = begleits1;
_p = tl;
_mhl = medevach;
_mhcrew = Medesquad;

[_bs]join group _mh;
_mh setFormation "LINE";
_mh domove getpos _mhl;
_mh setspeedMode "Normal";

:kotz:

S4mmy 19.02.2009 23:29

So habs mal mit nem Auslöser (Funk) probiert anstatt mit addaction.. und es hat geklappt ???

Verstehe ich nicht?!

Ich hab noch mit If then else probiert aber das bekomm ich auch nicht hin

Code:

If {_mh distance holdpos1 < 600} Then {_genact = _p addaction ["Medic's good to go","scripts\medicback.sqs"]} Else {_p removeaction _genact}
aber dann sagt er mir was mit bool irgendwas.

Eventuell wäre das noch ne bessere möglichkeit als mit dem @_mh distance.. bzw mit dem auslöser..

Gruß

S4mmy

Vienna 20.02.2009 10:34

Dann legt vermutlich dein 1. Sktipt den "Grundstein" für den Fehler.

In dieser Zeile fehlt z.B. das .sqs bei medicback:
_genAct = _p addaction ["Sanitäter abholbereit","scripts\medicback"];


Wenn du in If eine lokale Variable verwendest, dann muss sie zuvor initialisiert sein.

If {_mh distance holdpos1 < 600} Then {_genact = _p addaction ["Medic's good to go","scripts\medicback.sqs"]} Else {_p removeaction _genact}

hier wäre das die Variable _genact

Schreib oben bei der Initialisierung der Variablen rein _genact = 0

Auch ist die Abfrage bei If in runde Klammern zu setzen:

if (...) then {...} else {...}

Dein "if then else" passt aber nicht in das Skript rein, da diese Zeile nur einmal aufgerufen wird.


Wenn "private" nicht die Fehlerursache war, dann würde auch damit die Variable initialisiert werden können:

private ["_genact", .....];

S4mmy 20.02.2009 10:56

Naja ich schau nochmal. Werde vermutlich das ganze Scripts nochmal übersichtlicher und einfacher gestalten.

Danke für die Hilfe!

S4mmy


/closed

S4mmy 24.02.2009 12:21

Liste der Anhänge anzeigen (Anzahl: 1)
Ich habs geschafft ist zwar noch nicht perfekt aber schon ganz ok.

Benötigt wird das Fast Rope Addon von Handytools.
Handy Tools Rope System - Addons, Mods, Files, Missions, Scripts, Demo's, Patches

Nehme Verbesserungsvorschläge gerne an!
Viel Spaß!

S4mmy

Vienna 24.02.2009 15:01

Geht es auch ohne Addon?

S4mmy 24.02.2009 18:00

Leider nicht weil die Sanitäter abgeseilt werden und der Heli auf Standby Position fliegt.
Hab mir gedacht das kommt besser rüber weil wenn der Heli in einer Gefahrenzone ist muss er ja nicht unbedingt landen ;)

Man kann es zwar noch umbaun das er landet aber fänd ich jetzt nicht so spektakulär^^. Ich steh mehr auf aktion :D

Vienna 24.02.2009 18:39

Für kleine Verletzungen gibt es die Sanitäter. Wird ein Hubschraubereinsatz erforderlich, dann fliegt der Heli in geringer Höhe an. Am Einsatzort wird der Verletzte in den Heli verladen, wobei der Heli knapp über dem Boden schwebt.

Auch finde ich, dass Testmissionen ohne Addons laufen sollten.

S4mmy 24.02.2009 18:59

Ja wie gesagt war erstmal nur zum probieren ;D. Das Problem ist das wenn ich dem Heli sage das er zu dem Helih fliegen soll wo er vorher die Sanis rausgelassen hat bleibt der 20 Meter davor stehen das ich jetzt nicht unbedingt den befehel land benutzen möchte da es damit mal große probleme gab hab ich das mit force speed und flyinheight gemacht sollte dir aber in der testmission auffallen falls du sie ausprobiert hast

Vienna 24.02.2009 23:18

Ich habe keine Addons installiert.

S4mmy 25.02.2009 01:15

Echt nicht ^^ gibt doch n paar schöne *g*


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