Forum

> > Stranded II > Scripts > Scripting - Fragen/Probleme
Forums overviewStranded II overview Scripts overviewLog in to reply

German Scripting - Fragen/Probleme

6,780 replies
Page
To the start Previous 1 26 7 8339 340 Next To the start

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
@DC:
Könntest du einen Befehl hinzufügen, der ein gelagertes Item löscht? Z.B. freeitem. Damit man z.B. Items aus dem Inventar des Spielers verbrauchen kann.

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
THX, und:
Könntest du ein Event erstellen, das ausgelöst wird, wenn die Unit, bei der das Skript ausgeführt wird, angreift?

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Joa... über KI-gebundene Ereignisse muss ich mir noch Gedanken machen. Ist aber kein Problem das umzusetzen.

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Und könnte man die Behaviours Blade oder Spear mit State-Behaviours wie poison und fire kombinieren?
Z.B. für vergiftete Speere.

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Nein... ich gebe Items besser ein weiteres Feld bei den Definitionen zum Anhängen eines Waffen-States. Ist besser denke ich.

old Re: Scripting - Fragen/Probleme

Lord Horazont
User Off Offline

Quote
Ich hab mal das Trinkscript von oben in die game.inf eingebaut und bei mir kommt immer sofort "Du bist tot!".
Wo liegt der Fehler?

Gruß Lord Horazont

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Das Trinkskript von mir sollte in der Version 0.0.0.3 gar nicht funktionieren. Warte mal bis zum nächsten Release.

@DC: Wegen dem on:attack1 und so:
Könntest du auch einen Befehl dazu hinzufügen, der zurückgibt, ob die Waffe getroffen hat? Könnte für Skills ganz nützlich sein.

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Consume müsste funktionieren, aber den Befehl "inarea_freshwater" gibt es in der aktuellen EXE (0.0.0.3) noch nicht, daher funktionierts nicht. Wundert mich eigentlich, dass da das Spiel nicht abstürzt oder in der Art.

Das Trinkskript, wie ich es jetzt habe, sieht so aus:
1
2
3
on:usesea {
 drink 0,0,-10,0;
}
Allerdings kann man damit nur Salzwasser trinken, da das Spiel Süßwasser noch nicht wirklich erkennen kann.

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Ja der Scriptparser ist in einigen Situationen ziemlich unsensibel in Bezug auf Sachen die er nicht kennt...

Ein Befehl der zurückgibt ob man getroffen hat.. uff... ja okay.
Mache ich dann aber mit einem weiteren Event (on:impact), 1. weil das on:attack vor dem eigentlichen Angreifen ausgeführt wird damit die Möglichkeit besteht dieses über skipevent abzubrechen und 2. weil ja bei Waffen mit Projektilen die sichtbar fliegen zum Abschusszeitpunkt noch nicht bekannt ist, ob man treffen wird.
Mit Befehlen kann man dann ermitteln welche Klasse/ID man getroffen hat.

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
@DC:
Bei S1 gab es ja Kombinationen mit denselben Kosten, z.B Stein+Ast > Hammer/Speer. Ich will sowas bei S2 nun auch machen. Dazu habe ich mir anhand des Hammer/Speer-Beispiels folgendes Skript überlegt (bei "alteritem" habe ich die ID des zu ersetzenden Items als letzten Parameter hinzugefügt):
1
2
3
if (playergotitem(*Hammer*)>1) {
alteritem 1,*Speer*,1,*Hammer*;
}
Würde das, wenn du mit dem zusätzlichen alteritem-Parameter fertig bist, funktionieren?

Und wenn ich schon von Kombinationen spreche:
Es gibt einen Bug, dass... naja, ich kanns nicht so gut erklären, daher hier ein Beispiel:

Ast + Feder > Holzpfeil
Ast + Feder + Stein > Pfeil

Angenommen, ich deklariere diese Kombinationen richtig in der combinations.inf:
Die 1. Kombination würde ganz normal klappen, aber bei der 2. würde die erste ablaufen, also es würde ein Holzpfeil entstehen (Der Stein wird aber nicht verbraucht), d.h. wenn man zusätzlich zu den Items einer Kombination andere Items markiert und dann kombiniert, läuft diese Kombination normal ab, auch wenn durch die zusätzlichen Items eine andere Kombination ablaufen sollte. Puh... ich hoffe, man konnte es durch das Beispiel einigermaßen verstehen.

THX im Voraus
edited 1×, last 08.01.06 10:01:29 pm

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Das Script sollte klappen, falls ich bei alteritem den zusätzlichen Parameter einbaue. Allerdings sollte man zusätzlich noch "skipevent;" reinschreiben (wo innerhalb des Events ist egal), da SII sonst trotzdem versucht die standard Kombination auszuführen (wobei ich im Code nachgucken müsste was passiert - entweder es ist egal oder es gibt einen MaV-Fehler und das Spiel beendet sich)

Das mit den Kombinationen werde ich fixen, danke.

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Warum ich skipevent nicht eingebaut habe:
So wie ich mir es gedacht habe, wird, wenn man den Hammer schon hat, ein neuer Hammer produziert und sofort in einen Speer umgewandelt. Aber mit dem Skipevent hast du mich auf eine Idee gebracht, wie es schon in V 0.0.0.3 klappen sollte...

Edit: Nein, mit skipevent klappt es nicht, da dann keine Items verbraucht werden.

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Oh... ich habe nicht mitgedacht
Der Punkt ist, dass Scripts eigentlich immer VOR dem richtigen Ereignis ausgeführt werden (eben meist darum, damit man per Script und skipevent dieses Ereignis abbrechen/überspringen kann). Von daher wäre dein Ansatz dann falsch, da beim Ausführen des Scripts noch keine Kombination stattgefunden hat.

So sollte es dann klappen (falls die Befehle in der downloadbaren Version schon alle drin sind, ich glaube aber nicht)
1
2
3
4
5
6
7
8
9
10
if (playergotitem(*Hammer*)>0){
   //Items verbrauchen
   free "item",getstored("unit",1,*Stein*),1;
   free "item",getstored("unit",1,*Ast*),1;
   //Neues Item erstellen und dem Spieler geben
   $id=create("item",*Speer*);
   store $id,"unit",1;
   //Standard Kombination nicht ausführen
   skipevent;
}
(Unit mit ID 1 entspricht immer dem Spieler selbst und das create und store könnte man natürlich auch ohne Variable lösen indem man direkt das create als Parameter für store nimmt)

old Re: Scripting - Fragen/Probleme

HW
User Off Offline

Quote
Ich denke so würde es trotzdem funktionieren:
1
2
3
if (playergotitem(*Hammer*)>0) {
alteritem 1,*Speer*,1,*Hammer*
}

Erklärung des Ablaufs:
Zuerst wird geprüft, ob der Spieler bereits einen Hammer hat. Ist dies der Fall, wird der Hammer in einen Speer umgewandelt. Danach läuf die Kombination normal ab, d.h. der eben umgewandelte Hammer wird nachproduziert. So war das gemeint. Ich denke, so würde es auch gehen, naja, ich bin eben etwas stur, was sowas angeht.

Dass die Unit 1 der Spieler ist, weiss ich übrigen bereits durch die Karte "Skillandstates".
To the start Previous 1 26 7 8339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview