PDA

View Full Version : Hàm trong Jx Sever [Full]Function[Full]



The King
05-01-2012, 01:06 PM
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

Start

Say: nói chuyện có lựa chọn

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,Bit

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ọng

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

xanh = 3

tim = 2

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,ÎïÀíÉ˺¦Öµ£¬±ù£¬ »ð£¬µç£¬¶¾£©)

Nguồn : thông tin từ [Only registered and activated users can see links] mái nhà từ thưở non xơ khi mới bắt đầu tập tành devjx hì hì

Hồ Ngọc Triển
07-08-2013, 11:03 AM
GetGlbMissionV(id nhiệm vụ)
Mọi người giải thích giùm minh hàm này với.
Giá trị trả về của nó là gì và ID nhiệm vụ lấy ở đâu ra?
Xin cảm ơn :)

BobSu
29-11-2013, 08:41 AM
GetGblMissionV(T_ChuyenSinh) thì nó sẽ trả về giá trị chuyển sinh, hay còn gọi là số lần chuyển sinh đó, ví dụ vậy cho bạn dễ hiểu