Kết quả 1 đến 2 của 2
-
07-07-13, 04:56 PM #1
- Ngày tham gia
- Apr 2011
- Đang ở
- 地獄
- Bài viết
- 3,991
- Thanks
- 369
- Thanked 4,069 Times in 1,403 Posts
Hướng dẫn viết Script NPC đơn giản
Mình sẽ tổng hợp kinh nghiệm của mình từ khi bắt đầu đến giờ để các bạn có thể dễ dàng làm quen với việc viết/đọc script NPC trong game TLBB này.
Lưu ý đây là của Newbie tổng hợp cho Newbie chứ không phải cho Pro thế nên ai Pro thì có thể đóng góp ý kiến nhưng xin đừng khinh thường Newbie bọn mình nha. Guild đầu tay, nếu nó chưa phải chỗ nào mọi người cho ý kiến để nó hoàn chỉnh nha
Yêu cầu của mục này là bạn phải biết sơ sơ về một số ngôn ngữ lập trình cơ bản như Pascal, C, C++,... Biết những cái này làm gì? Biết những cái này để ta nắm sơ qua ý tưởng cũng như là một số câu lệnh điều kiện mà ta sắp dùng đến.
Cấu trúc của một đoạn code đại diện cho NPC chuyên về sự kiện.
1. Phần khởi động: Phần này là phần mà ta phải khai báo ID của NPC cũng như viết một số chú thích cho người xem hiểu đoạn code nói gì.
2. Phần mở đầu: Giới thiệu sự kiện, các mục chọn lựa hoặc chỉ đơn giản là phần duy nhất trong đoạn code với NPC viết ra chỉ để nói một vài dòng.
3. Phần điều kiện: Không cần thiết phải có. Dùng để kiểm tra điều kiện cần thiết để có thể vào được thân sự kiện. ( Ví dụ cấp 10 trở lên mới được vào gọi là một điều kiện ).
4. Phần thân: Đây chính là thân sự kiện với các lệnh do chính bạn viết nên. Có thể nói cái này là cái quan trọng quyết định chức năng của NPC ( đa số là thế ).
5. Các phần khác: Các bạn có thể sáng tạo ra các hàm khác phục vụ cho đoạn code của mình.
Chi tiết:
A/ PHẦN KHỞI ĐỘNG:
Phần này đa số toàn là chú thích cho người đọc. Và cái quan trọng nhất của phần này chính là cái khai báo một biến hằng số đại diện cho ID của NPC.
Nếu như không khai báo kiểu này, mỗi khi dùng một cái lệnh liên quan đến ID của NPC ( lệnh viết ) thì bạn sẽ phải nhập đi nhập lại cái ID đó, có nhàm không? Và xét trường hợp nhiều file, và bạn là một người ngồi soát lỗi chẳng hạn, việc không chú thích cũng như không khai báo ID trên đầu liệu bạn có khó chịu không?
Một khuyến cáo là tất cả các khóa từ tên từng hàm một cũng nên kèm theo cái ID ở đầu để tiện quan sát, lý do mình đã trình bày bên trên.
Một ví dụ về phần này như sau:
Code:--NPC: Đại Lý --Tên: Sói Đẹp Zai --Tittle: Hỗ trợ tân thủ --Edit: By Sói Kool x002097_g_ScriptId = 002097
Cái biến đại diện cho ID Script kia bạn có thể đặt tên nào cũng được nhưng thống nhất là đặt theo kiểu kia để tiện sau này lục lại NPC.
Biến x002097_g_ScriptId sẽ mang giá trị là 002097, giá trị này đại diện cho ID của NPC thực hiện chức năng được viết trong code này.
B/ PHẦN MỞ ĐẦU:
Mở đầu sẽ là lời gọi tới cái mà các ngôn ngữ lập trình kia gọi là "Chương trình chính" hay "Hàm chính".
Và như trong game các bạn sẽ thấy cái bảng này sẽ hiện lên khi bấm vào NPC ( Đương nhiên lỗi hoặc không có câu lệnh viết ra cái gì đó thì không tính nhé ).
Cấu trúc của phần này sẽ là
Code:function xID_NPC_OnDefaultEvent(sceneId,selfId,targetId) Các lệnh cơ bản, thường sẽ là lệnh để viết ra một cái gì đó end
Trong đó cái ID_NPC là ID của NPC tương tự như trên. Còn các cái còn lại đừng thay đổi. Mình đã thử đổi tên và kết quả lỗi Script.
Một ví dụ:
Code:function x002097_OnDefaultEvent(sceneId,selfId,targetId) local nam = LuaFnGetName(sceneId,selfId) BeginEvent(sceneId) AddText(sceneId,"Hi "..nam..", have a good day!") AddNumText(sceneId,x002097_g_ScriptId,"Chức năng tân thủ",1,1) EndEvent(senceId) DispatchEventList(sceneId,selfId,targetId) end
Như các bạn thấy bên trong là cụm lệnh bắt đầu bằng khóa BeginEvent(sceneId) và kết thúc bằng khóa EndEvent(SceneId)
Hàm AddText(sceneId,"Text") tác dụng chính của nó là thêm vào một chuỗi ký tự, như trên thì hàm này sẽ có tác dụng ghi ra cái bảng nói chuyện của NPC.
Ví dụ bạn tên Test, cái bảng sẽ hiện lên "Hi Test, have a good day!", tương tự như printf trong C.
AddNumText(sceneId,NPC_ID,"Text",x,y) nó có tác dụng ghi ra một chuỗi ký tự nào đó mà khi người dùng ấn vào chuỗi này thì sẽ thực hiện một số câu lệnh phía sau.
Trong đó "x" là biểu tượng đầu của chuỗi ký tự này, và "y" sẽ là "mã số" của cái lệnh mà nó sẽ thực hiện phía sau.
DispatchEventList(sceneId,selfId,targetId) đây là lệnh đóng cái bảng lại.
Như các bạn thấy trong ví dụ trên, cái bảng của chúng ta sẽ hiện ra.
Code:Hi Test, have a good day! (image) Chức năng tân thủ
Và khi bạn bấm vào cái "Chức năng tân thủ", nó sẽ làm gì tiếp thì hãy chuyển sang phần sau.
C/PHẦN ĐIỀU KIỆN:
Tác dụng cơ bản của phần này chỉ là để kiểm tra điều kiện của người chơi sao cho thỏa mãn với mục đích của sự kiện được viết ra.
Cấu trúc của phần này là
Code:function xID_NPC_OnConditionCheck(sceneId,selfId ) Một số lệnh end
Code:function x002097_OnConditionCheck(sceneId,selfId ) local lev=GetLevel(sceneId,selfId) if lev < 10 then BeginEvent(sceneId) AddText(sceneId,"Khi nào đạt cấp 11 trở lên hãy đến tìm ta") DispatchEventList(sceneId,selfId,targetId) return 0 EndEvent(sceneId) elseif lev > 50 then BeginEvent(sceneId) AddText(sceneId,"Lớn hơn cấp 50 mà gọi là tân thủ à?") DispatchEventList(sceneId,selfId,targetId) return 0 EndEvent(sceneId) end end
elseif điều kiện then thực hiện lệnh end tương tự như if chỉ khác cái này là kiểm tra lệnh if trên không thỏa mãn thì nó sẽ kiểm tra điều kiện sau. Hay theo C++ thì nó tương đương lệnh
Code:else if (Điều kiện) { thực hiện lệnh; }
return 0, giống hệt C++, gần như stop chương trình luôn đó. Ngoài ra nó còn lệnh tên là return không thôi có tác dụng trở lại bảng sự kiện ban đầu.
D/ PHẦN THÂN
Cấu trúc
Code:function xID_NPC_OnEventRequest(sceneId,selfId,targetId,eventId) Lệnh end
Code:function x002097_OnEventRequest(sceneId,selfId,targetId,eventId) local key = GetNumText() if key == 1 then SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc mừng bạn thăng cấp 120 thành công") EndEvent(scneneId) DispatchEventList(sceneId,selfId,targetId) end end
SetLevel(sceneId,selfId,x) là hàm Set cho nhân vật level x tùy ý ( không vượt quá 150 )
local Tên_Biến = Hàm_Hằng
GetNumText() tức là hàm lấy giá trị ẩn của cái chỗ mà người chơi vừa kick vào ( Hơi khó hiểu nhưng đại khái theo cái phần mở đầu, người dùng ấn vào cái cụm ký tự mà có chữ số đại diện cho các câu lệnh ngầm phía sau là 1 )
Ở đây có thể bao gồm nhiều lệnh nhé, và phần này là phần đòi hỏi người viết phải có kiến thức lập trình, rà soát các trường hợp cẩn thận.
E/PHẦN KHÁC
Ở phần này các bạn có thể sáng tạo các hàm khác cho riêng mình được, ví dụ đoạn code bên trên mình có thể biến nó về sử dụng một hàm khác và lấy hàm chính của chương trình gọi tới nó.
Vẫn thống nhất như trên thêm xID_NPC_Tên_chương_trình(tham biến) nhé
Code:--NPC: Đại Lý --Tên: Sói Đẹp Zai --Tittle: Hỗ trợ tân thủ --Edit: By Sói Kool function x002097_OnDefaultEvent(sceneId,selfId,targetId) local nam = LuaFnGetName(sceneId,selfId) BeginEvent(sceneId) AddText(sceneId,"Welcome "..nam..", have a good day!") AddNumText(sceneId,x002097_g_ScriptId,"Chức năng tân thủ",1,1) EndEvent(senceId) DispatchEventList(sceneId,selfId,targetId) end function x002097_OnConditionCheck(sceneId,selfId ) local lev=GetLevel(sceneId,selfId) if lev < 10 then BeginEvent(sceneId) AddText(sceneId,"Khi nào đạt cấp 11 trở lên hãy đến tìm ta") DispatchEventList(sceneId,selfId,targetId) return 0 EndEvent(sceneId) elseif lev > 50 then BeginEvent(sceneId) AddText(sceneId,"Lớn hơn cấp 50 mà gọi là tân thủ à?") DispatchEventList(sceneId,selfId,targetId) return 0 EndEvent(sceneId) end end function x002097_OnEventRequest(sceneId,selfId,targetId,eventId) local key = GetNumText() if key == 1 then x002097_LenLevel(sceneId,selfId) end end function x002097_LenLevel(sceneId,selfId) BeginEvent(sceneId) AddText(sceneId,"Chúc mừng bạn thăng cấp 120 thành công") EndEvent(scneneId) DispatchEventList(sceneId,selfId,targetId) end
Lưu ý: Phân biệt chữ hoa chữ thường nên phải cẩn thận.
MỘT SỐ CÂU LỆNH SƯU TẬP:
Add KNB:
Code:YuanBao(sceneId,selfId,targetId,x,y)
Trong đó y là số KNB cần add và x là số lượng, hiểu nôm na là số phiếu KNB
Add ĐT:
Code:ZengDian(sceneId,selfId,targetId,x,y)
Trong đó y là số ĐT cần add và x là số lượng
Add EXP:
Code:LuaFnAddExp(sceneId,selfId,x)
Add điểm Môn Phái:
Code:SetHumanMenpaiPoint(sceneId,selfId,x)
Trong đó x là số điểm cần Set
Add Item:
Code:BeginAddItem(sceneId) AddItem(sceneId,x,1) EndAddItem(sceneId,selfId) AddItemListToHuman(sceneId,selfId)
Add Skill
Code:AddSkill(sceneId,selfId,x)
Ghi ra kênh hệ thống:
Code:BroadMsgByChatPipe(sceneId,selfId,"Text")
Lấy tên nhân vật:
Code:local Tên_Biến = LuaFnGetName(sceneId,selfId)
Lấy level nhân vật:
Code:local Tên_Biến = GetLevel(sceneId,selfId)
Code:local Tên_Biến = GetMenPai(sceneId,selfId)
Code:LuaFnJoinMenpai(sceneId,selfId,targetId,x) LuaFnSendSpecificImpactToUnit(sceneId,selfId,targetId,148,0)
Add tâm pháp
Code:LuaFnSetXinFaLevel(sceneId,selfId,x,y)
OK như vậy là đủ để viết được Script đơn giản. Còn các cái cao siêu mình không nói đến nhé.
Và đây là 1 script mẫu nhận tâm pháp và lev 120 cho anh em tham khảo
Code:--ÐÕi Lý NPC --ID: 002097 --Script test code by Sói Kool --************************ x002097_g_ScriptId = 002097 --************************ --Kh·i ðµng --************************ function x002097_OnDefaultEvent(sceneId,selfId,targetId) BeginEvent(sceneId) AddText(sceneId,"Chào m×ng bÕn ðªn v¾i Thiên Long Bát Bµ edit by Sói Kool...Các hÕ có mu¯n gia nh§p môn phái và nh§n tâm pháp c¤p 120 không ? Nªu ð°ng ý, các hÕ s¨ l§p tÑc thång lên c¤p ðµ 120 cùng tâm pháp môn phái tß½ng Ñng...") AddNumText(sceneId,x002097_g_ScriptId,"Xác nh§n",1,1) AddNumText(sceneId,x002097_g_ScriptId,"Nh§n yªu quyªt phái Mµ Dung",1,2) EndEvent(senceId) DispatchEventList(sceneId,selfId,targetId) end --************************ --Thân chß½ng trình --************************ function x002097_OnEventRequest(sceneId,selfId,targetId,eventId) local key = GetNumText() local lev = GetLevel(sceneId,selfId) --Gia nh§p môn phái if key == 1 then BeginEvent(sceneId) AddText(sceneId,"Hãy lña ch÷n môn phái mu¯n gia nh§p...#r Lßu ý: C¤p 120 tr· lên không nên dùng chÑc nång này v¸ nó s¨ hÕ c¤p ðµ cüa bÕn xu¯ng 120....") AddNumText(sceneId,x002097_g_ScriptId,"Thiªu Lâm",2,3) AddNumText(sceneId,x002097_g_ScriptId,"Minh Giáo",2,4) AddNumText(sceneId,x002097_g_ScriptId,"Cái Bang",2,5) AddNumText(sceneId,x002097_g_ScriptId,"Thiên S½n",2,6) AddNumText(sceneId,x002097_g_ScriptId,"#YMµ Dung",2,7) AddNumText(sceneId,x002097_g_ScriptId,"Nga My",2,8) AddNumText(sceneId,x002097_g_ScriptId,"Tiêu Dao",2,9) AddNumText(sceneId,x002097_g_ScriptId,"Tinh Túc",2,10) AddNumText(sceneId,x002097_g_ScriptId,"Võ Ðang",2,11) AddNumText(sceneId,x002097_g_ScriptId,"Thiên Long",2,12) EndEvent(sceneId) DispatchEventList( sceneId,selfId, targetId ) end --*** if key == 3 then --Thiªu Lâm --Gia nh§p môn phái LuaFnJoinMenpai(sceneId,selfId, targetId,0) --ID 0 là Thiªu Lâm --Tâm pháp LuaFnSetXinFaLevel(sceneId,selfId,1,120) LuaFnSetXinFaLevel(sceneId,selfId,2,120) LuaFnSetXinFaLevel(sceneId,selfId,3,120) LuaFnSetXinFaLevel(sceneId,selfId,4,120) LuaFnSetXinFaLevel(sceneId,selfId,5,120) LuaFnSetXinFaLevel(sceneId,selfId,6,120) LuaFnSetXinFaLevel(sceneId,selfId,55,120) LuaFnSetXinFaLevel(sceneId,selfId,72,120) LuaFnSendSpecificImpactToUnit(sceneId,selfId,selfId,selfId,148,0) --Thång c¤p SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng ngß½i ðã là ð® tØ Thiªu Lâm, nh§n thành công tâm pháp 120 môn phái ð°ng th¶i thång lên c¤p 120...") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId ) end --*** if key == 4 then --Minh Giáo --Gia nh§p môn phái LuaFnJoinMenpai(sceneId,selfId, targetId, 1) --ID 1 là Minh Giáo --Tâm pháp LuaFnSetXinFaLevel(sceneId,selfId,7,120) LuaFnSetXinFaLevel(sceneId,selfId,8,120) LuaFnSetXinFaLevel(sceneId,selfId,9,120) LuaFnSetXinFaLevel(sceneId,selfId,10,120) LuaFnSetXinFaLevel(sceneId,selfId,11,120) LuaFnSetXinFaLevel(sceneId,selfId,12,120) LuaFnSetXinFaLevel(sceneId,selfId,56,120) LuaFnSetXinFaLevel(sceneId,selfId,73,120) LuaFnSendSpecificImpactToUnit(sceneId,selfId,selfId,selfId,148,0) --Thång c¤p SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng ngß½i ðã là ð® tØ Minh Giáo, nh§n thành công tâm pháp 120 môn phái ð°ng th¶i thång lên c¤p 120...") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId ) end --** if key == 5 then --Cái Bang --Gia nh§p môn phái LuaFnJoinMenpai(sceneId,selfId, targetId, 2) --ID 2 là Cái Bang --Tâm pháp LuaFnSetXinFaLevel(sceneId,selfId,13,120) LuaFnSetXinFaLevel(sceneId,selfId,14,120) LuaFnSetXinFaLevel(sceneId,selfId,15,120) LuaFnSetXinFaLevel(sceneId,selfId,16,120) LuaFnSetXinFaLevel(sceneId,selfId,17,120) LuaFnSetXinFaLevel(sceneId,selfId,18,120) LuaFnSetXinFaLevel(sceneId,selfId,57,120) LuaFnSetXinFaLevel(sceneId,selfId,74,120) LuaFnSendSpecificImpactToUnit(sceneId,selfId,selfId,selfId,148,0) --Thång c¤p SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng ngß½i ðã là ð® tØ Cái Bang, nh§n thành công tâm pháp 120 môn phái ð°ng th¶i thång lên c¤p 120...") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId ) end --** if key == 6 then --Thiên S½n --Gia nh§p môn phái LuaFnJoinMenpai(sceneId,selfId, targetId, 7) --ID 7 là Thiên S½n --Tâm pháp LuaFnSetXinFaLevel(sceneId,selfId,43,120) LuaFnSetXinFaLevel(sceneId,selfId,44,120) LuaFnSetXinFaLevel(sceneId,selfId,45,120) LuaFnSetXinFaLevel(sceneId,selfId,46,120) LuaFnSetXinFaLevel(sceneId,selfId,47,120) LuaFnSetXinFaLevel(sceneId,selfId,48,120) LuaFnSetXinFaLevel(sceneId,selfId,62,120) LuaFnSetXinFaLevel(sceneId,selfId,79,120) LuaFnSendSpecificImpactToUnit(sceneId,selfId,selfId,selfId,148,0) --Thång c¤p SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng ngß½i ðã là ð® tØ Thiên S½n, nh§n thành công tâm pháp 120 môn phái ð°ng th¶i thång lên c¤p 120...") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId ) end --** if key == 7 then --Mµ Dung --Gia nh§p môn phái LuaFnJoinMenpai(sceneId,selfId, targetId, 9) --ID 9 là Mµ Dung --Tâm pháp LuaFnSetXinFaLevel(sceneId,selfId,64,120) LuaFnSetXinFaLevel(sceneId,selfId,65,120) LuaFnSetXinFaLevel(sceneId,selfId,66,120) LuaFnSetXinFaLevel(sceneId,selfId,67,120) LuaFnSetXinFaLevel(sceneId,selfId,68,120) LuaFnSetXinFaLevel(sceneId,selfId,69,120) LuaFnSetXinFaLevel(sceneId,selfId,70,120) LuaFnSetXinFaLevel(sceneId,selfId,71,120) LuaFnSendSpecificImpactToUnit(sceneId,selfId,selfId,selfId,148,0) --Thång c¤p SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng ngß½i ðã là ð® tØ Mµ Dung Gia, nh§n thành công tâm pháp 120 môn phái ð°ng th¶i thång lên c¤p 120...") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId ) end --** if key == 8 then --Nga My --Gia nh§p môn phái LuaFnJoinMenpai(sceneId,selfId, targetId, 4) --ID 4 là Nga My --Tâm pháp LuaFnSetXinFaLevel(sceneId,selfId,25,120) LuaFnSetXinFaLevel(sceneId,selfId,26,120) LuaFnSetXinFaLevel(sceneId,selfId,27,120) LuaFnSetXinFaLevel(sceneId,selfId,28,120) LuaFnSetXinFaLevel(sceneId,selfId,29,120) LuaFnSetXinFaLevel(sceneId,selfId,30,120) LuaFnSetXinFaLevel(sceneId,selfId,59,120) LuaFnSetXinFaLevel(sceneId,selfId,76,120) LuaFnSendSpecificImpactToUnit(sceneId,selfId,selfId,selfId,148,0) --Thång c¤p SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng ngß½i ðã là ð® tØ Nga My, nh§n thành công tâm pháp 120 môn phái ð°ng th¶i thång lên c¤p 120...") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId ) end --** if key == 9 then --Tiêu Dao --Gia nh§p môn phái LuaFnJoinMenpai(sceneId,selfId, targetId, 8) --ID 8 là Tiêu Dao --Tâm pháp LuaFnSetXinFaLevel(sceneId,selfId,49,120) LuaFnSetXinFaLevel(sceneId,selfId,50,120) LuaFnSetXinFaLevel(sceneId,selfId,51,120) LuaFnSetXinFaLevel(sceneId,selfId,52,120) LuaFnSetXinFaLevel(sceneId,selfId,53,120) LuaFnSetXinFaLevel(sceneId,selfId,54,120) LuaFnSetXinFaLevel(sceneId,selfId,63,120) LuaFnSetXinFaLevel(sceneId,selfId,80,120) LuaFnSendSpecificImpactToUnit(sceneId,selfId,selfId,selfId,148,0) --Thång c¤p SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng ngß½i ðã là ð® tØ Tiêu Dao, nh§n thành công tâm pháp 120 môn phái ð°ng th¶i thång lên c¤p 120...") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId ) end --** if key == 10 then --Tinh Túc --Gia nh§p môn phái LuaFnJoinMenpai(sceneId,selfId, targetId, 5) --ID 5 là Tinh Túc --Tâm pháp LuaFnSetXinFaLevel(sceneId,selfId,31,120) LuaFnSetXinFaLevel(sceneId,selfId,32,120) LuaFnSetXinFaLevel(sceneId,selfId,33,120) LuaFnSetXinFaLevel(sceneId,selfId,34,120) LuaFnSetXinFaLevel(sceneId,selfId,35,120) LuaFnSetXinFaLevel(sceneId,selfId,36,120) LuaFnSetXinFaLevel(sceneId,selfId,60,120) LuaFnSetXinFaLevel(sceneId,selfId,77,120) LuaFnSendSpecificImpactToUnit(sceneId,selfId,selfId,selfId,148,0) --Thång c¤p SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng ngß½i ðã là ð® tØ Tinh Túc, nh§n thành công tâm pháp 120 môn phái ð°ng th¶i thång lên c¤p 120...") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId ) end --** if key == 11 then --Võ Ðang --Gia nh§p môn phái LuaFnJoinMenpai(sceneId,selfId, targetId, 3) --ID 3 là Võ Ðang --Tâm pháp LuaFnSetXinFaLevel(sceneId,selfId,19,120) LuaFnSetXinFaLevel(sceneId,selfId,20,120) LuaFnSetXinFaLevel(sceneId,selfId,21,120) LuaFnSetXinFaLevel(sceneId,selfId,22,120) LuaFnSetXinFaLevel(sceneId,selfId,23,120) LuaFnSetXinFaLevel(sceneId,selfId,24,120) LuaFnSetXinFaLevel(sceneId,selfId,58,120) LuaFnSetXinFaLevel(sceneId,selfId,75,120) LuaFnSendSpecificImpactToUnit(sceneId,selfId,selfId,selfId,148,0) --Thång c¤p SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng ngß½i ðã là ð® tØ Võ Ðang, nh§n thành công tâm pháp 120 môn phái ð°ng th¶i thång lên c¤p 120...") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId ) end --** if key == 12 then --Thiên Long --Gia nh§p môn phái LuaFnJoinMenpai(sceneId,selfId, targetId, 6) --ID 6 là Thiên Long --Tâm pháp LuaFnSetXinFaLevel(sceneId,selfId,37,120) LuaFnSetXinFaLevel(sceneId,selfId,38,120) LuaFnSetXinFaLevel(sceneId,selfId,39,120) LuaFnSetXinFaLevel(sceneId,selfId,40,120) LuaFnSetXinFaLevel(sceneId,selfId,41,120) LuaFnSetXinFaLevel(sceneId,selfId,42,120) LuaFnSetXinFaLevel(sceneId,selfId,61,120) LuaFnSetXinFaLevel(sceneId,selfId,78,120) LuaFnSendSpecificImpactToUnit(sceneId,selfId,selfId,selfId,148,0) --Thång c¤p SetLevel(sceneId,selfId,120) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng ngß½i ðã là ð® tØ Thiên Long, nh§n thành công tâm pháp 120 môn phái ð°ng th¶i thång lên c¤p 120...") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId ) end --** if key == 2 then --Nh§n Yªu quyªt Mµ Dung Gia BeginAddItem(sceneId) AddItem(sceneId,30308099,1)--YQ 35 - Lñc Chí Ti«n Thích AddItem(sceneId,30308097,1)--YQ 45 - Phá Thiên ThÑc AddItem(sceneId,30308096,1)--YQ 65 - Hóa Khí ThÑc AddItem(sceneId,30308100,1)--YQ 80 - Lång Thiên ThÑc EndAddItem(sceneId,selfId) AddItemListToHuman(sceneId,selfId) BeginEvent(sceneId) AddText(sceneId,"Chúc m×ng các hÕ nh§n ðßþc 1 bµ yªu quyªt Mµ Dung Gia.") x002099_NotifyFailTips(sceneId, selfId, "Nh§n ðßþc 1 bµ yªu quyªt Mµ Dung Gia.") EndEvent(sceneId) DispatchEventList(sceneId,selfId,targetId) end end --Ghi lên tip function x002098_NotifyFailTips( sceneId, selfId, Tip ) BeginEvent( sceneId ) AddText( sceneId, Tip ) EndEvent( sceneId ) DispatchMissionTips( sceneId, selfId ) end
Lưu ý chuyển mã VISCII để viết nhéKhách viếng thăm hãy cùng Sói Đẹp Trai xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
The Following 17 Users Say Thank You to Sói Đẹp Trai For This Useful Post:
dinhdtd (18-05-14), Edward_Newgate (09-09-14), emyeusss7 (09-07-13), freepro2101 (07-07-13), HaHuong (08-07-13), herovn1994 (09-07-13), hmanview (18-07-13), Intel (27-02-15), nxttnx (09-07-13), popiye (22-07-13), ronglam (09-07-13), somahaha (31-07-13), tiachopdenvn (07-07-13), ttphanthieugia (16-07-13), v0d1chs01 (23-12-16), vhmt1101 (12-04-15), yuusen (03-02-15)
-
07-07-13, 09:19 PM #2
- Ngày tham gia
- Jan 2012
- Đang ở
- ---Ở Nhà---
- Bài viết
- 327
- Thanks
- 119
- Thanked 275 Times in 111 Posts
Ðề: Hướng dẫn viết Script NPC đơn giản
xé tem đầu tiên nhé anh bé bự
30charrrrrrrrrrrrrrrrrrrrrrrrKhách viếng thăm hãy cùng freepro2101 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
Các Chủ đề tương tự
-
[KT] Script NPC
Bởi ngaunachay trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 15Bài viết cuối: 13-06-12, 05:28 PM -
Một số script trong thư mục script Vina (unpack)
Bởi sangpronhat trong diễn đàn ScriptsTrả lời: 19Bài viết cuối: 26-11-11, 08:12 AM -
ai xem dùm em script này
Bởi nhoxpk2707 trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 8Bài viết cuối: 17-08-10, 01:15 PM -
Cần hỗ trợ về script..!! (Help)
Bởi kemdenny trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 1Bài viết cuối: 17-08-10, 08:41 AM