def GET_ACCESSORY_MATERIAL_VNUM(vnum, subType):

Indította TheSLESH, 2019-06-06, 18:18:57

Nos, adott a kérdés, hogyan lehet ezt a függvényt úgy bővíteni, hogy több vnum-ot is beolvasson 1db ID-hez?

Tehát, minden kohóból, csináltam 2 fajtát. (Végtelen, és sima) tökéletes is, viszont a végtelennek az icon-ját átszíneztem, ami tökéletes is, mindaddig amíg az ékszerbe benem rakom, mert akkor a sima kohónak az iconja lesz az ékszerben.
constinfo -> def GET_ACCESSORY_MATERIAL_VNUM(vnum, subType):

[spoiler]def GET_ACCESSORY_MATERIAL_VNUM(vnum, subType):
ret = vnum
item_base = (vnum / 10) * 10
for info in JewelAccessoryInfos:
if item.ARMOR_WRIST == subType:
if info[1] == item_base:
return info[0]
elif item.ARMOR_NECK == subType:
if info[2] == item_base:
return info[0]
elif item.ARMOR_EAR == subType:
if info[3] == item_base:
return info[0]

if vnum >= 16210 and vnum <= 16219:
return 50625

if item.ARMOR_WRIST == subType:
WRIST_ITEM_VNUM_BASE = 14000
ret -= WRIST_ITEM_VNUM_BASE
elif item.ARMOR_NECK == subType:
NECK_ITEM_VNUM_BASE = 16000
ret -= NECK_ITEM_VNUM_BASE
elif item.ARMOR_EAR == subType:
EAR_ITEM_VNUM_BASE = 17000
ret -= EAR_ITEM_VNUM_BASE

type = ret/20

if type<0 or type>=len(ACCESSORY_MATERIAL_LIST):
type = (ret-170) / 20
if type<0 or type>=len(ACCESSORY_MATERIAL_LIST):
return 0

return ACCESSORY_MATERIAL_LIST[type]
[/spoiler]

az ACCESSORY_MATERIAL_LIST-et természetesen kibővítettem, viszont a függvény meghívja a JewelAccessoryInfos táblázatot...

[spoiler]JewelAccessoryInfos = [
# jewel wrist neck ear
[ 50634, 14420, 16220, 17220 ],
[ 50635, 14500, 16500, 17500 ],
[ 50636, 14520, 16520, 17520 ],
[ 50637, 14540, 16540, 17540 ],
[ 50638, 14560, 16560, 17560 ],
[ 50639, 14570, 16570, 17570 ],
]
[/spoiler]

amit sehogysem bírok úgy átalakítani, hogy 2 "Jewel"-t megtudjon különböztetni.

Létrehoztam egy JewelAccessoryInfos2 táblázatot, amiben az átszínezett kohóknak az ID-je van.

[spoiler]JewelAccessoryInfos2 = [
# jewel wrist neck ear
[ 50654, 14420, 16220, 17220 ],
[ 50655, 14500, 16500, 17500 ],
[ 50656, 14520, 16520, 17520 ],
[ 50657, 14540, 16540, 17540 ],
[ 50658, 14560, 16560, 17560 ],
[ 50659, 14570, 16570, 17570 ],
]
[/spoiler]
Ha a "for info in JewelAccessoryInfos:"-t átírom 2-re,akkor mindenhez az átszínezettet rendeli hozzá, ha a két táblázatot egyesítem, akkor pedig csak az elöbb szereplőt.

Próbáltam, hogy a return-t egy if elágazásba teszem, de sajnos nem bírom meghívni a metinSlot[2]-t ebben a függvényben sehogy, hogy ellenőrizzem a behelyezett kohónak az ID-jét...
Valakinek ha lenne hozzá ötlete, szívesen fogadnám..
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.