Forum

> > Stranded II > Allgemein > Bug Thread
Forums overviewStranded II overviewAllgemein overviewLog in to reply

German Bug Thread

1,167 replies
Page
To the start Previous 1 229 30 3158 59 Next To the start

old Re: Bug Thread

Mc Leaf
Super User Off Offline

Quote
bizzl has written
Mc Leaf has written
-Items verotten immer noch (auch mit Unverwundbarkeits-State) nach 2-3 Tagen (oder mache ich was falsch...? Sollte eigentlich ).

healthchange=0 muss in der Def stehen.

Ja, weiß ich. Aber es gibt eben Items, die standardmäßig verrotten sollen, in gewissen Ausnahmefällen aber eben nicht. Und dafür war eigentlich der Unverwundbarkeits-State vorgesehen.

old Re: Bug Thread

bizzl
User Off Offline

Quote
Mc Leaf has written
Ja, weiß ich. Aber es gibt eben Items, die standardmäßig verrotten sollen, in gewissen Ausnahmefällen aber eben nicht. Und dafür war eigentlich der Unverwundbarkeits-State vorgesehen.

nicht das ich wüsste.
Geht aber auch per script (theoretisch):
1
on:changeday { health currentclass(),currentid(),1000; }

old Re: Bug Thread

Mc Leaf
Super User Off Offline

Quote
bizzl has written
Mc Leaf has written
Ja, weiß ich. Aber es gibt eben Items, die standardmäßig verrotten sollen, in gewissen Ausnahmefällen aber eben nicht. Und dafür war eigentlich der Unverwundbarkeits-State vorgesehen.

nicht das ich wüsste.

-> Changelog / Stranded 2 Beta 1.0.0.3 (da sollte es gefixt sein) - wenn ich mich jetzt nicht irre.

bizzl has written
Geht aber auch per script (theoretisch):
1
on:changeday { health currentclass(),currentid(),1000; }

Ja, so ähnlich hatte ich es gemacht. Nur dass ich - aus Faulheitsgründen - einfach per s2 cmd loop alle Items durchgehen lasse... Sollte ich vielleicht doch mal lieber nochmal ändern... :rolleyes:

old Re: Bug Thread

Guest

Quote
Kein bug, aber störend:
Wenn man das Kartenmenü öffnet, wird der Mauszeiger in die Mitte des Bildschirms verschoben. Es wäre besser, wenn der Mauszeiger über den schließen button geschoben würde. Dann könnte man die Karte direkt wieder mit einem Klick schliesen.

old Re: Bug Thread

Guest

Quote
Habe $xyz für eine Textausgabe genutzt. Leider kam immer 0 dabei heraus.
Nach einigen Tests habe ich herausgefunden, dass es am Wort "vorsorglich" lag!??
Weiter habe ich nicht getestet.
immer, wenn in der Definition der Variablen dieses Wort enthalten, oder auch allein vorhanden, war, trat der Fehler auf!
Ich glaube ich hatte immer: $xyz=("text")

old Re: Bug Thread

Guest

Quote
Wie gesagt der restliche Text ist irrelevant.
Nehm ich "vorsorglich" raus oder ersetze es funktioniert alles normal;
mit vorsorglich als alleinigem Text kommt der Fehler ebenso.
Script:
elseif ($bla<=12) {$xyz=("vorsorglich");}

tritt der Fall in Kraft kommt als Ausgabe für $xyz 0

old Re: Bug Thread

bizzl
User Off Offline

Quote
Das liegt daran das in vorsorglich zweimal das or vorkommt und er das alls boolean interpretiert. Vllt hilft es die klammern drumherum wegzulassen, aber ich glaube es net.

Ich wäre ehrlich dafür das DC im nächsten Bugfix die Pascalstyle Operatoren ganz raus lässt, sie sind mehr störend als helfend...

old Re: Bug Thread

Guest

Quote
Stimmt,
sogar wenn nur das Wort allein als Definition steht, funtioniert es nicht.
Ist für mich persönlich nicht schlimm, da ich es ja jetzt weiß. Hab einfach den Text geändert.
Ist halt gut, wenn es bekannt ist und jemand nicht verzweifelt nach einem Fehler im Script sucht, den es nicht gibt!

old Re: Bug Thread

bizzl
User Off Offline

Quote
ich habe noch was zu monieren: das Crossparsing-Problem. Es ist tritt nicht nur wie bekannt bei s2 cmd sleep / on:sleep auf, sondern auch bei s2 cmd freestate / on:freestate .
Während ersteres nur ärgerlich, aber umgehbar ist, macht letzteres den gesamten nutzen des events zunichte.

old Re: Bug Thread

Flying Lizard
User Off Offline

Quote
Das versteh ich nich, kannste es mir bitte mal erklären? (ich habe diese evente bisher nich sehroft gebraucht, soweit sind wir nochnich)

old Re: Bug Thread

bizzl
User Off Offline

Quote
Flying Lizard has written
Das versteh ich nich, kannste es mir bitte mal erklären? (ich habe diese evente bisher nich sehroft gebraucht, soweit sind wir nochnich)

Okay ich habe aufgrund dieser idee folgenden code bei Unit 1 entwickelt:
1
2
3
4
5
6
7
8
9
on:addstate {
	if (state()==2) { timer "unit",currentid(),500,0,"pping"; }
}

on:freestate {
	if (state()==2) { freetimers "unit",currentid(),"pping"; }
}

on:pping { ai_signal "distract"; }
Wenn der spieler vergiftet wird startet der Timer, np, aber wenn die vergiftung dann gelöscht wird (durch einen heiltrank oder sowas) dann kommt eine fehlermeldung wegen Crossparsing.
Ich habe bisher auch kein workaround dazu gefunden...

EDIT: okay, hab doch eins gefunden. toll ist das trotzdem nicht

old Re: Bug Thread

Flying Lizard
User Off Offline

Quote
ich versteh nur nich wo da ein Fehler kommen soll
(sry, ich steh grad iwie auf der Leitung)

old Re: Bug Thread

bizzl
User Off Offline

Quote
Der Fehler kommt sobald s2 cmd freestate "unit",1,Irgendwas benutzt wird
Weil dann sofort on:freestate geparst werden müsste, aber nicht kann, weil noch der andere script läuft.

old Re: Bug Thread

Guest

Quote
Folgendermaßen müsste es doch funktionieren:

on:addstate {
if (state()==2) { timer "unit",currentid(),1,1,"startping"; }
}

on:freestate {
if (state()==2) { freetimers "0","pping"; }
}

on:pping { ai_signal "distract"; }

//global
on:startping { timer "0",500,1,"pping"; }

old Re: Bug Thread

bizzl
User Off Offline

Quote
Nein, das ist kein echter unterschied zu meinem.
Außerdem kommt der Crossparsing-Error selbst dann manchmal wenn on:freestate auskommentiert wurde (danke an Leiche, er hat das entdeckt)

old Re: Bug Thread

Mc Leaf
Super User Off Offline

Quote
Der ganze "distract"-Kram funzt sowieso grottenschlecht. Ich verzweifle immer noch an meinem Lagerfeuer, welches gefährliche Tiere vertreiben soll, es aber nicht, tut, weil das "flee"-Verhalten stets mit enormer Frequenz vom "hunt player"-Verhalten überschrieben wird...

Erst ab einem 50ms-Timer funzt es korrekt - aber sowas ist für größere Maps wie das Penguin-Adventure dann doch etwas zu heftig... .

EDIT: Ein paar Bugs hab ich auch noch.

> Das "create"-Event wird nicht ausgeführt, wenn das entsprechende Objekt per s2 cmd create während des "start"-Events eines anderen Objekts erstellt wird.

> Bei mehreren Kombinationen für ein Objekt (nicht Item), wird beim Bau des entsprechenden Objektes stets das Material vorausgesetzt, welches durch die Kombination mit der niederigeren ID festgelegt wurde.

s2 cmd name gibt 0 zurück, falls der Name logische Operatoren wie "or", "and" etc. enthält (bspw. bei den Raptoren der Fall)

> "copychildren" und "pastechildren" laufen immernoch unter "copychilds" und "pastechilds" (wurde aber, glaube ich, schonmal genannt)

> Wenn bei einem Objekt lokale Variablen deklariert sind, und anschließend per s2 cmd extendscript end Skript angehangen wird, dann werden die Namen der lokalen Variablen bei dem Objekt in Teilstrings des angehängten Skripts konvertiert...

Konkretes Beispiel:
-Objekt "Papageiennest" (oder beliebiges anderes Objekt, bei welchem bereits lokale Variablen deklariert wurden) auf Karte setzen (ID 1...!)
-Info (Flagge o.ä.) mit Script:

1
2
3
on:start {
  scriptextend "object",1,2;
}
-Textcontainer auf Karte setzen (ID 2...!) mit beliebigen Text als Inhalt
-->Map starten und in der Konsole mit "vars" Variablen anzeigen lassen

> Durch s2 cmd skip werden nicht nur alle Befehle des aktuellen Events ignoriert, sondern auch alle Befehle nachfolgender gleichnamiger Events (welche bspw. durch s2 cmd def_extend angehangen wurden). Beispiel:
Irgendein Objekt mit folgendem Skript

1
2
3
4
5
6
7
8
9
10
11
12
13
on:use {
  event "test";
  skip;
  msg "a";
}

on:use {
  msg "b";
}

on:test {
  msg "c";
}
Beim Benutzen des Objektes sollten eigentlich beide Nachrichten ("b" und "c") ausgegeben werden, die Befehle des zweiten "use"-Event werden allerdings ebenfalls übersprungen, obwohl sie nicht mehr zum Anweisungsblock des ersten "use"-Events gehören.

> Scheinbar werden auch Dateien mit anderen Endungen als .inf ausgelesen... (bspw. items.old o.ä.)
edited 1×, last 20.09.07 07:13:18 pm

old Re: Bug Thread

bizzl
User Off Offline

Quote
Mc Leaf has written
> Bei mehreren Kombinationen für ein Objekt (nicht Item), wird beim Bau des entsprechenden Objektes stets das Material vorausgesetzt, welches durch die Kombination mit der niederigeren ID festgelegt wurde.

das versteh ich jetzt nicht ganz

Mc Leaf has written
> Durch s2 cmd skip werden nicht nur alle Befehle des aktuellen Events ignoriert, sondern auch alle Befehle nachfolgender gleichnamiger Events (welche bspw. durch s2 cmd def_extend angehangen wurden).

finde ich eigentlich ganz gut so, besser wäre noch wenn s2 cmd skip im Mapseitigen script auch auf die events im Defseitigen Script wirken würde

Mc Leaf has written
> Scheinbar werden auch Dateien mit anderen Endungen als .inf ausgelesen... (bspw. items.old o.ä.)

*.inf* , ist mir auch schon aufgefallen.

old Re: Bug Thread

Mc Leaf
Super User Off Offline

Quote
bizzl has written
Mc Leaf has written
> Bei mehreren Kombinationen für ein Objekt (nicht Item), wird beim Bau des entsprechenden Objektes stets das Material vorausgesetzt, welches durch die Kombination mit der niederigeren ID festgelegt wurde.

das versteh ich jetzt nicht ganz

Das war bspw. bei dem Schmelzofen der Fall. Du hattest eine Baukombination in buildings_ext.inf und ich eine in buildings_mc_leaf.inf.
Obwohl beide Kombinationen eine unterschiedliche ID hatten (aber gleiche Objekt-ID), wurden im Baumenü die Icons des benötigten Materials von meiner Kombi angezeigt, hat man dann aber die Baustelle platziert, und den Hammer verwendet, dann wurde das benötigte Material deiner Kombi angezeigt.

bizzl has written
Mc Leaf has written
> Durch s2 cmd skip werden nicht nur alle Befehle des aktuellen Events ignoriert, sondern auch alle Befehle nachfolgender gleichnamiger Events (welche bspw. durch s2 cmd def_extend angehangen wurden).

finde ich eigentlich ganz gut so, besser wäre noch wenn s2 cmd skip im Mapseitigen script auch auf die events im Defseitigen Script wirken würde

Darüber könnte man sich tatsächlich durchaus streiten. Mal ist die eine Variante, und mal die andere Variante sinnvoller. Vielleicht wäre da ein zusätzlicher Parameter nicht schlecht...
Dass die "mapseitigen" Events nicht auf die "def_seitigen" Events wirken, liegt meines Erachtens daran, dass die "mapseitigen" Events nunmal nach den "def_seitigen" Events ausgeführt werden.

bizzl has written
Mc Leaf has written
> Scheinbar werden auch Dateien mit anderen Endungen als .inf ausgelesen... (bspw. items.old o.ä.)

*.inf* , ist mir auch schon aufgefallen.

Ja, nur das ich den Fehler zunächst im Skript vermutete, so dass mich das ca. 1 1/2 Stunden und eine Menge Nerven gekostet hatte...
To the start Previous 1 229 30 3158 59 Next To the start
Log in to replyAllgemein overviewStranded II overviewForums overview