HƯỚNG DẪN HỌC DEV JX - TỪ A -Z
PHẦN I : MỞ MAPS VÀ TEST MAPS
Demo
► File test đính kèm : http://ouo.io/V2wtM or http://ouo.io/7LSl1
► Hướng dẫn:
- Đầu tiên mở file server/maps/workset.ini lên
- Sau đó mở thêm file server/settings/mapslist.ini nữa giờ chúng ta bắt đầu việc mở maps
file mapslist.ini chưa các id của maps có tổng cộng là 800 maps tắt cã nhưng server chỉ load đc 70 maps thôi AE chú ý nhé bắt đầu
giải thix sơ 1 tý
Code:
Count=13 -- số maps mún mở
WorldSet00=1 -- 1 ở đây là id maps chưa trong file mapslist.ini
Ví dụ:
- Bạn mún mở maps lâm du quan bạn làm như sau
Vào file mapslist.ini tìm tên maps Lâm du quan ! maps lâm du quan trong file mapslist.ini có id là 56 thì bạn thêm vào file workset.ini như sau
Code:
WorldSet00=56
Vậy là xong bạn đã mở xong 1 maps lâm du quan ! các maps khác cũng mở giớng như vậy !
Chú ý :
+ Mở càng nhìu maps khởi động server càng lâu + càng lag !
+ Giá trị của count lúc nào cũng phãi lớn hơn workset 1 giá trị vì mình mở từ maps 0
► Xem thêm game tại đây :
+ Game jxWin : Server JxWin
+ Game JxLinux: Server Linux
----------------------------------||---------------------------------------------
❀◕ ‿ ◕❀ Các bạn bật 720-HD để xem cho nét nhé!
Các Hàm trong Jx Sever:
Cái này dành cho các bạn mới vào nghề thôi nhé
pro chắc khỏi xem
Cú pháp: Say(“Câu nói của NPC”,số lựa chọn,“Lựa chọn 1”,“lựa chọn 2”,……“lựa chọn n”)
N = số lựa chọn
Vd : Say(“Chao mung ban!”,2,”Ta muon di xa phu/goxaphu”,”Nhan tien ghe qua”)
Vậy n = 2
Talk: nói chuyện không lựa chọn
Cú pháp: Talk(<số câu nói>,”<hàm chạy khi kết thúc câu nói >”,”Câu nói”)
Vd: Talk(1,”no”,”Chao ban den voi JX Offline!”)
function no()
end;
Như vậy sau khi chạy hàm Talk,nó sẽ Hiện câu ”Chao ban den voi JX Offline!” rồi chạy hàm no
SetTask,SetTaskTemp,SetMissionV,SetGlbMissionV: Tạo giá trị nhiệm vụ
Cú pháp 4 hàm này như nhau và cấu trúc chung là
SetTask(idnhiệmvụ,giátrịnhiệmvụ)
SetTaskTemp(idnhiệmvụ,giátrịnhiệmvụ)
SetMissionV(idnhiệmvụ,giátrịnhiệmvụ)
SetGlbMissionV(idnhiệmvụ,giátrịnhiệmvụ)
Chú ý : +SetTask sẽ đặt giá trị nhiệm vụ và giữ nguyên khi thoát hoặc tắt server
+SetTaskTemp sẽ đặt giá trị nhiệm vụ và chỉ giữ khi online,khi tắt server hay thoát thì nó mất tác dụng và quay về 0 thì phải
+SetMissionV và SetGlbMissionV sẽ đặt giá trị nhiệm vụ đó cho cả Server đang chạy
Vd:SetTask(20,3)
Nghĩa là thiết đặt nhiệm vụ có Id 20 với giá trị là 3
4 hàm này có ích khi dung cấu trúc rẽ nhánh(if,then..) và khi viết nhiệm vụ
Ban đầu khi chưa thiết đặt nhiệm vụ có id đó thì giá trị của nó đang là 0
GetTask,GetTaskTemp,GetMissionV,GetGlbMissionV: Kiểm tra giá trị nhiệm vụ
Cú pháp 4 hàm này như nhau và cấu trúc chung là
GetTask(idnhiệmvụ)
GetTaskTemp(idnhiệmvụ)
GetMissionV(idnhiệmvụ)
GetGlbMissionV(idnhiệmvụ)
Tương tự GetTask sẽ lấy giá trị nhiệm vụ có id là idnhiệmvụ ,hiệu lực được mãi khi Set về 0 lại,còn GetTaskTemp sẽ mất hiệu lực khi tắt Server hay out.GetMissionV và GetGlbMissionV có tác dụng cho cả server, chúng cũng hữu dụng cho việc code nhiệm vụ và xài cấu trúc rẽ nhánh cho hàm chạy thời gian cho Server!
SetByte,SetBit:Thiết đạt giá trị cho byte bit
Cú pháp : SetBit(Value, BitNo, BitValue)
SetByte(Value, ByteNo, ByteValue)
Chưa xài nên ko có Vd sr L
GetByte,GetBit:Kiểm tra giá trị Byte,Bi
Cú pháp : GetBit(Value, BitNo)
GetByte(Value, ByteNo)
Chưa xài nên ko có Vd sr L
Include: thêm đường dẫn file khác
Cú pháp: Include(“Đường dẫn file”)
Vd: Include(“\\Script\\Global\\Serverlib.lua”)
Chú ý : Đường dẫn file phải bắt đầu là \\ rồi sau đó là đường dẫn File nhưng thay \ là \\(phải là 2 nét \\)
1 Cách khác nếu file muốn khai vào ngang hàng(chung thư mục) với file đang mở
Khi đó cú pháp là
Include(“tênfile”)
Vd:Include(“abcdef.lua”)
PutMessage: thêm thông báo
Cú pháp: PutMessage(Câu nói,id)
Chưa xài bao giờ nên ko có vdL
AddGlobalNews,AddGlobalTimeNews,AddGlobalCountNews ,AddLocalNews,AddLocalTimeNews,AddLocalCountNews:T hêm thong báo lên phía trên Game(giống như câu thong báo người nào làm nv dã tẩu dc đồ hk trong VLTK VNG ấy)
Cú pháp từng hàm
AddGlobalNews(“Câu thông báo”)
AddGlobalTimeNews(“Câu thông báo”, Năm,tháng,ngày,giờ,phút)
AddGlobalCountNews(“Câu thông báo”,số lần lặp (thì phải))
AddLocalNews(“Câu thông báo”)
AddLocalTimeNews(“Câu thông báo”, Năm,tháng,ngày,giờ,phút)
AddLocalCountNews(“Câu thông báo”,số lần lặp (thì phải))
Vd từng hàm
AddGlobalNews(“Chao ban den voi JX Offline!”)
AddGlobalTimeNews(“Chao ban den voi JX Offline!”,2009,06,29,19,50)
AddGlobalCountNews(“Chao ban den voi JX Offline!”,1)
AddLocalNews(“Chao ban den voi JX Offline!”)
AddLocalTimeNews(“Chao ban den voi JX Offline!”,2009,06,29,19,50)
AddLocalCountNews(“Chao ban den voi JX Offline!”,1)
AddRepute: thêm danh vọn
Cú pháp :AddRepute(sốđiểmthêmvào)
Vd:AddRepute(50)
GetRepute: kiểm tra điểm danh vọng
Cú pháp :GetRepute(
GetNpcIdx:lấy id của npc thì phải
Cú pháp: chưa biếtL
SetTimer: cài đặt file chạy sau mỗi n giây trong hàm
Cú pháp: SetTimer(thời gian*18,id file muốn chạy trong settings\timertask.txt)
Thời gian là giây
Vd:SetTimer(60*18,1)
Sau 60 giây sẽ chạy file có id 1 trong Timertask.txt
Lưu ý file dc chạy thì sẽ được duyệt bằng hàm function OnTimer() thôi,có nghĩa là sẽ chạy file đó và các câu lệnh chứa trong hàm function OnTimer()
StopTimer():thôi ko chạy file đã được dùng hàm function OnTimer()
Cú pháp : StopTimer()
GetRestTime:chưa biết
GetTimerId :Lấy id của file đang được chạy bằng hàm SetTimer và các hàm set thời gian như SetTimer
Cú pháp : GetTimerId()
IsCaptain:có phải đội trường hay là chủ PT không(ko nhớ rõ)
Cú pháp : IsCaptain()
Dùng như sau: kiểm tra xem người này có phải đội trưởng ko: if (IsCaptain() ~= -1) then Talk(1,””,”Ban la doi truong”)
Có nghĩa là nếu là đội trưởng thì nói “Ban la doi truong”
~= có nghĩa là khác
-1 là giá trị chưa có hay giá trị ko đúng
Ko hiểu bạn có thể hiểu cách 2 là : if (IsCaptain() == 1) then Talk(1,””,”Ban la doi truong”)
GetTeam:lấy id PT
Cú pháp :GetTeam()
GetTeamSize:đếm số thành viên trong PT
Cú pháp :GetTeamSize()
LeaveTeam:rời PT
Cú pháp :LeaveTeam()
Msg2Player:nhắn tin tới người chơi
Cú pháp :Msg2Player(“câu nói”)
Vd:Msg2Player(“Chao ban!”)
Nó sẽ send câu “Chao ban” đến khu vục chat trên kênh thế giới dưới dạng chữ màu đỏ
Msg2Team:nhắn tin tới PT
Cú pháp:Msg2Team(“câu nói”)
Vd:Msg2Team(“Chao ban!”)
Msg2SubWorld:nhắn tin tới Server đang chạy
Cú pháp:Msg2SubWorld(“câu nói”)
Vd:Msg2SubWorld(“Chao ban!”)
Msg2Region:nhắn tin tới 1 cụm Server là cha của Server đang chạy
Cú pháp:Msg2Region(“câu nói”)
Vd:Msg2Region(“Chao ban!”)
Vd này nói rằng trong các Server VNG,kỳ sơn là con của cụm TP2(vd thôi) thì nó sẽ gửi tin tới các máy chủ trong cụm TP2 luôn
Msg2GM:nhắn tin tới **********
Cú pháp:Msg2GM(“câu nói”)
Vd:Msg2GM(“Chao **********!”)
Msg2IP:nhắn tin tới IP được chọn
Cú pháp:Msg2IP(IP,ID,“câu nói”)
GetInfo:lấy thong tin của nhân vật(dùng trong hàm ghi vào File Log của Server Xuân thu)
Cú pháp:GetInfo()
Khi này nó sẽ xuất ra các giá trị sau của người chơi:Tên,Level,IP,Máu,Mana,Thể Lực,tiền..
GetIP:lấy IP của người chơi
Cú pháp:GetIP()
SetPos:tạo điểm quay về khi xài thổ địa phù
Cú pháp:SetPos(tọa độ x*32,tọa độ y*32)
Khi này nó sẽ tạo điểm phù về tại id map đang đứng và tại tọa độ x,y trong hàm trên
GetPos:lấy tọa độ x,y,id map tạo điềm phù về
Cú pháp:GetPos()
Nó sẽ xuất ra tọa độ x,y,id map
GetWorldPos:lấy id,tọa độ x,y tại map đang đứng,id là id map đang đứng
Cú pháp:GetWorldPos()
Nó sẽ xuất ra id map ,tọa độ x,y
NewWorld:sang map khác
Cú pháp:NewWorld (id map muốn qua,tọa độ x*8,tọa độ y *16)
DropItem:làm rơi đồ từ NPC thì phải chưa xài
Cú pháp: DropItem(NpcId, tên hoặc ID item)
AddItem:thêm vật dụng
Cú pháp: AddItem(nItemClass, nDetailType, nParticularType, nLevel, nSeries, nLuck, nItemLevel)
nItemClass = id cột ItemGenre trong các file Item
chú thích idnItemClass
1:máu ,mana,các thứ trong potion.txt
0:đồ ,ngựa,vkhí…
nDetailType = id cột DetailType trong các file Item
chú thích id nDetailType
0:vũ khí cầm tay(meleeweapon.txt)
1:vũ khí đường môn(rangeweapon.txt)
2:áo(armor.txt)
3:nhẫn(ring.txt)
4:dây chuyền(amulet.txt)
5:giày(boot.txt)
6:yêu đái(belt.txt)
7:đầu khôi(helm.txt)
8:hô uyển(cuff.txt)
9:hương nang,ngọc bội(pendant.txt)
10:ngựa(horse.txt)
11:mặt nạ(mask.txt)
–Hiên nay ko add trực tiếp dc vì ko gắn vào dc trang bị và GD Ko Load Nó
nParticularType = id cột ParticularType trong các file Item
nLevel = id cột µÈ¼¶ (cột L) trong các file Item
nSeries:hệ món đồ (0,1,2,3,4) == (kim,mộc,thủy,hỏa,thổ)
nLuck(may mắn)
nItemLevel:level Item,test rồi id nhiu cũng vậy sao ấy ^^
AddEventItem:thêm item trong questkey.txt
Cú pháp:
AddEventItem(“tên item”) hoặc AddEventItem(id item)
Tên item = tên trong cột Ãû³Æ(cột đầu)
id item = cột DetailType
hình như GS giờ chỉ load tới id 255 à
DelItemóa item
Cú phápelItem(“tên item”) hoặc DelItem(id item)
Tương tự như AddEventItem ta tìm dc id item và Tên item = tên trong cột Ãû³Æ(cột đầu)
HaveItem:kiểm tra có item không
Cú pháp:HaveItem(id)
Tương tự như AddEventItem ta tìm dc id item và Tên item = tên trong cột Ãû³Æ(cột đầu)
GetItemCount:đếm coi có bao nhiêu item đó trong F4
Cú pháp:HaveItemCount(“tên item”) hay HaveItemCount(id item)
Tương tự như AddEventItem ta tìm dc id item và Tên item = tên trong cột Ãû³Æ(cột đầu)
AddMagic:thêm Skill
Cú pháp:AddMagic(idSkill,levelskill)
idSkill ta kiếm trong File Skills.txt trong Settings ,cột SkillId
level tối đa của Skill là 63
DelMagicóa Skill
Cú phápelMagic(idskill)
idSkill ta kiếm trong File Skills.txt trong Settings ,cột SkillId
HaveMagic:có skill hay ko
Cú pháp:HaveMagic(idskill)
idSkill ta kiếm trong File Skills.txt trong Settings ,cột SkillId
GetMagicLevel:kiểm tra cấp độ của skill
Cú pháp:GetMagicLevel(idskill)
idSkill ta kiếm trong File Skills.txt trong Settings ,cột SkillId
AddMagicPoint:thêm điểm kỹ năng
Cú pháp:AddMagicPoint(số điểm)
GetMagicPoint:kiểm tra số điểm tiềm năng còn lại bao nhiêu
Cú pháp:GetMagicPoint()
SubWorldID2Idx:kiểm tra xem Map này dc mở trong WorldSet.ini hay chưa
Cú pháp: SubWorldID2Idx (id map)
Id map trong maplist.ini
AddLeadExp: Thêm kinh nghiệm cho quản lý tỗ đội [mức lãnh đạo]
Cú pháp: AddLeadExp(số điểm)
GetLeadLevel: Kiểm tra kinh nghiệm của quản lý tổ đội
Cú pháp: GetLeadExp()
SetFightState:thiết đặt trạng thái chiến đấu
Cú pháp: SetFightState(0 hoặc 1)
0 == ko thể “bụp “ nhau còn 1 là có thể
GetFightState: Kiểm tra trạng thái chiến đấu
Cú pháp: GetFightState ()
AddNpc :thêm NPC vào map
Cú pháp :AddNpc(Id Npc,nLevel, nSubWorldIndex, nPosX, nPosY )
Id Npc:bằng STT của npc khi coi = excel file Npcs.txt – 2
nLevel:level NPC
nSubWorldIndex, nPosX, nPosY:Id map,tọa độ x,y
DelNpcóa Npc
Cú pháp elNpc(id
Id Npc:bằng STT của npc khi coi = excel file Npcs.txt – 2
SetNpcScript:đặt script cho NPC
Cú pháp :SetNpcScript(AddNpc(Id Npc,nLevel, nSubWorldIndex, nPosX, nPosY ),”script”)
Hay cách 2 là
A = AddNpc(Id Npc,nLevel, nSubWorldIndex, nPosX, nPosY )
SetNpcScript(A,”script”)
Ví dụ cho rõ nè
AddNpc(62,100,53,202,202)
SetNpcScript(AddNpc(62,100,53,202,202),”\\script \\abc.lua”)
Cách 2 nè: e = AddNpc(62,100,53,202,202)
SetNpcScript(e,”\\script\\abc.lua”)
SetRevPos:cài điểm quay về khi phù
Cú pháp: SetRevPos(id map,tọa độ x *8,tọa độ y *16)
Hay SetRevPos(id trong RevivePos.ini)
Theo cách SetRevPos(id trong RevivePos.ini) thì tôi sẽ mô tả 1 ví dụ và mô tả revivepos.ini
1 file revivepos.ini như sau
[Id map]
region=0,4 –Các điểm nhớ,mỗi điểm có 1 giá trị
0=tọa độ x *8*32, tọa độ y *8*32
1= tọa độ x *8*32, tọa độ y *8*32
………………………………………
Ví dụ tôi đang ở ba lang có id là 53 và xài hàm SetRevPos(19) thì nó sẽ tìm [ID map] == 53 rồi tìm giá trị 19 = 52032,101696
SetTempRevPos:tương tự SetRevPos nhưng out ra là hết tác dụng
GetCamp và GetCurCamp:kiểm tra màu Pk của nhân vật
Cú pháp: GetCamp()
GetCurCamp()
SetCurCamp,SetCamp:thiết đặt màu pk
Cú pháp: SetCamp(id)
SetCurCamp(id)
Id màu pk như sau:
Vang = 1
Tiim = 2
Xanh = 3
Do = 4
Hong = 5
RestoreCamp:phục hồi màu pk chưa xài bao giờ
Cú pháp: RestoreCamp()
GetFaction:kiểm tra tên môn phái
Cú pháp: GetFaction()
SetFaction:đạt tên môn phái
Cú pháp: SetFaction(“Tên môn phái”)
Tên môn phái trong settings\faction\ ÃÅÅÉÉ趨.ini
GetColdR, GetLightR, GetFireR, GetPoisonR, GetPhyR:kiểm tra kháng băng,kháng lôi,kháng hỏa,kháng độc,PTVL
Cú pháp :GetColdR()
GetLightR()
GetFireR()
GetPoisonR()
GetPhyR()
SetColdR, SetLightR, SetFireR, SetPoisonR, SetPhyR:thiết đặt kháng băng,kháng lôi,kháng hỏa,kháng độc,PTVL
Cú pháp :SetColdR(số điểm)
SetLightR(số điểm)
SetFireR(số điểm)
SetPoisonR(số điểm)
SetPhyR(số điểm)
GetExp:kiểm tra Exp
Cú pháp: GetExp()
AddExp:thêm Exp
Cú pháp: AddExp(số điểm)
AddOwnExp:tương tự AddExp
GetLife, GetMana, GetStamina:kiểm tra máu,mana,thể lực
Cú pháp: GetExp(),GetMana(),GetStamina()
RestoreLife, RestoreMana, RestoreStamina:phục hồi máu,mana,thể lực đầy lại
Cú pháp: RestoreLife (),RestoreMana (),RestoreStamina ()
GetDefend, GetSex, GetSeries, GetName, GetUUID, GetLeadExp, GetLeadLevel, GetLevel, GetRestAP, GetRestSP, GetLucky, GetEng, GetDex, GetStrg, GetVit, GetCash:kiểm tra phòng ngự,giới tính,hệ,tên,ID người chơi,Exp lãnh đạo,Level lãnh đạo,level,tiềm năng chưa +,kỹ năng chưa +,may mắn,điểm nội cộng,điểm né tránh,điểm SM,điểm sinh lực,tiền
Cú pháp:
GetDefend(),GetSex(),GetSeries(),GetName(),GetUUID (),GetLeadExp(),GetLeadLevel(),GetLevel(),GetRestA P(),GetRestSP(),GetLucky(),GetEng(),GetDex(),GetSt rg(),GetVit(),GetCash()
Pay, Earn, PrePay:trừ tiền trong người,them tiền,trả lại tiền
Cú pháp: Pay(sốtiền)
Earn(sốtiền)
PrePay:chưa rõ
ExeScript: Chạy file script chỉ định
Cú pháp:ExeScript(“Đường Dẫn script”)
Vd:ExeScript(\\Script\\123.lua)
AttackNpc:Tấn công NPC
Cú pháp: AttackNpc(NpcDwid,ÎïÀíÉ˺¦Öµ£¬±ù£¬ »ð£¬µç£¬¶¾£©)
Tống hợp tool JX server HOT HOT !!!!!
Tools Train Game:
Link down : http://www.mediafire.com/?jyyjns46m40zeke
=> Cái này dùng được cho server off và onl được viết từ thachlong78.
Chức Năng Nhặt Tiền,Tự Đánh,Tự Pk Người Chơi,Bơm Máu..
=======================================================================
Chúc Các Bạn Thành Công..!
Post a Comment Blogger Facebook