Hallo erstmal alle miteinander.
Ich habe mir einen Gui gemacht. Jetzt habe ich mir aber beim Inventar insgesammt 8 Slots gemacht. Beim 1. Objekt aufheben kommt der Gegenstand in den richtigen Slot aber wenn mein Charakter den 2. Gegenstand aufnimmt wird das zwar im Inventar angezeigt, aber es kommt seltsamerweise wieder in den Slot 1 und überlappt den vorherien Gegenstand.Wie bekomme ich das hin das jeder Inventargegenstand einen anderen Slot übernimmt und nicht einen anderen überlappt?
2 Inventargegenstände auf 1 Slot?
- Furymars
- Süßwasserpirat
- Beiträge: 485
- Registriert: 13.06.2006, 20:45
- Wohnort: Adventure Treff
2 Inventargegenstände auf 1 Slot?
Angekündigte Spiele:
MMM : "Nicht ohne meinen Hamster!"
MMM : "Nicht ohne meinen Hamster!"
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Da ich nicht ganz sicher bin, was du mit Slots meinst, könnte meine Erklärung nicht helfen, aber ich versuche es mal trotzdem:
Wenn du einen GUI machst, dann kommt auf diesen normalerweise maximal ein Inventory Window, es sei denn, du willst für mehrere Charaktere auf einem GUI das Inventar gleichzeitig anzeigen. Du kannst jedem Inventory Window bei "Character ID" zuweisen für welchen cha das Inventar bestimmt ist.
Wenn du nun mehrere Gegenstände aufnimmst, landen diese alle im gleichen Inventory Window, eben in dem dem Charakter zugewiesenen (bei Character ID -1 (Standard) ist es immer der player character). Es ist also logisch, dass alle Gegenstände im gleichen Inventory Window landen.
Überlappen dürfte es den ersten Gegenstand übrigens eigentlich nicht, es sei den der Wert für InvWindow.ItemWidth und InvWindow.ItemHeight ist zu gering eingestellt (in der Hilfe nachlesen)
Ich versuche mal, zu sagen, wie du hinbekommst, was ich glaube du willst:
Es sollen acht Positionen im Inventar vorhanden sein, wobei jeder dieser Positionen ein bestimmter Gegenstand zugewiesen ist, wobei du dann nicht willst, dass die Gegenstände einfach in der Reihenfolge einsortiert werden, in der der Spieler sie erhält. Das kann unter Umständen mit einem normalen Inventar etwas komplizierter werden. Es gibt zwar die Möglichkeit einen Gegenstand an einer bestimmten Stelle ins Inventar zu setzen (
Wenn ich dich richtig verstehe, geht es nur um acht verschiedene Gegenstände. Da würde ich wahrscheinlich komplett auf ein Inventar verzichten und mit Buttons arbeiten:
Lege einen GUI mit 8 Button an, die zunächst leer sind (irgendeine Grafik für einen leeren Slot). Wenn der Spieler einen Gegenstand nimmt, dann wird die Grafik des richtigen buttons geändert und der Button wird auf clickable gesetzt (Clickable property (GUI controls)). Wenn man dann auf den Button klickt, muss nur der Gegenstand als momentan aktiver Gegenstand gesetzt werden (ActiveInventory property). Die Methode funktioniert bei einer geringen Anzahl von Gegenständen ganz gut, ansonsten müsste ich wohl nochmal darüber nachdenken.
Wie gesagt, ich bin mir nicht sicher, ob ich deine Frage damit beantwortet habe, aber ich hoffe ich konnte dir weiterhelfen
Wenn du einen GUI machst, dann kommt auf diesen normalerweise maximal ein Inventory Window, es sei denn, du willst für mehrere Charaktere auf einem GUI das Inventar gleichzeitig anzeigen. Du kannst jedem Inventory Window bei "Character ID" zuweisen für welchen cha das Inventar bestimmt ist.
Wenn du nun mehrere Gegenstände aufnimmst, landen diese alle im gleichen Inventory Window, eben in dem dem Charakter zugewiesenen (bei Character ID -1 (Standard) ist es immer der player character). Es ist also logisch, dass alle Gegenstände im gleichen Inventory Window landen.
Überlappen dürfte es den ersten Gegenstand übrigens eigentlich nicht, es sei den der Wert für InvWindow.ItemWidth und InvWindow.ItemHeight ist zu gering eingestellt (in der Hilfe nachlesen)
Ich versuche mal, zu sagen, wie du hinbekommst, was ich glaube du willst:
Es sollen acht Positionen im Inventar vorhanden sein, wobei jeder dieser Positionen ein bestimmter Gegenstand zugewiesen ist, wobei du dann nicht willst, dass die Gegenstände einfach in der Reihenfolge einsortiert werden, in der der Spieler sie erhält. Das kann unter Umständen mit einem normalen Inventar etwas komplizierter werden. Es gibt zwar die Möglichkeit einen Gegenstand an einer bestimmten Stelle ins Inventar zu setzen (
) aber dazu müsstest du immer wissen, welche Gegenstände der Spieler schon hat und die Liste jedesmal komplett erneuern, wenn er einen neuen Gegenstand erhält und möglicherweise sogar "leere" Inventargegenstände benutzen, um sie grafisch an die richtige Stelle zu bringen.By default, the new item is added to the end of the character's inventory list. However, you can insert it in a particular position in the list by supplying the second parameter. The new item is inserted before the current item at addAtIndex. Indexes are numbered from 0, so to add the item at the start of the list, pass 0 as the second parameter.
Wenn ich dich richtig verstehe, geht es nur um acht verschiedene Gegenstände. Da würde ich wahrscheinlich komplett auf ein Inventar verzichten und mit Buttons arbeiten:
Lege einen GUI mit 8 Button an, die zunächst leer sind (irgendeine Grafik für einen leeren Slot). Wenn der Spieler einen Gegenstand nimmt, dann wird die Grafik des richtigen buttons geändert und der Button wird auf clickable gesetzt (Clickable property (GUI controls)). Wenn man dann auf den Button klickt, muss nur der Gegenstand als momentan aktiver Gegenstand gesetzt werden (ActiveInventory property). Die Methode funktioniert bei einer geringen Anzahl von Gegenständen ganz gut, ansonsten müsste ich wohl nochmal darüber nachdenken.
Wie gesagt, ich bin mir nicht sicher, ob ich deine Frage damit beantwortet habe, aber ich hoffe ich konnte dir weiterhelfen
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
- Furymars
- Süßwasserpirat
- Beiträge: 485
- Registriert: 13.06.2006, 20:45
- Wohnort: Adventure Treff
Ich habe das mit den Slots so gemeint:
1. Auf den Button "Add GUI Inventory Window" geklickt und mein Inventarfenster gemacht so habe ich schonmal ein großes Kästchen wo Inverntagegenstände reinkommen.
2.Habe ich mir dann eingestellt wie groß jedes Object sein soll.
(Item width) und (Item height)
3. Habe ich Inventargegenstände der Größe von Item width und Item height gemacht.
und jetzt sollte eigentlich für jedes Item etwas Platz im Gui haben.
Seltsamerweise ist dies aber nicht der Fall.
Es hört sich jetzt zwar etwas seltsam an aber mir fällt nicht ein woran der Fehler liegt
1. Auf den Button "Add GUI Inventory Window" geklickt und mein Inventarfenster gemacht so habe ich schonmal ein großes Kästchen wo Inverntagegenstände reinkommen.
2.Habe ich mir dann eingestellt wie groß jedes Object sein soll.
(Item width) und (Item height)
3. Habe ich Inventargegenstände der Größe von Item width und Item height gemacht.
und jetzt sollte eigentlich für jedes Item etwas Platz im Gui haben.
Seltsamerweise ist dies aber nicht der Fall.
Es hört sich jetzt zwar etwas seltsam an aber mir fällt nicht ein woran der Fehler liegt
Angekündigte Spiele:
MMM : "Nicht ohne meinen Hamster!"
MMM : "Nicht ohne meinen Hamster!"
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Wie groß jedes Objekt sein soll? Es ist so groß, wie du es importiert hast, mit Item.Width, Item.Hight gibst du nur an, wie viel Platz dafür im Inventory Window vorgesehen ist. Wenn der Wert für die Größe eines Gegenstands im Inventory Window kleiner als seine tasächliche Größe ist überlappen sie sich.2.Habe ich mir dann eingestellt wie groß jedes Object sein soll.
(Item width) und (Item height)
Am besten überprüfst du die Werte, die du dort angegeben hast. Sonst fällt mir dazu im Moment auch nichts ein.
Du weißt übrigens, dass nicht jedes Item im GUI Platz haben muss, oder? Wenn du auf den GUI noch zwei Button für hoch/runter bzw links/rechts setzte und dort InvWindow.ScrollUp(); und InvWindow.ScrollDown(); verwendest kann der Spieler durch das Inventar scrollen.und jetzt sollte eigentlich für jedes Item etwas Platz im Gui haben.
EDIT: Falsche Bezeichnung für Scripting Befehle korrigiert.
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
- Furymars
- Süßwasserpirat
- Beiträge: 485
- Registriert: 13.06.2006, 20:45
- Wohnort: Adventure Treff
Juhu ich habe es hinbekommen.
Ich habe ein neues Inventarfenster gemacht (Width=96,Height=32).
Dann habe ich dank des Pc Taschenrechners folgendes ausgerechnet:
96:8=12 weil ich ja insgesammt 8 Objecte tragen kann.
32:2=16 weil ich nur 2 Reihen haben soll wovon jeweils 4 Items pro Reihe rein soll.
Anschließend musste das Object die Höhe 12 und die Breite 16 haben. So überlappt sich dann kein Gegenstand, weil jedes Object die angegebene Fläche haben muss.
Oh man wie kompliziert
Ich danke euch vielmals jetzt bin ich mit meinem Spiel einen Schritt weitergekommen.
Ich wünsche euch noch allen in diesem Forum viel SPAAAß!!!
Ich habe ein neues Inventarfenster gemacht (Width=96,Height=32).
Dann habe ich dank des Pc Taschenrechners folgendes ausgerechnet:
96:8=12 weil ich ja insgesammt 8 Objecte tragen kann.
32:2=16 weil ich nur 2 Reihen haben soll wovon jeweils 4 Items pro Reihe rein soll.
Anschließend musste das Object die Höhe 12 und die Breite 16 haben. So überlappt sich dann kein Gegenstand, weil jedes Object die angegebene Fläche haben muss.
Oh man wie kompliziert
Ich danke euch vielmals jetzt bin ich mit meinem Spiel einen Schritt weitergekommen.
Ich wünsche euch noch allen in diesem Forum viel SPAAAß!!!
Angekündigte Spiele:
MMM : "Nicht ohne meinen Hamster!"
MMM : "Nicht ohne meinen Hamster!"
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München