NeverMindz Posted May 15, 2018 at 01:25 AM Share Posted May 15, 2018 at 01:25 AM Boas mais uma vez pessoal. Eu tenho algumas montadas a entrar no slot certo e outras no slot errado. Como demonstro nos prints: Como quero todas as montadas: http://prntscr.com/jhxzuz Como estão algumas: http://prntscr.com/jhy00e Como altero o slot das montadas? Conseguem me ajudar? Cumprimentos Link to comment Share on other sites More sharing options...
LuizFernando Posted May 15, 2018 at 01:46 AM Share Posted May 15, 2018 at 01:46 AM Posta a quest da montaria, fazendo favor. Link to comment Share on other sites More sharing options...
NeverMindz Posted May 15, 2018 at 02:02 AM Author Share Posted May 15, 2018 at 02:02 AM Deixo aqui o código: quest ride begin state start begin function Ride( vnum, remain_time ) ride_info = { [71114] = { 20110, 5*60, apply.DEF_GRADE_BONUS, 75, 75, true }, [71115] = { 20110, 5*60, apply.DEF_GRADE_BONUS, 100, 75, false }, [71116] = { 20111, 5*60, apply.DEF_GRADE_BONUS, 100, 80, true }, [71117] = { 20111, 5*60, apply.DEF_GRADE_BONUS, 150, 80, false }, [71118] = { 20112, 5*60, apply.DEF_GRADE_BONUS, 125, 85, true }, [71119] = { 20112, 5*60, apply.DEF_GRADE_BONUS, 200, 85, false }, [71120] = { 20113, 5*60, apply.ATT_GRADE_BONUS, 200, 85, true }, [71121] = { 20113, 5*60, apply.ATT_GRADE_BONUS, 300, 85, false }, [71171] = { 20227, 5*60, apply.MOV_SPEED, 60, 1, false, false, false}, [71172] = { 20226, 5*60, apply.MOV_SPEED, 60, 1, false, false, false}, [71176] = { 20231, 5*60, apply.MOV_SPEED, 60, 1, false, false, false}, [71177] = { 20232, 5*60, apply.MOV_SPEED, 60, 1, false, false, false}, } if pc.level < ride_info[vnum][5] then say("") say("Bineði kullanabilmek için seviyeniz yeterli deðil.") say("") else if 112 == pc.get_map_index() then return end if ride_info[vnum][2] == 0 and remain_time != 0 then pc.mount( ride_info[vnum][1], remain_time*60 ) pc.mount_bonus( ride_info[vnum][3], ride_info[vnum][4], remain_time*60 ) else pc.mount( ride_info[vnum][1], ride_info[vnum][2] ) pc.mount_bonus( ride_info[vnum][3], ride_info[vnum][4], ride_info[vnum][2] ) end if true == ride_info[vnum][6] then pc.remove_item(vnum, 1) end end end when login begin local vnum, remain_time = pc.get_special_ride_vnum() if vnum <= 71113 or vnum >71121 then return end if 0 != vnum then ride.Ride(vnum, remain_time) end end when 71114.use or 71115.use or 71116.use or 71117.use or 71118.use or 71119.use or 71120.use or 71121.use or 71171.use or 71172.use or 71176.use or 71177.use begin if pc.is_polymorphed() then say("") say("Não podes montar enquanto estás transformado!") say("") elseif false == pc.is_riding() then if true == horse.is_summon() then horse.unsummon() end ride.Ride(item.vnum, 0) else say("") say("Já estás a usar uma montada!") say("") end end end end Cumprimentos Link to comment Share on other sites More sharing options...
LuizFernando Posted May 15, 2018 at 02:06 AM Share Posted May 15, 2018 at 02:06 AM Vê se vai funcionar e me dê um aviso. montarias_selos.lua Link to comment Share on other sites More sharing options...
NeverMindz Posted May 15, 2018 at 02:35 AM Author Share Posted May 15, 2018 at 02:35 AM Não funcionou... Obrigado ha mesma. Acho que é na source do cliente que tenho de mexer... não sei ao certo... Cumprimentos. Link to comment Share on other sites More sharing options...
oserra Posted May 15, 2018 at 02:48 AM Share Posted May 15, 2018 at 02:48 AM Não é nem na quest nem na source, item_proto type: 28 subtype: 3 nos items que estão como tu não queres. Link to comment Share on other sites More sharing options...
LuizFernando Posted May 15, 2018 at 02:51 AM Share Posted May 15, 2018 at 02:51 AM 2 minutos atrás, oserra disse: Não é nem na quest nem na source, item_proto type: 28 subtype: 3 nos items que estão como tu não queres. Acho que é isso mesmo, já iria pedir para ele tentar fazer isso. Link to comment Share on other sites More sharing options...
NeverMindz Posted May 17, 2018 at 04:03 AM Author Share Posted May 17, 2018 at 04:03 AM (edited) Experimentei como disseram e não resoltou... acho que tenho de mudar na source mesmo.. Só não sei onde é.. Edited May 17, 2018 at 04:03 AM by NeverMindz Link to comment Share on other sites More sharing options...
xkillmt2 Posted May 17, 2018 at 06:29 PM Share Posted May 17, 2018 at 06:29 PM (edited) Erro de posição, verifique em common\length.h: enum EWearPositions { WEAR_BODY, // 0 WEAR_HEAD, // 1 WEAR_FOOTS, // 2 WEAR_WRIST, // 3 WEAR_WEAPON, // 4 WEAR_NECK, // 5 WEAR_EAR, // 6 WEAR_UNIQUE1, // 7 WEAR_UNIQUE2, // 8 WEAR_ARROW, // 9 WEAR_SHIELD, // 10 WEAR_ABILITY1, // 11 WEAR_ABILITY2, // 12 WEAR_ABILITY3, // 13 WEAR_ABILITY4, // 14 WEAR_ABILITY5, // 15 WEAR_ABILITY6, // 16 WEAR_ABILITY7, // 17 WEAR_ABILITY8, // 18 WEAR_COSTUME_BODY, // 19 WEAR_COSTUME_HAIR, // 20 WEAR_COSTUME_MOUNT, // 21 Posição do Slot WEAR_COSTUME_ACCE, // 22 WEAR_COSTUME_WEAPON, // 23 WEAR_RING1, // 24 : ½Å±Ô ¹ÝÁö½½·Ô1 (¿ÞÂÊ) WEAR_RING2, // 25 : ½Å±Ô ¹ÝÁö½½·Ô2 (¿À¸¥ÂÊ) WEAR_BELT, // 26 : ½Å±Ô º§Æ®½½·Ô WEAR_MAX = 32 // }; Continuando no common verifique o subtype em item_length.h: enum ECostumeSubTypes { COSTUME_BODY = ARMOR_BODY, // 0 subtype COSTUME_HAIR = ARMOR_HEAD, // 1 subtype COSTUME_MOUNT, // 2 subtype COSTUME_ACCE, // 3 subtype COSTUME_WEAPON, // 4 subtype COSTUME_NUM_TYPES, }; Verifique em db/src/ProtoReader.cpp static string arSub28[] = { "COSTUME_BODY", "COSTUME_HAIR", "COSTUME_MOUNT", "COSTUME_ACCE", "COSTUME_WEAPON" }; Verifique em Client\UserInterface\GameType.h: #ifdef ENABLE_COSTUME_SYSTEM const DWORD c_Costume_Slot_Start = c_Equipment_Start + 19; // [ÁÖÀÇ] ¼ýÀÚ(19) ÇϵåÄÚµù ÁÖÀÇ. ÇöÀç ¼¹ö¿¡¼ ÄÚ½ºÃõ ½½·ÔÀº 19ºÎÅÍÀÓ. ¼¹ö common/length.h ÆÄÀÏÀÇ EWearPositions ¿°ÅÇü Âü°í. const DWORD c_Costume_Slot_Body = c_Costume_Slot_Start + 0; // 19 const DWORD c_Costume_Slot_Hair = c_Costume_Slot_Start + 1; // 20 const DWORD c_Costume_Slot_Mount = c_Costume_Slot_Start + 2; // 21 Posição do Slot const DWORD c_Costume_Slot_Acce = c_Costume_Slot_Start + 3; // 22 const DWORD c_Costume_Slot_Weapon = c_Costume_Slot_Start + 4; // 23 const DWORD c_Costume_Slot_Count = 5; const DWORD c_Costume_Slot_End = c_Costume_Slot_Start + c_Costume_Slot_Count; #endif Correção do slot belt e ring_left e ring_right: #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM const DWORD c_New_Equipment_Start = c_Equipment_Start + 24; // 24 Posição de slot const DWORD c_New_Equipment_Count = 3; const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + 0; // 24 const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + 1; // 25 const DWORD c_Equipment_Belt = c_New_Equipment_Start + 2;; // 26 #endif Verifique em Client\UserInterface\PythonItemModule.cpp: #ifdef ENABLE_COSTUME_SYSTEM PyModule_AddIntConstant(poModule, "ITEM_TYPE_COSTUME", CItemData::ITEM_TYPE_COSTUME); // Item Sub Type PyModule_AddIntConstant(poModule, "COSTUME_TYPE_BODY", CItemData::COSTUME_BODY); PyModule_AddIntConstant(poModule, "COSTUME_TYPE_HAIR", CItemData::COSTUME_HAIR); PyModule_AddIntConstant(poModule, "COSTUME_TYPE_MOUNT", CItemData::COSTUME_MOUNT); PyModule_AddIntConstant(poModule, "COSTUME_TYPE_ACCE", CItemData::COSTUME_ACCE); PyModule_AddIntConstant(poModule, "COSTUME_TYPE_WEAPON", CItemData::COSTUME_WEAPON); // Àκ¥Å丮 ¹× Àåºñâ¿¡¼ÀÇ ½½·Ô ¹øÈ£ PyModule_AddIntConstant(poModule, "COSTUME_SLOT_START", c_Costume_Slot_Start); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_COUNT", c_Costume_Slot_Count); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_BODY", c_Costume_Slot_Body); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_HAIR", c_Costume_Slot_Hair); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_MOUNT", c_Costume_Slot_Mount); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_ACCE", c_Costume_Slot_Acce); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_WEAPON", c_Costume_Slot_Weapon); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_END", c_Costume_Slot_End); #endif Verifique em uiscript->costumewindow.py: "slot" : ( {"index":COSTUME_START_INDEX+0, "x":62, "y":45, "width":32, "height":64},# 19 - Posição de slot {"index":COSTUME_START_INDEX+1, "x":62, "y": 9, "width":32, "height":32},# 20 {"index":COSTUME_START_INDEX+2, "x":13, "y":126, "width":32, "height":32},# 21 {"index":COSTUME_START_INDEX+3, "x":62, "y":126, "width":32, "height":32},# 22 {"index":COSTUME_START_INDEX+4, "x":13, "y":13, "width":32, "height":96},# 23 ), Edited May 18, 2018 at 10:37 PM by xkillmt2 ProtoReader.cpp Link to comment Share on other sites More sharing options...
oserra Posted May 17, 2018 at 07:05 PM Share Posted May 17, 2018 at 07:05 PM 36 minutos atrás, xkillmt2 disse: Erro de posição, verifique em common\length.h: enum EWearPositions { WEAR_BODY, // 0 WEAR_HEAD, // 1 WEAR_FOOTS, // 2 WEAR_WRIST, // 3 WEAR_WEAPON, // 4 WEAR_NECK, // 5 WEAR_EAR, // 6 WEAR_UNIQUE1, // 7 WEAR_UNIQUE2, // 8 WEAR_ARROW, // 9 WEAR_SHIELD, // 10 WEAR_ABILITY1, // 11 WEAR_ABILITY2, // 12 WEAR_ABILITY3, // 13 WEAR_ABILITY4, // 14 WEAR_ABILITY5, // 15 WEAR_ABILITY6, // 16 WEAR_ABILITY7, // 17 WEAR_ABILITY8, // 18 WEAR_COSTUME_BODY, // 19 WEAR_COSTUME_HAIR, // 20 WEAR_COSTUME_MOUNT, // 21 Posição do Slot WEAR_COSTUME_ACCE, // 22 WEAR_COSTUME_WEAPON, // 23 WEAR_RING1, // 24 : ½Å±Ô ¹ÝÁö½½·Ô1 (¿ÞÂÊ) WEAR_RING2, // 25 : ½Å±Ô ¹ÝÁö½½·Ô2 (¿À¸¥ÂÊ) WEAR_BELT, // 26 : ½Å±Ô º§Æ®½½·Ô WEAR_MAX = 32 // }; Continuando no common verifique o subtype em item_length.h: enum ECostumeSubTypes { COSTUME_BODY = ARMOR_BODY, // 0 subtype COSTUME_HAIR = ARMOR_HEAD, // 1 subtype COSTUME_MOUNT, // 2 subtype COSTUME_ACCE, // 3 subtype COSTUME_WEAPON, // 4 subtype COSTUME_NUM_TYPES, }; Verifique em Client\UserInterface\GameType.h: #ifdef ENABLE_COSTUME_SYSTEM const DWORD c_Costume_Slot_Start = c_Equipment_Start + 19; // [ÁÖÀÇ] ¼ýÀÚ(19) ÇϵåÄÚµù ÁÖÀÇ. ÇöÀç ¼¹ö¿¡¼ ÄÚ½ºÃõ ½½·ÔÀº 19ºÎÅÍÀÓ. ¼¹ö common/length.h ÆÄÀÏÀÇ EWearPositions ¿°ÅÇü Âü°í. const DWORD c_Costume_Slot_Body = c_Costume_Slot_Start + 0; // 19 const DWORD c_Costume_Slot_Hair = c_Costume_Slot_Start + 1; // 20 const DWORD c_Costume_Slot_Mount = c_Costume_Slot_Start + 2; // 21 Posição do Slot const DWORD c_Costume_Slot_Acce = c_Costume_Slot_Start + 3; // 22 const DWORD c_Costume_Slot_Weapon = c_Costume_Slot_Start + 4; // 23 const DWORD c_Costume_Slot_Count = 5; const DWORD c_Costume_Slot_End = c_Costume_Slot_Start + c_Costume_Slot_Count; #endif Correção do slot belt e ring_left e ring_right: #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM const DWORD c_New_Equipment_Start = c_Equipment_Start + 24; // 24 Posição de slot const DWORD c_New_Equipment_Count = 3; const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + 0; // 24 const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + 1; // 25 const DWORD c_Equipment_Belt = c_New_Equipment_Start + 2;; // 26 #endif Verifique em Client\UserInterface\PythonItemModule.cpp: #ifdef ENABLE_COSTUME_SYSTEM PyModule_AddIntConstant(poModule, "ITEM_TYPE_COSTUME", CItemData::ITEM_TYPE_COSTUME); // Item Sub Type PyModule_AddIntConstant(poModule, "COSTUME_TYPE_BODY", CItemData::COSTUME_BODY); PyModule_AddIntConstant(poModule, "COSTUME_TYPE_HAIR", CItemData::COSTUME_HAIR); PyModule_AddIntConstant(poModule, "COSTUME_TYPE_MOUNT", CItemData::COSTUME_MOUNT); PyModule_AddIntConstant(poModule, "COSTUME_TYPE_ACCE", CItemData::COSTUME_ACCE); PyModule_AddIntConstant(poModule, "COSTUME_TYPE_WEAPON", CItemData::COSTUME_WEAPON); // Àκ¥Å丮 ¹× Àåºñâ¿¡¼ÀÇ ½½·Ô ¹øÈ£ PyModule_AddIntConstant(poModule, "COSTUME_SLOT_START", c_Costume_Slot_Start); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_COUNT", c_Costume_Slot_Count); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_BODY", c_Costume_Slot_Body); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_HAIR", c_Costume_Slot_Hair); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_MOUNT", c_Costume_Slot_Mount); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_ACCE", c_Costume_Slot_Acce); PyModule_AddIntConstant(poModule, "COSTUME_SLOT_WEAPON", c_Costume_Slot_Weapon); #endif Verifique em uiscript->costumewindow.py: "slot" : ( {"index":COSTUME_START_INDEX+0, "x":62, "y":45, "width":32, "height":64},# 19 - Posição de slot {"index":COSTUME_START_INDEX+1, "x":62, "y": 9, "width":32, "height":32},# 20 {"index":COSTUME_START_INDEX+2, "x":13, "y":126, "width":32, "height":32},# 21 {"index":COSTUME_START_INDEX+3, "x":62, "y":126, "width":32, "height":32},# 22 {"index":COSTUME_START_INDEX+4, "x":13, "y":13, "width":32, "height":96},# 23 ), ProtoReader.cpp também ajudava para saber exatamente quais são as flags do quê. Link to comment Share on other sites More sharing options...
NeverMindz Posted May 20, 2018 at 01:38 AM Author Share Posted May 20, 2018 at 01:38 AM Já verifiquei e está tudo em condições. Curioso o porquê de só metade ir para o sitio certo.. Link to comment Share on other sites More sharing options...
NeverMindz Posted May 20, 2018 at 01:55 AM Author Share Posted May 20, 2018 at 01:55 AM Pessoal afinal era o item_proto que não estava a compilar o costume_mount, já arranjei. Obrigado a todos! Cumprimentos. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now