Hallo ich habe ein neues EQ und möchte dort zB das Erz Kupfer einbauen.
Nun habe ich in der constinfo.py bestimmte einträge gemacht.
Code
- ACCESSORY_MATERIAL_LIST = [50623, 50624, 50625, 50626, 50627, 50628, 50629, 50630, 50631, 50632, 50633, 50634, 50635, 50636, 50637, 50638]
- #ACCESSORY_MATERIAL_LIST = [50623, 50623, 50624, 50624, 50625, 50625, 50626, 50627, 50628, 50629, 50630, 50631, 50632, 50633,
- # 50623, 50623, 50624, 50624, ]
- 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 ],
- [ 50624, 14249, 16249, 17249 ],
- ]
- 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 >= 16240 and vnum <= 16249:
- return 50624
- 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]
So 50624 ist in dem Fall Kupfer, und 16240 ist die neue Halskette+0 16249 logischerweise +9
Nun habe ich in der Item.cpp auch nochmal änderungen vorgenommen:
Code
- const static JewelAccessoryInfo infos[] = {
- { 50634, 14420, 16220, 17220 },
- { 50635, 14500, 16500, 17500 },
- { 50636, 14520, 16520, 17520 },
- { 50637, 14540, 16540, 17540 },
- { 50638, 14560, 16560, 17560 },
- { 50624, 14249, 16249, 17249 },
- };
- DWORD item_type = (item->GetVnum() / 10) * 10;
- for (int i = 0; i < sizeof(infos) / sizeof(infos[0]); i++)
- {
- const JewelAccessoryInfo& info = infos[i];
- switch(item->GetSubType())
- {
- case ARMOR_WRIST:
- if (info.wrist == item_type)
- {
- if (info.jewel == GetVnum())
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- break;
- case ARMOR_NECK:
- if (info.neck == item_type)
- {
- if (info.jewel == GetVnum())
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- break;
- case ARMOR_EAR:
- if (info.ear == item_type)
- {
- if (info.jewel == GetVnum())
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- break;
- }
- }
- if (item->GetSubType() == ARMOR_WRIST)
- vnum -= 14000;
- else if (item->GetSubType() == ARMOR_NECK)
- vnum -= 16000;
- else if (item->GetSubType() == ARMOR_EAR)
- vnum -= 17000;
- else
- return false;
- DWORD type = vnum / 20;
- if (type < 0 || type > 11)
- {
- type = (vnum - 170) / 20;
- if (50623 + type != GetVnum())
- return false;
- else
- return true;
- }
- else if (item->GetVnum() >= 16210 && item->GetVnum() <= 16219)
- {
- if (50625 != GetVnum())
- return false;
- else
- return true;
- }
- else if (item->GetVnum() >= 16240 && item->GetVnum() <= 16249)
- {
- if (50624 != GetVnum())
- return false;
- else
- return true;
- }
- else if (item->GetVnum() >= 16230 && item->GetVnum() <= 16239)
- {
- if (50626 != GetVnum())
- return false;
- else
- return true;
- }
- return 50623 + type == GetVnum();
- }
Wenn ich nun Ingame versuche das Kupfer auf die Halskette zu ziehen, wird es zwar Gelb angezeigt das es verfügbar wäre, allerdings steht im Chat Dieser Gegenstand kann nicht Ausgerüstet werden.
Kann mir eventuell da jemand helfen?