Kết quả 1 đến 10 của 19
-
05-02-13, 07:57 PM #1
- Ngày tham gia
- Jun 2007
- Đang ở
- Thiên đường đã lỡ...
- Bài viết
- 217
- Thanks
- 14
- Thanked 183 Times in 73 Posts
Source code - Tạo trap mới cho map
Xin chào mọi người!
Có lẽ việc mò ra trap đôi khi làm chúng ta đau đầu, vì có nhiều trap quá khó để tìm ra. Thôi thì chúng ta không cần nhọc công nữa mà code luôn từ source cho nhanh. Hôm nay mình xin hướng dẫn cách tạo 1 trap mới ở bất kỳ nơi đâu.
Mình xin lấy ví dụ trap từ Cái Bang qua Dương Châu. Đây là cách kiểm tra tọa độ trong game bằng script lua :
Code:function kiemtratoado() w,x,y = GetWorldPos(); Msg2Player("Ban dang o Map "..w.." Toa do "..x..", "..y) end;
1. File \JX\swrod3\SwordOnline\Sources\Core\Src\KNpc.h
Tìm và khai báo thêm 1 hàm mới
PHP Code:.....................................
int m_NpcSettingIdx; // Npc的设定文件索引
int m_CorpseSettingIdx; // Npc的尸体定义索引
char ActionScript[80]; // Npc的行为脚本
char ScriptFile[100]; //dòng thêm để chứa đường dẫn file script .lua tạm thời
DWORD m_ActionScriptID; // Npc的行为脚本ID(使用时用这个来检索)
DWORD m_TrapScriptID; // Npc的当前Trap脚本ID;
..............................................
void OnWalk();
void DoRun();
void OnRun();
void OnTrap(); // dòng thêm
void DoSkill(int nX, int nY);
int DoOrdinSkill(KSkill * pSkill, int nX, int nY);
void OnSkill();
............................................
Tìm hàm void KNpc::Init() và thêm
PHP Code:.........................
ZeroMemory(Name, 32); // Npc的名称
m_NpcSettingIdx = 0; // Npc的设定文件索引
m_CorpseSettingIdx = 0; // Body的设定文件索引
ZeroMemory(ActionScript,32);
ZeroMemory(ScriptFile,sizeof(ScriptFile)); // chỉ thêm dòng này để khởi tạo
m_ActionScriptID = 0;
m_TrapScriptID = 0;
...........................
PHP Code:void KNpc::OnRun()
{
OnTrap(); // dòng thêm
WaitForFrame();
ServeMove(m_CurrentRunSpeed);
}
PHP Code:void KNpc::OnWalk()
{
OnTrap(); // dòng thêm
#ifndef _SERVER
// 处理客户端的动画换帧等……
#endif
WaitForFrame();
ServeMove(m_CurrentWalkSpeed);
}
PHP Code:BOOL KNpc::OnJump()
{
OnTrap(); // dòng thêm
ServeJump(m_CurrentJumpSpeed);
if (WaitForFrame())
{
DoStand();
m_ProcessAI = 1;
return FALSE;
}
return TRUE;
}
PHP Code:void KNpc::OnTrap() // chức năng: tạo trap by thienthanden2
{
if (IsPlayer())
{
switch (SubWorld[m_SubWorldIndex].m_SubWorldID)
{
case 115: // ID của map Cái Bang xem trong worldset.ini, muốn tạo trap ở map khác thì thêm 1 case khác
{
int nPosX = 0;
int nPosY = 0;
GetMpsPos(&nPosX, &nPosY);
if ((nPosY/32)>4032) // Cái Bang to Dương Châu
{
sprintf(ScriptFile,"\\script\\global\\trap\\caibang\\caibang2duongchau.lua"); // Đường dẫn file script lua sẽ chạy khi giẫm lên trap này
#ifdef _SERVER
Player[m_nPlayerIdx].ExecuteScript(ScriptFile, "main", 0);
#endif
ZeroMemory(ScriptFile,sizeof(ScriptFile));
}
}break;
default:
break;
}
}
}
PHP Code:if ((nPosY/32)<2819 && (nPosX/32)>1945 && (nPosX/32)<1970) //Từ Duơng Châu qua Cái Bang có 1 đường đi rất hẹp
PHP Code:--Script by Ken Nguyen (thienthanden2)
Include("\\script\\global\\serverlib.lua");
Include("\\script\\global\\sourcejx49.lua");
function main()
NewWorld(16,1955,2823)
SetFightState(1)
end;
Lần sửa cuối bởi thienthanden2, ngày 05-02-13 lúc 08:06 PM.
Khách viếng thăm hãy cùng thienthanden2 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
The Following 15 Users Say Thank You to thienthanden2 For This Useful Post:
assaa (05-02-13), binhjx (07-02-13), Bi_Dep_Trai (05-02-13), Edward_Newgate (05-02-13), gj4cm0y3u3m (05-02-13), jxvietnam (08-02-13), lkusa1992 (06-02-13), nhoxmap_b7 (05-02-13), phamngochai2 (05-02-13), tagtag15 (05-02-13), thaihoa91 (05-02-13), trananh88vt (05-02-13), vipprolc (08-02-13), Vo Le (13-06-13), yukite26 (26-03-13)
-
05-02-13, 09:24 PM #2
Ðề: Source code - Tạo trap mới cho map
Hay quá bác ơi. thank bác nhiều
Khách viếng thăm hãy cùng assaa xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
05-02-13, 09:37 PM #3
- Ngày tham gia
- Dec 2012
- Bài viết
- 428
- Thanks
- 9
- Thanked 123 Times in 84 Posts
Ðề: Source code - Tạo trap mới cho map
cái nài có thể chạy qua chạy lại maps giống VNG hả
Khách viếng thăm hãy cùng Bi_Dep_Trai xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
05-02-13, 09:44 PM #4
Ðề: Source code - Tạo trap mới cho map
Nhưng mà cái này thì mỗi maps lại phải thêm vào source à
Nên làm cái nào mà chỉ thêm 1 lần ở source, còn muốn làm trap thì edit script ý, thế có vẻ dễ hơnSTRONGEST MAN
-
05-02-13, 09:47 PM #5
- Ngày tham gia
- Apr 2008
- Bài viết
- 12,110
- Thanks
- 662
- Thanked 3,168 Times in 1,602 Posts
Ðề: Source code - Tạo trap mới cho map
Đơn giản thui, cho nó load các thông số toạ độ từ .txt là dc ấy mà
Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
Các thành viên gởi lời cảm ơn đến thaihoa91 vì bài viết này !
quangken (06-02-13)
-
05-02-13, 09:48 PM #6
- Ngày tham gia
- Dec 2012
- Bài viết
- 428
- Thanks
- 9
- Thanked 123 Times in 84 Posts
Ðề: Source code - Tạo trap mới cho map
Khách viếng thăm hãy cùng Bi_Dep_Trai xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
05-02-13, 09:51 PM #7
- Ngày tham gia
- Apr 2008
- Bài viết
- 12,110
- Thanks
- 662
- Thanked 3,168 Times in 1,602 Posts
Ðề: Source code - Tạo trap mới cho map
Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
05-02-13, 09:51 PM #8
Ðề: Source code - Tạo trap mới cho map
Khách viếng thăm hãy cùng XiTop xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
05-02-13, 09:57 PM #9
- Ngày tham gia
- Apr 2008
- Bài viết
- 12,110
- Thanks
- 662
- Thanked 3,168 Times in 1,602 Posts
Ðề: Source code - Tạo trap mới cho map
Thật ra chỉ có 1 số maps đường dẫn trap ko đúng theo tên truyền thống nên khó lấy dc thì có thể dùng code này và chỉnh sửa cho nó load .txt sẽ linh hoạt hơn, còn đa số thì dùng trap .dat vẫn ổn, vì code này sẽ chạy liên tục để check nhân vật, nên sẽ tốn thêm bộ nhớ
Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
05-02-13, 10:02 PM #10
Ðề: Source code - Tạo trap mới cho map
Khách viếng thăm hãy cùng assaa xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
Các thành viên gởi lời cảm ơn đến assaa vì bài viết này !
colauhong (08-11-14)
Các Chủ đề tương tự
-
[JX] Source code - Hướng dẫn fix tốc độ đánh giữa 2 cửa sổ
Bởi thienthanden2 trong diễn đàn Guides - Kho Lưu trữTrả lời: 13Bài viết cuối: 19-07-13, 07:12 PM -
[JX] Source code phân biệt kênh chát
Bởi radise trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)Trả lời: 9Bài viết cuối: 15-05-13, 08:38 PM -
[JX] anh em cho mình xin Source code
Bởi babyturtle.vn7 trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 2Bài viết cuối: 29-11-12, 03:55 PM -
Source code
Bởi alisson trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 5Bài viết cuối: 11-07-11, 02:17 AM -
Bàn về Source Code Jx đầy đủ, ai có hứng thú thì vào.
Bởi thachlong78 trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)Trả lời: 54Bài viết cuối: 14-06-11, 02:07 PM