#61
Posted 09 August 2009 - 12:56 PM

VD: 1 địa chỉ cũ của code : NPC_BASE_ADD = $DC9988
ta có địa chỉ mới như các bác share Là:0x00E2863C
Vậy ta phải thay như thế nào vậy các bác? Chỉ cho em cách thay đổi với nhé , cảm ơn các bác nhiều
#62
Posted 09 August 2009 - 03:20 PM

_BlackMoon_, on Aug 9 2009, 12:56 PM, said:
trong Delphi thì địa chỉ thay offset đổi như thế nào vậy các bác?
VD: 1 địa chỉ cũ của code : NPC_BASE_ADD = $DC9988
ta có địa chỉ mới như các bác share Là:0x00E2863C
Vậy ta phải thay như thế nào vậy các bác? Chỉ cho em cách thay đổi với nhé , cảm ơn các bác nhiều
Mình cũng viết dephi nè, hex trong delphi bắt đầu bằng ký hiệu $,
$00E2863C hay $E2863C đều được, để 00 thêm cho đẹp và thấy rõ là 4 byte.
Thân.
#63
Posted 09 August 2009 - 03:25 PM

mondothienvuong, on Aug 9 2009, 09:47 AM, said:
hôm nay chủ nhật mọi người rành rang mà soa chẳng ai vào đây nhỉ.
các bác tctruc, mocluu,... nghiên cứu được những gì thì chia sẻ ra đây để mọi người cùng nhau phát triển với.
Thanks bác Mondo đã quan tâm, hix hix, mình chỉ mới tham gia tập tành viết, mình viết bằng delphi, hook thì bằng C++, cũng nhờ các các Mondo, ngocnl, nên cũng viết được tạm tạm, có gì hay ho đâu mà giáo múa rìu qua mắt thợ.
Mình đang làm phần bơm mana, bác nào làm được hàm use item và move item chia sẽ kinh nghiệm với.
Cảm ơn.
#64
Posted 09 August 2009 - 04:09 PM

tctruc, on Aug 9 2009, 03:25 PM, said:
Hihi, topic này giành cho newbie mà bác. Vì cùng đang tập tành nên mọi người dễ trao đổi với nhau hơn. Giống như đi học thì bạn bè giảng cho nhau nghe còn dễ hiểu hơn thầy giảng cho các trò. Các bác đi trước có những cái thấy là hiển nhiên rồi nên nhiều khi ko giải thích hoặc giải thích thì newbie cũng khó hiểu. Có các bác y trợ giúp là yên tâm rồi, mọi người cứ mạnh dạn hỏi han và chia sẻ kinh nghiệm. Nếu sai thì sửa thôi mà, đúng ko các bácmondothienvuong, on Aug 9 2009, 09:47 AM, said:
hôm nay chủ nhật mọi người rành rang mà soa chẳng ai vào đây nhỉ.
các bác tctruc, mocluu,... nghiên cứu được những gì thì chia sẻ ra đây để mọi người cùng nhau phát triển với.
Thanks bác Mondo đã quan tâm, hix hix, mình chỉ mới tham gia tập tành viết, mình viết bằng delphi, hook thì bằng C++, cũng nhờ các các Mondo, ngocnl, nên cũng viết được tạm tạm, có gì hay ho đâu mà giáo múa rìu qua mắt thợ.
Mình đang làm phần bơm mana, bác nào làm được hàm use item và move item chia sẽ kinh nghiệm với.
Cảm ơn.

#65
Posted 09 August 2009 - 06:27 PM

Source của mocluu chạy vui quá

Edited by Open Mind's, 09 August 2009 - 06:40 PM.
#66
Posted 09 August 2009 - 06:51 PM

Open Mind's, on Aug 9 2009, 06:27 PM, said:
Cám ơn mocluu đã share cái source bằng C#, mình cũng chỉ biết C# thôi, cũng convert cái source của mondothienvuong mà không hiểu VB.Net lắm nên nhiều chỗ không chuyển được. Thanks very much to mocluu.
Source của mocluu chạy vui quá. Hình như di chuyển chỉ trên client thôi, không có gửi lên sv nữa, toàn thấy chạy nhưng thật ra nhân vật vẫn đứng im tại chỗ.

Nhân vật đang đứng ở điểm A, cần di chuyển đến điểm B . Thì có vẻ như server kiểm tra khoảng cách AB thì phải. Theo bác tctruc thì max(AB) = 500 .Do đó để chạy đến khoảng cách xa hơn max(AB) thì mình phải chia đoạn A , B đó thành các đoạn con khác sao cho mỗi đoạn không lớn hơn giá trị max .Để tối mình tìm hiểu tiếp xem sao. Bác nào đã code được đoạn bơm máu với mana thì chỉ em với nhé

#67
Posted 10 August 2009 - 07:01 AM

/* *************** */ /* game_y 6.0.6 */ /* author: Kirimaru */ /* [email protected] */ /* *************** */ #define KPLAYER_PTR_ADDR 0x83BD54 #define KPLAYER_SIZE 0x81DC #define KPLAYER_APPLYUSEITEM 0x4EA180 #define KITEMLIST_OFF 0xB4 #define KITEMLIST_GETFIRSTITEM 0x4E5B20 #define KITEMLIST_GETNEXTITEM 0x4E5B60 #define KITEM_PTR_ADDR 0x00F04568 #define KITEM_SIZE 0x00538 #define MAX_ITEM 512 #define KItemNormalAttrib KMagicAttrib typedef struct { int nIdx; int nPlace; int nX; int nY; } PlayerItem; struct KMagicAttrib { MAGIC_ATTRIB nAttribType; int nValue[3]; KMagicAttrib(){nValue[0] = nValue[1] = nValue[2] = 0; nAttribType = -1; }; }; enum ITEMGENRE { item_equip = 0, // trang bi item_medicine, // thuoc item_mine, // bay item_materials, // vat lieu item_task, // item nhiem vu item_townportal, // tho dia phu item_number, // ÀàÐÍÊýÄ¿ }; enum EQUIPDETAILTYPE { equip_meleeweapon = 0, // vu khi can chien equip_rangeweapon, // vu khi danh xa equip_armor, // ao equip_ring, // nhan equip_amulet, // ngoc boi equip_boots, // giay equip_belt, // that lung equip_helm, // non equip_cuff, // bao tay equip_pendant, // day chuyen equip_horse, // ngua equip_detailnum, }; enum MEDICINEDETAILTYPE { medicine_blood = 0, // binh mau medicine_mana, // binh mana medicine_both, // binh (mau + mana) (vd: Ngu Hoa Ngoc Lo Hoan) medicine_stamina, // binh the luc medicine_antipoison, // thuoc giai doc medicine_detailnum, }; enum OBJ_ATTRIBYTE_TYPE { series_metal = 0, // kim series_wood, // moc series_water, // thuy series_fire, // hoa series_earth, // tho series_num, }; ttypedef struct { ITEMGENRE nItemGenre; int nDetailType; int nParticularType; int nObjIdx; int nDataId; BOOL bStack; int nWidth; int nHeight; int nPrice; int nLevel; OBJ_ATTRIBYTE_TYPE nSeries; char szItemName[80]; char szImageName[80]; char szIntro[256]; BYTE unknown2[0x058]; } KItemCommonAttrib; class KItem { public: BYTE m_unknown1[0x04]; KItemCommonAttrib m_CommonAttrib; KItemNormalAttrib m_BaseAttrib[7]; KItemNormalAttrib m_RequireAttrib[6]; KItemNormalAttrib m_MagicAttrib[6]; BYTE m_unknown2[0x02C]; int m_nCurrentDur; int m_nMaxDur; BYTE m_unknown3[0x01AC]; }; #define Item (*(KItem**)KITEM_PTR_ADDR) PlayerItem* GetFirstItem() { BYTE* pItemList = *(BYTE**)KPLAYER_PTR_ADDR + KPLAYER_SIZE + KITEMLIST_OFF; PlayerItem* pRet; __asm { push eax push ecx mov ecx, pItemList mov eax, KITEMLIST_GETFIRSTITEM call eax mov pRet, eax pop ecx pop eax } return pRet; } PlayerItem* GetNextItem() { BYTE* pItemList = *(BYTE**)KPLAYER_PTR_ADDR + KPLAYER_SIZE + KITEMLIST_OFF; PlayerItem* pRet; __asm { push eax push ecx mov ecx, pItemList mov eax, KITEMLIST_GETNEXTITEM call eax mov pRet, eax pop ecx pop eax } return pRet; } BOOL ApplyUseItem(int nIdx, int nPlace, int nX, int nY) { BYTE* pPlayer = *(BYTE**)KPLAYER_PTR_ADDR + KPLAYER_SIZE; BOOL bRet; __asm { push eax push ecx mov eax, nY push ecx mov eax, nX push eax mov eax, nPlace push eax mov eax, nIdx push eax mov ecx, pPlayer mov eax, KPLAYER_APPLYUSEITEM call eax mov bRet, eax pop ecx pop eax } return bRet; }Làm sao để sử dụng vật phẩm? Nhìn vào hàm ApplyUseItem, ta thấy có 4 tham số đầu vào:
int nIdx: chính là index của item trong mảng 512 item
int nPlace: là nơi cất item (3 = hành trang, 7 = hot bar (1, 2, 3))
int nX, nY: vị trí của nó trong nơi cất item
Những thông số này có thể lấy được nhờ 2 hàm: GetFirstItem và GetNextItem, 2 hàm này
sẽ duyệt qua hết tất cả item của player.
Dựa vào 2 hàm này, ta có thể viết được hàm dùng item theo loại:
/* trả về TRUE nếu dùng được, FALSE nếu ngược lại */ BOOL UseItemByGenreDetail(int nGenre, int nDetail) { PlayerItem *pItem; pItem = GetFirstItem(); while(pItem != NULL) { if((pItem->nPlace == 7) || (pItem->nPlace == 3)) // chi dung duoc item trong hanh trang & hot bar { if(Item[pItem->nIdx].m_CommonAttrib.nItemGenre == nGenre) { if(nGenre == item_medicine) { if(Item[pItem->nIdx].m_CommonAttrib.nParticularType == nDetail) return ApplyUseItem(pItem->nIdx, pItem->nPlace, pItem->nX, pItem->nY); } else { if(Item[pItem->nIdx].m_CommonAttrib.nDetailType == nDetail) return ApplyUseItem(pItem->nIdx, pItem->nPlace, pItem->nX, pItem->nY); } } } pItem = GetNextItem(); // duyet item tiep theo } /* khong tim thay item */ return FALSE; }Sử dụng hàm này như thế nào:
/* Sử dụng 1 bình máu trong hành trang hoặc hotbar */ UseItemByGenreDetail(item_medicine, medicine_blood);Dựa vào các thông tin mà tôi đưa ra, các bạn có thể viết thêm hàm dùng item theo tên, đếm item theo loại, theo tên, kiểm tra độ bền....Good luck!!!
Edited by kirimaru, 13 August 2009 - 12:56 PM.
#68
Posted 10 August 2009 - 08:27 AM

/* *************** */
/* game_y 6.0.6 */
/* author: Kirimaru */
/* [email protected] */
/* *************** */
đây ko chỉ là tôn trọng tác giả mà còn là đạo đức nghề nghiệp ... Điều mà 1 số người vẫn ko làm được.
#69
Posted 10 August 2009 - 08:48 AM


#70
Posted 10 August 2009 - 09:00 AM

#71
Posted 10 August 2009 - 09:03 AM

#ifndef KMagicAttribH #define KMagicAttribH // ö¾ÙÀàÐÍ×îºóÒ»¸ö×Öĸ±íʾ¸ÃÊýÖµµÄÀàÐÍ£¬vÎ� �� �� �ÕûÐÍ£¬Ö±½Ó¼ÓµÄµãÊý£¬pΪ°Ù·Ö±È£¬bΪ²¼¶ûÐ� �� � enum MAGIC_ATTRIB { //¸Ä±ä¼¼ÄܵÄÊôÐÔ invalid_attrib = -1, magic_skill_begin, magic_skill_cost_v, // ÏûºÄMANA magic_skill_costtype_v, // magic_skill_mintimepercast_v, // ÿ´Î·¢Ä§·¨µÄ¼ä¸ôʱ¼ä magic_skill_misslenum_v, // magic_skill_misslesform_v, magic_skill_param1_v, magic_skill_param2_v, magic_skill_reserve1, magic_skill_reserve2, magic_skill_reserve3, magic_skill_reserve4, magic_skill_eventskilllevel, magic_skill_end, //¸Ä±ä·¢³ö×Óµ¯µÄÊôÐÔ magic_missle_begin, magic_missle_movekind_v, // ×Óµ¯¸ñʽ magic_missle_speed_v, // ×Óµ¯·ÉÐÐËÙ¶È magic_missle_lifetime_v, // ×Óµ¯µÄÉúÃüʱ¼ä magic_missle_height_v, // ×Óµ¯µÄ¸ß¶È magic_missle_damagerange_v, // ×Óµ¯ÆÆ»µ·¶Î§ magic_missle_radius_v, // ×Óµ¯·ÉÐа뾶 magic_missle_reserve1, magic_missle_reserve2, magic_missle_reserve3, magic_missle_reserve4, magic_missle_reserve5, magic_missle_end, //×°±¸ÊôÐÔ magic_item_begin, magic_weapondamagemin_v, magic_weapondamagemax_v, magic_armordefense_v, magic_durability_v, magic_requirestr, magic_requiredex, magic_requirevit, magic_requireeng, magic_requirelevel, magic_requireseries, magic_requiresex, magic_requiremenpai, magic_weapondamageenhance_p, magic_armordefenseenhance_p, magic_requirementreduce_p, magic_indestructible_b, magic_item_reserve1, magic_item_reserve2, magic_item_reserve3, magic_item_reserve4, magic_item_reserve5, magic_item_reserve6, magic_item_reserve7, magic_item_reserve8, magic_item_reserve9, magic_item_reserve10, magic_item_end, //Ö÷¶¯¹¥»÷É˺¦ÊôÐÔ magic_damage_begin, magic_attackrating_v, magic_attackrating_p, magic_ignoredefense_p, magic_physicsdamage_v, magic_colddamage_v, magic_firedamage_v, magic_lightingdamage_v, magic_poisondamage_v, magic_magicdamage_v, magic_physicsenhance_p, magic_steallife_p, magic_stealmana_p, magic_stealstamina_p, magic_knockback_p, magic_deadlystrike_p, magic_fatallystrike_p, magic_stun_p, magic_damage_reserve1, magic_damage_reserve2, magic_damage_reserve3, magic_damage_reserve4, magic_damage_reserve5, magic_damage_reserve6, magic_damage_reserve7, magic_damage_reserve8, magic_damage_reserve9, magic_damage_reserve10, magic_damage_end, //±»¶¯¡¢×´Ì¬¡¢¹â»·ÀàÊôÐÔ magic_normal_begin, magic_lifemax_v, magic_lifemax_p, magic_life_v, magic_lifereplenish_v, magic_manamax_v, magic_manamax_p, magic_mana_v, magic_manareplenish_v, magic_staminamax_v, magic_staminamax_p, magic_stamina_v, magic_staminareplenish_v, magic_strength_v, magic_dexterity_v, magic_vitality_v, magic_energy_v, magic_poisonres_p, magic_fireres_p, magic_lightingres_p, magic_physicsres_p, magic_coldres_p, magic_freezetimereduce_p, magic_burntimereduce_p, magic_poisontimereduce_p, magic_poisondamagereduce_v, magic_stuntimereduce_p, magic_fastwalkrun_p, magic_visionradius_p, magic_fasthitrecover_v, magic_allres_p, magic_attackspeed_v, magic_castspeed_v, magic_meleedamagereturn_v, magic_meleedamagereturn_p, magic_rangedamagereturn_v, magic_rangedamagereturn_p, magic_addphysicsdamage_v, magic_addfiredamage_v, magic_addcolddamage_v, magic_addlightingdamage_v, magic_addpoisondamage_v, magic_addphysicsdamage_p, magic_slowmissle_b, magic_changecamp_b, magic_physicsarmor_v, magic_coldarmor_v, magic_firearmor_v, magic_poisonarmor_v, magic_lightingarmor_v, magic_damagetomana_p, magic_lucky_v, magic_steallifeenhance_p, magic_stealmanaenhance_p, magic_stealstaminaenhance_p, magic_allskill_v, magic_metalskill_v, magic_woodskill_v, magic_waterskill_v, magic_fireskill_v, magic_earthskill_v, magic_knockbackenhance_p, magic_deadlystrikeenhance_p, magic_stunenhance_p, magic_badstatustimereduce_v, magic_manashield_p, magic_adddefense_v, magic_adddefense_p, magic_fatallystrikeenhance_p, magic_lifepotion_v, magic_manapotion_v, magic_physicsresmax_p, magic_coldresmax_p, magic_fireresmax_p, magic_lightingresmax_p, magic_poisonresmax_p, magic_allresmax_p, magic_coldenhance_p, magic_fireenhance_p, magic_lightingenhance_p, magic_poisonenhance_p, magic_magicenhance_p, magic_attackratingenhance_v, magic_attackratingenhance_p, magic_normal_end, }; #endif
MAGIC_ATTRIB đây. Chôm nguyên xi của Kingsoft. Còn nếu bạn dùng SendMessage để truyền tham số thì không kiểm tra được giá trị trả về đâu. Chỉ việc gọi hàm, không cần quan tâm đến giá trị trả về

Chôm của VNG đây, dùng font ABC đọc nhé!
Descript] //¸Ä±ä¼¼ÄܵÄÊôÐÔ skill_begin= // ÏûºÄMANA skill_cost_v=Tiªu hao: #d1- ®iÓm skill_costtype_v=Lo¹i h×nh tiªu hao: #k1- // ÿ´Î·¢Ä§·¨µÄ¼ä¸ôʱ¼ä skill_mintimepercast_v=Thêi gian gi·n c¸ch #d1- gi©y skill_misslenum_v=§ång thêi xuÊt #d1- skill_misslesform_v= skill_param1_v= skill_param2_v= skill_reserve1= skill_reserve2= skill_reserve3= skill_reserve4= skill_reserve5= skill_end= //¸Ä±ä·¢³ö×Óµ¯µÄÊôÐÔ missle_begin= // ×Óµ¯¸ñʽ missle_movekind_v= // ×Óµ¯·ÉÐÐËÙ¶È missle_speed_v=Tèc ®é xuÊt chiªu khÝ c«ng // ×Óµ¯µÄÉúÃüʱ¼ä missle_lifetime_v=HiÖu qu¶ xuÊt chiªu khÝ c«ng // ×Óµ¯µÄ¸ß¶È missle_height_v = // ×Óµ¯ÆÆ»µ·¶Î§ missle_damagerange_v=Ph¹m vi s¸t th¬ng khÝ c«ng // ×Óµ¯·ÉÐа뾶 missle_radius_v = missle_reserve1= missle_reserve2= missle_reserve3= missle_reserve4= missle_reserve5= missle_end= //×°±¸ÊôÐÔ item_begin= weapondamagemin_v=S¸t th¬ng nhá nhÊt: #d1- ®iÓm weapondamagemax_v=S¸t th¬ng lín nhÊt: #d1- ®iÓm armordefense_v=NÐ tr¸nh: #d1- ®iÓm durability_v=§é bÒn: #d1- ®iÓm requirestr=Yªu cÇu søc m¹nh: #d1- ®iÓm requiredex=Yªu cÇu th©n ph¸p: #d1- ®iÓm requirevit=Yªu cÇu sinh khÝ: #d1- ®iÓm requireeng=Yªu cÇu néi c«ng: #d1- ®iÓm requirelevel=§¼ng cÊp yªu cÇu: #d1- requireseries=Thuéc tÝnh ngò hµnh: #s1- requiresex=Giíi tÝnh: #x1- requiremenpai=M«n ph¸i: #m1- require_translife=Yªu cÇu vâ c«ng: häc ®îc Gi¸ N«ng thÇn c«ng t©m ph¸p weapondamageenhance_p=T¨ng s¸t th¬ng: #d1-% armordefenseenhance_p=T¨ng nÐ tr¸nh: #d1-% requirementreduce_p=Gi¶m thiÓu yªu cÇu: #d1-% indestructible_b=Kh«ng thÓ ph¸ hñy expenhance_p=S¸t th¬ng ®Þch nhËn ®îc kinh nghiÖm #d1+% item_reserve1= item_reserve2= item_reserve3= item_reserve4= item_reserve5= item_reserve6= item_reserve7= item_reserve8= item_reserve9= item_reserve10= item_end= damage_begin= attackrating_v=§é chÝnh x¸c: #d1- ®iÓm attackrating_p=§é chÝnh x¸c: #d1-% ignoredefense_p=Bá qua nÐ tr¸nh: #d1-% physicsdamage_v=S¸t th¬ng vËt lý: #d1- ®Õn #d3- ®iÓm colddamage_v=B¨ng s¸t: #d1- ®Õn #d3- ®iÓm firedamage_v=Háa s¸t: #d1- ®Õn #d3- ®iÓm lightingdamage_v=L«i s¸t: #d1- ®Õn #d3- ®iÓm poisondamage_v=§éc s¸t: #d1- ®iÓm/lÇn magicdamage_v=S¸t th¬ng ngò hµnh #d1- #d3 ®iÓm physicsenhance_p=S¸t th¬ng vËt lý: #d1-% steallife_p=Hót Sinh lùc: #d1-% stealmana_p=Hót Néi lùc: #d1-% stealstamina_p=Hót ThÓ lùc: #d1-% knockback_p=§Èy lïi ®èi ph¬ng: #d1-% deadlystrike_p=TÊn c«ng chÝ m¹ng: #d1-% fatallystrike_p=TÊn c«ng chÝ tö: #d1-% stun_p=Lµm cho¸ng: #d1-% damage_reserve1= damage_reserve2= damage_reserve3= damage_reserve4= damage_reserve5= damage_reserve6= damage_reserve7= damage_reserve8= damage_reserve9= damage_reserve10= damage_end= normal_begin= lifemax_v=Sinh lùc tèi ®a: #d1+ ®iÓm lifemax_p=Sinh lùc tèi ®a: #d1+% life_v=Sinh lùc: #d1+ ®iÓm lifereplenish_v=Phôc håi sinh lùc mçi nöa gi©y: #d1+ ®iÓm manamax_v=Néi lùc tèi ®a: #d1+ ®iÓm manamax_p=Néi lùc tèi ®a: #d1+% mana_v=Néi lùc: #d1+ ®iÓm manareplenish_v=Phôc håi néi lùc mçi nöa gi©y: #d1+ ®iÓm staminamax_v=ThÓ lùc tèi ®a: #d1+ ®iÓm staminamax_p=ThÓ lùc tèi ®a: #d1+% stamina_v=ThÓ lùc: #d1+% staminareplenish_v=Phôc håi thÓ lùc mçi nöa gi©y: #d1+ ®iÓm strength_v=Søc m¹nh: #d1+ ®iÓm dexterity_v=Th©n ph¸p: #d1+ ®iÓm vitality_v=Sinh khÝ: #d1+ ®iÓm energy_v=Néi c«ng: #d1+ ®iÓm poisonres_p=Kh¸ng ®éc: #d1+% fireres_p=Kh¸ng háa: #d1+% lightingres_p=Kh¸ng l«i: #d1+% physicsres_p=Phßng thñ vËt lý: #d1+% coldres_p=Kh¸ng b¨ng: #d1+% freezetimereduce_p=Thêi gian lµm chËm: #d1~% burntimereduce_p= poisontimereduce_p=Thêi gian tróng ®éc: #d1~% poisondamagereduce_v=§éc s¸t: #d1~ stuntimereduce_p=Thêi gian cho¸ng: #d1~% fastwalkrun_p=Tèc ®é di chuyÓn: #d1+% visionradius_p=Ph¹m vi s¸t th¬ng: #d1-% fasthitrecover_v=Thêi gian phôc håi: #d1~ allres_p=Kh¸ng tÊt c¶: #d1+% attackspeed_v=Tèc ®é ®¸nh - ngo¹i c«ng: #d1+% castspeed_v=Tèc ®é ®¸nh - néi c«ng: #d1+% meleedamagereturn_v=Ph¶n ®ßn cËn chiÕn: #d1+ ®iÓm meleedamagereturn_p=Ph¶n ®ßn cËn chiÕn: #d1+% rangedamagereturn_v=Ph¶n ®ßn tÇm xa:: #d1+ ®iÓm rangedamagereturn_p=Ph¶n ®ßn tÇm xa: #d1+% addphysicsdamage_v=S¸t th¬ng vËt lý - ngo¹i c«ng: #d1+ ®iÓm addfiredamage_v=Háa s¸t - ngo¹i c«ng: #d1+ ®iÓm addcolddamage_v=B¨ng s¸t - ngo¹i c«ng: #d1+ ®iÓm addlightingdamage_v=L«i s¸t - ngo¹i c«ng: #d1+ ®iÓm addpoisondamage_v=§éc s¸t - ngo¹i c«ng: #d1+ ®iÓm/lÇn addphysicsdamage_p=S¸t th¬ng vËt lý - ngo¹i c«ng: #d1+% slowmissle_b=Gi¶m tèc ®é xuÊt chiªu khÝ c«ng changecamp_b=Mª hoÆc ®èi ph¬ng physicsarmor_v=Phßng thñ vËt lý: #d1- ®iÓm coldarmor_v=Kh¸ng b¨ng: #d1- ®iÓm firearmor_v=Kh¸ng háa: #d1- ®iÓm poisonarmor_v=Kh¸ng ®éc: #d1- ®iÓm lightingarmor_v=Kh¸ng l«i: #d1- ®iÓm damage2addmana_p=ChuyÓn hãa s¸t th¬ng thµnh néi lùc: #d1+% lucky_v=May m¾n: #d1+% lucky_v_partner=May m¾n tæ ®éi: #d1- ®iÓm allskill_v=Kü n¨ng #l3: #d1+ cÊp metalskill_v=Kü n¨ng hÖ Kim: #d1- cÊp woodskill_v=Kü n¨ng hÖ Méc: #d1- cÊp waterskill_v=Kü n¨ng hÖ Thñy: #d1- cÊp fireskill_v=Kü n¨ng hÖ Háa: #d1- cÊp earthskill_v=Kü n¨ng hÖ Thæ: #d1- cÊp knockback_p=§Èy lïi ®èi ph¬ng: #d1-% deadlystrikeenhance_p=T¨ng tÊn c«ng chÝ m¹ng: #d1+% badstatustimereduce_v=Thêi gian kÐo dµi tr¹ng th¸i kh«ng tèt: #d1~gi©y manashield_p=Néi lùc hé th©n: #d1+% adddefense_v=NÐ tr¸nh: #d1+ ®iÓm adddefense_p=NÐ tr¸nh: #d1+% fatallystrikeenhance_p=TÊn c«ng chÝ m¹ng: #d1+% lifepotion_v=Phôc håi sinh lùc mçi nöa gi©y: #d1+ ®iÓm manapotion_v=Phôc håi néi lùc mçi nöa gi©y: #d1+ ®iÓm physicsresmax_p=Phßng thñ vËt lý tèi ®a: #d1+% coldresmax_p=Kh¸ng b¨ng tèi ®a: #d1+% fireresmax_p=Kh¸ng háa tèi ®a: #d1+% lightingresmax_p=Kh¸ng l«i tèi ®a: #d1+% poisonresmax_p=Kh¸ng ®éc tèi ®a: #d1+% allresmax_p=Møc kh¸ng tÝnh tèi ®a: <color=orange>#d1+%<color> coldenhance_p=Kh¸ng b¨ng: #d1+% fireenhance_p=Kh¸ng háa: #d1+% lightingenhance_p=Kh¸ng l«i: #d1+% poisonenhance_p=Kh¸ng ®éc: #d1~% magicenhance_p=S¸t th¬ng ngò hµnh: #d1-% attackratingenhance_v=§é chÝnh x¸c: #d1+ ®iÓm attackratingenhance_p=§é chÝnh x¸c: #d1+% steallifeenhance_p=Hót sinh lùc: #d1+% stealmanaenhance_p=Hót néi lùc: #d1+% stealstaminaenhance_p=Hót thÓ lùc: #d1+% knockbackenhance_p=§Èy lui: #d1-% stunenhance_p=Lµm cho¸ng: #d1+% addphysicsmagic_v=S¸t th¬ng vËt lý - néi c«ng: #d1+ ®iÓm addcoldmagic_v=B¨ng s¸t - néi c«ng: #d1+ ®iÓm addfiremagic_v=Háa s¸t - néi c«ng: #d1+ ®iÓm addlightingmagic_v=L«i s¸t - néi c«ng: #d1+ ®iÓm addpoisonmagic_v=§éc s¸t - néi c«ng: #d1+ ®iÓm/lÇn fatallystrikeres_p=Kh¸ng ®ßn chÝ m¹ng: #d1+% skill_addskilldamage1=T¨ng s¸t th¬ng [#l1] h#d3-% skill_addskilldamage2=T¨ng s¸t th¬ng [#l1] h#d3-% skill_addskilldamage3=T¨ng s¸t th¬ng [#l1] h#d3-% skill_addskilldamage4=T¨ng s¸t th¬ng [#l1] h#d3-% skill_addskilldamage5=T¨ng s¸t th¬ng [#l1] h#d3-% skill_addskilldamage6=T¨ng s¸t th¬ng [#l1] h#d3-% dynamicmagicshield_v=Néi lùc hé th©n: #d1+ ®iÓm addstealfeatureskill=Sè lÇn sö dông cßn l¹i cña kü n¨ng ngôy trang: #d1- lÇn lifereplenish_p=Håi phôc sinh lùc: <color=orange>#d1+%<color> ignoreskill_p=X¸c suÊt bá qua bïa gi¶m kh¸ng: <color=orange>#d1+%<color> poisondamagereturn_v=Ph¶n ®ßn khi bÞ tróng ®éc: <color=orange>#d1+ ®iÓm<color> poisondamagereturn_p=Ph¶n ®ßn khi bÞ tróng ®éc: <color=orange>#d1+%<color> returnskill_p=X¸c suÊt ph¶n ®ßn bïa chó: <color=orange>#d1+%<color> autoreplyskill=Khi bÞ tróng ®ßn cã x¸c suÊt <color=orange>#d9-%<color> tù thi triÓn <color=water>#l4-<color> <color=orange>cÊp #d7-<color> skill_mintimepercast_v=Thêi gian kh«i phôc chiªu thøc: <color=orange>#f1- gi©y<color> mintimepercastonhorse_v=Thêi gian kh«i phôc chiªu thøc trªn ngùa: <color=orange>#f1- gi©y<color> poison2decmana_p=H¹ ®éc ®èi ph¬ng, ®ång thêi lµm gi¶m <color=orange>#d1-%<color> néi lùc trong <color=orange>#f2- gi©y<color> skill_appendskill=Gåm kü n¨ng: <color=water>#l1-<color>, ®¼ng cÊp cao nhÊt: <color=orange>cÊp #d3-<color> hide=Èn th©n <color=orange>#f2- gi©y<color>, thi triÓn vâ c«ng sÏ hiÖn h×nh trë l¹i clearnegativestate=X¸c suÊt <color=orange>#d1-%<color> lo¹i bá tr¹ng th¸i dÞ thêng cho ®ång ®éi returnres_p=Kh¸ng ph¶n ®ßn: <color=orange>#d1+%<color> dec_percasttimehorse=Gi¶m #l3- thêi gian xuÊt chiªu: díi ngùa<color=orange>#f7-gi©y<color>, trªn ngùa <color=orange>#f4- gi©y<color> dec_percasttime=Gi¶m #l3- thêi gian xuÊt chiªu: <color=orange>#f1- gi©y<color> enhance_709_auto=X¸c suÊt ph¸t ra chiªu [S tö hèng] <color=orange>#d1+%<color> enhance_708_life_p=X¸c suÊt phôc håi sinh lùc [§¶o H Thiªn] t¨ng <color=orange>#d1+%<color> enhance_93_life_v=§iÓm phôc håi sinh lùc [Tõ Hµng Phæ §é] <color=orange>#d1+<color> ®iÓm enhance_711_auto=X¸c suÊt ph¸t chiªu [HÊp Tinh YÓm] <color=orange>#d1+%<color> enhance_714_auto=X¸c suÊt ph¸t chiªu [Hçn Thiªn KhÝ C«ng] <color=orange>#d1+%<color> enhance_717_auto=X¸c suÊt ph¸t chiªu [Lìng Nghi Ch©n KhÝ] <color=orange>#d1+%<color> enhance_723_miss_p=X¸c suÊt khiÕn cho ®èi ph¬ng ho¶ng lo¹n [Ma ¢m PhÖ Ph¸ch] <color=orange>#d1+%<color> normal_end=
Edited by kirimaru, 10 August 2009 - 09:18 AM.
#72
Posted 10 August 2009 - 09:07 AM

kirimaru, on Aug 10 2009, 08:48 AM, said:
Hix pác kirimaru pro quá, pác cho mình hỏi cái nha:Ai có thắc mắc gì thì cứ hỏi thoải mái nhé. Mình sẽ cố gắng trả lời nếu có thể ( và đương nhiên là nếu biết
)
Mình định viết lệnh chat riêng với 1 nhân vật nào đó bằng cách dùng DoScript của game ví dụ như
Say("HoaAnhHung","anh em toi mai thu thanh nhe")
nhưng sao có lúc thì được có lúc thì không (nếu được thì làm bao nhiêu lần cũng được mà nếu không được thì làm bao nhiêu lần cũng không). Mình thử chạy bằng script của JXQuest và AutoXP thì vẫn như thế, có lúc được có lúc không nên mình nghĩ có lẽ là do hàm DoScript của game có vấn đề về lệnh Say("","") thì phải, bác giúp mình với nha.
(À lệnh Chat("","") thì mình làm ok lần nào cũng chạy hết). Thanks pác.
#73
Posted 10 August 2009 - 09:11 AM

MAGIC_ATTRIB nAttribType;thì nghĩa là nAttribType thuộc kiểu MAGIC_ATTRIB , nhưng MAGIC_ATTRIB thì em ko biết nó là enum hay class gì (chắc là enum) .
Giống như ITEMGENRE bác định nghĩa thế này thì rõ rồi
enum ITEMGENRE { item_equip = 0, // trang bi item_medicine, // thuoc item_mine, // bay item_materials, // vat lieu item_task, // item nhiem vu item_townportal, // tho dia phu item_number, // ÀàÐÍÊýÄ¿ };em tìm kỹ rồi mới giám hỏi bác

#74
Posted 10 August 2009 - 09:20 AM

Quote
Mình định viết lệnh chat riêng với 1 nhân vật nào đó bằng cách dùng DoScript của game ví dụ như
Say("HoaAnhHung","anh em toi mai thu thanh nhe")
nhưng sao có lúc thì được có lúc thì không (nếu được thì làm bao nhiêu lần cũng được mà nếu không được thì làm bao nhiêu lần cũng không). Mình thử chạy bằng script của JXQuest và AutoXP thì vẫn như thế, có lúc được có lúc không nên mình nghĩ có lẽ là do hàm DoScript của game có vấn đề về lệnh Say("","") thì phải, bác giúp mình với nha.
(À lệnh Chat("","") thì mình làm ok lần nào cũng chạy hết). Thanks pác.
Mình chưa có tìm hiểu kỹ về các lệnh của DoScript, nếu JXQuest + AutoXP đều như vậy thì chắc hàm DoScript của game_y có vấn đề. Để lúc nào vào VL được, mình kiểm tra lại rồi sẽ cho bạn biết

#76
Posted 10 August 2009 - 10:30 AM


Sử dụng thổ địa phù:
BOOL UseTownPortal() { PlayerItem *pItem; pItem = GetFirstItem(); while(pItem != NULL) { if((pItem->nPlace == 3) || (pItem->nPlace == 7)) { if(Item[pItem->nIdx].m_CommonAttrib.nItemGenre == item_townportal) { return ApplyUseItem(pItem->nIdx, pItem->nPlace, pItem->nX, pItem->nY); } } pItem = GetNextItem(); } return FALSE; }
Edited by kirimaru, 10 August 2009 - 10:32 AM.
#77
Posted 10 August 2009 - 11:00 AM

BOOL UseItemByName(const char *pszItemName) { PlayerItem *pItem; pItem = GetFirstItem(); while(pItem != NULL) { if((pItem->nPlace == 7) || (pItem->nPlace == 3)) // chi dung duoc item trong hanh trang & hot bar { if(strcmp(pszItemName, Item[pItem->nIdx].m_CommonAttrib.szItemName) == 0) { return ApplyUseItem(pItem->nIdx, pItem->nPlace, pItem->nX, pItem->nY); } } pItem = GetNextItem(); // duyet item tiep theo } /* khong tim thay item */ return FALSE; }
Edited by kirimaru, 10 August 2009 - 11:00 AM.
#78
Posted 10 August 2009 - 11:48 AM

Mình muốn tím địa chỉ của dòng thông báo chạy ngang màn hình để săn boss. Theo mình nghĩ và nhưng gì mình đã thử tìm thử = CE thì: Đúng đến giờ boss ra, lấy ví dụ là 19h30 thì tất cả những câu thông báo chạy ngang màn hình để báo boss đã được server gửi đến client rồi nhưng vì thời điểm đó có quá nhiều thông báo nên client thông báo ko kịp, và những thông báo đó nằm trong hàng chờ ở phía client và lần lượt xuất hiện.. đến lúc đó, khoảng vài phút sau thì boss đã die hết rồi

Nếu bác nào săn boss thì sẽ rõ, việc nhanh hơn 1 vài giây thôi là rất quan trọng, bây giờ kill boss như máy đấy

Vì vậy rất mong các bác giúp đỡ, và nếu bác nào có cùng ý tưởng thì có thể trao đổi, nick yahoo messenger của mình là: tranductho83
Xin cảm ơn.
#79
Posted 10 August 2009 - 07:26 PM

#80
Posted 11 August 2009 - 08:24 AM

Edited by mondothienvuong, 11 August 2009 - 10:57 AM.
id của item đang giữ và sau khi đã nằm trên mặt đất khác nhau.