Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 12.05.2011, 14:43   #1 (permalink)
Newbie
 
Registriert seit: 03.05.2011
Beiträge: 9
Standard Fahrzeug Respawn mit KI

Hallo,
ich habe das ULB und wollte den "AH-6X" Respawnen Inklusive KI. Zusätzlich wollte ich noch das der "AH-6X" nach dem Respawnen mit dem ULB Modul Syncronisiert wird.

Ich habe einen Auslöser gemacht und das "Funktionsmodul" auf die Karte geplantzt.
Im Auslöser steht dass:

Bediengung: Alive Player

INIT: [getMarkerPos "MARKERNAME", Random 360, "AH6X_EP1", West] call BIS_fnc_spawnVehicle;

Wie stelle ich es ein dass der "AH-6X" Erst Respawnt wird mit dem Auslöder wenn er Zerstört ist und Anschließend wieder Respawnt mit dem Selben Namen. Wie stelle ich es ein das er immer den Gleichen namen hat.

Huch... ich hoffe ihr könnt mir Helfen
theslyder ist offline   Mit Zitat antworten
Alt 12.05.2011, 23:28   #2 (permalink)
Newbie
 
Registriert seit: 03.05.2011
Beiträge: 9
Standard

hat keiner eine Idee ???
Bin am Verzweifeln... Also der AH-6X soll einfach nach dem er Zerstört worden ist neu Respawnen damit ich ihn Benutzen kann!
theslyder ist offline   Mit Zitat antworten
Alt 13.05.2011, 04:13   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 42
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Zitat von theslyder Beitrag anzeigen

hat keiner eine Idee ???
Bin am Verzweifeln... Also der AH-6X soll einfach nach dem er Zerstört worden ist neu Respawnen damit ich ihn Benutzen kann!

Hallo du könntest dir mal das vehiclerespawn Skript anschauen, das Skript übernimmt auch den Namen des Zerstörten Fahrzeuges!
Vielleicht hilft es dir weiter !!
http://www.armaholic.com/page.php?id=6080
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 13.05.2011, 08:13   #4 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Hier zwei einfache Beispiele für einen Fahrzeugrespawn:

Arma 2 op oa script Problem
Vienna ist offline   Mit Zitat antworten
Alt 13.05.2011, 12:54   #5 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Du möchtest ja, dass das Fahrzeug nach dem Respawn den gleichen Namen hat. Dazu das 1. Beispiel aus dem Link entsprechend abgeändert. Fz1 ist dabei der Name des Fahrzeuges, den du gleichfalls dem Fahrzeug als Name eingeben musst.

So hat das Respawn Fahrzeug den gleichen Namen. Auch im Multiplayermodus.

Den Code kopierst du so in die Initzeile der Fahrzeuge. Dabei sind die beiden Fz1 durch den jeweiligen Fahrzeugnamen zu ersetzen.

Code:
if (isServer) then
{
 this spawn
 {
  private ["_t","_p"];
  _t = typeOf _this;
  _p = position _this;
  while{true}do
  {
   Fz1 = _this; 
   publicVariable "Fz1";
   waitUntil{!alive _this};
   sleep 10;
   deleteVehicle _this;
   sleep 10;
   _this = _t createVehicle _p
  }
 }
}
Vienna ist offline   Mit Zitat antworten
Alt 13.05.2011, 14:08   #6 (permalink)
Newbie
 
Registriert seit: 03.05.2011
Beiträge: 9
Standard

Hey,
daaaanke Klapt wunderbar. Das Vehicle Respawnt. Wie stelle ich es an dann beim Respawn Einheiten im Fahrzeug sind es geht um die MQ-9 damit gleich einheiten drin sitzen. Ich habe es per auslöser gemacht funktioniert aber so nicht:

Bediengung: alive MQ-9

Init...: Soldatenname moveindriver MQ-9

Beim Soldaten in der Init habe ich stehen:
if (isServer) then { this spawn { private ["_t","_p"]; _t = typeOf _this; _p = position _this; while{true}do { Soldatenname = _this; publicVariable "Soldatenname"; waitUntil{!alive _this}; sleep 1; deleteVehicle _this; sleep 1; _this = _t createVehicle _p } } }

Der Soldate wird zwar respawn bleibt aber stehen rührt sich nicht und ist auch nicht in der MQ-9 drin

Heeeelp!

Geändert von theslyder (13.05.2011 um 15:11 Uhr). Grund: Korrigiert
theslyder ist offline   Mit Zitat antworten
Alt 13.05.2011, 16:22   #7 (permalink)
Newbie
 
Registriert seit: 03.05.2011
Beiträge: 9
Standard

Hmmm,
wenn ich das Hier im Auslöser eingebe

[getMarkerPos "MARKERNAME", Random 360, "Fahrzeugname", West] call BIS_fnc_

wird zwar das Fahrzeug Respawn mit KI aber es respawnt nach dem Zerstören nicht mehr und der Fahrzeug Name Verschwindet ebenfalls...

Also ich verzweifle.......... Habe schon das Forum durchstöbert aber ich bein eben nur ein NEULING....
theslyder ist offline   Mit Zitat antworten
Alt 13.05.2011, 19:14   #8 (permalink)
Newbie
 
Registriert seit: 03.05.2011
Beiträge: 9
Standard

keiner eine Idee ???
theslyder ist offline   Mit Zitat antworten
Alt 14.05.2011, 13:59   #9 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Zum Respawn für Soldaten musst du in die Initzeile diesen Code reinkopieren. Beachte auch dabei den jeweiligen Namen (hier z.B. So1):

Code:
if (isServer) then
{
 this spawn
 {
  private ["_t","_p","_g"];
  _t = typeOf _this;
  _p = position _this;
  while{true}do
  {
   So1 = _this;
   publicVariable "So1";
   _g = group _this;
   waitUntil{!alive _this};
   sleep 10;
   deleteVehicle _this;
   sleep 10;
   _this = _g createUnit [_t, _p, [], 0, "FORM"];
  }
 }
}
Ins Fahrzeug reinsetzen geht dann z.B. mit:
So1 moveInDriver Fz1;
So2 moveInGunner Fz1;


Damit ist es aber noch nicht getan. Nun fehlen der KI noch die Befehle. z.B. mit Wegpunkten.
Vienna ist offline   Mit Zitat antworten
Alt 25.05.2011, 15:27   #10 (permalink)
Newbie
 
Registriert seit: 03.05.2011
Beiträge: 9
Standard Testmap Funktioniert Nicht

Hallo,
danke nochmals Habe bisher alle Funktionen eingebaut ohne Marker Funktioniert auch bloß leider selten. Meistens Steht UAV (ULB) Zerstört. Ich wäre Froh wenn jemand sich mal die map Anschauen könnte wo ich den Fehler drin habe. Wie gesagt ULB Funktioniert nicht immer.
theslyder ist offline   Mit Zitat antworten
Alt 25.05.2011, 15:28   #11 (permalink)
Newbie
 
Registriert seit: 03.05.2011
Beiträge: 9
Standard Anbei die Testmap

Die Testmap:

uploaded.to - where your files have to be uploaded to
theslyder ist offline   Mit Zitat antworten
Alt 28.05.2011, 20:39   #12 (permalink)
Newbie
 
Registriert seit: 03.05.2011
Beiträge: 9
Standard

keiner eine Idee ?
theslyder ist offline   Mit Zitat antworten
Alt 29.05.2011, 23:13   #13 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 42
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Hello ich hätte hir eine kleine test Version erstellt,
ich glaube aber das sie nicht Multyplayer fähig ist da ich beim
testen mit den 2 Player nicht synchronisieren konnte!!
vielleicht weiss jemand anders wie mann das hin bekommt!

Das skript wird über eine Addaction aufgerufen!
Der Manager ist das Modul!
Das Terminal ist das Drohnen_Terminal
UAV.sqf

Code:
private ["_terminal","_player","_manager","_Mq","_pilot "];
_terminal = _this select 0;
_player = _this select 1;
_Manager = Manager;
UAV = true;
publicVariable "UAV";
_Mq = createVehicle ["MQ9PredatorB_US_EP1", position _Terminal, [], 0, "FLY"];
_Bravo = createGroupWest;
"US_Soldier_Pilot_EP1" createUnit [_terminal, _Bravo, "this moveindriver _Mq", 1,"FROM"];
"US_Soldier_Pilot_EP1" createUnit [_terminal, _Bravo, "this moveingunner _Mq", 1,"FROM"];
_pilot = Leader_Bravo;
_Mq flyInHeight 250;
sleep 2;
if (alive _player) then
{
if (true) then {_Manager synchronizeObjectsAdd [_player]};
sleep 1;
if (true) then {_Manager synchronizeObjectsAdd [_terminal]};
sleep 1;
if (true) then {_Manager synchronizeObjectsAdd [_pilot]};
playersideChat "Die UAV Übertragung ist nun Aktive!";
 
_timeout = time + 300;
waitUntil {sleep 2; !alive_pilot or !alive_Mq or! alive_player or _timeout < time};
if (true) then {deleteVehicle_Mq; {deleteVehicle_x} forEachunits_Bravo};
if (true) then {_Manager synchronizeObjectsRemove [_player]};
if (true) then {_Manager synchronizeObjectsRemove [_terminal]};
if (true) then {_Manager synchronizeObjectsRemove [_pilot]};
UAV = false;
publicVariable "UAV";
};
if (true) exitWith {playersideChat "Die UAV Übertragung wurde Unterbrochen!"};
Angehängte Dateien
Dateityp: zip UAV_Test.Takistan.zip (3,1 KB, 27x aufgerufen)
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 30.05.2011, 18:58   #14 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Funktioniert recht gut. Müsste auch in MP klappen.

Der Namen Manager könnte man noch als Parameter in der Aktion übergeben.

Ich habe das Skript in eine kommentierte Form umgeschrieben:

Code:
//////////////////////////////////////////////////////////////////
// Function file for Armed Assault
// Created by: UAV_Test_Für_Host Ghost [AUT]
//////////////////////////////////////////////////////////////////

private ["_terminal","_player","_manager","_gruppe","_drohne","_timeout"];

_terminal = _this select 0; //Drohnen-Terminal
_player   = _this select 1; //Spieler für die Drohnen-Kontrolle
_manager  = Manager;        //Globaler Name des Drohnen-Managers

UAV = true;                 //Globalae Variable, sperrt weiteren Zugriff auf die Aktion des Terminals
publicVariable "UAV";

//Drohne erstellen
_drohne = createVehicle ["MQ9PredatorB_US_EP1", position _Terminal, [], 0, "FLY"];
_gruppe = createGroup West;
"US_Soldier_Pilot_EP1" createUnit [_terminal, _gruppe, "this moveindriver _drohne", 1,"FROM"]; //Dummy-Pilot  für Drohne
"US_Soldier_Pilot_EP1" createUnit [_terminal, _gruppe, "this moveingunner _drohne", 1,"FROM"]; //Dumme-Gunner für Drohne
_drohne flyInHeight 250; //Drohnen Flughöhe

sleep 2;

//Synchronisation mit dem Drohnen-Manager
_manager synchronizeObjectsAdd [_player,_terminal,_drohne];

TitleText["Die UAV Übertragung ist nun Aktiv!\n\nSicht-Aktion beim UVA-Terminal vorhanden!","plain down"];

_timeout = time + 300; //Zeit in Sekunden bis zur Zerstörung der Drohne

//Warten auf Ereignis (ohne sleep 2; spinnt das Programm)
waitUntil {sleep 2;!alive _drohne OR !alive _player OR _timeout < time};

//Synchronisation beenden
_manager synchronizeObjectsRemove [_player,_terminal,_drohne];
//Dummys löschen
{deleteVehicle _x} forEach units _gruppe;

TitleText["Die Drohne ist zerstört!","plain down",2];

sleep 2;

UAV = false;  // Zugriff auf die Drohnen-Aktion wieder freigeben
publicVariable "UAV";


//Drohne nach 60 Sekunden löschen
sleep 60;
deleteVehicle _drohne;
Interessant ist die Zeile mit waitUntil. Wenn man dort das eingebundene sleep 2; weglässt, dann spinnt die Routine.
Vienna ist offline   Mit Zitat antworten
Alt 30.05.2011, 20:20   #15 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 42
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Hello Vienna!

Ich habe mal dass Skript jetzt von dir getestet, ist leider das gleiche problem in Mp, wie ich mit dem 2 Pc verbunden hatte, und das skript
gestartet habe was sich ja problemlos machen lässt, es erzeugt sich auch die Drohne und bei der überprüfung von,

If (true) then {hint "Ja"; _ManagersynchronizeObjectsAdd [_player]}else{hint "Nein"};
If (true) then {hint "Ja"; _ManagersynchronizeObjectsAdd [_terminal]}else{hint "Nein"};
If (true) then {hint "Ja"; _ManagersynchronizeObjectsAdd [_pilot]}else{hint "Nein"};

Wird mir eigentlich alles mit Ja bestätigt, aber leider kommt dann nich die
UAV addachtion! beim Client.

Bei dem spieler als Host klappt alles so wie es sein soll auch nach dem Respawn, aber vielleicht liegt es wirklich an der addaction was auf der karte Plaziert wurde!!

LG.
Ghost
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 30.05.2011, 22:30   #16 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 42
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Na ja ich hätte es mal mit einem normalen Auslöser zum test versucht
leider geht es auch nicht!

Bedingung:
Local player
Akt:
nul=[terminal, vehicle player, Manager] execVM "UAV.sqf";

vielleicht wenn man das Modul bei skript mit erzeugt, aber bis jetzt habe ich unter google noch nichts gefunden wie man es erstellen könnte!!

Aber so schaut das skript gleich professional aus wie du es erstellt hast Vienna!
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 31.05.2011, 01:07   #17 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Verstehe ich das richtig bei mehreren Spielern.

a) Ein Spieler, der nicht Host ist, bekommt nach dem Aufruf des Skripts keinen Zugang zur Sicht des UAV-Terminal?

b) Oder haben nur andere Spieler, welche das Skript nicht aufgerufen, keinen Zugang zum UAV-Terminal?


Was willst du mit dieser Zeile prüfen?
If (true) then {hint "Ja"; _ManagersynchronizeObjectsAdd [_player]}else{hint "Nein"};
Hier kann bei dem Spieler, der das Skript aufruft, immer nur Ja angezeigt werden. Spieler, bei denen das Skript nicht aufgerufen wurde, sehen gar keine Anzeige.
Die Abfrage if (true)then{..} ergibt immer "Wahr". Darum kann man sie weglassen und immer gleich den Inhalt von then als Zeile ohne Abfrage belassen.
Vienna ist offline   Mit Zitat antworten
Alt 31.05.2011, 01:27   #18 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 42
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Zitat von Vienna Beitrag anzeigen

Verstehe ich das richtig bei mehreren Spielern.

a) Ein Spieler, der nicht Host ist, bekommt nach dem Aufruf des Skripts keinen Zugang zur Sicht des UAV-Terminal?

b) Oder haben nur andere Spieler, welche das Skript nicht aufgerufen, keinen Zugang zum UAV-Terminal?


Was willst du mit dieser Zeile prüfen?
If (true) then {hint "Ja"; _ManagersynchronizeObjectsAdd [_player]}else{hint "Nein"};
Hier kann bei dem Spieler, der das Skript aufruft, immer nur Ja angezeigt werden. Spieler, bei denen das Skript nicht aufgerufen wurde, sehen gar keine Anzeige.
Die Abfrage if (true)then{..} ergibt immer "Wahr". Darum kann man sie weglassen und immer gleich den Inhalt von then als Zeile ohne Abfrage belassen.

Ja die frage A ist korrekt!
aber im skript wird der Client, erkannt!
if (alive _player) then {hint "player ja"}else{hint "player Nein"};
bei dieser abfrage kommt auch JA, also erkannt wird er! Denke ich mal!

Dann habe ich noch mit alive die anderen Obj. überprüft das Modul & UAV-Terminal & Pilot!
auch bei dieser Abfrage kommt das Ja!

Achso wusste ich nicht das es bei der Abfrage automatisch zu JA kommt! if (true)then{..}
__________________
Ghost_AUT

Geändert von Ghost_Aut (31.05.2011 um 01:42 Uhr).
Ghost_Aut ist offline   Mit Zitat antworten
Alt 31.05.2011, 10:55   #19 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Ein Spieler, der nicht Host ist, ruft am UAV-Terminal das Skript auf, bekommt aber dann nicht die Aktion um am UAV-Terminal in die Drohnensicht einzusteigen. Richtig???

Wenn Richtig, dann würde das bedeuten, dass das Skript unbedingt beim Server/Host auszuführen ist.

Wenn der Client das Skript aufruft, dann wird er im Skript natürlich erkannt. Falls das Skript aber zwingend beim Server/Host laufen muss, dann ist es dort aufzurufen. Wobei der Name des aufrufenden Spielers als Parameter zu übergeben ist, um ihn in die Synchronisierung einzubinden.

Kann sein, dass die Synchronisierung dabei auch beim aufrufenden Spieler erfolgen muss. Dazu müsste man den Namen der Drohne mit Globaler Variable und publicVariable diesem Spieler mitteilen, damit auch auf seinem PC die Synchronisierung erfolgen kann.
Vienna ist offline   Mit Zitat antworten
Alt 31.05.2011, 18:30   #20 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

In der Config.bin des UAV-Moduls steht folgende Zeile:

if (isServer) then {private ["_ok"];_ok = _this execVM "ca\modules\uav\data\scripts\uav.sqf"};

Was sichtlich darauf hinweist, dass das Modul nur auf dem Server/Host läuft.

Teste einmal ob das UAV-Modul überhaupt MP fähig ist.

Dazu einfach direkt im Editor einem spielbaren Soldaten eine Drohne zur Steuerung zuweisen.

Dazu:
.) Besetzte Drohne erstellen.
.) UAV-Terminal erstellen.
.) UAV-Modul erstellen.
.) Dann das Modul mit Drohne, Terminal und dem Soldaten synchronisieren.

Der Spieler der diesen Soldaten besetzt darf nicht Host sein.
Vienna 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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
fahrzeug respawn mit anderen waffen Bierchen Editing & Scripting 8 27.01.2011 14:13
Respawn mit besitmmten Namen burns Editing & Scripting 6 12.10.2010 20:45
Probleme bei Norrin Revive Script 0.49b Jekko Editing & Scripting 24 21.09.2010 19:39
Fahrzeug in Godmode setzen Baraka Editing & Scripting 11 13.08.2010 20:37
Weapon Respawn Script Anemia Editing & Scripting 5 12.07.2010 10:36


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