Bräuchte Ratschlag zum crashsite Script.
Liste der Anhänge anzeigen (Anzahl: 1)
Vorab, sorry dass ich es in den falschen Bereich gepostet habe, das sollte eigentlich in den Arma3 Bereich.
Wenn möglich bitte verschieben. Hallo, ich wollte für ein Altis Life Server ein Crashsite Script schreiben welches ein Heliwrack, Loot und Marker spawnt. Nach einiger Zeit geschieht das gleiche noch einmal nur an anderer Stelle mit einem anderen Wrack. Lokal und im MP funktioniert das Script einwandfrei, auf dem Server allerdings geschieht das heillose durcheinander. Die Spieler bekommen unterschiedliche Hint Nachrichten, es spawnt statt einem Wrack mehrere, die Marker werden gelöscht und spawnen kurz darauf wo anders erneut usw. Könntet ihr mir sagen was genau ich falsch gemacht habe und wie ich es Server tauglich bekomme? Danke vorab für alle helfenden antworten. Grüße Matze |
Frage 1: hast du es selber Geschrieben?
Wenn ja dann Gratualationzum Script ist nicht perfekt aber lauffähig, wenn Nein , Nimm wo anders eins her :D Zum Problem Was du vor hast st earten. o wie s geschrieben it darf es NUR der Server Starten und das 1x Da du sagst Es kommen mehere Wracks und so weiter Starte es jeder Klient selber. Das Problem ist das der HINT nicht geht sondern Übertragen werden muss. Schaue dir dazu einfach mal die Broadcast datei als Funkton an die in Altis Life ist. Damit kanst du Hint an Alle oder Bestimmte schicken. |
Ja, das ist das erste Script das ich von 0 auf selbst geschrieben habe, für mehr hat aber mein Wissen dazu nicht genügt :lol:
Ich starte das Script über die Init.sqf, würde es ausreichen es wie folgt zu starten?: PHP-Code:
Zitat:
|
Hallo,
habe dir das Script mal so angepasst, dass es bzgl. der Lokalitäten im MP korrekt ausgeführt wird. Auch die langen Sleep's sind im MP nicht vorteilhaft da die Zeit auf jeder Maschine unterschiedlich schnell vergeht. Daher "warten" die Clients jetzt darauf bis der Server seine Arbeit geleistet hat. Grundsätzlicher Ablauf: - alle (Server+Clients) starten das Script - Server "schläft" und generiert das Wrack+Ausrüstung - Server sendet publicVariable an Clients und Clients erhalten die Textnachricht Der Ablauf ist so alles andere als optimiert aber das spielt hier keine Rolle. Zum Verständnis für dich sollte das aber so der beste Weg sein, da die einfachste Lösung. Den Ablauf für das 2. Wrack musst du alleine implementieren. ;) Code:
// execute from server machine Grüße |
Wow, danke für die großartige Hilfe!
Ich versteh das Script soweit aber alleine wäre ich da glaube ich nicht drauf gekommen. Ich musste es noch etwas anpassen da der Loot nicht am Wrack sondern am Marker spawnt aber es klappt so wirklich sehr gut. Was ich noch nicht ganz verstanden habe ist das [] spawn {...}. Was genau bewirkt das? |
Ich habe das Script im Mp getestet und soweit eingestellt, jetzt habe ich aber ein weiteres Problem das ich nicht ganz nachvollziehen kann.
Die Items spawnen im MP direkt auf dem Boden, auf dem Server aber liegen sie im Boden drin. Ich habe die Höhe angepasst und die Items 0.2 bis hin zu 2 Meter hoch gesetzt. Zitat:
Könnt ihr mir bei dem Problem weiter helfen, denn wie schon gesagt.. ich kann es wirklich nicht nachvollziehen. |
Das mit dem spawn {...} ist nur nötig falls du das Script als Host ausführst. Also wenn du zeitgleich Server als auch Client bist. Das Spawn erzeugt einen neuen Thread. Dieser wird dann abgearbeitet wie ein eigenes Script wobei das eigentliche Script weiter abgearbeitet wird.
Du könntest die beiden Teile des Scripts auch in einzelne Dateien schreiben und ausführen. Dann entfällt das Spawn. Zu der Positionierung: keine Ahnung warum das so is aber versuchs mal mit setPosATL statt setPos. (ATL = above terrain level) Auch nützlich zum Verständnis: https://community.bistudio.com/wiki/...on#PositionATL Grüße |
Die Seite hat mir weiter geholfen, leider nur nicht bei dem Script. Ich habe jetzt die Heli durch eine Kiste ersetzt und lass den Loot darin Spawnen.
Code:
if (isServer) then { Ich Danke aber noch einmal recht Herzlich für die Hilfe! Grüße Matze |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias