PDA

View Full Version : Hàm trong JX Server [Full] Function[Full]



quangken
25-06-11, 06:51 PM
Cái này dành cho các bạn mới vào nghề thôi nhé :D 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 GameMaster

Cú pháp:Msg2GM(“câu nói”)

Vd:Msg2GM(“Chao GameMaster!”)

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:xóa item

Cú pháp:DelItem(“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:xóa Skill

Cú pháp:DelMagic(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:xóa Npc

Cú pháp :DelNpc(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ừ <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> mái nhà từ thưở non xơ khi mới bắt đầu tập tành devjx hì hì

luxfarm
25-06-11, 06:59 PM
Thanks a................................

Mr.Rezo
25-06-11, 07:05 PM
Xài Đc Tks........................

03-07-11, 11:32 AM
nothing!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

SaoThaiBinh72
03-07-11, 11:42 AM
Doc den dong thu' 6

Vd : Say(“Chao mung ban!”,2,”Ta muon di xa phu/goxaphu”,”Nhan tien ghe qua”)

quangken
04-07-11, 10:08 PM
Doc den dong thu' 6
có chuyện gì nói e giúp nhìn a già quá ( đừng ném gạch e nha ).....

SaoThaiBinh72
04-07-11, 10:27 PM
Vd : Say(“Chao mung ban!”,2,”Ta muon di xa phu/goxaphu”,”Nhan tien ghe qua”)
Nó thiếu cái gì nhỉ ???

quangken
04-07-11, 10:34 PM
Nó thiếu cái gì nhỉ ???
đủ mà anh có thiếu đâu ;;).....hix sai dầu kìa :p

SaoThaiBinh72
04-07-11, 10:39 PM
Anh chưa test câu Say nào có cú pháp như vậy:

Say(“Chao mung ban!”,2,”Ta muon di xa phu/goxaphu”,”Nhan tien ghe qua”)

Anh chỉ test
vd :
Say(“Chao mung ban!”,2,”Ta muon di xa phu/goxaphu”,”Nhan tien ghe qua/no”)

Funcion no ()
end;

quangken
04-07-11, 10:42 PM
a cứ thử đi , có gì pm e \m/.....

SaoThaiBinh72
04-07-11, 10:45 PM
Oh vậy là đỡ lag scripts được 1 ít ;))

quangken
04-07-11, 10:48 PM
hì hì ..... cái chính là dữ liệu của sprc càng ít thì server load càng nhanh a à

ppkhoa
05-09-11, 05:47 PM
có hàm xóa trang bị & vũ khí không cậu?

KingMax
05-09-11, 06:11 PM
GetItemCount2
DelItem2
bạn vào Box Võ Lâm topic của DNT xem cách dùng

ppkhoa
05-09-11, 06:37 PM
GetItemCount2
DelItem2
bạn vào Box Võ Lâm topic của DNT xem cách dùng
Cảm ơn cậu nhiều!!! ^^",
mà hàm này không xóa được trang bị đang mang trên người?

khuek8b
05-09-11, 06:40 PM
cám ơn bạn .ngạo thị quần hùng cũng dùng như thế này :D

ppkhoa
05-09-11, 06:59 PM
mình check sv mình đang dùng rồi, có lẽ phải là hàm delbaseitem. Nhưng vấn đề là vẫn ko xóa đc trang bị đang mặc.

thaihoa91
05-09-11, 07:29 PM
mình check sv mình đang dùng rồi, có lẽ phải là hàm delbaseitem. Nhưng vấn đề là vẫn ko xóa đc trang bị đang mặc.

Hãy thử tháo trang bị ra đặt vào trong Hành Trang F4 thử xem !

ppkhoa
05-09-11, 07:41 PM
Hãy thử tháo trang bị ra đặt vào trong Hành Trang F4 thử xem !
à, vì mình muốn add item cho nhân vật lúc luyện skill server của jxvietnam để đánh nổi mấy cái cọc! vấn đề là nếu mang lên người thì lúc rời đảo, item sẽ ko bị del!!!!

thaihoa91
05-09-11, 08:13 PM
Ko có hàm nào del ở trong F3 lúc nhân vật đang mặc đâu bạn !

Edward_Newgate
05-09-11, 08:14 PM
Ko có hàm nào del ở trong F3 lúc nhân vật đang mặc đâu bạn !
Vậy có hàm nào mà không cho xuống đảo khi đang mặc đồ ko
Nếu mà có thì chắc bạn kia sài đc đó

thaihoa91
05-09-11, 08:16 PM
Vậy có hàm nào mà không cho xuống đảo khi đang mặc đồ ko
Nếu mà có thì chắc bạn kia sài đc đó

Gốc thì ko có, nhưng nếu code thêm hàm mới từ Source thì có thể dc !