PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ernteskript wie bei Harvest Moon



Fanatic
05.09.2004, 14:13
Hi,
also ich versuche ein Harvest Moon-Skript zu machen.
Theoretisch wüsste ich auch wie das gehen könnte aber bei mir ist das alles total umständlich, würde mich mal über Hilfe bei folgenden Punkten freuen:

- zB. Die Gießkanne.
Wie fast jeder weiß gießt die immer ein Feld vor dem Charakter!
Heißt das ich müsste für jedes Event eine Kordinatenabfrage machen?!
Oder wie?
Das gleiche wie beim aussähe der Saat. Die wird ja nach oben geschissen und verteilt sich auf 9 feldern. Aber wie macht man so etwas?

Also ich würde mich freuen wenn mir das jemand beantworten kann.
Am besten wäre wenn ich bei jedem event nicxht hunderte von variablen ändern muss, sondern es "fast" einfach nur kopieren muss.

Hier sind doch so viele Harvest Moon Profis ^^
Wie hbt ihr das gelöst?

Dragon X
05.09.2004, 14:41
Also ich könnte dir vielleicht helfen wenn
du dich ein bisschen besser ausdrückst!!! :o
Weil ich versteh da nur Gießkanne und
Koordinaten sonst kann ich keinen zusamenhang fesstellen!

Ähh.. also könntest du vielleicht das nochmal aber ein bisschen genauer schreiben bitte!! (hoffendlich klingt das nicht zu hart solls nämlich nicht ;) )

MagicMagor
05.09.2004, 15:10
Ja es geht auch ohne massenweise Forks.. Dank der tollen "Variable No."-Funktion. Allerdings ist dadurch besser ganz auf Switches dafür zu verzichten und stattdessen Variablen als Switch zu benutzen (0 = OFF <> 0 = ON).

Falls du nicht weißt was ich mit Variable No meine, hier eine kurze Erläuterung.

Du hast die Variable 0001 namens "ZielVariable" und eine Variable 0010 namens "Inhalt" (Namen sind hier nur testweise..) Jetzt setzt du den Wert von Variable 01 auf "10". Wenn du jetzt bei Change Variable oben die dritte Option "variable No." auswählst und Variable1 angibst, werden die Änderungen nicht an Variable 1 vorgenommen sondern an Variable 10, weil Vari1 eben den Wert 10 hat.

Jetzt hat jedes Feld eine bestimmte Variable die bestimmt ob das Feld trocken (0) oder bewäßert (1) ist. Desweiteren kannst du, über eine Formel, von den Koordinaten des Feldes die Variablen ID bestimmen, sofern du die Felder in vernünftiger Reinfolge gesetzt und den Varis zugeordnet hast. Jetzt beim Giessen, Held-Koordinaten nehmen, Errechnen welches Feld in Blickrichtung ist, Vari-ID dafür ausrechnen, die in einer Variable zwischenspeichern und per Variable No. die gewünschte Zielvariable verändern (in diesem Fall Set 1). Ebenso mit den Samen, nur das es diesmal mehrere Felder sind..

Icognito
05.09.2004, 15:24
Das mit der Gießkanne ist ganz esay !

Du fragst zuerst ab, in welche Richtung der Held blickt, und rechnest dir dann folgendes aus :

http://img.photobucket.com/albums/v383/sourceking/fadenkreuz.png

oben : x : 0, y : +1
rechts : x : +1, y : 0
unten : x : 0, y : -1
links : x : -1, y : 0

Das sind die Koordinaten, für ein Feld vorraus. Also er gießt und wenn er z.b. nach oben blickt, kommt 1 feld vor ihm (y +1) das Wasser herraus.

Beim Ausähen kann ich dir aber leider nicht helfen, da muss man zwar auch etwas ähnliches machen, aber da kenn ich mich nicht aus...

Dhan
05.09.2004, 15:40
Du hast unten und oben vertauscht, wir haben hier nicht das Koordinatensystem, das in der Schule verwendet wird sondern das Spieleübliche (links oben ist 0|0 und nach rechts unten wirds größer)

Fanatic
05.09.2004, 18:25
@ Maigc Magor: OK das ist schon schön und gut :) aber ich kann ch jetzt die Koordinaten irgendwie mit einer Variablen Nummer in verbindung bringen?

MagicMagor
05.09.2004, 18:33
Gut an dem Problem hab ich auch ein wenig dran rumgeknappst.. (zwar für was anderes..)

Du hast ein Rechteck von A*B Feldern, auf denen Events sind.
Die Nummerierung beginnt beim 0,0-Feld mit 1. 1,0 ist dann 2 bis zu A,0 das den Wert A hat. 0,1 hat dann A+. A,1 hat 2*A und so weiter.. A,B hat dann letztendlich A*B als Wert.
Wenn du die X- und Y-Koordinaten des Events hast kannst du mit folgenderer Rechnung auf die Nummer des Events kommen:

Nr = (X + 1) +( (Y-1)*A)

Wenn deine Events-Variablen zB bei 101 starten musst du nur noch 100 jedes mal dazu addieren..

Fanatic
05.09.2004, 19:32
Also ich habe das nun so, aber es klappt irgendwie nicht:

http://mitglied.lycos.de/fanaticsbilder/harvest.PNG

Wo ist der Fehler`?

MagicMagor
05.09.2004, 19:42
Die Problembeschreibung "klappt nicht" ist etwas unpräzise..
Dein Code ist korrekt, damit änderst du Variable, die dem Feld entspricht auf dem der Held steht.. Dir ist aber schon klar, daß es zu problemen kommen kann wenn als Vari-Nr zB 12 oder 11 herauskommt?

Fanatic
05.09.2004, 19:55
Ja das weiß ich, das war auch nur ein kurzer Test.
Ich habe nur die 9 felden obgen links in der Ecke genommen. Das müssten dann doch die Variablen:
1,2,3,16,17,18,31,32,33 sein. Oder?