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?