19.02.2009, 20:04 | #1 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
Wieder da und gleich ein neues problem..
Hey,
ich bin wieder zurück!!! 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 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
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} Geändert von S4mmy (19.02.2009 um 20:06 Uhr). |
19.02.2009, 21:52 | #2 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
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. |
19.02.2009, 22:56 | #3 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
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";
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} |
19.02.2009, 23:29 | #4 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
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} Eventuell wäre das noch ne bessere möglichkeit als mit dem @_mh distance.. bzw mit dem auslöser.. Gruß S4mmy
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} |
20.02.2009, 10:34 | #5 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
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", .....]; |
20.02.2009, 10:56 | #6 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
Naja ich schau nochmal. Werde vermutlich das ganze Scripts nochmal übersichtlicher und einfacher gestalten.
Danke für die Hilfe! S4mmy /closed
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} |
24.02.2009, 12:21 | #7 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
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
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} Geändert von S4mmy (24.02.2009 um 12:30 Uhr). |
24.02.2009, 18:00 | #9 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
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
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} |
24.02.2009, 18:39 | #10 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
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. |
24.02.2009, 18:59 | #11 (permalink) |
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
|
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
__________________
IF (IT MAKES "KLICK") Then {YOU BE IN THE SHIT} |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Mal wieder ein Skriptproblem | Cyborg11 | Editing | 17 | 30.03.2008 15:23 |
bin neu aber gleich ein paar Fragen.... | Dynastie | Community | 13 | 20.11.2006 15:17 |