Python tárgynév kiirás ID alapján.

Indította TheSLESH, 2019-06-02, 12:28:18

Egy olyan függvényre lenne szükségem, ami egy behívott ID alapján kiirja annak a nevét.

tehát:

targyID = int(targySlot[1])
self.AppendTextLine("A Tárgy: "+str(targyID )+"", self.POSITIVE_COLOR)

Addig eljutottam, hogy a tárgy nevét kiiratom, de a targyslot[1] (Ez egy ID, mint a metinslot stb) kiirassam.
Tehát adott egy tárgy, aminek az ID-je mondjuk 2020,ennek a mysql adatbázisban, vagy egy oszlopa, amit pythonban targySlot meg is hív, tökéletesen, mert ha számként hívom meg, akkor kiirja az oszlopban lévő számot, de azt szeretném, ha nem a számot írná ki, hanem a tárgy nevét. Próbáltam stringé alakítani, illetve item.GetItemName-t használni, ekkor a 2020-as ID-n lévő tárgy nevét írta ki, ha beírtam hogy item.GetItemName(targyID) akkor pedig nem tölt be az uitooltip...
Tehát, betudom kérni a ID-t, csak nemtudom hogy irassam ki, hogy ne a tárgy ID-jét írja ki, hanem a tárgynak egy oszlopában lévő ID-nek a nevét...
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.

Először ki kéne jelölni a tárgyat(item.SelectItem(vnum)), aztán mehet az item.GetItemName(). Szélsőséges esetek elkerülése érdekében ajánlott visszajelölni az előző ID-t ha már megvan az érték pld:

curID = item.GetVnum()
newName = item.GetItemName(item.SelectItem(targySlot[1]))
item.SelectItem(curID)
self.AppendTextLine("A Tárgy: "+str(newName )+"", self.POSITIVE_COLOR)

A Te megoldásoddal, már csak annyit ír, hogy "Epe":)
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.

Akkor olyan értéke van a targySlot[1]-nek, amilyen ID-n nincs tárgy a protoban.

19-el próbálkoztam, (Alapkard+9)
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.

Lehetséges hogy hülyeség ???

targyID = item.GetItemName(item.SelectItem(targySlot[1]))
item.SelectItem(targyID)
self.AppendTextLine("[%d]" % targyID)

:'( :'( :'(
Nem az a fő, hogy örökké élsz-e. A trükk az, hogy önmagad maradj, örökké.

2019-06-04, 15:27:25 #6 Utolsó szerkesztés: 2019-06-04, 15:33:50 Szerző: TheSLESH
%d format: a number is required, not str

Üzenet összefésülés: 2019-06-04, 15:33:50

Jelenleg így próbálkozok alakítgatni számá, abból szöveg, de sehogy sem jó, mindenhogyan epe..
(egyszerűség kedvéért metinslotra raktam most, így a kő nevét kéne kiirja a tárgy alatt tesztként..)

ID = (int(metinSlot[2]))
curID = item.GetVnum()
newName = item.GetItemName(item.SelectItem(ID))
self.AppendTextLine("ID [%s]" % newName, self.POSITIVE_COLOR)
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.