Forum
Stranded II Scripts Scripting - Fragen/Probleme Gast has written
ihr kennt euch alle mit scripting aus aber ich lese mir das tutorial immer und immer wieder duchr doch ich kapieler die script sprache nich kann mir echt keiner helfen ich bin am verzweifeln will doch nur so tolle maps wie andere bauen
Gast has written
ich auch will kapieren
Hm... Also ich kann nur immer wieder empfehlen, sich die Skripte der Abenteuer-Maps von DC anzuschauen. Erstmal mit einfachen Sachen, d.h. kurzen Skripten etwas herumexperimentieren, z.B. einfach ein paar Zahlen ändern und gucken was passiert.
So nach... und nach... steigt man dann dahinter.
War zumindest meine Erfahrung.
Hatte aber letztens auch erst übelst lange mit savemap und loadmap herumgefummelt und war schon kurz davor einen Bug zu melden. Bis ich dann geschnallt hatte, dass man in gewissen Fällen (wie bei mir) bei savemap die Parameter 0 zum Löschen angeben muss - obwohl sie eigentlich optional sind... Naja...
Hab nen dialog ( dialogue), der auf nen textcontainer zugreift.
In diesem Textcontainer ist auch ein Button, den ich mit Script versehen will. Das Script enthält aber Kommata und if - Bedingungen. Also hab ich das Script in ner weiteren Info angegeben.
EDIT:
1
2
3
2
3
ibutton=17, script: 13 ,Ja Gerne! bzw. ibutton=17, script: "13" ,Ja Gerne!
JAJAJA!!! DAMN ICH HABS!!!:
1
2
3
4
5
6
2
3
4
5
6
ibutton=17, seite2 ,Ja Gerne! page=seite2 script=start [i]hier steht das script[/i] script=end
EDIT2: Edit dazuschreiben
edited 2×, last 03.07.07 04:01:00 pm
Hab auch ne frage:
Was is hier falsch (geht nämlich net)?:
Da kommt dann immer das in der klammer vom else
1
2
3
4
5
2
3
4
5
on:blabla { $a=(getstored "unit", 1 ,41); if ($a >= 30) {[i]das soll passieren[/i]} else {[i]das passiert[/i]} }
edited 1×, last 03.07.07 05:39:23 pm
1
2
3
4
5
6
7
2
3
4
5
6
7
on:timer if(getstored ("unit", 1,41)>=30) { das wird ausgeführ } else { das iwrd ausgeführt } }
1. ne defparam funzt garantiert NICHT das was er will geht nur mit dem von mir gesagten state.
2. du must die Klammern bei getstored nicht um den ganzen Befehl sondern nur um die Parameter machen, also
1
$a=getstored ("unit", 1 ,41);
@Klara das is blödsinn, es funktioniert im allgemeinen mit Variablen sogar besser wobei es in diesem Fall aber egal ist.
EDIT: steht schon in der Befehlsrefernez, is nur ein bischen versteckter, das sollte DC mal besser hervorheben
http://stranded.unrealsoftware.de/s2_commandsinfo.php
edited 1×, last 03.07.07 06:09:59 pm
Korrektur für Bananes Code:
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
on:blabla { 	$a=getstored("unit", 1 ,41); 	if ($a>=30) { 		das soll passieren 	} else { 		das passiert 	} }
...und ala Klara:
1
2
3
4
5
6
7
2
3
4
5
6
7
on:timer { 	if(getstored("unit",1,41)>=30) { 		das wird ausgeführt 	} else { 		das wird ausgeführt 	} }
Ich brauch das unbedingt! bitte schreibt schnell!
banane has written
wie kann ich mit on ausdrücken "wenn man den dialog schließt"???
Ich brauch das unbedingt! bitte schreibt schnell!
Ich brauch das unbedingt! bitte schreibt schnell!
Folgendes unten anfügen:
1
2
3
4
5
2
3
4
5
page=closepage script=start s2:event "close_dialogue","global"; s2:closemenu; script=end
Und änderst alle buttons mit action:close um so das sie auf diese Seite weiterleiten.
EDIT:
und nochwas:
am ende eines prozesses soll eine map geladen werden. wie?
EDIT 2:
kann mir mal jemand den befehl "event" erklären?
edited 2×, last 03.07.07 07:38:44 pm
der Befehl event is im Grunde nich weiter schwer.
beim ersten Parameter gibst du den Namen des events an und bei den beiden letzteren gibst du an WO das event ausgeführt wird.
banane has written
das soll aber auch funktionieren, wenn man den dia mit leertaste/dem schließen button rechts oben schließt...
Das ist dann leider Pech.
banane has written
EDIT:
und nochwas:
am ende eines prozesses soll eine map geladen werden. wie?
und nochwas:
am ende eines prozesses soll eine map geladen werden. wie?
1
2
3
4
5
6
2
3
4
5
6
on:blah { 	process "Karte laden...",5000,"loadmap"; } on:loadmap { 	loadmap [i]Parameterzeugss[/i]; }
Edit: mir fällt grade ein: Aufgrund der tatsache das event ein Ereignis in den Event-Queue steckt und dieser erst weiter abgearbeitet wird wenn der Dialog geschlossen wird ginge eventuell folgendes:
baue
1
2
3
2
3
script=start s2:event "close_dialogue","global"; script=end
edited 1×, last 03.07.07 07:45:45 pm
zb.
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
on:start { seqstart 1,0; setcam 0,1; cammode 0; [b]seqevent 1500,"flash"; [/b] seqend 1500; } on:flash flash,170,200,255,0.05,10; }
Er löst ein event aus
Hier sehr sinloss, weil es ja seqflash gibt.
HAb eine wunderschöne KArte gefertigt die ich jetzt noch was bescripten wollte... hab mich dann mit dem tutorial befasst
http://www.stranded.unrealsoftware.de/s2_scripting2.php
jetzt funktioniert des Schriftzug allerdings nicht wie beschrieben... also er erschient nicht
Woran kanns liegen?