combinations.inf und buildings.inf werden auch Scripts ermöglichen, allerdings wird man dort kein "on:Event" benutzen müssen, da sie nur ausgelöst werden, wenn etwas kombiniert wird bzw. ein Gebäude fertig errichtet wurde.
Forum
Stranded II Scripts Scripting - Fragen/Problemecombinations.inf und buildings.inf werden auch Scripts ermöglichen, allerdings wird man dort kein "on:Event" benutzen müssen, da sie nur ausgelöst werden, wenn etwas kombiniert wird bzw. ein Gebäude fertig errichtet wurde.
Aber diese Funktion sollte dann auch das maximale Gewicht, das ein Tier/Mensch tragen kann, berücksichtigen. Also dass kein Item erstellt wird, wenn der Platz nicht mehr ausreicht.
Zu dem Befehl "skipevent":
Den könnte man ja auch mit Kombinationen kompatibel machen, damit man z.B. etwas nur mit Feuer in der Nähe kombinieren kann.
edited 2×, last 30.12.05 12:59:13 pm
Das könnte man ja auch mit den anderen States machen, dann könnte man z.B. mit einem Elektropfeil auf einen Löwen schießen und der kriegt dann einen Elektroschock.
Was ist der Unterschied zwischen Feuer und ewigem Feuer? (die States meine ich)
edit:mist zu lahm^^
Achso DC wenn man brennt und dann ins wasser geht dann erlischt feuer noch net oder?
Edit: Habs mal gerade eingebaut. Hihi..
edited 1×, last 30.12.05 02:52:20 pm
Ich hab das mal mit dem addstate-Befehl versucht, aber das Spiel stürzt ab.
Ich hab das hier in die Definition vom Lagerfeuer geschrieben:
Quote
script=start
on:create {
addstate "currentclass()",currentid(),5;
}
script=end
on:create {
addstate "currentclass()",currentid(),5;
}
script=end
Das Spiel stürzt ab, wenn ich das Lagerfeuer bauen will. (bei der Fertigstellung, also gerade wenn es das Skript ausführt)
Edit: Problem gelöst, ohne Anführungsstriche bei currentclass funktionierts
Also ist der Returnwert von currentclass schon in Anführungsstringen, oder?
Naja, so kann man den Code jedenfalls für Fackeln und Lagerfeuer benutzen, wenn man will, dass sie gleich nach dem Erbauen brennen.
edited 3×, last 30.12.05 03:06:15 pm
Es ist nicht so gut, dass es jedesmal bei der benutzen taste kommt.
Die Anführungsstriche bei currentclass() sind nicht notwendig bzw. falsch (Intern werden die Klassen ohnehin als Zahl gehandelt). Man kann in seinen Scripts auch direkt diese Zahlen statt den Klassen angeben:
1 = Object
2 = Unit
3 = Item
4 = Info
Aber dennoch sollte das Spiel nicht abstürzen sondern die Console mit einem Scriptfehler öffnen (der etwas sinnlos wirkt wenn man die Hintergründe nicht kennt). Das ist bei mir jedenfalls der Fall wenn ich den Code 1:1 so übernehme ... etwas .. kacke
Ich habe übrigens auch eine weitere, noch einfachere Alternative eingebaut. Sie funktioniert bei eigentlich allen Befehlen, wo man über die Parameter "Klasse",ID ein Objekt angeben muss:
addstate "self",5;
Also einfach statt den beiden Parametern ein "self" einsetzen.
@MK:
Das wird noch geändert. Das Fenster wird automatisch nur bei Benutzung von toten Tieren erscheinen und nur wenn diese Items in sich haben.
Es wäre ja sehr aufwändig (nahezu unmöglich) bei allen Tieren im Spiel die Items manuell reinzusetzen.;)
Jetzt kann man es ja über Scripts wie dieses hier in der Definition Regeln:
on:kill {
$id=create("item",1);
store $id,currentclass(),currentid();
}
Aber ist schon etwas viel Aufwand da es ja vermutlich bei so gut wie jedem Tier nötig sein wird. Werde dann wohl doch noch was dafür in die Definitionen machen. (Und im Moment kann man dadurch so viele Items kriegen wie man lustig ist, da Tiere sich beliebig oft "töten" lassen und immer wieder das Script ausgeführt wird)
Aber ich find's gut wenn man sowas in den Definitionen einstellen kann.
Ich glaube das ist mit behavouir(richtiggeschrieben?^^) abhängig oder?