|
You last visited: Today at 01:06
Advertisement
[Python]Slotfenster mit Items
Discussion on [Python]Slotfenster mit Items within the Metin2 Private Server forum part of the Metin2 category.
03/14/2017, 15:18
|
#1
|
elite*gold: 0
Join Date: Nov 2016
Posts: 21
Received Thanks: 19
|
[Python]Slotfenster mit Items
Hab folgenden Code
Code:
self.itemSlots = ui.GridSlotWindow()
self.itemSlots.SetParent(self)
self.itemSlots.ArrangeSlot(0, gridSizeX, gridSizeY, 32, 32, 0, 0)
self.itemSlots.SetPosition(38,20)
self.itemSlots.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub",1,1,1,1)
self.itemSlots.Show()
items = [53001,11299,3139,20009,189,149,279,11289,11499,11489,53001,53002]
i=0
for itemVnum in items:
item.SelectItem(itemVnum)
self.itemSlots.SetItemSlot(i, itemVnum, 1)
i+=1
gibt es einen einfachen weg um herauszufinden ob der slot schon benutzt wird wegen der item größe?
|
|
|
03/14/2017, 20:48
|
#2
|
elite*gold: 20
Join Date: Jun 2011
Posts: 2,901
Received Thanks: 3,341
|
meine idee wäre:
Mehrdimensionales Array initialisieren:
arr =[]
for i in xrange(0, gridSizeX):
arr[i] = []
for i2 in xrange(0, gridSizeY):
arr[i][i2] = 0
ne funktion um x / y koordinaten zu kriegen:
def SlotToX(self, slotnr):
return slotnr %gridSizeX
def SlotToY(self, slotnr):
return slotnr / gridSizeX
dann das ganze beim adden Prüfen:
def AddItem(id, vnum, slot):
if(self.CanAddItem(vnum, slot) != TRUE)
return
item.SelectItem(vnum)
size = item.GetSize()
base_y = self.SlotToY(slot)
base_x = self.SlotToX(slot)
i=0
while i < size:
arr[base_x][base_y + i] = 1
i+=1
self.itemSlots.SetItemslot(id, vnum, 1)
def CanAddItem(vnum, slot):
item.SelectItem(vnum)
size = item.GetSize()
base_y = self.SlotToY(slot)
base_x = self.SlotToX(slot)
i=0
while i < size:
if(arr[base_x][base_y + i] == 1):
return FALSE
i+=1
return TRUE
|
|
|
03/15/2017, 15:07
|
#3
|
elite*gold: 0
Join Date: Nov 2016
Posts: 21
Received Thanks: 19
|
Quote:
Originally Posted by xCPx
meine idee wäre:
Mehrdimensionales Array initialisieren:
arr =[]
for i in xrange(0, gridSizeX):
arr[i] = []
for i2 in xrange(0, gridSizeY):
arr[i][i2] = 0
|
musste da mit arr.append arbeiten ansonsten hab ich fehler bekommen aber habs hinbekommen
deine süßen kleinen runden augen können sich geküsst fühlen
|
|
|
 |
Similar Threads
|
Python Nicht Handelbare Items
09/25/2015 - Metin2 Private Server - 1 Replies
Hallo,
suche einen Weg wie ich :
Nichthandelbare Items werden im Inventar ausgegraut, wenn ein entsprechendes Interaktionsfenster geöffnet ist (Handel, NPC, etc.).
vom Patch 15.4 von de.
Wie kann ich dass anstellen?
|
[Python] Vid von Items auf dem Boden auslesen
12/07/2014 - Metin2 Private Server - 1 Replies
Moin^^
also ich möchte gerne ein Programm erstellen, das nur Yang aufhebt.
Dafür habe ich mir auch schonmal den Code von DaRealFreak angeguckt, jedoch bin ich schon am auslesen der VID von den Items auf dem Boden gescheitert.
Gibt es eine Funktion, um die VID dieser Items auszulesen, damit ich diese dann auswerten und ggf. per net.SendItemPickUpPacket(vid) aufheben kann?
Mfg
|
Items aufheben per python datei !!!
12/05/2014 - Metin2 Private Server - 0 Replies
Moin Leute
Ich habe da mal eine kleine Frage.
Also ich würde gerne diese Datei :
http://ceria2.hostblock.de/Python/logininfo.txt
So umgeschrieben bekommen das ich Manuel einstellen kann
welche Items aufgehoben werden dürfen ( z.b 189 = Gifti+9 oder sowas in
der Art halt ).
|
Items aufheben per Python Datei !!!
12/05/2014 - Metin2 Private Server - 0 Replies
Moin Leute
Ich habe da mal eine kleine Frage.
Also ich würde gerne diese Datei :
http://ceria2.hostblock.de/Python/logininfo.txt
So umgeschrieben bekommen das ich Manuel einstellen kann
welche Items aufgehoben werden dürfen ( z.b 189 = Gifti+9 oder sowas in
der Art halt ).
|
EQ-Items per Python abfragen
05/20/2012 - Metin2 Private Server - 1 Replies
Hey com,
ich will die "Spezial-"Items vom EQ abfragen (Windschuhe, etc).
Beim Inventar geht es ja per
for i in xrange(player.INVENTORY_PAGE_SIZE):
nur wie geht es im EQ?
Danke für jede Hilfe ;)
Mfg, Destroyer446
|
All times are GMT +1. The time now is 01:08.
|
|