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 2133 134 135339 340 Next To the start

old Re: Scripting - Fragen/Probleme

Flying Lizard
User Off Offline

Quote
diese verschachtelung wird ihm wohl nich passen, S2 hat mit sowas oft probleme. Aber einfacher wäre es sowieso wenn du stat "object" einfach "self" schreibst und die id weglässt.

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
Noch ein Problem:

on:use {
timer "self",5,90,"rotate";
}

on:rotate {
$yaw= getyaw (self);
$yaw ++;
setrot "self","self","self",$yaw;
if ($yaw == 20) {
event "use","object",2;
}
}

Und was muss ich eigentlich auf dem nächsten Stein machen, damit es eine selbstständige Kettenreaktion wird?

Hallo? Ich bräuchte gerne heute noch Hilfe.
Bitte helft mir doch, ihr wisst ja mehr als ich.
edited 1×, last 20.03.08 05:48:31 pm

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Benji has written
Noch ein Problem:

on:use {
timer "self",5,90,"rotate";
}

on:rotate {
$yaw= getyaw (self);
$yaw ++;
setrot "self","self","self",$yaw;
if ($yaw == 20) {
event "use","object",2;
}
}

Und was muss ich eigentlich auf dem nächsten Stein machen, damit es eine selbstständige Kettenreaktion wird?

Hallo? Ich bräuchte gerne heute noch Hilfe.
Bitte helft mir doch, ihr wisst ja mehr als ich.

Okay, ich bin mal liebensgewürzig... also:
Dein tatsächliches Problem mit dem Script sehe ich nicht, ich vermute aber das zwei dinge falsch sind:
1. Leerzeichen um Operatoren (ist zwar eigentlich guter Stil, manchmal kotzt der Parser deswegen aber rum)
2. setrot "self","self","self",$yaw; << $yaw ist vermutlich an der falschen Stelle, es müsste mit der "self" davor vertauscht werden um wirklich den Yawwinkel zu ändern (atm änderst du den Rollwinkel)

Zu der Kettenraktion: Kannste nur mit ner Stopuhr daneben stehen, stoppen wenn sie sich berühren und die events entsprechend timen (eventuell im on:rotate eines steines nen kurzen, einmaligen timer auf das on:rotate das nächsten Steines)

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Benji has written
Und wie mache ich das mit einem Zeit-Trigger?
Der lässt sich ja nicht auf kommastellen einstellen.

Gar nicht. benutze für solche kleine sachen lieber s2 cmd timer .

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
So müsste es am Anfagn des ersten Steines stehen:

on:use {
timer "self",5,90,"rotate";
}

on:rotate {
$yaw= getyaw (self);
$yaw ++;
setrot "self","self","self",$yaw;
if ($yaw == 20) {
event "timer","info",2;
}
}

Und beim Zeit-Trigger:

on:timer {
Aäh wie mach ich weiter?

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Benji has written
So müsste es am Anfagn des ersten Steines stehen:

on:use {
timer "self",5,90,"rotate";
}

on:rotate {
$yaw= getyaw (self);
$yaw ++;
setrot "self","self","self",$yaw;
if ($yaw == 20) {
event "timer","info",2;
}
}

Und beim Zeit-Trigger:

on:timer {
Aäh wie mach ich weiter?

ugh, ich glaube du hast das mit dem timer nicht verstanden
1
2
3
4
5
6
7
8
9
10
11
12
on:use {
	timer "self",50,90,"rotate"; [i]# neues Intervall von FL vorgeschlagen[/i]
}

on:rotate {
	$yaw=getyaw(self);
	$yaw++;
	setrot "self","self",$yaw,"self"; [i]# entweder so oder oben getroll()[/i]
	if ($yaw == 20) { [i]# ich nehme mal an hier berühren sie sich...[/i]
		event "use","object",ID_DES_NAECHSTEN_STEIN; [i]# ...deswegen s2:event, nicht s2:timer[/i]
	}
}
Und der Code bei allen anderen Steinen dann auch so, nur eben immer ne andere ID bei ID_DES_NAECHSTEN_STEIN einsetzen -.-

Die Lösung mit timer wäre noch etwas anderes gewesen, aber ich denke mal das hier lässt sich besser abstimmen...

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
on:use {
      timer "self",50,90,"rotate";
}

on:rotate {
      $yaw=getyaw(self);
      $yaw++;
      setrot "self","self",$yaw,"self";
      if ($yaw == 20 {
                event "use","object",2;
      }
}

Der dreht sich doch!
Und ich habe das in den ersten, und in den zweiten geschrieben. Das aber löst nur den ersten aus nicht den zweiten dazu. Man, Himmelsschimel....
Die Kettenreaktion muss sich von alleine weiterbewegen.
Wie aber lässt sich das machen? Ich möchte bitte noch heute mit dem Domino anfangen. Antwortet so schnell wie möglich. Bitte. Würd mich ganz toll noch freuen. und wenn es klappt, dann verspreche ich euch bis Ende Mai keine Posts mehr zu schreiben. Damit meine ich die Fragen natürlich.

lg,
BEnji
edited 1×, last 20.03.08 08:54:48 pm

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Benji has written
on:use {
      timer "self",50,90,"rotate";
}

on:rotate {
      $yaw=getyaw(self);
      $yaw++;
      setrot "self","self",$yaw,"self";
      if ($yaw == 20 {
                event "use","object",2;
      }
}

Der dreht sich doch!
Und ich habe das in den ersten, und in den zweiten geschrieben. Das aber löst nur den ersten aus nicht den zweiten dazu. Man, Himmelsschimel....

Beim If fehlt eine schließende Klammer. Eventuell erreicht der Stein nie yaw=20, eventuell musst du in on:use noch den ursprünglichen yaw in einer (lokalen!) Variable speichern und die Differenz prüfen statt dem absoluten Winkel.

Quote
Die Kettenreaktion muss sich von alleine weiterbewegen.
Wie aber lässt sich das machen?

Richtig automatisch? gar nicht, da S2 keine Physikengine hat. Du musst das wie gesagt faken.

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
bizzl has written
noch den ursprünglichen yaw in einer (lokalen!) Variable speichern und die Differenz prüfen statt dem absoluten Winkel.


Was meinst du nun schon wieder? Man ist das kompliziert...


faken...Was ist den das? Ich möchte nur, dass der Stein, ein nach dem anderen, also wenn der erste gefallen ist, fallt der zweite, der 3te, der 4te,...

Also nehmen wir mal an:

Ich habe 4 Dominosteine wie du sagst geskriptet. Und wenn ich den 1ten aktiviere, dann fallt der 2te. Nachdem der 2te gefallen ist, fallt der 3te,...

Ich glaube, du hast das ein bisschen falsch verstanden.

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Benji has written
bizzl has written
noch den ursprünglichen yaw in einer (lokalen!) Variable speichern und die Differenz prüfen statt dem absoluten Winkel.

Was meinst du nun schon wieder? Man ist das kompliziert...

Noch Kindergarten ?
Also, die Differenz zweier Werte ist das Ergebnis ihrer Subtraktion: Subtrahent - Minuend = Differenz
Du sollst im on:use mal noch folgende Zeilen einfügen:
1
2
local $old_yaw;
$org_yaw=getyaw("self");
Und die If-Verzweigung muss dann so aussehen:
1
2
$tmp=$old_yaw-$yaw; [i]# wegen schachtelungsproblem schon hier[/i]
if (abs($tmp)==20) {

Und weil ich ein fieser Hund bin sage ich dir auch gleich mal das du hier sowieso immer mit dem falschen Winkel arbeitest. Der Yawwinkel ist der Winkel um die Y-Achse (Höhe), du brauchst aber wohl eher den Winkel um die X-Achse. Das wäre dann der Pitchwinkel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
on:use {
	local $old_pitch;
	$old_pitch=getpitch("self");
	timer "self",50,90,"rotate";
}

on:rotate {
	local $pitch,$tmp; [i]# ist sauberer so[/i]
	$pitch=getpitch("self");
	$pitch++;
	setrot "self",$pitch,"self","self";
	$tmp=$old_pitch-$pitch;
	if (abs($tmp)==20) {
		event "use","object",ID_DES_NAECHSTEN_STEIN;
	}
	frevar $yaw,$tmp;
}

Benji has written
faken...Was ist den das?

faken = fälschen, vortäuschen, simulieren

Benji has written
Ich möchte nur, dass der Stein, ein nach dem anderen, also wenn der erste gefallen ist, fallt der zweite, der 3te, der 4te,...

Also nehmen wir mal an:

Ich habe 4 Dominosteine wie du sagst geskriptet. Und wenn ich den 1ten aktiviere, dann fallt der 2te. Nachdem der 2te gefallen ist, fallt der 3te,...

Ich weiß wie Dominoketten funktionieren, danke

Benji has written
Ich glaube, du hast das ein bisschen falsch verstanden.

Ich nehme eher an du verstehst nicht was ich dir erkläre

old Re: Scripting - Fragen/Probleme

Chopii
User Off Offline

Quote
Bei frevar $yaw,$pitch; reagiert er mit:

Expection Semicolon

Ich glaube, dass er meint, das was fehlt. Aber was den?

freevar heißt das..genau.
Aber der geht schief. Wollt ihr mich verarschen? Ich sagte doch es soll umfallen, nicht schief um kippen.

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Benji has written
Bei frevar $yaw,$pitch; reagiert er mit:

Expection Semicolon

Ich glaube, dass er meint, das was fehlt. Aber was den?

freevar heißt das..genau.

sry ^^'

Benji has written
Aber der geht schief. Wollt ihr mich verarschen? Ich sagte doch es soll umfallen, nicht schief um kippen.

Denkst du etwa ich weiß wie deine sch*** Steine stehen ?
Wenn es mit Pitch nicht stimmt, dann ändere alle pitch zu roll und die zeile
1
setrot "self",$pitch,"self","self";
zu
1
setrot "self","self","self",$roll;
Wenn du das nicht packst solltest du echt mal überlegen ob dieses (eigentlich sehr triviale problem) nicht doch noch zu hoch für dich ist

old FRAGE!!!

Njettn
User Off Offline

Quote
hey ich hätt da mal ne Frage:

also ich bin sehr neu und kenn mich mit dem ganzen "scripting" gar nicht aus,

kann mir das mal igendwer bitte erklären?
Ich kann halt nur so Sachen wie:

on:start {
msg "Hallo und Herzlichwilkommen!" ,3 ,7000;
}

aber ich will mal richtig irgendwas mit dem machen z.B.
Das man ganz am Anfang, wenn man eine Missi macht,
von einem Punkt zum anderen geflogen wird oder so...



bitte um Hilfe
edited 1×, last 21.03.08 01:20:04 pm

Admin/mod comment

wenn du nen Fehler im Script hast und dich wer anders drauf hinweist dann editier das bitte nich um, du veränderst dadurch die logische Reihenfolge des threads und das lösst nur verwirrjung aus /Flying Lizard

old Re: Scripting - Fragen/Probleme

Guest

Quote
Strichpunkte gehören nur an das ende der Zeile

1
2
3
on:start { 
msg "Hallo und Herzlichwilkommen!" ,3 ,7000; 
}

old Re: Scripting - Fragen/Probleme

Njettn
User Off Offline

Quote
oh danke...

und ich hätte noch so ne Frage:

Wie kann ich machen, das wenn ich z.B. einen Häupling anspreche (E) das er dann auch etwas zurück sagt und ich halt dann so texte anklicken kann und so, wie geht das???



bitte um antwort.
edited 1×, last 21.03.08 03:32:51 pm

old Re: Scripting - Fragen/Probleme

leinad1123
User Off Offline

Quote
Ich habe mal eine Frage zu etwas noch komplexeren. Ich versuche gerade im Editor auf einer Insel eine Zone mit eigenen Wetter zu schaffen (Schnee). Ich habe einen Trigger gemacht und den Wetterwechsel gescriptet. Hat auch alles geklappt aber wenn ich aus dem Gebietstrigger rauskomme herscht immer noch das gleiche Wetter. Wie kriege ich da das alte Wetter wieder?

Danke im Voraus

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
leinad1123 has written
Ich habe mal eine Frage zu etwas noch komplexeren. Ich versuche gerade im Editor auf einer Insel eine Zone mit eigenen Wetter zu schaffen (Schnee). Ich habe einen Trigger gemacht und den Wetterwechsel gescriptet. Hat auch alles geklappt aber wenn ich aus dem Gebietstrigger rauskomme herscht immer noch das gleiche Wetter. Wie kriege ich da das alte Wetter wieder?

Danke im Voraus

Setze nen zweiten Gebietstrigger an die gleiche stelle (eventuell auch leicht daneben, wenn es nicht perfekt geht, oder positioniere einfach per s2 cmd setat ), statte ihn mit gleichem radius aber gegenteiliger bedingung aus und lasse ihn das abschaltscript ausführen (aber lasse ihn bei mapstart inaktiv!)
in beiden Triggern fügst du dann noch folgende Zeilen hinzu:
1
2
s2:stoptrigger currentid();
s2:starttrigger ID_VOM_ANDEREN_TRIGGER;
Die beiden Trigger wechseln sich dann immer ab.

hoffe das ist so verständlich
To the start Previous 1 2133 134 135339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview