Ergebnis 1 bis 12 von 12

Thema: Itemmenü

  1. #1

    Users Awaiting Email Confirmation

    Itemmenü

    Howdeliho!

    Also ich plane derzeit an einem SPiel rum, soll eine Art "Click and Point" Adventure werden. Allerdings habe ich derzeit ein Problem mit meinem Item-Menü. Ich möchte ein kleines Fenster erscheinen lassen in dem man über 2 Pfeile zwischen den einzelnen Items hin und her wechseln kann. Soweit ganz einfach, nun mein Problem;

    Wie ordne ich die Items so an, das keine Lücken entstehen und auch nur die Items angezeigt werden, die man bereits eingesackt hat?

    Ich würde es ja mit einem Array programmieren, wenn das beim Maker gehen würde.

    Danke für die Hilfe schon einmal im Voraus.


    Tüdelidü
    Squashy

  2. #2
    hmm mit ner Item begrentzung würde mdas mit Schwitches gehen aber ohne ist das sehr kompli...IHMO du müsstest abfragen ob z.B. der Schwitch 2 Stelle on wenn ja abfargen on 3 Stelle on , wenn aber nicht wird das Item darauf gesetzt und der Schwitch auf on gestellt...weisst wie ichs mein^^so gehs bis 20 onder so ^^

  3. #3

    Users Awaiting Email Confirmation

    WIll gerade keine Begrazung wie z.B. in Vortex weil man die Items das ganze Spiel über benutzen soll

  4. #4
    Is doch easy, mach ne Variable für jedes Item.
    Dann stell n Parallel Process an, damit er dauernd überprüft wie oft du das einzelne Item besitzt(kannste ja alles in einem PP machen, für jedes Itm eine Fork) und lass es dann jeweils in die dafür vorgesehene Variable eintragen.
    Und dann wenn die Variable auf dem Höchstwert is, dann lässte immer wenn die Anzahl das Limit überschritten hat eine abziehen(das kannste ja auch mit nem PP machen), und das Geld dafür gibste dem Helden halt dann wieder.
    Oder wie meinste das?

  5. #5

    Users Awaiting Email Confirmation

    Ich habe eine LÖSUNG...

    Also das habe ich gerade auch gehabt, dieses Problem...
    Ich fange am besten mal von vorne an:

    In meinem Spiel kann man in den Laden gehen, und sich ein Handy kaufen. Natürlich habe ich ein eigenes Menü, und ich wollte es so hinkriegen, dass der Menüpunkt "Handy" mit Bild erst dann erscheint, wenn ich es gekauft habe.

    Warscheinlich hast du dein Item.Menü genauso aufgebaut, deshalb pass auf:

    Ich habe das Event Menü in den Allgemeinen Ereignissen. Dort habe ich diese Punkte:
    -Speichern
    -Sidequests
    -Beenden
    -Items
    -Erscheint erst, wenn man's hat: Handy

    Pass auf:
    1. Du machst ein ganz normales Menüscript.
    2. Wenn du bei "Speichern nach oben drückst, erscheint noch "Items", bei "Items nach unten, dann erscheint "Speichern"
    3. Nun kannst du dich entscheiden, ob du für den Befehl, dass das Handy angezeigt werden soll, oder nicht, was du nimmst:
    -Wenn er das Handy hat, rüstest du ihn damit aus, und fragst das im Menü ab
    -Du nimmst einen Tab, und fragst ab, ob der an oder aus ist..
    -Oder du verschwendest eine Variable, und fragst die Zahl ab, die den Punkt "Handy" aufruft.
    4.
    Ich nehme jetzt mal den Tab:

    -Bei "Speichern" machst du ne Bedingung, dass:
    Wenn der Schalter an ist, er das "Handy" aufrufen soll. Wenn er aus ist, immer noch "Beenden"

    -Bei "Beenden" machst du genau das Gleiche, nur dass er wenn der Schalter an ist "Handy" aufruft, wenn er aus ist immer noch "Speichern"

    Bei den Befehlen für "Handy" machst du einfach die Befehle, als wäre "Handy"
    gleichzeitig "Beenden" und "Speichern". Dass heisst:

    Der Schalter ist an. Du bist auf dem Punkt "Speichern" und drückst nach oben. Es erscheint "Handy". Wenn du nun wieder zurück willst, drückst du einfach nach unten, wenn du zu "Beenden" willst, nochmal nach oben.

    Andersrum machst du das genau so.

    So hast du nun einen Menüpunkt, der erst erscheint, wenn der Schalter an ist, sonst wird er einfach immer übersprungen.
    So kannst du immer mehr Punkte einbauen, es wird nachher bloss ein bischen unübersichtlich. Eine andere Lösung fällt mir aber nicht ein...

    Ich hoffe, ich konnte dir damit ein bischen weiterhelfen..

    Dein D+one

    EDIT: Übrigens, ich bin in Bremen geboren und komm aus dieser wunderschönen Stadt!

    Geändert von D+one (06.12.2004 um 19:14 Uhr)

  6. #6

    Users Awaiting Email Confirmation

    SOrry, aber dien Problem löst meines Überhaupt nicht.

    Freak soweit war ich auch, allerdings wie soll ich bitte überprüfen inwelcher Reihenfolge die Items angezeigt werden solle bzw. sie überhaupt erstmal in eine Reihenfolge bringen.... den hinteren Teil deines Posts versteh ich nicht.


  7. #7
    Ich mache das immer so ...

    - Zunächst habe ich eine Variable die das aktuelle Item angibt

    - will ich jetzt den Nachfolger haben erhöhe ich diese Variable um 1 ( beim Vorgänger entsprechend um 1 verringern )

    - dann schaue ich nach ob man dieses Item besitzt. Falls ja wird es angezeigt, falls nein wird die Variable weiter erhöht bzw. verringert

    Bei der Methode muß man aufpassen wenn der Wert 0 erreicht oder über die Höchstzahl gelangt. Ausführen läßt sich das mit einen normalen Call-Event ( also kein PP oder so ). Am besten ich schreibe das mal in Pseudo-Code auf.

    Variablen sind ITEM_POINTER als aktuelles Item, SUCH_RICHTUNG ( ob nach links oder rechts gesucht werden soll ) und jeweils die Variablen für die Items.

    Code:
    #Label1
    if SUCH_RICHTUNG = 1
      ITEM_POINTER + 1
    else
      ITEM_POINTER - 1
    end if
    
    if ITEM_POINTER = 0
      ITEM_POINTER = Maximalzahl der Items dies es gibt + 1
      goto Label 1
    end if
    if ITEM_POINTER = 1
      If ITEM1 > 1 ( also wenn es da ist )
        ... ( einfach aus Event raus )
      else
        goto Label1
      end  if
    end  if
    if ITEM_POINTER = 2
      If ITEM2 > 1 ( also wenn es da ist )
        ... ( einfach aus Event raus )
      else
        goto Label1
      end  if
    end  if
    
    usw. für alle Items bis ...
    
    if ITEM_POINTER = Maximalzahl der Items die es gibt + 1
      ITEM_POINTER = 0
      goto Label 1
    end if
    Wenn du dann im Menü auf links oder rechts drückst mußt du einfach Suchrichtung = 2 bzw. 1 setzen und dieses Event oben aufrufen. Ich hoffe es wird einigermassen klar was ich meine ^^

  8. #8

    Users Awaiting Email Confirmation

    Ich versteh dien Prinzip nicht ganz.....

    Geändert von Squashy (07.12.2004 um 15:28 Uhr)

  9. #9
    Das Prinzip basiert darauf daß Lücken im Inventar einfach übersprungen werden. Soweit ich es verstanden habe wird bei dir ja nur ein Item zur Zeit angezeigt. Bei mir habe ich die Items zwar alle als Variablen angeordnet aber mit den Standarditems sollte es auch gehen da man die ja abfragen kann.

  10. #10
    Hm, also jedem deiner Gegnestände ist ein Wert zugeordnet. Gegenstand 1 hat den Wert 1, Gegenstand 2 den Wert 2, usw.
    So, wenn dein Inventar jetzt immer nur 1 Gegenstand anzeigen kann und man Pfeil links oder rechts drücken muss um weiter zu kommen (und man tut dies) wird gecheckt welchen Gegenstand gerade aktiv ist. Wenn es Gegenstand 1 ist erhält die (von Kelven Item_Pointer) genannte Variable den Wert 1, bei Gegenstand 2 den Wert 2, usw. Dann erhöht bzw. verringert man den Wert(je nachdem ob man links oder rechts gedrückt hat) um 1. Somit erhält die Variable Item_Pointer den Wert 2(wenn vorher Gegenstand 1 aktiv war). Dann checkt man ob der Held diesen Gegenstand überhaupt besitzt. Falls ja wird das entsprechende Bild angezeigt, falls nicht wird die Variable wieder um 1 erhöht/verringert und wieder ausprobiert ob der Held diesen Gegenstand besitzt(Also wenn du ganz am Anfang Gegenstand 1 ausgewählt hast und nach rechts drückst, Gegenstand 2 nicht hast, aber Gegenstand 3 wird Gegenstand 3 angezeigt).

    So, so viel zu Kelvens System(ich fand Kelvens Erklärungen zwar leichter, aber vielleicht verstehst du es ja jetzt was er meint)
    wobei es jetzt natürlich peinlich wär wenn ich das ganze auch nicht richtig verstanden hätte

    Falls du ein Inventar machen willst wo mehrere Bilder gleichzeitig angezeigt werden und einfach keine "Löcher", also leere Plätze im Inventar enstehen sollen kannst du es so machen:
    Jeder Platz deines Inventars hat einen Wert gespeichert in einer Variable. Platz 1 hat den Wert 1, Platz 2 den Wert 2, usw. Wenn der Held das Inventar aufruft fragst du also zuerst einmal ab welche Gegenstände der Held besitzt. Wenn der Held Gegenstand 1 hat wird der Gegenstand Platz 1 im Inventar zugeordnet(das Bild wird an der entsprechenden Stelle angezeigt) und der Die Variable in der der Inventarplatz gespeichert ist wird um 1 eröht, also auf 2 Und du fragst wieder ab ob der Held Gegenstand 2 hat, usw.
    Wenn der Held einen Gegenstand mal nicht hat gehst du eben nicht im Inventarplatz weiter(Beispiel: Der Held hat Gegenstand 1 nicht, also fragst du ab ob er Gegenstand 2 besitzt. Wenn ja wird Gegenstand 2 Inventarplatz 1 zugeordnet, wenn nicht fragst du ab ob er Gegenstand 3 besitzt, usw.)

    Ok, ich geb zu die Erklärung ist schwer verständlich, da sie aus'm stehgreif formuliert wurde und ich bin nicht sonderlich gut im Erklären, aber ich hoffe es hat dir geholfen. wenigstens ein bisschen ! Im übrigen wäre ich dafür noch ein paar kleinere Schirftgrößen einzuführen...

    cya
    Deathball

  11. #11

    Users Awaiting Email Confirmation

    natürlich versteh ich das System ich hab nur kjeinen schiommer wie ich das mit dme Maker mache

  12. #12
    Zitat Zitat von Squashy
    natürlich versteh ich das System ich hab nur kjeinen schiommer wie ich das mit dme Maker mache
    Hm, fragen wir mal so: Welche Befehle die Kelven benutzt kennst du denn nicht?

    cya
    Deathball

    PS: Benutzt du eigentlich die deutsche oder die englische Version des Makers?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •