Devidian wrote:Ja gut dann habe ich die Zahl der gelandeten schiffe und was soll ich damit machen wenn ich denen nicht den Befehl geben kann zu invasieren weil wenn ich das inva ding auf die werft mache nix passiert und ich die einzelnen schiffe ja nicht bekomme
Nocwas: ich hoffe EGOSOFT behebt auch den sch**** das wenn X2 sich aufhängt im windows keine tastatur / maus mehr geht. Hab grad wieder bockmist gebaut und durfte wieder neustarten obwohl nur 50% CPU last weil ich X2 net beenden konnte.
mfg
Devidian
1. Kannst du nach dem erstellen direkt den Befehl geben und ein überwachungs Script schaut nach sind Schiffe gestartet, wenn ja Schiffsbauscript starten wenn nein goto anfang.
2. falls du den aufhänger meinst der im zusammenhang mit while schleifen entsteht, benutze das
Devidian wrote:Ja gut dann habe ich die Zahl der gelandeten schiffe und was soll ich damit machen wenn ich denen nicht den Befehl geben kann zu invasieren weil wenn ich das inva ding auf die werft mache nix passiert und ich die einzelnen schiffe ja nicht bekomme
Nocwas: ich hoffe EGOSOFT behebt auch den sch**** das wenn X2 sich aufhängt im windows keine tastatur / maus mehr geht. Hab grad wieder bockmist gebaut und durfte wieder neustarten obwohl nur 50% CPU last weil ich X2 net beenden konnte.
mfg
Devidian
1. Kannst du nach dem erstellen direkt den Befehl geben und ein überwachungs Script schaut nach sind Schiffe gestartet, wenn ja Schiffsbauscript starten wenn nein goto anfang.
2. falls du den aufhänger meinst der im zusammenhang mit while schleifen entsteht, benutze das
Jo klar so hab ich es ja bisher gehabt. bauen -> abschicken -> warten -> nächstes bauen -> .... aber dann haben die sich drin gestapelt und einige sind auch nach beenden des bau scripts nicht losgeflogen obwohl sie doch eigentlich immernoch den inva befehl gehabt haben müßten oder nicht ? Anscheind haben sie durch den stau dann den inva befehl abgebrochen. So wie das Skript jetzt oben ist scheint es zu funktionieren.
Wenn ich eine Skip bedingung vor eine While schleife hänge , bricht er dann die ganze schleife ab ? (sollte er ja normal aber bei dem was mir bisher hier begegnet ist bin ich lieber vorsichtig )
€DIT: dieses Loop detection muss ich in jede while schleife packen die es überwachen soll oder reicht es einmal am anfang des skripts ?
So klappt schon ganz gut, sollte nur mal verschiedene schwierigkeitsgrade einbauen da es im mom echt krasser X-TREME kampf ist
Sobald ein Sektor leergeräumt ist was stationen angeht wird die produktion neuer schiffe gestoppt und ein TL ausgesandt (im moment Argon lol weils kein Xenon TL gibt) solange der lebt wird geprüft ob er im zielsektor ist und wenn er mal da ist baut er 1 schiffswerft und 2 SKWs und zerstört sich dann (bzw. die stationen werden aus dem material des TL's gebaut ) So bis dahin klappt alles 1. Sahne. Jetzt weise ich die neue Werft an eine neue Invasion zu starten ->
076 * Weise neue Werft an Invasion zu starten
077 @ = $neuewerft -> call script 'xenon.shipyard.invasion' : Station=$neuewerft
Auch kein Thema klappt... aaaber dann scheint er das skript auf der alten werft zu beenden. Kann es sein das bei diesem aufruf ein skript nicht mehrmals laufen kann ? Würde auch erklären warum sich die schiffe zu anfang in der werft gestapelt haben weil immer direkt wieder das inva script aufgerufen wurde. Und es würde erklären warum einige Schiffe der Xenon meinen *och nöööö heut bleib ich ma zuhause und bewach meinen heimatsektor - weil auf invaaaaaa hab ichhh jetzzz nätt sooo ... lust ... ne*
mfg
Devidian
PS: sind immernoch paar fragen offen ... bunter Text... einbindung ins Optionsmenü wie piratenbasen...
Devidian wrote:So klappt schon ganz gut, sollte nur mal verschiedene schwierigkeitsgrade einbauen da es im mom echt krasser X-TREME kampf ist
Sobald ein Sektor leergeräumt ist was stationen angeht wird die produktion neuer schiffe gestoppt und ein TL ausgesandt (im moment Argon lol weils kein Xenon TL gibt) solange der lebt wird geprüft ob er im zielsektor ist und wenn er mal da ist baut er 1 schiffswerft und 2 SKWs und zerstört sich dann (bzw. die stationen werden aus dem material des TL's gebaut ) So bis dahin klappt alles 1. Sahne. Jetzt weise ich die neue Werft an eine neue Invasion zu starten ->
076 * Weise neue Werft an Invasion zu starten
077 @ = $neuewerft -> call script 'xenon.shipyard.invasion' : Station=$neuewerft
Auch kein Thema klappt... aaaber dann scheint er das skript auf der alten werft zu beenden. Kann es sein das bei diesem aufruf ein skript nicht mehrmals laufen kann ? Würde auch erklären warum sich die schiffe zu anfang in der werft gestapelt haben weil immer direkt wieder das inva script aufgerufen wurde. Und es würde erklären warum einige Schiffe der Xenon meinen *och nöööö heut bleib ich ma zuhause und bewach meinen heimatsektor - weil auf invaaaaaa hab ichhh jetzzz nätt sooo ... lust ... ne*
mfg
Devidian
PS: sind immernoch paar fragen offen ... bunter Text... einbindung ins Optionsmenü wie piratenbasen...
Devidian wrote:Wenn ich eine Skip bedingung vor eine While schleife hänge , bricht er dann die ganze schleife ab ? (sollte er ja normal aber bei dem was mir bisher hier begegnet ist bin ich lieber vorsichtig )
€DIT: dieses Loop detection muss ich in jede while schleife packen die es überwachen soll oder reicht es einmal am anfang des skripts ?
hrhr also das mit dem skript hab ich ebend auch selber rausgefunden hatte das START davor vergessen -.- nu funzt das auch. Gut dann kommt das while check ding an den anfang jedes scripts
So nun muss ich aber erstmal nen baustopp erzeugen wenn mehr als hmm mal gucken erstmal 100 Xenon schiffe im zielsektor sind. Weil grad waren an die 500 Xenon schiffe im Sektor und es hat so leicht geruckelt *hust* wenn du verstehst
Und ich glaub ich brauch nen neues Invasions Script für die Schiffe... 500 Schiffe im Sektor alle ballern wild durch die gegend aber nix geht kaputt (ich selbst bin in der station weil draussen bin ich gleich matsch mit nem M5 )
Gasar324648ffdgdf Ich hab jetzt 2h lang jeden sch**** tuto durchgelesen und alles ausprobiert aber ich krieg beim abfragen wieviele xenon schiffe im sektor sind immer 0 ausgegeben ARGH ! glaub ich brauch mal pause .... . .. .
002 $ships = array alloc: size=0
003 $ships = find ship: sector=Ringo Mond class or type=Xenon N race=Xenon flags=null refobj=null maxdist=null maxnum=1000 refpos=null
004 $num = size of array $ships
005 send incoming message $num to player: display it=[TRUE]
bei sektor kommt normal variabel rein und bei class type NULL aber funzt beides nicht gibt mir immer 0 ins Log.
mfg
Devidian
Das da ^^^^ oben kann nicht gehen entweder steht bei Flags [Find.Multiple] oder aber du mußt die $NUM = size of Array weglassen... Wenn du es so machst erzeugt die find ship routine einen verweis auf ein Schiff und da kommt bei array size 0 raus.
Benutze die lib von Mr.Gee gibst du einfach überall null ein und bei der Race Xenon, dann bekommste alles was im Sektor ist.
Ist auch ein Testtool dabei! Ehrlich ich kann dir nicht helfen das liegt wieder an einem ganz dämlichen Fehler... Man was haben die mich schon stunden gekostet.
ticaki wrote:Benutze die lib von Mr.Gee gibst du einfach überall null ein und bei der Race Xenon, dann bekommste alles was im Sektor ist.
Ist auch ein Testtool dabei! Ehrlich ich kann dir nicht helfen das liegt wieder an einem ganz dämlichen Fehler... Man was haben die mich schon stunden gekostet.
Oh ja die kenn ich zu hauf .. . bisher hab ich ja hauptsächlich PHP gescripted für meine webseiten.. manchmal brauch man echt pause dann startet man wieder und wunderweise funzt es dann auf einmal obwohl alles schonmal so war
Oder so dumme fehler wie gestern wo ich mich gewundert hab das immer nur Xenon N gebaut wurden tja wenn man die durchlaufnummer nicht incrementiert passiert das schonmal ^^ ist mir heut morgen beim aufstehen wien blitzgedanke eingefallen
Naja nochn bissle DAoC bis alle im bettchen sind aus Gilde dann nochmal gucken dann funzt es sicher.... *hoff*
002 $ships = array alloc: size=0
003 $ships = find ship: sector=Argon Prime class or type=null race=Xenon flags=[Find.Multiple] refobj=null maxdist=null maxnum=1000 refpos=null
004 $num = size of array $ships
005 $text = sprintf: fmt='Schiffe im Sektor -%s-', $num, null, null, null, null
006 send incoming message $text to player: display it=[TRUE]
007 return null
Na wo is der Fehler ? Der Penner hats nicht angenommen wenn ich als messi direkt $num rein gepackt hab.... muss erst formatiert werden wie oben damit ers anzeigt in der messi.... ergo gefunzt hats schon nur ausgeben wollte er nicht (was ja eigentlich dafür gedacht sein sollte um zu testen obs geht ...)
Fakt: maxnum darf net 0 sein und flags muss Find.Multipe sein alles andere is wurst wie Hose
Gut das funzt zwar aber ist nicht grad prikelnd weil -> wenn 10 schiffe im zielsektor = baustop -> schiffe die noch unterwegs sind kommen irgendwann an -> boom sektor unspielbar.
Andere Idee: allen schiffen die Werft als heimat zuweisen und immer überprüfen wieviele schiffe zu dieser werft gehören.
Problem 1: Nach vollendeter Invasion entweder alle Schiffe keine heimat zuweisen oder in neuen sektor schicken lassen.
Problem 2: Alle schiffe finden die als heimat die entsprechende Werft haben.
Mal sehen ob ich die Lösung finde bevor mir einer zuvor kommt