Forum
Stranded II Scripts Scripting - Fragen/ProblemeEDIT:
SCRIPT ERROR:
Expecting parameter resp. ','
Script: Object 9 (Blumen)
Event: use
Row: 3
Col: 10
Script: damage ""self"", 2;
1
2
3
2
3
on:use { damage "self",2; }
Ob es daran liegt, das irgendwo sonst ein Fehler ist?
Naja, ich probiers nochmal. Falls immer noch nicht klappt, werde ich den ganzen Script im Edit hier reinposten...
Und warum stehen eigentlich elseif und else nicht in eckigen Klammern bei der Befehlsliste? if Die sind doch optional oder nicht?
1
2
3
4
5
6
7
2
3
4
5
6
7
on:attack1 { scantarget; 	if (targetclass()>0) { 		$Leben=health(targetclass(), targetid()); 		msg "Leben: $Leben" 	} }
Ich denke das in der Befehlsreferenz hat DC einfach später die [] eingeführt als den Befehl
Hab nur gedacht bei msg braucht man keins, weil ich von dir oben abgeguckt habe.
Hm also kann es sein, dass bei anderen Befehlen auch die eckigen Klammern fehlen? Dann muss ich halt einfach alles ausprobieren.
mfg
Timotheus
kann sein das noch wo anders die Klammern fehlen, aber bei fast allen stimmen sie.
Wie mache ich,dass wenn ich ein bestimmtes gebiet
betrete etwas passiert(z.b Tagebucheintrag)
damage "self", 2; geht nicht aber
damage "self",2;
Wegen ein Leerzeichen? Das ist doch nicht normal!
Naja, es klappt nun jedenfalls. Danke Flying Lizard!
Edit:
Wie soll ich den dieses Problem umgehen?
Ich möchte den Script freestored "unit", 1, self; in den Buffer setzten aber bei add "freestored "unit", 1, self;"; gibt es Probleme, da es hierbei um 4 Anführungszeichen handelt.
edited 1×, last 19.05.07 02:34:55 pm
Keine Ahnung was du da machst, aber bei mir funktioniert es auch mit dem besagten Leerzeichen. Sogar wenn ich 5 Leerzeichen mache lässt es das kalt und es funktioniert.
Also ungefähr so:
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
on:use { if (*wenn ein Inhalt vorhanden ist*) { msg "Wow da ist was drinn"; } else { msg "Leer"; } }
Edit: Wie kriege ich so eine kleine Minimap?
edited 1×, last 19.05.07 11:20:55 pm
1
if ( s2:count_stored ("object",ID)>0 ) { ...
Map?
Den Befehl habe ich benutzt. Raus kam, dass eine große Karte erschienen ist, wie ein Diary-Eintrag und wenn ich das Fenster geschlossen habe war sie weg.
Ich will eine kleine karte, links unten oder sonst wo, die andauernd angezeigt wird, geht das?
Der Befehl count_stored hat 3 Parameter!
Mit Klasse und ID beschreibst du nur das Objekt, von welchem du wissen willst, ob was drin ist. Z.b.
"object",3 <- gucken ob im object mit id 3 was ist
"unit",14 <- gucken ob in unit mit id 14 was ist
der 3. paramter ist optional. er kann angegeben werden, muss aber nicht. wenn du ihn nicht angibst, wird die gesamtmenge an gelagerten items zurückgegeben, egal welcher typ. also das was du willst. exakt den code dafür habe ich dir da oben hingeschrieben. du musst nur noch ID durch die id des objects auf der map ersetzen, von welchem du den inhalt prüfen willst.
nur wenn du gucken willst ob ein bestimmter item-typ gelagert ist, musst du den 3. parameter angeben (du musst hierbei die id aus den item definitionen angeben, nicht die id welche ein item auf der map hat)
denn mein eigentliches Ziel, war es eben, eine bestimmte Nachricht abzuspielen wenn mindestens ein Items drinnen ist und wenn keins drinnen ist soll da stehen "Leer".
Wenn ich es jetzt aber mit dem count_stored mache, dann müsste ich ein "if" mit allen items machen, da ich ja wenn ein items drinnen ist nicht "Leer" anzeigen sollte, was es aber dann tut, da ich ja ein anderes item einlagern kann und dieses bei count_stored nicht berücksichtigt wird.
Edit: Also bitte einen zusätzlichen Befehl, der überprüft, ob ein Inhalt vorhanden ist.
count_stored "object", id, typ prüft ob in dem Objekt mit der ID id ein Item vom Typ typ eingelagert ist.
count_stored "object", id ist das was du willst: Es prüft ob bei dem Objekt mit der ID id überhaupt irgendwas eingelagert ist.
Du kannst anstatt "object", id auch self eingeben, dann wird nicht bei dem Object mit der ID id geprüft, sondern bei dem Object bei dem das Script geschreiben wurde, also z.B. count_stored self
Edit: Kann sein dass du self in Anführungszeichen schreiben musst