Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 22.08.2010, 16:28   #1 (permalink)
Newbie
 
Registriert seit: 07.06.2009
Beiträge: 40
Standard Arti eine gewisse Zeitlang in ein Gebiet schießen lassen

Halloa

ich habe ein Problem beim Scripten von Artillerie.

Ich wollte eigentlich hinbekommen, dass solange Gegner in einer Stadt sind an vordifinieren Positionen nach einer zufälligen Zeit (max 5min) artilleriegranaten einschalgen.Diese sollten aber nicht immer an den gleinen definieren Positionen einschlagen.

Das erstellen von Artilleriegranaten in der Luft durch einen Auslöser habe ich hinbekommen.
Mein Problem besteht jetzt darin dass ich nicht weis wie ich einen Auslöser mache der solange ein Script ausführt bis alle Gegner einen Bereich verlassen haben oder tod sind.
Außerdem weis ich nicht wie man durch einen Auslöser per zufallszeit Granaten über einem Zufälligen Marker.

Habe es auch schon probiert einer Ki Artillerie zu sagen sie solle ein Zeitlang auf ein Gebiet feuern, habe es aber auch nicht hinbekommen dass sie überhaupt auf große Entfernung feuert).
Bruklin ist offline   Mit Zitat antworten
Alt 22.08.2010, 17:06   #2 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 46
Beiträge: 1.927
Standard

Da sag ich mal pauschal: "Suchfunktion nutzen!"

Das Thema ist in diversen Foren schon 2 Millionen mal behandelt worden...

__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 22.08.2010, 17:49   #3 (permalink)
Newbie
 
Registriert seit: 07.06.2009
Beiträge: 40
Standard

hab vereinzelt was gefunden was etwas in meien Richtung geht, aber es war nix dabei was jetzt etwas genauer in Richtung meines Problem gehen würde oder was ich gleich begreifen würde.
Suche schon den ganzen Tag im Internet und probiere rum.
Was ich mach klappt aber ned
Bruklin ist offline   Mit Zitat antworten
Alt 22.08.2010, 20:26   #4 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 46
Beiträge: 1.927
Standard

Artillery Script aus EW Kampagne
__________________

Geändert von Buliwyf (22.08.2010 um 22:35 Uhr).
Buliwyf ist offline   Mit Zitat antworten
Alt 22.08.2010, 20:55   #5 (permalink)
Newbie
 
Registriert seit: 07.06.2009
Beiträge: 40
Standard

Danke für den Link Werde mir das gleich mal merken.
Es ist aber leider nicht ganz das was ich brauche.

Ich kann damit leider nicht sagen wo genau ein Schuss landet.

Habe eigenltich vor auf der Karte Zargabad, bei Nacht, den Spieler einen Angriff starten zu lassen und wollte für eine bestimmte Zeit am Anfang den Eindruck eines Artillerieangriffs hinbekommen der aber keine Ki tötet.
Hatte vor Marker an positionen zu setzen wo keine Gegner sind.

Habe es jetzt mal mit einem externen Script probiert und bekomme nur Error7.
(Habe noch nie Gescriptet).
Hier mal dass was ich bis jetzt habe:
#Start;
_Bomb="Sh_105_HE" createVehicle [(getPos Ziel1 select 0),( getPos Ziel1 select 1), 100];
sleep 30;
exit;
______________________________
Liegt es vielleicht daran dass ich es als .sqs gespeichert habe und mit
nul = execVM "arti.sqs" aufrufe?
Bruklin ist offline   Mit Zitat antworten
Alt 22.08.2010, 21:09   #6 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Rockhount
 
Registriert seit: 16.07.2010
Beiträge: 305
Standard

Versuch das mal:
Beispiel für 5min und random 50m um den Marker herum

Code:
null= [ziel1,50,120] execVM "artillery.sqf";
Code:
private ["_ziel","_rand","_zeit"];
_ziel = _this select 0;
_rand = _this select 1;
_zeit = _this select 2;

if (isServer) exitWith {
sleep _zeit;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
};
Edit: Das funktioniert aber nur auf einen Server, falls man es im Editor ausprobieren möchte, einfach "if (isServer) exitWith {};" löschen

Edit2: Je nachdem wieviele Geschütze verwendet werden, muss das Script verändert werden
z.B. bei 3 Geschützen:
Code:
private ["_ziel","_rand","_zeit"];
_ziel = _this select 0;
_rand = _this select 1;
_zeit = _this select 2;

if (isServer) exitWith {
sleep _zeit;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
 sleep 30;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep 0.5;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
};
__________________

Geändert von Rockhount (22.08.2010 um 21:40 Uhr).
Rockhount ist offline   Mit Zitat antworten
Alt 22.08.2010, 21:15   #7 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 11.08.2010
Beiträge: 129
Standard

Bomb="Sh_105_HE" createVehicle [(getPos Ziel1 select 0),( getPos Ziel1 select 1), 100];

AH, der Befehl mit dem sich von Hühnern über Klohäuschen bis hin zu Abdul alles sprengen lässt.

Ich würds einfach mit Zeitverzögerten Auslösern machen wenn das Feuer unregelmäßig sein soll, wenn alle Granaten gleichzeitig landen sollen reicht ein Auslöser in dem sich der Befehl mit verschiedenen Zielen wiederholt.
__________________
Life will kill you
Disturbed ist offline   Mit Zitat antworten
Alt 23.08.2010, 16:52   #8 (permalink)
Newbie
 
Registriert seit: 07.06.2009
Beiträge: 40
Standard

Also das Script hab ich so halbwegs verstanden.
Bloß bin ich grad zu doof dess zum laufen zu bringen.
habe jetzt eine artillery.sqf angelegt und den Inhalt vom untersten Script eingefügt. Habe dann einem feindlichen Schützen (einfach mal zum testen) des namen "ziel" gegeben und habe einen Auslöser eingebaut der das Script aufruft.
Problem: Es passiert nix

Frage: Was macht dass "private ["_ziel","_rand","_zeit"];"?

@Disturbed
Habe damit am Anfang auch rumprobiert, aber ich müsste dann ja 1000 Auslöser einbauen, wo jeder eine andere Zeit hat und ich müsset für jeden Auslöser ein Extra Marker anlegen wo dann das Geschoss auftaucht oder denk ich wieder total falsch?
Bruklin ist offline   Mit Zitat antworten
Alt 23.08.2010, 17:12   #9 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Rockhount
 
Registriert seit: 16.07.2010
Beiträge: 305
Standard

1. Unsichtbares Heli H oder eine Einheit mit den Namen "ziel1" erstellen
2. null=[ziel1,50,0] execVM "artillery.sqf" im Auslöser einfügen
zu der Frage: Link . Wäre aber eigendlich bei diesen Script auch nicht nötig, da nicht mehrere If then Befehle mit verschiedene Variablen gebraucht werden.
__________________

Geändert von Rockhount (23.08.2010 um 17:17 Uhr).
Rockhount ist offline   Mit Zitat antworten
Alt 24.08.2010, 05:01   #10 (permalink)
Newbie
 
Registriert seit: 07.06.2009
Beiträge: 40
Standard

Hey geil!
Hat alles genau so funktioniert wie ich es haben wollte.
Ihr seit super Jungs
Bruklin ist offline   Mit Zitat antworten
Alt 25.08.2010, 16:44   #11 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Rockhount
 
Registriert seit: 16.07.2010
Beiträge: 305
Standard

Hier die verbesserte Variante:
Code:
_ziel = _this select 0;
_rand = _this select 1;
_zeit = _this select 2;
_zeit1 = _this select 3;
_zeit2 = _this select 4;
_re = _this select 5;

sleep _zeit;
for [{_iX = 0}, {_iX < _re}, {_iX = _iX + 1}] do {
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) - random _rand, 0];
sleep _zeit2;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) - random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep _zeit2;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) + random _rand, 0];
sleep _zeit2;
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) - random _rand,(
getPos _ziel select 1) - random _rand, 0];
sleep _zeit1;
};
Bei Akt.
Code:
null = [ziel,50,10,30,0.5,40] execVM "arty.sqf";
ziel = Namen des Ziels
50 = Verstreung der Arty in Metern
10 = Wartezeit bis das Script/Artilleryeinschläge anfangen
30 = Nachladezeit der Arty in Sec.
0.5 = Zwischenzeit der Einschläge während einer Runde
40 = Anzahl der Runden

Das Scipt ist allerdings für 4 Arty`s konstruiert, will man mehr oder weniger muss man diese Einträge hinzufügen oder entfernen:
Code:
Bomb= "Sh_105_HE"  createVehicle [(getPos _ziel select 0) + random _rand,(
getPos _ziel select 1) - random _rand, 0];
sleep _zeit2;
__________________

Geändert von Rockhount (25.08.2010 um 16:47 Uhr).
Rockhount ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Kontakt - HX3.de - Archiv - Nach oben

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