Mc Leaf has written
bizzl has written
Bin selber überfragt, die Trigo stimmt zumindest auf dem Papier
*gröhl* Bei Stranded sind auch die Achsen des Kordinatensystems irgendie vertauscht...
Ganz sicher? Nicht X = Breite (Rechts/Links), Y = Höhe, Z = Tiefe (vor Zurück)?
Okay, vllt muss statt setpos ein komplizierteres Konstrukt ( setat + rpos?) rein...
Mc Leaf has written
Mit etwas Intuition und Empirie kommt man häufig viel schneller ans Ziel...
Tja, sry, aber ich KANN ATM NICHT ALLEINE DEBUGGEN!
Und mit Benji ist es eine Tortur (@benji: sry, ist aber so )
Mc Leaf has written
Naja, zum Code... Du sagst, das Item verschwindet, und fragst dich "warum". Aber vielleicht verschwindet das Item ja gar nicht, sondern wird bspw. einfach unter der Oberfläche positioniert. Dann ist irgendwo ein Vorzeichen falsch, oder es wurde die falsche trig. Fkt. verwendet (sin statt cos bspw.)...
DAS ist nun wieder gut möglich. Also das sich die Achsen verkehrt herum drehen.
Mc Leaf has written
Aber z.B. das hier scheint mir auf den ersten Blick einfach schwachsinnig zu sein:
1
2
$tmp=sin($yaw);
$tmp=$tmp*sin($pitch);
Hier wird der Sinus eines Winkels in der x-z-Ebene mit dem Sinus eines Winkels in der x-y-Ebene (nicht ganz exakt, aber hoffentlich klar was ich meine) multipliziert... was soll da berechnet werden...?
3D-Winkel. Immerhin verändern sich die X- und Z-Position nicht nur abhängig von Yaw, sondern auch Abhängig vom Pitch.
Wenn ich weiß das du länger (~30min) on bleibst versuch ich mal ne Grafik dazu hinzubekommen... bizzl has written
Mc Leaf has written
bizzl has written
Bin selber überfragt, die Trigo stimmt zumindest auf dem Papier
*gröhl* Bei Stranded sind auch die Achsen des Kordinatensystems irgendie vertauscht...
Ganz sicher? Nicht X = Breite (Rechts/Links), Y = Höhe, Z = Tiefe (vor Zurück)?
Okay, vllt muss statt
setpos ein komplizierteres Konstrukt (
setat +
rpos?) rein...
Äh... bin grad etwas groggy... Na jedenfalls müssten im Norden (oben) und im Osten (rechts) die positiven Zahlen angelegt sein... Und das ist nicht der Fall.
Ah, ne... kapiert. Ja, die y-Achse markiert natürlich die Vertikale, so wie es häufig, aber nicht immer (weswegen hier letztendlich eine Vertauschung mit Z nur halb so wild wäre) der Fall ist.
Aber das meinte ich ja nicht^.
bizzl has written
Tja, sry, aber ich KANN ATM NICHT ALLEINE DEBUGGEN!
Eines der vielen Mysterien auf dieser Welt...
Kennst ja sicherlich Stephen Hawking... Muss dir daher sicherlich nicht erzählen was der alles kann. Und das obwohl er mittlerweile grad mal noch so zwei Finger bewegen kann...
Okay, der Vergleich hinkt sicherlich, aber ich kann dieses vorgeschobene "Ich-bin-ein-Linux-Yuppi"-Argument nicht mehr hören.
(übrigens: deine CAPS-LOCK-Taste scheint verklemmt zu sein )
bizzl has written
DAS ist nun wieder gut möglich. Also das sich die Achsen verkehrt herum drehen.
Naja, drehen tun sie sich ja (Gott sei dank!) nicht... Sie sind einfach nur "invertiert", also der gewöhnlich positive Abschnitt der Abzisse (x-Achse) ist mit negativen Zahlen besetzt, und analog bei der Ordinate (z-Achse). Ich hasse sowas (Genauso wie sich die Fachwelt nicht auf einheitliche Notationen einigen kann *hmpf*... naja, egal jetzt.)
bizzl has written
Mc Leaf has written
Aber z.B. das hier scheint mir auf den ersten Blick einfach schwachsinnig zu sein:
1
2
$tmp=sin($yaw);
$tmp=$tmp*sin($pitch);
Hier wird der Sinus eines Winkels in der x-z-Ebene mit dem Sinus eines Winkels in der x-y-Ebene (nicht ganz exakt, aber hoffentlich klar was ich meine) multipliziert... was soll da berechnet werden...?
3D-Winkel. Immerhin verändern sich die X- und Z-Position nicht nur abhängig von Yaw, sondern auch Abhängig vom Pitch.
Hm... da brauch selbst ich grad Block und Bleistift... Aber m.E. wäre da der Pytharogas eher angebracht...
Das Problem ist ja klar: Bestimme Koordinaten eines Punktes vor dem Spieler - das musste ich auch beim "Leaffall"-Skript machen. Hm... ich schau mal schnell nach:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
on:leaffall_player {
//Blickrichtung (Spieler)
$yaw=getyaw("unit",1);
//Position (Spieler)
$x=getx("unit",1);
$z=getz("unit",1);
//Abstand (vom Spieler)
$radius=random(100,200);
//Fallposition des Blattes
$x-=((sin($yaw)*$radius)/100);
$z+=((cos($yaw)*$radius)/100);
//Fallhöhe (Blatt)
//default: +80;
$y=(terrainy($x,$z)+80);
}
So ungefähr. Nach der letzten Zeile müsste wohl irgendwas von "$y+=cos($pitch)" stehen (ggf. sin oder anderes Vorzeichen, und $pitch=getpitch... nicht vergessen), damit das auch beim hochgucken noch funzt...
bizzl has written
Wenn ich weiß das du länger (~30min) on bleibst versuch ich mal ne Grafik dazu hinzubekommen...
Naja, jetzt sinds vielleicht noch ca. 20-30 min.
EDIT: Ach! Da fällt mir glatt was bei eurem Skript auf:
Der (Co)sinus wird intern bereits mit 100 multipliziert, und hier gleich nochmal... .
EDIT2: Mc Leaf has written
bizzl has written
Tja, sry, aber ich KANN ATM NICHT ALLEINE DEBUGGEN!
Eines der vielen Mysterien auf dieser Welt...
Kennst ja sicherlich Stephen Hawking... Muss dir daher sicherlich nicht erzählen was der alles kann. Und das obwohl er mittlerweile grad mal noch so zwei Finger bewegen kann...
Okay, der Vergleich hinkt sicherlich, aber ich kann dieses vorgeschobene "Ich-bin-ein-Linux-Yuppi"-Argument nicht mehr hören.
Es ist nicht nur Linux, ich habe auch keine passende Hardware, ätsch.
Außerdem bin ich atm viel zu gereizt, u.a. weil ein gewisser Herr hier meint etwas debuggen zu müssen und sich dann tagelang nicht mehr meldet
Seit du in S2Ext rumfingerst passiert kaum noch was. Mach doch bitte S2LiS und lass hier mal die finger von,
Mc Leaf has written
bizzl has written
DAS ist nun wieder gut möglich. Also das sich die Achsen verkehrt herum drehen.
Naja,
drehen tun sie sich ja (Gott sei dank!) nicht...
Sie sind einfach nur "invertiert", also der gewöhnlich positive Abschnitt der Abzisse (x-Achse) ist mit negativen Zahlen besetzt, und analog bei der Ordinate (z-Achse). Ich hasse sowas
(Genauso wie sich die Fachwelt nicht auf einheitliche Notationen einigen kann *hmpf*... naja, egal jetzt.)
Ja, ja, sry, bin von Polarrechnung ausgegangen
Mc Leaf has written
EDIT: Ach! Da fällt mir glatt was bei eurem Skript auf:
Der (Co)sinus wird intern bereits mit 100 multipliziert, und hier gleich nochmal...
.
Seit 1.0.0.1 nicht mehr bizzl has written
Es ist nicht nur Linux, ich habe auch keine passende Hardware, ätsch.
Zuse Z3...?
bizzl has written
Außerdem bin ich atm viel zu gereizt, u.a. weil ein gewisser Herr hier meint etwas debuggen zu müssen und sich dann tagelang nicht mehr meldet
Seit du in S2Ext rumfingerst passiert kaum noch was. Mach doch bitte S2LiS und lass hier mal die finger von,
Pfff...! Ich kann im Gegensatz zu dir kann s2ext noch testen, und weiß daher, wenn Fehler drin sind.
Für Mondmenschen: Siehe Bug-Thread. Und wenn Banane mich dann auch noch bittet, gewisse Fehler zu entfernen (die übrigens auf seinen Mist gewachsen sind), und ich dann trotz mangelnder Freizeit mich dazu bereit erkläre, allgemein mal s2ext - soweit es geht - durchzuchecken, dann ist bestimmt das letzte was ich tue: mich anpissen lassen.
Hast Glück, dass ich wenigstens halbwegs gute Laune habe.
Mc Leaf has written
Ja, ja, sry, bin von Polarrechnung ausgegangen
Hm... ja. Das würde das ganze hier wohl noch ein wenig komplizierter machen...
bizzl has written
Mc Leaf has written
EDIT: Ach! Da fällt mir glatt was bei eurem Skript auf:
Der (Co)sinus wird intern bereits mit 100 multipliziert, und hier gleich nochmal...
.
Seit 1.0.0.1 nicht mehr
Nö: siehe sin . Der Parameter ist optional und standard ist 1 (klar, und nur richtig so, damit es bei älteren Skripten keine Bugs gibt).
Und selbst wenn nicht, es wäre trotzdem ein Fehler. *block rausnehm*
also das wären dann ein mal doppelpost + smileysperre umgehen + einzel post für einzel smiley...
50 Euro bitte!
Moderatorpolizei! Nehmt ihn fest! Admin/mod comment
Du verhältst dich hier auch nicht viel besser. Unterlass solchen Mist bitte. /HW Ist es möglich durch scripts z.b. allen bretterwänden ein unbesigbarkeits state zu geben, sodass man nicht jedes anklicken muss. kann mir mal jemand kurz einen if (gotstate) script geben ?
hab vergessen wies geht
if ist nocht mein fall CN User Offline
Ich hab jetzt auch mal ne Frage:
Wie kann ich machen, dass wenn der Spieler einen bestimmten State (er blutet) und einen Zaun benutzt, dieser verschwindet? wenn ich den if gotstate scritp könnte,könnt ich dir das sagen $tmp=gotstate("unit",1,"bleeding");
if ($tmp>0) { free "object",WHATEVERZAUNODERSO; }
es könnte auch sein dass es so geht, ich weiß aber nicht ob s2 das parsen kann:
if ( gotstate("unit",1,"bleeding")>0) {blub;}
@royal flash: ja das geht mit platzierungsscripts (unten im editor beim platzieren, ich weiß aber nicht wie)
alternativmöglichkeit: beim start der map:
loop ("objects",TYP-ID) { addstate "invulnerable"; } Royal Flash has written
Ist es möglich durch scripts z.b. allen bretterwänden ein unbesigbarkeits state zu geben, sodass man nicht jedes anklicken muss.
Ja. Beim Platzierungsskript
1
2
3
4
loop("objects",TYP-ID) {
$id=loop_id();
addstate "object",$id,"invulnerable";
}
sollte es bringen (hoffe ich, kanns grad net testen).
Dann irgendein Objekt auswählen und auf die Karte platzieren, dabei wird das Platzierungsskript ausgeführt.
Danach sollte man das Platzierungsskript wieder löschen, das eben gesetzte Objekt auch (falls man es nicht braucht).
OffTopic:
SilentStorm has written
*block rausnehm*
also das wären dann ein mal doppelpost + smileysperre umgehen + einzel post für einzel smiley...
50 Euro bitte!
Moderatorpolizei! Nehmt ihn fest!
Ähm... upps *schnellwegrenn* (bizzl hat angefangen zu stänkern *mitdemfingeraufihnzeig*)
EDIT: Hihi, und der Admin-Kommentar spricht noch einmal aus, was auch die Statistiken belegen:
SilentStorm
Spam: 2.99% (19)
Flame: 0.47% (3)
Mc Leaf
Spam: 0.57% (3)
Flame: 0% (0)
edited 1×, last 17.05.08 03:21:26 pm
Mc Leaf has written
SilentStorm
Spam: 2.99% (19)
Flame: 0.47% (3)
Mc Leaf
Spam: 0.57% (3)
Flame: 0% (0)
du sack
also der "platzierungsscriptbutton" geht bei mir nich ganz
ich sag nur "Memory access violation" SilentStorm has written
du sack
SilentStorm has written
also der "platzierungsscriptbutton" geht bei mir nich ganz
ich sag nur "Memory access violation"
Beim raufklicken...? Ich hätte ne Frage:
Welche Klassen gibt es denn,
z.B damage "Klasse", ID, Wert; object, unit, item und info - entsprechend der Einteilung im Editor.
Syntaktisch sinnvoll wäre bspw.
Wie funktioniert den das mit dem Platzierungsscript... muss man da auch ein spezielles ereignis hin machen? Mc Leaf has written
object, unit, item und info - entsprechend der Einteilung im Editor.
Syntaktisch sinnvoll wäre bspw.
was ist denn sinnvoll daran eine info zu damagen
@royal flash :
teste doch. zum platzierungsscript: nein, kein event (meine frage: kann man die id des gesetzten items abfragen?)
stillersturm: damage "unit",1,25; schädigt die unit 1, also den spieler