Einzelnen Beitrag anzeigen
Alt 30.05.2010, 12:01   #12 (permalink)
Langer
Newbie
 
Benutzerbild von Langer
 
Registriert seit: 23.05.2008
Ort: Hamburg / Norderstedt
Alter: 45
Beiträge: 44
Standard

Moin,

tschuldigung das ich den "alten" Tread wieder rauskram, aber ich wollt dafür keinen neuen neuen aufmachen..


wenn ich einem Codeblock per publicVari - eh vom server zu den Clients sende
funktioniert dies soweit, meine Frage ist kann ich lokale Variablenwerte, mitschicken?
also ohne diese in ein array zupacken und in der Funktion nochmal direkt auszulesen..


init.sqf
Code:
//server only
if  (isServer) then
    {
        //serverseitige Funktionen
        funcNvC =  compile preprocessFile "BierAIG\server\funcNvC.sqf";//Function Nachricht  vom Client
        funcFahrzeugRespawn = compile preprocessFile  "BierAIG\server\funcFahrzeugRespawn.sqf";//Function Fahrzeug Respawn
        "NachrichtVomClient" addPublicVariableEventHandler
            {
                 _nachricht = [_this] call funcNvC;
            };//end addPublicVari-EH        
     };//end if-then
    
//clients only
if (!(isServer)) then
    {
        //clientseitige Funktionen
        funcNvS = compile preprocessFile  "BierAIG\client\funcNvS.sqf";//Function Nachricht vom Server
         "NachrichtvomServer" addPublicVariableEventHandler 
        {
             _nachricht = [_this] call funcNvS;
        };//end addPublicVari-EH        
     };//end if-then
    
//server & client
funcFahrzeugAddKilledEH  = compile preprocessFile  "BierAIG\funcFahrzeugAddKilledEH.sqf";//Function Fahrzeug killed-EH  geben
funcFahrzeugKilled = compile preprocessFile  "BierAIG\funcFahrzeugKilled.sqf";//Function Fahrzeug killed
{
    _eh  = [_x] call funcFahrzeugAddKilledEH;
} foreach  vehicles;
BierAIG\server\funcNvC.sqf
Code:
_wert  = _this select 0;
_code = _wert select 1;

call (_code select  0);
BierAIG\server\funcFahrzeugRespawn.sqf
Code:
//server
_toter  = _this select 0;
_killer = _this select 1;

//rauch und  explosionen abwarten

_typetoter = typeof _toter;
_position =  position _toter;
_richtung = getdir _toter;

_toter  removealleventhandlers "killed";
deleteVehicle _toter;
_neuesFahrzeug  = _typetoter createVehicle _position;
_neuesFahrzeug setpos  _position;
_neuesFahrzeug setDir _richtung;
[_neuesFahrzeug] call  funcFahrzeugAddKilledEH;

NachrichtVomServer = {[_neuesFahrzeug]  call funcFahrzeugAddKilledEH;};
publicVariable  "NachrichtVomServer";
BierAIG\client\funcNvS.sqf
Code:
_wert  = _this select 0;
_code = _wert select 1;

call (_code select  0);
BierAIG\funcFahrzeugAddKilledEH.sqf
Code:
//server  & client
_fahrzeug = _this select 0;
_fahrzeug  addEventHandler ["killed", {_wert = [_this] call  funcFahrzeugKilled;}];
BierAIG\funcFahrzeugKilled.sqf
Code:
//server  & client
_wert = _this select 0;
_toter = _wert select 0;
_killer  = _wert select 1;

if (!(isServer)) then
    {    
         NachrichtVomClient = {[_toter,_killer] call funcFahrzeugRespawn;};
         publicVariable "NachrichtVomClient";
    };//end if-then

if  (isServer) then
    {
        [_toter,_killer] call funcFahrzeugRespawn;
    };//end if-then
wenn ich jetzt auf dedi-server nen Fahrzeug hochjage,welches bei mir aufm client lokal ist (kurz einsteigen), wird anscheinend das zerstörte objekt nicht zum server "mitgeschickt"(Habs fett markiert)..

ist es überhaupt möglich, in dem Codeblock Variablen reinzupacken?


Mfg
Langer

p.s. öhm funzt die Suchfunktion, hier im Forum nicht mehr?
__________________

hoch die Tassen, geschmollt wird später

Geändert von Langer (30.05.2010 um 12:13 Uhr).
Langer ist offline   Mit Zitat antworten