Item Inventar
Übersicht

![]() |
Raiden93Betreff: Item Inventar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey,
ich habe mich schon lange gefragt wie ein Item Inventar funktioniert, aber leider fällt mir nicht ein wie ich es Realisieren könnte. Würde mir da jemand Freundlicherweise auf die Sprünge Helfen? MFG: Raiden93/Kevin |
||
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich kenne den Herr Suchfunktion, der hilft dir gerne: https://www.blitzforum.de/forum/search.php
Einfach "Inventar" eingeben, Enter drücken und schon geht's los! z.B. zeigt er dir diesen Thread: https://www.blitzforum.de/foru...hp?t=31632 mfg, Tennisball |
||
Sterbendes Lüftlein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Text entfernt | ||
![]() |
Blitzprogger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ansonsten kann man ein Inventar auch mit einem Array oder Types realisieren.
zB.: Code: [AUSKLAPPEN] Dim Items_im_Inventar (10)
Dann kannst du entweder damit arbeiten, dass jedes Item eine eigene ID hat und jeder der Plätze 0 bis 10 im Array diese ID speichert, oder du könntest es noch einfacher lösen, wenn du einfach im Inventar so viele Slots frei hast, wie es verschiedene Items gibt. Dann könntest du im Array einfach die Menge speichern. Beispiel: Code: [AUSKLAPPEN] Dim Inventar_Slots (10,5)
Dim Inventar_Slots_Menge (10,5) Const Brot_ID = 2 Inventar_Slots (3,2) = Brot_ID Inventar_Slots_Menge (3,2) = 100 ;Hier hättest du im Slot mit den Koordinaten 3|2 100 Brote Oder: Code: [AUSKLAPPEN] Dim Inventar (10)
Const Brot_ID = 1 Inventar (Brot_ID) = 3 ;Hier hättest du jetzt 3 Brote im Inventar mfg, Blitzprogger |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
![]() |
Raiden93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das erste währe ja eigentlich zu gebrauchen aber das 2 ist ja eigentlich dann überflüssig da ja jeder sein spiel ausbauen will und später dann plätze fehlen.^^ | ||
Sterbendes Lüftlein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Text entfernt | ||
![]() |
Ana |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich würde es nicht als array machen, das ist mir immer zu undynamisch, es gibt gute möglichkeiten arrays einzusetzen, aber ich denke Types sind meistens einfach und nativer zu verwenden.
Ich hab es bisher so gemacht, das ich jedem Spieler/Gegner/haste nicht gesehen eine variable mit gegeben hab die einen inventargegenstand erfassen kann, die auch als types gespeichert sind. Jeder dieser Types hat dann wiederum eine variable die einen weiteren Types des Inventargegenstands enthält und so eine kette von items sich bilden. Also ungefähr so: BlitzBasic: [AUSKLAPPEN] Type Spieler Dann musst du halt noch funktionen schreiben die diese Liste durch gehen können und untersuchen welche gegenstände das sind ect. Das lässt sich wie folgt realisieren :BlitzBasic: [AUSKLAPPEN] aktueller_gegenstand = spieler\inventargegnstand Die vorteile sind hiebei: - Du hast keinen totenspeicher, weil der Spieler eigentlich niemals alle gegenstände gleichzeitig hat - Wenn du weitere gegenstände hinzufügst musst du nicht die inventar struktur erweitern - Du kannst die Items sortieren lassen wenn du das möchtest, aber sie sind nicht immer in einer vorgegeben reihenfolge - es ist einfach schicker ![]() Damit kannst du dann alle gegenstände durchlaufen, und gegeben falls etwas damit tun. Um das Inventarmenü als solches aufzurufen, verwende ich ähnlich wie totensturm es schon gesagt hat eine Variable, allerdings verwende ich eine für alle menüs und untermenü, da ich bestimmt nicht mehr menus als das interger value haben werde und eigentlich auch keine 2 gleichzeitig offen sein sollten und man somit sicher sein kann das man in einem schritt gleich alle menüs zu machen, wenn man = 0 setzt oder so ähnlich. Außerdem bietet es sich an, jedes unter menü eine 10er Potzen höher im werte bereich zu setzen, da man somit durch 10 teilen kann und dann ein menütiefer ist. Also beispielsweise ist das inventar wert 3 und der unterpunkt nur questgegenstände viellecht 30 und nur kleidung 31. Beide kannst du mit einer ganzzahl division wieder in eine 3 verwandeln und kannst nebenbei auch noch gut erkennen welche menüs aufeinandern aufbauen. |
||
Don't only practice your art,
but force your way into its secrets, for it and knowledge can raise human to divine |
Sterbendes Lüftlein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Text entfernt | ||
![]() |
Raiden93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ana ich versuche dein Tipp mal irgendwie umzusetzen, doch ich versteh noch nicht ganz wie du das meinst.Ich habe eine Tasche.png in der 4*4 =16 Plätze sind. | ||
![]() |
Ana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da ich gerade bei meinen Schwiegereltern festsitze und mich zu tode langweile versuch ich mal detailreich dir was vor zu proggen, allerdings kann ich das hier nicht kontrollieren, können also kleinere fehler drin sein.
BlitzBasic: [AUSKLAPPEN] Const ITEM_MAX = 16; Falls du ein maximum für gegenstände haben willst wie gesagte konnte es nicht prüfen, aber ich glaube es sollte zumindest den gedanken dahinter klar machen. Vielleicht einfach mal in den Compiler kopieren weil es doch recht unübersichtlich mit den teils sehr langen kommentaren ist |
||
Don't only practice your art,
but force your way into its secrets, for it and knowledge can raise human to divine |
![]() |
Raiden93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke der code scheint mir sehr Kompliziert aber ich hoffe ich werde es schon Checken ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group