Gamestudio Links
Zorro Links
Newest Posts
loading historical data 1st time
by AndrewAMD. 04/14/23 12:54
Trade at bar open
by juanex. 04/13/23 19:43
Bug in Highpass2 filter
by rki. 04/13/23 09:54
Adding Limit Orders For IB
by scatters. 04/11/23 16:16
FisherN
by rki. 04/11/23 08:38
AUM Magazine
Latest Screens
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Hecknex World
Who's Online Now
1 registered members (Grant), 999 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
rki, FranzIII, indonesiae, The_Judge, storrealba
18919 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Inventar Problem #150355
08/26/07 18:46
08/26/07 18:46
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
Hi @ all,

ich bin im moment dabei ein Inventar zu scripten. Und dafür habe ich einen
Button, welcher ein item wegwirft.
Ich habe das so geregelt wenn ich auf den button drücke, geht die var inventar_use auf 3 und wenn ich dann auf den panel klicke, akktifiert sich die funktion item_use.
Diese funktion soll jetzt das item, auf welches ich geklickt habe wegwerfen. Mit dem items, das habe ich so geregelt:
Es gibt die var slot_1. Wenn slot_1 = 0 ist, dann ist der speicherplatzt leer. Wenn der wert höher als 0 ist ist der platz belegt. Bei ner 1 z.b. mit ner waffe, bei 2 mit ner rüstung...

Lange rede, kurzer Sinn.
Mein Problem besteht darin, das ich ermitteln muss auf welchen panel ich geklickt habe, damit der die entsprechende var auf 0 setzt.

Hoffe ihr kommt mit der erklärung klar.

Mfg, Pingulord


3D Gamestudio A7 Extra
Re: Inventar Problem [Re: Martek] #150356
08/26/07 19:05
08/26/07 19:05
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Einfache Lösung:
Setze die einzelnen "slot" bitmaps als button elemente auf ein panel (falls du es nicht schon hast).
Jeder button der eine funktion aufruft kann auch gleichzeitig seine nummer übergeben.
(Handbuch: button_number)
Das Inventar selbst, also wo gespeichert wird ob ein "slot" belegt ist oder nicht, würde ich als var array aufbauen und die übermittelte button number als index für den array. Wobei der platz "0" im array logischer weise immer frei bleibt, es sei denn du subtrahierst erst 1 von der button number.
Beispiel:
Code:

var mein_inventar[16]; //16 speicherplätze
var inv_edit_mode; //zeigt an ob das nächste element gelöscht werden soll etc.

define none, 0;
define add,1;
define delete,2;

panel inventar_pan
{ ... }

//die folgende funktion wird vom button aufgerufen
function inv_slot_click(button_number,panel)
{
if(inv_edit_mode == delete)
{
mein_inventar[button_number-1] = 0;
inv_edit_mode = none;
}
...
}



Re: Inventar Problem [Re: Xarthor] #150357
08/26/07 19:22
08/26/07 19:22
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
Das is ne gute Idee. Nur ich hatte das erst mit panel.on_click gemacht,
schreibe es jetzt aber eben um. Hab ja nur 16 slots:)

Nur ein problemm. Woher soll ich die Button number wissen???

Mfg, Pingulord


3D Gamestudio A7 Extra
Re: Inventar Problem [Re: Martek] #150358
08/26/07 19:26
08/26/07 19:26
Joined: Jan 2005
Posts: 545
Schleswig-Holstein, Deutschlan...
Artus Offline
User
Artus  Offline
User

Joined: Jan 2005
Posts: 545
Schleswig-Holstein, Deutschlan...
Die Nummer des angeklickten Buttons wird als erster, der Panel-Pointer als zweiter Parameter an die Funktion übergeben, dies kannst du im Handbuch nachlesen

Last edited by nordmann; 08/26/07 19:28.
Re: Inventar Problem [Re: Artus] #150359
08/26/07 19:34
08/26/07 19:34
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Die button number wird chronologisch vergeben.
Das heißt das erste button element eines panels hat die nummer 1, das zweite folglich 2 etc.

EDIT:
Ist zwar off-topic, aber Pingulord, woher kommst du bzw. wo wohnst du zur zeit? (geht auch per PM)

Last edited by Xarthor; 08/26/07 19:35.
Re: Inventar Problem [Re: Xarthor] #150360
08/27/07 11:59
08/27/07 11:59
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
Also, ich check jetzt garnichts mehr:
Das den Parramentern check ich net, weil ich die noch nie benutzt habe...:)

Und das mit den Chronologischen nummer auch net.
Kann man die nummern irgendwo nachgucken???
Oder muss ich einfach wissen, als wie vieltes ich den button erstellt habe???
Wäre dann slot4 button 4??? Weil ja in jedem slot 1 button is???


Mfg, Pingulord


3D Gamestudio A7 Extra
Re: Inventar Problem [Re: Martek] #150361
08/27/07 12:13
08/27/07 12:13
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Die parameter in der function die der button ausführt, müsssen, laut manual drin stehen, damit die funktion nachher weiß welcher button geklickt wurde.

Ja du musst wissen ob der button mit der nummer x nun ein slot button ist und wenn ja welcher.
Das lässt sich aber über ein paar leichte design "regeln" machen.
Zum einen würde ich das slot panel als reines slot panel nutzen, d.h. dort sollten sich keine funktions buttons befinden, wobei das eig. auch kein problem sein sollte.
Aber für den anfang wäre es sinnvoll.
Nun weißt du ja das der erste button der in einem panel definiert wird die button number 1 hat, womit du ja relativ einfach so ein system progammieren kannst.
Alternativ kannst du auch eine etwas komplexere lösung für deinen ansätz suchen.

Merke: Ein System wie ein Inventar sollte gut durch dacht sein und nach möglichkeit erst programmiert werden wenn man nahe zu alle möglichkeiten der sprache kennt, da z.b. das "button number feature" ein inventar-system, meiner ansicht nach, erheblich leichter macht.

Re: Inventar Problem [Re: Xarthor] #150362
08/27/07 17:45
08/27/07 17:45
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
So, ich habe jetzt in jedem slot einen button. Und wenn ich jetzt slot6 löschen will, wie soll ich dann mit der Button number erkennen, auf welchen slot ich geklicht habe???

Pingulord, der nix checker...


3D Gamestudio A7 Extra
Re: Inventar Problem [Re: Martek] #150363
08/27/07 18:46
08/27/07 18:46
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Ich glaub du hast es "falsch" umgesetzt bzw. verstanden.
Du benötigst für dieses system nur ein(!!!) panel auf dem sich deine 6 buttons befinden (6 buttons = 6 slots)

Re: Inventar Problem [Re: Xarthor] #150364
08/28/07 12:32
08/28/07 12:32
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
achso...aber trozdem für jeden slot einen panel, weil ich will da ja auch,
das da die bilder der Items sind, und da drüber dann den button panel. Ok.

Und in einem slot sind die dann einfach nach der reihenfolge, wie die darin vorkommen.

Jetzt hab ichs, danke Pingulord


3D Gamestudio A7 Extra

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1