PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ring-Menü Tutorial gesucht (auch: AKS-Frage)



Sniez
17.03.2011, 16:47
Ich bin auf der Suche nach einem simplen Tutorial für ein Ringmenü. Auf rpg2000.de sind zwar Scripts, doch zurzeit funtkionieren weder Ressourcen noch Tutorials. Und während der Suche habe ich auch nichts brauchbares gefunden, kann wer helfen?

MagicMaker
17.03.2011, 17:15
Mir ist kein Tut bekannt, aber im Grunde funktioniert es genauso wie man sonst Menüs macht
und die macht jeder sowieso ein bisschen anders. Es ist nur ein wenig mehr Koordinatenspielerei
in den meisten Fällen, kommt noch drauf an ob sich das Menü dreht oder nur der Cursor seine
Position innerhalb des Kreises verändert.

Sind denk ich noch alles logische Abläufe in einer Ebene wo man noch gut drauf kommen sollte,
denn es handelt sich auch bei sowas schwerklingendem wie einem Ringmenü um kein krankes
weltbewegendes Feature von dessen Komplexität die Birne qualmen könnte und man dann unter
Umständen die Lust verliert.

Sniez
17.03.2011, 17:41
Ich möchte jetzt kein neues Thema eröffnen, da es sonst im Spam enden würde, deshalb stelle ich die Frage gleichzeitig hier. Problem: Held befindet sich auf der Karte (Map). Auf der Karte befindet sich Gegner in Form von Events. Da es ein AKS ist, kann man die Gegner auf der Karte angreifen, auch mit Zauber. Nun sollen Gegner, die in näherer Entfernung vom Helden, ausgewählt werden können, um dann mit Zauber angreifen zu können. Ist dies möglich? Und andersrum auch? Wenn sich der Held in der Nähe eines Events befindet, wird das Event (jetzt Gegner) auf dieses aufmerksam und will angreifen. Mit 'näherer Entfernung' waren jetzt 5-8 Schritt entfernt voneinander.

makenshi
17.03.2011, 18:15
Ich möchte jetzt kein neues Thema eröffnen, da es sonst im Spam enden würde, deshalb stelle ich die Frage gleichzeitig hier. Problem: Held befindet sich auf der Karte (Map). Auf der Karte befindet sich Gegner in Form von Events. Da es ein AKS ist, kann man die Gegner auf der Karte angreifen, auch mit Zauber. Nun sollen Gegner, die in näherer Entfernung vom Helden, ausgewählt werden können, um dann mit Zauber angreifen zu können. Ist dies möglich? Und andersrum auch? Wenn sich der Held in der Nähe eines Events befindet, wird das Event (jetzt Gegner) auf dieses aufmerksam und will angreifen. Mit 'näherer Entfernung' waren jetzt 5-8 Schritt entfernt voneinander.

Ja, es wäre möglich. Und was ist nun genau deine Frage?
Falls sie lautet das du wissen willst wie, ist die Gegenfrage darauf wo es dabei genau bei dir hängt.

Kazesui
17.03.2011, 18:31
den monster auf n held aufmerksam lassen lässt sich leicht machen mitn pp event wo du sowas ähnliches reinhast:


held_x -= gegner_x
held_y -= gegner_y
held_x *= held_x
held_y *= held_y
held_x += held_y
if( held_x < abstand)
innerhalb reichweite
end


wo dann der "abstand" ein wert ist der entscheidet wie weit der gegner aufmerksam sein soll. Sollte meistens etwa x² sein, wo x das anzahl von schritte ist.

Du wirst ein ähnliches code für jedes gegner brauchen.

Dein andere frage ist auch völlig möglich, aber könnte schnell etwa kompliziert werden. wäre leichter zu antworten wenn du etwas genauer erklärst wie du dir das mit dem "auswählen" passieren sollte.

Multi-Master1988
18.03.2011, 00:04
Ich bin auf der Suche nach einem simplen Tutorial für ein Ringmenü.

Dieses evtl.:

http://www.npshare.de/files/5fd9d98e/Ringmenue.zip

Und zu deine AKS frage:

http://www.multimediaxis.de/threads/130645-Gegnersichtfeld...

im Post 2 findest du ein praktisches Bsp. für den geposteten Code zudem findet sich der Orginalcode dazu auch noch im E-Book.;)

Lg
Multi-Master1988

Sniez
19.03.2011, 11:39
Ich komme mit solchen Tutorials nie so richtig voran, deshalb habe ich einfach mal versucht, es selber zu machen und wie MagicMaker bereits erwähnt hat, jeder macht es doch ein klein wenig anders. Mein derzeitiger Standpunkt ist, dass wenn man die ESC-Taste drückt, das Ringmenü erscheint. Anschließend kommt dann ein schwarzes Viereck um den ersten Ringmenü-Punkt. Doch wie lasse ich den Helden nun bewegungslos, so, dass ich die vier Richtungstasten benutzen kann, um das Ringmenü zu drehen, beziehungsweise das Viereck zu bewegen?

cilence
19.03.2011, 11:59
Doch wie lasse ich den Helden nun bewegungslos, so, dass ich die vier Richtungstasten benutzen kann, um das Ringmenü zu drehen, beziehungsweise das Viereck zu bewegen?

Das Ringmenü in ein Autostartevent stecken, so wie man es bei jedem anderen Menü auch macht.

Sniez
19.03.2011, 16:33
Ja, das verstehe ich auch. Bloß, wie kann ich es schaffen, dass bei Tastendruck 'rechts' das Viereck vom unteren Menüpunkt nach rechts zum rechten Menüpunkt schwenkt. Mit Enter-Passwort habe ich irgendwie meine Probleme, da es ja vier Richtungen gibt, und keine festgelegte Richtung.

R.F.
19.03.2011, 16:39
Naja beim "Enter Password" wird der ausgewählten Variable eine Zahl als Wert zugewiesen, je Richtung eine bestimmt (weiß jetzt grad nicht genau, welche Taste welchen Wert hat...). Sind auf jeden Fall die Werte 1-4. Musst einfach mal ausprobieren und je nach Richtung (wenn du weißt, welcher Wert welche Richtung repräsentiert) die Aktion im Menü ausführen lassen.

1->oben
2->rechts
3->unten
4->links

wenn mich nicht alles täuscht.

cilence
20.03.2011, 00:23
Nicht ganz.

1 == down
2 == left
3 == right
4 == up

Xatutz:
Okay, dann mal so erklärt. Du lässt die Tastenabfrage in einem Autostartevent laufen, darunter kommt eine Abfrage mit Counter, in welche Richtung gedrückt wurde. Unter diesen Teil des Codes kommt wieder eine Abfrage, die fragt, ob Enter auf dem bestehenden Punkt gedrückt wurde und in diese Abfrage kommen mehrere Abfragen rein, die jeweils auf die einzelnen Menüpunkte lauten. In den Menüpunkten kannst du dann reinskripten, was auch immer du willst. Hier mal als Code:



if key == 1 then
menupoint =+1
if menupoint == 5 // die maximale Anzahl an Menuepunkten plus 1 fuer den Ueberlauf
menupoint = 0
else if == 4 then
menupoint =-1
if menupoint == -1 then // der Punkt ist in so ziemlich jedem Menue gleich...
menupoint = 4 // bei maximal vier Menuepunkten, bei sechs Menuepunkten muesstest du hier eine 6 setzen
end
// ------------------------------------------------------
// Koordinaten fuer den Zeiger im Menue setzen
if menupoint == 1 then
x = 50
y = 50
else if == 2 then
x = 60
y = 60 // imaginaere Werte...
// etc.
end
// --------------------------------
// Hier das Bild springen lassen
SHOW/MOVE PIC
// --------------------
if key == 5 then // Abfrage fuer Enter
if menupoint == 1 then
// Punkt 1
else if menupoint == 2 then
// Punkt 2
// und so weiter...
end


Jetzt klar? Wenn du allerdings das Ringmenü selber drehen willst, funktionierst das Ganze genauso, nur musst du dann ür die einzelnen Bilder Koordinaten erstellen (um's einfach zu machen, es gibt auch andere Möglichkeiten, aber die erkläre ich dir jetzt lieber nicht, das führt zu weit).

Multi-Master1988
20.03.2011, 23:50
Mir ist kein Tut bekannt

O.o
Das von Ringmenü Tutorial von Compuphil kennst du nicht.
Naja man lernt nie aus.:D

Trotzdem falls du immer noch danach suchst:
http://www.npshare.de/files/a3357d64/ringmenue2.zip

Skript+Tut beides vorhanden viel Spaß damit.;)

Lg
Multi-Master1988

Sniez
21.03.2011, 12:29
Ich habe das Tu­to­ri­al von Com­pu­phil be­folgt, je­doch scheint da ein Feh­ler vor­zu­lie­gen. Drei mal habe ich meine Events und seine Events ver­gli­chen und immer was sie gleich. Trotz­dem, wenn ich drei­mal, glau­be ich, nach rechts drü­cke, dann geht der nach links und die Pic­tu­res gehen dahin, wohin sie ei­gent­lich nicht sol­len. Hier kommt der Berg. Soll­te nur je­mand nach­gu­cken, der auch das Com­pu­phil Tu­to­ri­al ver­steht. ^_^



--- EVENT ---
Type: Com­mon event
Name: Me­nü­punk­t1
Num­ber of Pages: 1

-- PAGE 1 --
Start con­di­ti­ons:
Switch [115] == ON
Trig­ger con­di­ti­on: Auto start
- SCRIPT -
<> Key Input Pro­ces­sing: Var. [13], Wait until key pres­sed, Keys: Di­rec­tio­nal keys, De­ci­si­on, Can­cel
<> Fork Con­di­ti­on: If Va­ria­ble [13] == 6 then ...
. <> Play Sound Ef­fect: Item1, Vo­lu­me 100%, Speed 80%, Pan Cen­ter
. <> Chan­ge Switch: [115] = OFF
. <> Chan­ge Switch: [116] = ON
. <>
: Else ...
. <> Fork Con­di­ti­on: If Va­ria­ble [13] == 2 then ...
. . <> Play Sound Ef­fect: Item1, Vo­lu­me 100%, Speed 80%, Pan Cen­ter
. . <> Chan­ge Switch: [115] = OFF
. . <> Chan­ge Switch: [117] = ON
. . <> Move Pic­tu­re: #1, (200, 120), Mgn 60%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #2, (160, 80), Mgn 60%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #3, (160, 160), Mgn 60%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #4, (120, 120), Mgn 100%, Tsp 0%, 0,3 sec., Wait
. . <>
. : Else ...
. . <> Fork Con­di­ti­on: If Va­ria­ble [13] == 3 then ...
. . . <> Chan­ge Switch: [115] = OFF
. . . <> Chan­ge Switch: [118] = ON
. . . <> Move Pic­tu­re: #1, (120, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #2, (160, 160), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #3, (160, 80), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #4, (200, 120), Mgn 100%, Tsp 0%, 0,3 sec., Wait
. . . <>
. . : Else ...
. . . <> Fork Con­di­ti­on: If Va­ria­ble [13] == 5 then ...
. . . . <> Chan­ge Switch: [115] = OFF
. . . . <> Chan­ge Switch: [116] = ON
. . . . <> Show Mes­sa­ge: WAS WILLST DU?
. . . . <>
. . . : Else ...
. . . . <>
. . . : End of fork
. . . <>
. . : End of fork
. . <>
. : End of fork
. <>
: End of fork
<>




--- EVENT ---
Type: Com­mon event
Name: Me­nü­punk­t2
Num­ber of Pages: 1

-- PAGE 1 --
Start con­di­ti­ons:
Switch [117] == ON
Trig­ger con­di­ti­on: Auto start
- SCRIPT -
<> Key Input Pro­ces­sing: Var. [13], Wait until key pres­sed, Keys: Di­rec­tio­nal keys, De­ci­si­on, Can­cel
<> Fork Con­di­ti­on: If Va­ria­ble [13] == 6 then ...
. <> Play Sound Ef­fect: Item1, Vo­lu­me 100%, Speed 80%, Pan Cen­ter
. <> Chan­ge Switch: [117] = OFF
. <> Chan­ge Switch: [116] = ON
. <>
: Else ...
. <> Fork Con­di­ti­on: If Va­ria­ble [13] == 2 then ...
. . <> Play Sound Ef­fect: Item1, Vo­lu­me 100%, Speed 80%, Pan Cen­ter
. . <> Chan­ge Switch: [117] = OFF
. . <> Chan­ge Switch: [119] = ON
. . <> Move Pic­tu­re: #1, (160, 160), Mgn 100%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #2, (200, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #3, (120, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #4, (160, 80), Mgn 100%, Tsp 0%, 0,3 sec., Wait
. . <>
. : Else ...
. . <> Fork Con­di­ti­on: If Va­ria­ble [13] == 3 then ...
. . . <> Chan­ge Switch: [117] = OFF
. . . <> Chan­ge Switch: [115] = ON
. . . <> Move Pic­tu­re: #1, (160, 80), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #2, (120, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #3, (200, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #4, (160, 160), Mgn 100%, Tsp 0%, 0,3 sec., Wait
. . . <>
. . : Else ...
. . . <> Fork Con­di­ti­on: If Va­ria­ble [13] == 5 then ...
. . . . <> Chan­ge Switch: [117] = OFF
. . . . <> Chan­ge Switch: [116] = ON
. . . . <> Show Mes­sa­ge: WAS WILLST DU?
. . . . <>
. . . : Else ...
. . . . <>
. . . : End of fork
. . . <>
. . : End of fork
. . <>
. : End of fork
. <>
: End of fork
<>





--- EVENT ---
Type: Com­mon event
Name: Me­nü­punk­t3
Num­ber of Pages: 1

-- PAGE 1 --
Start con­di­ti­ons:
Switch [118] == ON
Trig­ger con­di­ti­on: Auto start
- SCRIPT -
<> Key Input Pro­ces­sing: Var. [13], Wait until key pres­sed, Keys: Di­rec­tio­nal keys, De­ci­si­on, Can­cel
<> Fork Con­di­ti­on: If Va­ria­ble [13] == 6 then ...
. <> Play Sound Ef­fect: Item1, Vo­lu­me 100%, Speed 80%, Pan Cen­ter
. <> Chan­ge Switch: [118] = OFF
. <> Chan­ge Switch: [116] = ON
. <>
: Else ...
. <> Fork Con­di­ti­on: If Va­ria­ble [13] == 2 then ...
. . <> Play Sound Ef­fect: Item1, Vo­lu­me 100%, Speed 80%, Pan Cen­ter
. . <> Chan­ge Switch: [118] = OFF
. . <> Chan­ge Switch: [115] = ON
. . <> Move Pic­tu­re: #1, (160, 80), Mgn 100%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #2, (120, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #3, (200, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #4, (160, 160), Mgn 100%, Tsp 0%, 0,3 sec., Wait
. . <>
. : Else ...
. . <> Fork Con­di­ti­on: If Va­ria­ble [13] == 3 then ...
. . . <> Chan­ge Switch: [118] = OFF
. . . <> Chan­ge Switch: [119] = ON
. . . <> Move Pic­tu­re: #1, (160, 160), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #2, (200, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #3, (120, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #4, (160, 80), Mgn 100%, Tsp 0%, 0,3 sec., Wait
. . . <>
. . : Else ...
. . . <> Fork Con­di­ti­on: If Va­ria­ble [13] == 5 then ...
. . . . <> Chan­ge Switch: [118] = OFF
. . . . <> Chan­ge Switch: [116] = ON
. . . . <> Show Mes­sa­ge: WAS WILLST DU?
. . . . <>
. . . : Else ...
. . . . <>
. . . : End of fork
. . . <>
. . : End of fork
. . <>
. : End of fork
. <>
: End of fork
<>





--- EVENT ---
Type: Com­mon event
Name: Me­nü­punk­t4
Num­ber of Pages: 1

-- PAGE 1 --
Start con­di­ti­ons:
Switch [119] == ON
Trig­ger con­di­ti­on: Auto start
- SCRIPT -
<> Key Input Pro­ces­sing: Var. [13], Wait until key pres­sed, Keys: Di­rec­tio­nal keys, De­ci­si­on, Can­cel
<> Fork Con­di­ti­on: If Va­ria­ble [13] == 6 then ...
. <> Play Sound Ef­fect: Item1, Vo­lu­me 100%, Speed 80%, Pan Cen­ter
. <> Chan­ge Switch: [119] = OFF
. <> Chan­ge Switch: [116] = ON
. <>
: Else ...
. <> Fork Con­di­ti­on: If Va­ria­ble [13] == 2 then ...
. . <> Play Sound Ef­fect: Item1, Vo­lu­me 100%, Speed 80%, Pan Cen­ter
. . <> Chan­ge Switch: [119] = OFF
. . <> Chan­ge Switch: [117] = ON
. . <> Move Pic­tu­re: #1, (120, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #2, (160, 160), Mgn 100%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #3, (160, 80), Mgn 100%, Tsp 0%, 0,3 sec.
. . <> Move Pic­tu­re: #4, (200, 120), Mgn 100%, Tsp 0%, 0,3 sec., Wait
. . <>
. : Else ...
. . <> Fork Con­di­ti­on: If Va­ria­ble [13] == 3 then ...
. . . <> Chan­ge Switch: [119] = OFF
. . . <> Chan­ge Switch: [118] = ON
. . . <> Move Pic­tu­re: #1, (200, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #2, (160, 80), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <> Move Pic­tu­re: #3, (160, 160), Mgn 100%, Tsp 0%, 0,3 sec., Wait
. . . <> Move Pic­tu­re: #4, (120, 120), Mgn 100%, Tsp 0%, 0,3 sec.
. . . <>
. . : Else ...
. . . <> Fork Con­di­ti­on: If Va­ria­ble [13] == 5 then ...
. . . . <> Chan­ge Switch: [120] = OFF
. . . . <> Chan­ge Switch: [116] = ON
. . . . <> Show Mes­sa­ge: WAS WILLST DU?
. . . . <>
. . . : Else ...
. . . . <>
. . . : End of fork
. . . <>
. . : End of fork
. . <>
. : End of fork
. <>
: End of fork
<>

Cherry
21.03.2011, 16:21
Der Code ist so unleserlich (Einrückungen und Highlighting fehlen). Du hast offenbar vergessen, beim EasyEventExporter (wie in der Readme beschrieben) auf "Ja" zu klicken und die Datei "vbcode_lightbg.eft" aus dem Ordner "ftemplates" zu wählen.

Sniez
22.03.2011, 06:03
Bitte sehr, editiert...

Cherry
22.03.2011, 08:26
Was beim schnellen Drüberschauen nur so auffällt: Beim letzten Move-Picture-Block ist das Wait beim 3. Move, sonst überall beim 4.

Ist das Absicht?

Sniez
22.03.2011, 11:39
Nein, keine Absicht, ist wohl einmal passiert, beim Einstellen, aber das trägt auch nichts zur Sache, nicht?

Cherry
22.03.2011, 11:54
Naja, es bewirkt das dass allerletzte Move Picture erst dann ausgeführt wird, wenn die vorigen 3 schon fertig sind. Und es sollte ja gleichzeitig sein. Es hat also mit dem Hauptproblem vielleicht nichts zu tun, wäre aber trotzdem unerwünscht gewesen.

Sniez
22.03.2011, 12:17
Huch, habe ich etwa falsch gelesen? Dann ist das natürlich ein Problem. Ich dachtem, du meintest die Länge des Waits. Werde ich natürlich ändern.