[JX] Share source code Rồng dí chuẩn
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 1 của 5 1 2 3 ... CuốiCuối
Kết quả 1 đến 10 của 42
  1. #1
    Thành Viên thienthanden2's Avatar
    Ngày tham gia
    Jun 2007
    Đang ở
    Thiên đường đã lỡ...
    Bài viết
    217
    Thanks
    14
    Thanked 183 Times in 73 Posts

    Share source code Rồng dí chuẩn

    Chào các bạn, hôm nay mình chính thức share code rồng dí cho những bạn chưa biết làm. (Một số sv private hiện nay skill rồng còn chưa đẹp).
    Hình demo:
    [Only registered and activated users can see links. ]
    Đầu tiên các bạn vào file skills.txt sửa chiêu Phi Long Tại Thiên cột MisslesForm thành 1. Vào file missles.txt sửa missle của Phi Long Tại Thiên cột MoveKind thành 5.
    Bây giờ tiến hành sửa code:
    1.File KMissle.cpp
    Hàm KMissle::Activate()
    Code:
    if (m_nFollowNpcIdx > 0)
    	{
    		if ( Npc[m_nFollowNpcIdx].m_SubWorldIndex != m_nSubWorldId) //Sau khi sửa
    		{
    			m_nFollowNpcIdx = 0;
    		}
    	}
    Hàm KMissle::OnFly() tìm case MISSLE_MMK_Follow sửa lại như sau:
    Code:
    case	MISSLE_MMK_Follow:							//	Duoi theo muc tieu
    		{
    			nDOffsetX    = (m_nSpeed * m_nXFactor);
    			nDOffsetY	 = (m_nSpeed * m_nYFactor);
    			int nDistance = 0;
    			int nSrcMpsX = 0;
    			int nSrcMpsY = 0;
    			int nDesMpsX = 0;
    			int nDesMpsY = 0;
    			int		nSin = 0;
    			int		nCos = 0;
    		if (Npc[m_nFollowNpcIdx].m_Index)
    		{
    		if (m_nCurrentLife == m_nLifeTime/2 - m_nLifeTime/8)
    			
    			{		
    			
    			
    			SubWorld[0].Map2Mps(m_nRegionId, m_nCurrentMapX, m_nCurrentMapY, m_nXOffset, m_nYOffset, &nSrcMpsX, &nSrcMpsY);
    			Npc[m_nFollowNpcIdx].GetMpsPos(&nDesMpsX, &nDesMpsY);
    			
    			if (nSrcMpsX != nDesMpsX && nSrcMpsY != nDesMpsY) 
    			{ nDistance = g_GetDistance(nSrcMpsX, nSrcMpsY, nDesMpsX, nDesMpsY);}
    			if ( nDistance != 0)
    				{
    								nSin = ((nDesMpsY - nSrcMpsY) << 10) / nDistance;
    								nCos = ((nDesMpsX - nSrcMpsX) << 10) / nDistance;	
    			if (abs(nSin) <= 1024 && abs(nCos) <= 1024)					
    		{	m_nRefPX			= nSrcMpsX;
    			m_nRefPY			= nSrcMpsY;		
    			m_nXFactor 		= nCos;
    			m_nYFactor	 	= nSin;
    			m_nDir			= g_DirIndex2Dir(g_GetDirIndex(nSrcMpsX, nSrcMpsY, nDesMpsX, nDesMpsY), MaxMissleDir);
    			m_nDirIndex		= g_Dir2DirIndex(m_nDir, MaxMissleDir);	}}
    			}
    			
    		if (m_nCurrentLife == (m_nLifeTime/2) + (m_nLifeTime/8))
    			
    			{		
    			
    			
    			SubWorld[0].Map2Mps(m_nRegionId, m_nCurrentMapX, m_nCurrentMapY, m_nXOffset, m_nYOffset, &nSrcMpsX, &nSrcMpsY);
    			Npc[m_nFollowNpcIdx].GetMpsPos(&nDesMpsX, &nDesMpsY);
    			
    			if (nSrcMpsX != nDesMpsX && nSrcMpsY != nDesMpsY) 
    			{ nDistance = g_GetDistance(nSrcMpsX, nSrcMpsY, nDesMpsX, nDesMpsY);}
    			if ( nDistance != 0)
    				{
    								nSin = ((nDesMpsY - nSrcMpsY) << 10) / nDistance;
    								nCos = ((nDesMpsX - nSrcMpsX) << 10) / nDistance;	
    			if (abs(nSin) <= 1024 && abs(nCos) <= 1024)					
    		{	m_nRefPX			= nSrcMpsX;
    			m_nRefPY			= nSrcMpsY;		
    			m_nXFactor 		= nCos;
    			m_nYFactor	 	= nSin;
    			m_nDir			= g_DirIndex2Dir(g_GetDirIndex(nSrcMpsX, nSrcMpsY, nDesMpsX, nDesMpsY), MaxMissleDir);
    			m_nDirIndex		= g_Dir2DirIndex(m_nDir, MaxMissleDir);	}}
    			}
    		if (m_nCurrentLife == (m_nLifeTime/8)*7)
    			
    			{		
    			
    			
    			SubWorld[0].Map2Mps(m_nRegionId, m_nCurrentMapX, m_nCurrentMapY, m_nXOffset, m_nYOffset, &nSrcMpsX, &nSrcMpsY);
    			Npc[m_nFollowNpcIdx].GetMpsPos(&nDesMpsX, &nDesMpsY);
    			
    			if (nSrcMpsX != nDesMpsX && nSrcMpsY != nDesMpsY) 
    			{ nDistance = g_GetDistance(nSrcMpsX, nSrcMpsY, nDesMpsX, nDesMpsY);}
    			if ( nDistance != 0)
    				{
    								nSin = ((nDesMpsY - nSrcMpsY) << 10) / nDistance;
    								nCos = ((nDesMpsX - nSrcMpsX) << 10) / nDistance;	
    			if (abs(nSin) <= 1024 && abs(nCos) <= 1024)					
    		{	m_nRefPX			= nSrcMpsX;
    			m_nRefPY			= nSrcMpsY;		
    			m_nXFactor 		= nCos;
    			m_nYFactor	 	= nSin;
    			m_nDir			= g_DirIndex2Dir(g_GetDirIndex(nSrcMpsX, nSrcMpsY, nDesMpsX, nDesMpsY), MaxMissleDir);
    			m_nDirIndex		= g_Dir2DirIndex(m_nDir, MaxMissleDir);	}}
    			}	
    		}
    					
    		}break;
    2. File KSkills.cpp
    Hàm KSkill::CastMissles tìm case SKILL_MF_Line -> case SKILL_SLT_Npc sửa lại như sau:
    Code:
    case SKILL_SLT_Npc:
    					{
    						nTargetId		= Param2PCoordinate(nLauncher,nParam1, nParam2, &nDesPX, &nDesPY,  SKILL_SLT_Npc);
    						SubWorld[Npc[nLauncher].m_SubWorldIndex].Map2Mps(Npc[nLauncher].m_RegionIndex, Npc[nLauncher].m_MapX, Npc[nLauncher].m_MapY, Npc[nLauncher].m_OffX, Npc[nLauncher].m_OffY, &nSrcPX, &nSrcPY);
    						nDirIndex		= g_GetDirIndex(nSrcPX, nSrcPY, nDesPX, nDesPY);
    						nDir			= g_DirIndex2Dir(nDirIndex, MaxMissleDir);
    						SkillParam.nLauncher = nLauncher;
    						SkillParam.eLauncherType = eLauncherType;
    						SkillParam.nTargetId = nTargetId;
    						if (m_nChildSkillNum == 1 && (g_MisslesLib[m_nChildSkillId].m_eMoveKind == MISSLE_MMK_Line || g_MisslesLib[m_nChildSkillId].m_eMoveKind == MISSLE_MMK_Parabola) )
    						{
    							if (nSrcPX == nDesPX && nSrcPY == nDesPY)		return FALSE ;
    							nDistance = g_GetDistance(nSrcPX, nSrcPY, nDesPX, nDesPY);
    							
    							if (nDistance == 0 ) return FALSE;
    							int		nYLength = nDesPY - nSrcPY;
    							int		nXLength = nDesPX - nSrcPX;
    							int		nSin = (nYLength << 10) / nDistance;	// 放大1024倍
    							int		nCos = (nXLength << 10) / nDistance;
    							
    							if (abs(nSin) > 1024) 
    								return FALSE;
    
    							if (abs(nCos) > 1024) 
    								return FALSE;
    														
    							CastExtractiveLineMissle(&SkillParam, nDir, nSrcPX, nSrcPY, nCos, nSin, nDesPX, nDesPY);
    						}
    						else
    						if ( g_MisslesLib[m_nChildSkillId].m_eMoveKind == MISSLE_MMK_Follow ) 
    						{
    						if (m_nChildSkillNum == 1)
    							{
    							if (nSrcPX == nDesPX && nSrcPY == nDesPY)		return FALSE ;
    							nDistance = g_GetDistance(nSrcPX, nSrcPY, nDesPX, nDesPY);
    							
    							if (nDistance == 0 ) return FALSE;
    							int		nYLength = nDesPY - nSrcPY;
    							int		nXLength = nDesPX - nSrcPX;
    							int		nSin = (nYLength << 10) / nDistance;	
    							int		nCos = (nXLength << 10) / nDistance;
    							
    							if (abs(nSin) > 1024) 
    								return FALSE;
    
    							if (abs(nCos) > 1024) 
    								return FALSE;
    														
    							CastExtractiveLineMissle(&SkillParam, nDir, nSrcPX, nSrcPY, nCos, nSin, nDesPX, nDesPY);
    							}
    							else
    							{
    							if (nSrcPX == nDesPX && nSrcPY == nDesPY)		return FALSE ;
    							nDistance = g_GetDistance(nSrcPX, nSrcPY, nDesPX, nDesPY);
    							
    							if (nDistance == 0 ) return FALSE;
    							int		nYLength = nDesPY - nSrcPY;
    							int		nXLength = nDesPX - nSrcPX;
    							int		nSin = (nYLength << 10) / nDistance;	
    							int		nCos = (nXLength << 10) / nDistance;
    							
    							if (abs(nSin) > 1024) 
    								return FALSE;
    
    							if (abs(nCos) > 1024) 
    								return FALSE;
    							if (nDir>=0 && nDir<4 || nDir>=60 && nDir<=64) //huong danh 6h
    							{	nSrcPX -= 60; nDesPX -= 60;
    								int Lechx = 30;
    								int Count = 1;
    								for(int i = 0; i < m_nChildSkillNum; i++)
    								{
    								int NewScrX = nSrcPX + Lechx*Count;
    								
    								int NewDesX = nDesPX + Lechx*Count;
    								
    							CastExtractiveLineMissle(&SkillParam, nDir, NewScrX, nSrcPY, nCos, nSin, NewDesX, nDesPY);
    								Count++;
    								}
    							}
    							if (nDir>=4 && nDir<=10) //huong 7h30
    							{	nSrcPX -= 60;  nSrcPY -= 50; nDesPX -= 60;  nDesPY -= 50;
    								int Lechx = 30; int Lechy = 25;
    								int Count = 1;
    								for(int i = 0; i < m_nChildSkillNum; i++)
    								{
    								int NewScrX = nSrcPX + Lechx*Count;
    								int NewScrY = nSrcPY + Lechy*Count;
    								int NewDesX = nDesPX + Lechx*Count;
    								int NewDesY = nDesPY + Lechy*Count;
    							CastExtractiveLineMissle(&SkillParam, nDir, NewScrX, NewScrY, nCos, nSin, NewDesX, NewDesY);
    								Count++;
    								}
    							}}}else
    							CastLine(&SkillParam, nDir, nSrcPX,nSrcPY);
    					}break;
    Hàm KSkill::CastExtractiveLineMissle tìm và thêm:
    Code:
    if (Missle[nMissleIndex].m_eMoveKind == MISSLE_MMK_Line || Missle[nMissleIndex].m_eMoveKind == MISSLE_MMK_Parabola || Missle[nMissleIndex].m_eMoveKind == MISSLE_MMK_Follow) // thêm MISSLE_MMK_Follow
    			{
    				
    				Missle[nMissleIndex].m_nXFactor = nXOffset;
    				Missle[nMissleIndex].m_nYFactor = nYOffset;
    			}
    Như vậy là xong rồi đó các bạn, nhưng ở đây mình mới chỉ làm đánh được hướng 6h đến 8h thôi. nDir có tất cả 64 giá trị. Các hướng còn lại là phần dành cho các bạn làm, cũng quy tắc tương tự như vậy thôi. Chúc các bạn thành công.
    Khách viếng thăm hãy cùng thienthanden2 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. The Following 30 Users Say Thank You to thienthanden2 For This Useful Post:

    3z0k2 (09-03-13), AlexKing (14-02-15), assaa (23-06-14), Bi_Dep_Trai (07-01-13), f-fantasy (09-01-13), gunbb92 (30-05-13), h3a2e1g9 (08-01-13), hdk2010 (18-03-13), hoangtu_eck94 (08-01-13), huntersun (07-01-13), jxvietnam (07-01-13), Kai_it (08-01-13), khungboktvn (30-04-13), lenguyen2504 (28-03-14), Mr.Achuky (21-06-13), nghiadht (27-05-14), nguyen_van003 (06-01-13), nhoxmap_b7 (06-01-13), phamngochai2 (07-01-13), phihanh (08-05-13), quangvienvip3 (04-02-13), radise (07-01-13), satthupro95 (08-01-13), SystemError (07-01-13), tam241992 (07-01-13), thanhtunghk (07-01-13), trieuthanh1993 (30-01-13), vipprolc (11-02-13), Vo Le (13-06-13), yukite26 (04-02-13)

  3. #2
    Thành Viên
    Ngày tham gia
    Jun 2009
    Bài viết
    445
    Thanks
    213
    Thanked 53 Times in 37 Posts

    Ðề: Share source code Rồng dí chuẩn

    Cảm ơn bạn vì tinh thần chia sẻ nhé!
    Khách viếng thăm hãy cùng nguyen_van003 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #3
    Thành Viên
    Ngày tham gia
    May 2012
    Bài viết
    316
    Thanks
    10
    Thanked 80 Times in 36 Posts

    Ðề: Share source code Rồng dí chuẩn

    pro đã xuất hiện share code, đang làm cái này mà các hướng chưa ra, có người share rồi .Thank pro đã share
    Khách viếng thăm hãy cùng tam241992 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #4
    Thành Viên lzlsky301's Avatar
    Ngày tham gia
    Nov 2011
    Đang ở
    The Moon
    Bài viết
    366
    Thanks
    85
    Thanked 230 Times in 76 Posts

    Ðề: Share source code Rồng dí chuẩn

    Pro ẩn danh mới nào đây nhỉ
    Khách viếng thăm hãy cùng lzlsky301 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #5
    Thành Viên
    Ngày tham gia
    May 2012
    Bài viết
    316
    Thanks
    10
    Thanked 80 Times in 36 Posts

    Ðề: Share source code Rồng dí chuẩn

    Trích dẫn Gửi bởi lzlsky301 [Only registered and activated users can see links. ]
    Pro ẩn danh mới nào đây nhỉ
    Chắc lão làng JX đã rời bỏ nên quay lại share code ý mà
    Khách viếng thăm hãy cùng tam241992 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #6
    Thành Viên thienthanden2's Avatar
    Ngày tham gia
    Jun 2007
    Đang ở
    Thiên đường đã lỡ...
    Bài viết
    217
    Thanks
    14
    Thanked 183 Times in 73 Posts

    Ðề: Share source code Rồng dí chuẩn

    Trích dẫn Gửi bởi tam241992 [Only registered and activated users can see links. ]
    Chắc lão làng JX đã rời bỏ nên quay lại share code ý mà
    Hìi, lão làng gì, mới đụng source 1 tháng gần đây thôi. Nhưng mình là khách hàng thân thiết của VNG (chơi Võ Lâm từ thời mới mở cửa).
    Khách viếng thăm hãy cùng thienthanden2 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  8. #7
    Thành Viên
    Ngày tham gia
    May 2012
    Bài viết
    316
    Thanks
    10
    Thanked 80 Times in 36 Posts

    Ðề: Share source code Rồng dí chuẩn

    Trích dẫn Gửi bởi thienthanden2 [Only registered and activated users can see links. ]
    Hìi, lão làng gì, mới đụng source 1 tháng gần đây thôi. Nhưng mình là khách hàng thân thiết của VNG (chơi Võ Lâm từ thời mới mở cửa).
    vậy cho hỏi 1 tí, khi server ko có lỗi gì ở code soucre, khi code 1 chức năng khác thì nó lỗi quái lắm, là bị chết mà ko về thành, ko đóng mở PK, ko mở tổ đội, 1 code mà ra tới 3 lỗi ko liên quan tới pó chíu, anh có biết lỗi này thì giúp em.
    Khách viếng thăm hãy cùng tam241992 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. #8
    Thành Viên thienthanden2's Avatar
    Ngày tham gia
    Jun 2007
    Đang ở
    Thiên đường đã lỡ...
    Bài viết
    217
    Thanks
    14
    Thanked 183 Times in 73 Posts

    Ðề: Share source code Rồng dí chuẩn

    Trích dẫn Gửi bởi tam241992 [Only registered and activated users can see links. ]
    vậy cho hỏi 1 tí, khi server ko có lỗi gì ở code soucre, khi code 1 chức năng khác thì nó lỗi quái lắm, là bị chết mà ko về thành, ko đóng mở PK, ko mở tổ đội, 1 code mà ra tới 3 lỗi ko liên quan tới pó chíu, anh có biết lỗi này thì giúp em.
    Bạn có lập 1 topic về vấn đề này rồi, nhưng bạn ko nói rõ là code thêm chức năng gì ở những file nào, hàm nào. Nên cũng khó nói.
    Khách viếng thăm hãy cùng thienthanden2 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  10. #9
    Thành Viên
    Ngày tham gia
    May 2012
    Bài viết
    316
    Thanks
    10
    Thanked 80 Times in 36 Posts

    Ðề: Share source code Rồng dí chuẩn

    Trích dẫn Gửi bởi thienthanden2 [Only registered and activated users can see links. ]
    Bạn có lập 1 topic về vấn đề này rồi, nhưng bạn ko nói rõ là code thêm chức năng gì ở những file nào, hàm nào. Nên cũng khó nói.
    uhm code thêm chức năng ủy thác từ button trong soucre, khi code xong thì test ok, còn test đánh chết thì ko về thành, ko tắt đc pk, ko mở tổ đội đc.Là vậy đó anh, anh có yahoo cho em xin hỏi cho tiện, code chức năng lỗi cái ko liên quan đến code ko biết nguyên nhân sao.
    Lần sửa cuối bởi tam241992, ngày 07-01-13 lúc 02:31 AM.
    Khách viếng thăm hãy cùng tam241992 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  11. #10
    Thành Viên thienthanden2's Avatar
    Ngày tham gia
    Jun 2007
    Đang ở
    Thiên đường đã lỡ...
    Bài viết
    217
    Thanks
    14
    Thanked 183 Times in 73 Posts

    Ðề: Share source code Rồng dí chuẩn

    Trích dẫn Gửi bởi tam241992 [Only registered and activated users can see links. ]
    uhm code thêm chức năng ủy thác từ button trong soucre, khi code xong thì test ok, còn test đánh chết thì ko về thành, ko tắt đc pk, ko mở tổ đội đc.Là vậy đó anh, anh có yahoo cho em xin hỏi cho tiện, code chức năng lỗi cái ko liên quan đến code ko biết nguyên nhân sao.
    Mình ko nắm đc code của bạn nên cũng mơ hồ lắm, ko biết đc đâu. Bạn thử đóng khung code mới (bỏ) rồi test lại xem có phải do nó gây ra ko. Có gì bạn copy nguyên phần code bạn đã thêm vào hộp tin của mình, khi nào rảnh thì mình sẽ coi và cố gắng giúp bạn.
    Khách viếng thăm hãy cùng thienthanden2 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 1 của 5 1 2 3 ... CuốiCuối

Các Chủ đề tương tự

  1. [JX] Hướng dẫn code Sử dụng quest Item bằng chuột phải từ Source
    Bởi trananh88vt trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)
    Trả lời: 9
    Bài viết cuối: 31-10-12, 07:37 AM
  2. [JX] Code vạn lượng trong Source, Chuẩn:P
    Bởi runkissbig trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)
    Trả lời: 4
    Bài viết cuối: 02-10-12, 08:16 PM
  3. can source code nhat kiem trung quoc chua viet hoa
    Bởi dazhus trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 1
    Bài viết cuối: 23-02-12, 07:11 PM
  4. [JX] Chuẩn bị sẽ share source full jx online nguồn china nhé!
    Bởi kimrubi trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)
    Trả lời: 40
    Bài viết cuối: 22-12-11, 09:22 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 06:53 AM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.