Armed-Assault.de Twitter


 
 
Themen-Optionen Ansicht
Alt 14.11.2013, 21:01   #1 (permalink)
Newbie
 
Registriert seit: 03.11.2013
Beiträge: 23
Standard Unterschiedliches AI-Verhalten auf dedi Server

Hallo
ich hab auf der Map eine West-Einheit gesetzt. Der Einheit schreib ich in die InitZeile:
Code:
aaOffz02 = this;{aaOffz02 enableAI _x} foreach ["MOVE", "AUTOTARGET", "ANIM", "TARGET", "FSM"];removeAllWeapons aaOffz02;aaOffz02 allowdamage false;aaOffz02 allowfleeing 0;
über Script spawne ich einen feindlichen Heli mit
Code:
_Target = [_spwnPos, 180, "O_Heli_Attack_02_F", _trgtSite] call bis_fnc_spawnvehicle;
die Gegner-Seite (_trgtSite) wird so erzeugt:
Code:
_trgtSite = createCenter east;
_trgtSite setfriend [west, 1];
west setfriend [_trgtSite, 1];
Starte ich das Ganze im Multiplayer mit lokalem Server, funktioniert alles so wie ich es will.
Der Gegner-Heli wird gespawnt und der West-Soldat bleibt stehen wie eine eins und rührt sich nicht.

Starte ich das Ganze mit dediziertem Server, tut´s nicht mehr.
Sobald ich den Heli spawne, geht der West-Soldat in Deckung und legt sich hin.

Wie bekomme ich den West-Soldaten dazu, auch auf dem Dedi das zu machen was ich will - nämlich einfach stehen bleiben und nichts tun?
SmokyJoey ist offline  
Alt 15.11.2013, 10:29   #2 (permalink)
Newbie
 
Registriert seit: 03.11.2013
Beiträge: 23
Standard

ich hab jetzt noch weiterführend getestet.....
irgendwie scheint der Dedi "setfriend" auszuhebeln....

ich frage in Schleife den Freundschafts-Status zwischen der gespawnten Feindeinheit und west ab ---> ist beim Start vom lokalen Server (so wie ichs auch vorgebe) 1 .... und bleibt es auch.

Wenn ich´s auf dem Dedi starte, ist der Wert beim Start auch 1 - sobald ich aber den Feindheli spawne geht der Wert auf 0.....

Irgendjemand ´ne Idee?
SmokyJoey ist offline  
Alt 15.11.2013, 11:27   #3 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Lester
 
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 57
Beiträge: 3.013
Standard

Zitat von SmokyJoey Beitrag anzeigen

ich hab jetzt noch weiterführend getestet.....
irgendwie scheint der Dedi "setfriend" auszuhebeln....

ich frage in Schleife den Freundschafts-Status zwischen der gespawnten Feindeinheit und west ab ---> ist beim Start vom lokalen Server (so wie ichs auch vorgebe) 1 .... und bleibt es auch.

Wenn ich´s auf dem Dedi starte, ist der Wert beim Start auch 1 - sobald ich aber den Feindheli spawne geht der Wert auf 0.....

Irgendjemand ´ne Idee?

Der Dedi hebelt da nichts aus, das Problem ist die für die MP Nutzung schlechte Umsetzung der Scripte/Befehle.

Es gibt welche mit globale und welche mit lokalen Effekten, KI Aktionen müssen nur auf den Maschinen ausgeführt werden wo diese auch berechnet wird.

i.D.R. ist das der Server, beim gehosteten Spiel ist der aber eben auch gleichzeitig Client, insofern können da Dinge funktionieren die auf einen Dedizierten Server eben nicht funktionieren, weil dort diverse Clientaktionen eben nicht automatisch ankommen.
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547
Lester ist offline  
Alt 15.11.2013, 14:18   #4 (permalink)
Newbie
 
Registriert seit: 03.11.2013
Beiträge: 23
Standard

danke @Lester für den Input....
Aber wie kann ich das nun lösen? (oder läßt es sich nicht lösen?)

Ich habe jetzt gehofft, dass wenn ich die Feindseite global erzeuge, dass es dann funktioniert.....
Aber selbst wenn ich das auf globaler Ebene versuche, tut´s nicht. Oder kapier ich´s nur nicht?

mein aktueller Testaufbau bezieht sich jetzt rein auf dieses Problem:

beim Initialisieren des Spiels wird die Feindseite so erzeugt:
Code:
trgtSite = createCenter east;
publicVariable "trgtSite";

unmittelbar danach wird ein script aufgerufen, was nur Folgendes macht:
Code:
trgtSite setfriend [west, 1];
west setfriend [trgtSite, 1];
(beides wird auch nur auf dem Server ausgeführt)

via Funkauslöser rufe ich den Abfrage-Script auf:
Code:
_friendA = west getfriend trgtSite;
_friendB = trgtSite getfriend west;

hintC format ["FeundW = %1\nFreundE = %2", _friendA, _friendB];
Ergebnis wenn ich´s lokal starte:
FreundW = 1
FreundE = 1

Ergebnis wenn ich´s dediziert starte:
FreundW = 0
FreundE = 0

irgendwie kapier ich´s ned


EDIT [GELÖST]:
ich hab´s jetzt für mich so gelöst und es funktioniert:

- Gegnerseite global erzeugt und auf freundlich gesetzt
- unmittelbar bevor ich den feindlichen Heli spawne, frage ich die freundschaftswerte nochmal ab und sind die kleiner 1, befehle ich meiner West-Unit erneut disableAI und setze die Freundschaft auf 1.
- dann erst spawnt der Heli.

Jetzt klappts auf dem Dedi

Geändert von SmokyJoey (15.11.2013 um 15:34 Uhr). Grund: Lösung meines Problems
SmokyJoey ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
-=DayZ PRIVATE loewenherz =- [mit Gebäude-Bau , Custom Skins und Server Events] treiberthedriver DayZ 15 27.11.2013 02:21
[LINUX] Server probleme Gonzo1690 Technische Fragen & Probleme 1 23.09.2013 22:00
dedi. Server ArmA II Steam und ohne Steam St3ve Technische Fragen & Probleme 5 03.04.2012 15:42
Patch 1.59 Buccs Community 83 10.06.2011 05:34
Arma 2 Server Problem S@ndviper Multiplayer 14 15.11.2010 18:45


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 117 118 119