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; Code:
_Target = [_spwnPos, 180, "O_Heli_Attack_02_F", _trgtSite] call bis_fnc_spawnvehicle; Code:
_trgtSite = createCenter east; 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? |
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? |
Zitat:
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. |
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; unmittelbar danach wird ein script aufgerufen, was nur Folgendes macht: Code:
trgtSite setfriend [west, 1]; via Funkauslöser rufe ich den Abfrage-Script auf: Code:
_friendA = west getfriend trgtSite; FreundW = 1 FreundE = 1 Ergebnis wenn ich´s dediziert starte: FreundW = 0 FreundE = 0 irgendwie kapier ich´s ned :confused: 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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:35 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias