Jump to content

Mu Moi ra - Vina MU

Cộng đồng Âm nhạc Việt Nam

Photo

Tiếp tục học code Auto

* * - - - 1 votes

221 replies to this topic

#61
MrGấu

MrGấu

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 508 posts
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
Diễn đàn IT Xây Dựng
www.ITxaydung.Net

#62
tctruc

tctruc

    Căn bản tin học tốt

  • Member
  • Pip
  • 58 posts

_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
tctruc

tctruc

    Căn bản tin học tốt

  • Member
  • Pip
  • 58 posts

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
mocluu

mocluu

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 263 posts

tctruc, on Aug 9 2009, 03:25 PM, said:

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.

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ác 8->
Xem tử vi để biết bản đồ của đời người. Biết mà chuẩn bị kỹ càng và vươn lên trên số phận con người.

#65
Open Mind's

Open Mind's

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 250 posts
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á :dede . 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ỗ.

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

C# Việt Nam
http://csharpvn.com/

#66
mocluu

mocluu

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 263 posts

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ỗ.

:jeje: Thì viết lại y nguyên code của bác mondothienvuong mà, hàm Buff vẫn buff đc đấy bạn. Bác mondothienvuong bảo sửa trong hook mà đọc lại trong bài hướng dẫn của bác ý vẫn chưa ra. Hỏi bác tctruc thì bác ý bảo dùng hàm SendClientCmdRun nữa, làm theo lời bác ý thì chạy được rồi.
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é :dede
Xem tử vi để biết bản đồ của đời người. Biết mà chuẩn bị kỹ càng và vươn lên trên số phận con người.

#67
kirimaru

kirimaru

    Cử nhân CSTH

  • VIP
  • PipPipPipPipPip
  • 1,085 posts
SỬ DỤNG VẬT PHẨM:
/*	***************	*/
/*	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
Tru Bat Gioi

Tru Bat Gioi

    Upload Team

  • VIP
  • PipPipPipPipPip
  • 1,320 posts
Các bạn nào sữ dụng code bên trên của kirimaru thì nhớ giữ dòng này của tác giả nhé

/* *************** */
/* 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
kirimaru

kirimaru

    Cử nhân CSTH

  • VIP
  • PipPipPipPipPip
  • 1,085 posts
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 :( )

#70
mocluu

mocluu

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 263 posts
bác kirimaru ơi, MAGIC_ATTRIB được định nghĩa ỏ đâu vậy bác . Sử dụng các hàm có tham số vào của bác thì mình dùng hàm PostMessage để truyền giá trị của tham số vào trước rồi gọi hàm. Nhưng có 1 số hàm trả về BOOL, em ko biết làm cách nào để kiểm tra giá trị trả về của hàm là true hay false .Bác chỉ em với
Xem tử vi để biết bản đồ của đời người. Biết mà chuẩn bị kỹ càng và vươn lên trên số phận con người.

#71
kirimaru

kirimaru

    Cử nhân CSTH

  • VIP
  • PipPipPipPipPip
  • 1,085 posts
#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=Gim 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=Phn ®ßn cËn chiÕn: #d1+ ®iÓm
meleedamagereturn_p=Phn ®ßn cËn chiÕn: #d1+%
rangedamagereturn_v=Phn ®ßn tÇm xa:: #d1+ ®iÓm
rangedamagereturn_p=Phn ®ß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=Gim 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 gim kh¸ng: <color=orange>#d1+%<color>
poisondamagereturn_v=Phn ®ßn khi bÞ tróng ®éc: <color=orange>#d1+ ®iÓm<color>
poisondamagereturn_p=Phn ®ßn khi bÞ tróng ®éc: <color=orange>#d1+%<color>
returnskill_p=X¸c suÊt phn ®ß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 gim <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>
hiden 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 phn ®ßn: <color=orange>#d1+%<color>
dec_percasttimehorse=Gim #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=Gim #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_viÓ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 hong lo¹n [Ma ¢m PhÖ Ph¸ch] <color=orange>#d1+%<color>
normal_end=

Edited by kirimaru, 10 August 2009 - 09:18 AM.


#72
crybee83

crybee83

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 540 posts

kirimaru, on Aug 10 2009, 08:48 AM, said:

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 :( )

Hix pác kirimaru pro quá, pác cho mình hỏi cái nha:

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
mocluu

mocluu

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 263 posts
hix,
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 :clap
Xem tử vi để biết bản đồ của đời người. Biết mà chuẩn bị kỹ càng và vươn lên trên số phận con người.

#74
kirimaru

kirimaru

    Cử nhân CSTH

  • VIP
  • PipPipPipPipPip
  • 1,085 posts

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 :clap

#75
mocluu

mocluu

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 263 posts
server Cập Phong vẫn vào đc đó các bác, tranh thủ ko vào đc server chính vào đây test auto chơi :-&
Xem tử vi để biết bản đồ của đời người. Biết mà chuẩn bị kỹ càng và vươn lên trên số phận con người.

#76
kirimaru

kirimaru

    Cử nhân CSTH

  • VIP
  • PipPipPipPipPip
  • 1,085 posts
Đã test, sử dụng vật phẩm rất là tốt, hehehe 8->!
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
kirimaru

kirimaru

    Cử nhân CSTH

  • VIP
  • PipPipPipPipPip
  • 1,085 posts
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
tranductho

tranductho

    Trình độ A CSTH

  • Advance Member
  • PipPip
  • 179 posts
Có 1 vấn đề này, cũng đã nhờ cậy nhiều chỗ nhưng ko có kết quả, post lên đây rất mong các bác giúp đỡ. Đó là như thế này:

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 8->. Mình đã dùng CE để find text đúng vào thời điểm 19h30 thì thấy đúng như vậy, lúc đó để ý thấy dòng thông báo đó đang chạy thông báo TK hay bất cứ thông báo gì khác nhưng search = CE thì đã thấy text báo boss rồi. Nhưng vấn đề là mình ko biết cách tìm ra địa chỉ đó, mỗi lần out game thì lại thay đổ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 :ay:.

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
hungdpiqn

hungdpiqn

    Thành viên mới

  • Member
  • 34 posts
Các bác cho em hỏi làm cách nào để biết id của 1 Item mình vừa vứt ra mặt đất rồi đưa item đó vào danh sách lag để nhân vật không nhặt lại item đó nữa. Em đang đang làm như sau nhưng thấy không tốt lắm, nhiều khi không cho kết qua như mong muốn mà lại rất chậm: là trước khi vứt Item thì duyệt toàn bộ Obj trên mặt đất rồi lưu lại và sau khi vứt lại duyệt toàn bộ obj trên mặt đất tiếp, nếu thấy chỗ nào khác thì lấy id của item ở chỗ đó đưa vào danh sách lag. Mong các bác giúp đỡ.

#80
tranductho

tranductho

    Trình độ A CSTH

  • Advance Member
  • PipPip
  • 179 posts
Sao bác ko lấy id và đưa item đó vào danh sách lag ngay trước khi bác vất mà phải để vất ra rồi mới đưa?

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.




Reply to this topic


dragonknightmt's Photo
Rich Text Editor
  


1 user(s) are reading this topic

1 members, 0 guests, 0 anonymous users




Stars Counter Game

Balloon vs. Thorns

MU Phuc Hung

Làm Việc Tài Nhà

Mu Da Nang

Tuyển Nhân Viên Bán Hàng

Tư vấn sức khỏe trực tuyến

Close [X]