PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Script wirklich nur auf Server ausgeführt?


Sol.LrMartyn
02.08.2013, 14:16
Hallo zusammen,

ich habe in dem Post von Cyborg11 mit Freude gesehen, dass man Skripte ja auch NUR auf dem Dedicated Server ausführen lassen kann.

So gehts:

If (isServer) then {...}; // wird nur auf dem Server ausgeführtIf (!isServer) then {...}; // wird nur auf den Clients ausgeführtIf (isDedicated) then {...}; // wird nur auf einem Dedicated Server ausgeführtIf (isMultiplayer) then {...}; // wird nur im MP ausgeführtIf (!isMultiplayer) then {...}; // wird nur im SP ausgeführt

Das ganze habe ich jetzt ausprobiert, habe ein relativ einfaches skript genommen was aber heftig in der wirkung ist und habe trotzdem auf 5 verschiedenen Clients das Problem, dass bei allen die performance runtergeht etc etc.

Was mache ich in dem Skript? Ganz einfach... Ich sage in dem Skript, dass wenn ein Spieler näher als soundsoviele Meter an einem z.B. auto ist, dass auto spawnen soll und wenn er wieder soundsoviele meter davon entfernt ist, dass auto gespeichert wird und despawnt.

Kann man(n) sich darauf verlassen, dass mit if (isDedicated){ }; auch wirklich alles NUR auf dem Dedicated Server ausgeführt wird, oder werden manche Variablen "renderungsbedingt" auch im Client gespeichert?

Ein kleiner Denkanstoß in die richtige Richtung, was zum nachlesen oder gar einfach nur eine Bestätigung von Cyborgs Post wäre schön. Nicht dass sich da was seit 2010 geändert hat... (Kann ich mir nicht vorstellen...)

Grüße
Euer Sol.LrMartyn

Vienna
02.08.2013, 15:11
Bei isServer ist zu beachten, dass der Server ein Host sein kann, der auch Spieler ist.

Globale Variable können auf jedem PC einen anderen Wert haben. Zu den übrigen PCs wird eine Wertänderung mit publicVariable übertragen. Es gibt bei JIP automatische Anpassungen. Wie genau kenne ich mich nicht aus.

Wenn du Variable über Auslöser änderst die im Editor erstellt wurden, dann sind solche Änderungen meist auf allen PCs vorhanden.