HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   Probleme mit eine EVAC Script im MP (https://hx3.de/editing-scripting-187/probleme-evac-script-mp-23727/)

Drunken Officer 24.04.2014 21:03

Probleme mit eine EVAC Script im MP
 
Moinsen.

Ich habe ein Evac-Script geschrieben, welches im SP super funktioniert und im MP nur, wenn ich es als Server ausführ.
Ich habe mit if (isServer) usw rumprobiert. Ich bekomme es einfach nicht im MP hin.

Folgendes sollte passiert:
  • der Heli wird angefordert und fliegt zum Anrufer.
  • Es kommt die Aufforderung die Stelle mit Rauch zu markieren
  • Markierung erfolgt und Heli landet
  • sind alle Drin, gehts nach Hause

Allerdings landet der Heli im MP nicht, wenn andere den Heli anfordern. Der Heli bestätigt den Rauch, fliegt ein Stück und bleibt dann in der Luft stehen.

Hier ist auszugweise das Script:
Code:

private ["_hz","_wp1", "_wp2","_pos", "_pos2", "_seite", "_zuhause","_heli"];
if (isNil "dof_evac_heli") then {dof_evac_heli = false};
if (isNil "dof_Rauchsignal") then {dof_Rauchsignal = false};
if (isNil "_zwischenlandung") then {_zwischenlandung = false};
...
...
  waitUntil {sleep 1; _heli distance _pos < 1000}; 
        EHMarkierung = player addEventHandler ["fired", {if ((_this select 5) isKindof "SmokeShell") then {dof_Rauchsignal=true; player removeEventHandler ["fired",EHMarkierung]; DOF_EVAC_V3_granate = (_this select 6);}}];
        _heli sideChat "Markieren sie die Landezone mit Rauch";
       
    waitUntil {sleep 1; _heli distance _pos < 500};
        if (!dof_Rauchsignal) then
        {
        _heli sideChat "Wir können keinen Rauch sehen";
        _wp1 setWPPos getPos _heli;
        _wp1 setwaypointtype "HOLD";
        };
   
    waitUntil {sleep 1; dof_Rauchsignal};
 
        _wp1 setwaypointtype "LOAD";
        sleep 3;
        _pos2 = getPos DOF_EVAC_V3_granate;
            publicVariable "_pos2";
       
        _heli sideChat "Okay, wir sehen Rauchen. Wir setzen zur Landung an";
        sleep 1;
        _heli sideChat "Wir werden in der Nähe ein Möglichkeit zu Landung suchen.";
   
        _wp1 setWPPos _pos2;
               
   
    waitUntil {sleep 1; _heli distance _pos2 < 250}; 
        _heli setspeedMode "LIMITED";
    waitUntil {unitReady _heli};
        _heli land "GET IN";
   
    waitUntil {sleep 1; getpos _heli select 2 < 5};
...


Vienna 25.04.2014 09:09

Das ist ein Lokalitätsproblem. Die Clients haben vermutlich keine Kontrolle über eine KI.

Sieh nach wie ich das in meinem Heli-Abhol-Skript gemacht habe.

Drunken Officer 25.04.2014 11:17

Naja, ich habe mich ja an deinem Script orientiert. Nur bei deinem Script ist kein Eventhandler verbaut

Vienna 25.04.2014 13:14

Setze vor und nach den waitUntils folgende Zeilen:

player groupChat "Vor waitUntil xxx";
waitUntil ....
player groupChat "Nach waitUntil xxx";

So kannst du eingrenzen wo der Heli im Skript stecken bleibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 Uhr.

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