- Diễn đàn
- CLB NGHIÊN CỨU & PHÁT TRIỂN MMORPG
- Võ Lâm Truyền Kỳ (Jx Server)
- [JX] Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux VL
Kết quả 1 đến 10 của 783
-
16-07-15, 10:06 AM #1Thành Viên Tâm Huyết
- Ngày tham gia
- Apr 2014
- Đang ở
- Hưng Yên
- Bài viết
- 1,692
- Thanks
- 488
- Thanked 982 Times in 521 Posts
Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux VL
- Để thuận tiện cho các ACE theo dõi và học hỏi devgame JX linux 1 cách nhanh chóng và thuận tiện nhất
- Tổng hợp các sever Linux + update mới và hoàn thiện nhất đồng thời H/D cách fix lỗi để sever Linux ngày càng hoàn chỉnh hơn
Mong ACE ủng hộ nhiệt tình và có những bài viết có ích và phù hợp với nội dung chủ đề ( trừ nội dung online)..............
... Có thể coi đây là tiền thân để tổng hợp cho ebook JX LINUX sau này ............... Thân !!! TVNNAM...
1.Nguồn: Mình đã tổng hợp các sever Linux update mới nhất fix 1 số lỗi tiềm ẩn sever cũ trước đó. các bạn có thể tham khảo link:
[Only registered and activated users can see links. ]
2.Tổng hợp H/D fix 1 số lỗi trên trên sever linux ACE tham khảo khảo
1. Lỗi đồ Minh Phượng do sai res:
[Only registered and activated users can see links. ]
Settings -> item goldequipres.txt
Settings -> item->004 goldequip.txt
đồng bộ SV + Client
2. bỏ Event trong bản Ver3:
vào setting->droprate
vào sữa các file npcdroprate10.ini -> npcdroprate119.ini
sửa
[Main]
Count=55 thành Count=54
xóa nội dụng này
[55]
Genre=6
Detail=1
Particular=1311
RandRate=33000
3. fix lỗi vào phái để làm nhiệm vụ và ko add skill:
Sever nào khi vô phái cho full skill của phái .
Vậy config như thế nào để làm nhiệm vụ mới có skill
[Only registered and activated users can see links. ]
down về rùi chép vào server, file được share là nofont, file này sẽ fix vấn đề của bạn.
4.Share tool jxEdit - edit một vài thứ trong server hay mới nhất:
Chỉnh tỷ lệ rớt đồ
Dùng chỉnh tỷ lệ rớt đồ trong các file droprate : mở file droprate, nạp danh sách item, chỉnh các thông số, add item vào file droprate, và save lại. Tính năng này chưa có chỉnh rớt tiền.
Chỉnh shop
Chỉnh các item có trong shop Hiệu thuốc, Thợ rèn, Tạp hóa, ....: nạp danh sách shop trong file buysell.txt, chọn 1 shop để hiện danh sách hàng trong shop, chọn 1 món hàng và add vào shop, save lại.
Lưu ý : server TSBD không có file Settings/item/mask.txt nên phần mềm sẽ báo lỗi thiếu file này. Bạn chỉ cần tạo file mask.txt có 2 dòng trắng là xong.
Tìm kiếm nội dung
Dùng để tìm 1 câu nào đó trong các file. Ví dụ bạn muốn biết tất cả các task nào đã được dùng trong các script (để tạo task mới không trùng) thì : nhập "SetTask(" vào chuỗi cần tìm, chọn đường dẫn bắt đầu tìm là folder script, nhấn nút Tìm kiếm, thì bạn sẽ được danh sách các file script có chuỗi SetTask. Ví dụ nữa : bạn biết 1 NPC nào đó có nói câu "Ban can co lenh bai" nhưng không biết file script của Npc này là file nào, thì bạn dùng chức năng này để tìm ra file có chứa câu nói đó.
Cách sử dụng
Download về có 2 file, bỏ vào trong folder của server (cùng cấp với các folder Settings, Script).
Link download :
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
5. Chỉnh kinh nghiệm và số tiền:
Chép settings\npc\player\level_exp.txt từ server qua client
settings/ gamesetting.ini/ [ServerConfig] ExpRate= 500 để 100 giống VNG
MoneyRate=100 nên 20
6. chỉnh giới hạn giờ chơi:
sever và client: player_limittime.ini/ CloseLimit=1
7. thêm + bớt maps trong linux gần giống như jx win.... có thể tham khảo chi tiết trong ebook 4.1:
lấy ví dụ:
Mục Maps trong server gồm có:
*File có tên WorldSet.ini -----File này chứa các ID của từng maps được mở để chơi game.
Cấu trúc của Flie này như sau Đây là mẫu WorldSet.ini của mình)
[Init]
Count=35 ----- Đây là số thông báo số Maps được mở.
[World]
World00=53------Ba Lăng Huyện
World01=59------Thiên Vương Bang
World02=65------Sơn Động Thiên Vương Đảo
World03=67------Tầng 2 Sơn Động Định Hồ
World04=71------Mê Cung Bạch Thuỷ Động
World05=77------Mê Cung Yến Tử Động
World06=73------Mê Cung Phục Lưu Động
World07=115----Cái Bang Phái
World08=80------Dương Châu
World09=116----Tầng 1 Địa Hạ Mê Cung(Tường Vân Động)
World10=9-------Trường Giang Nguyên Đầu
World11=340----Mạc Cao Quật
World12=336----Phong Lăng Độ
World13=326----Tống Kim(Khu vuc binh nguyen (so cap))
World14=19------Kiếm Các Tây Nam
World15=131----Côn Lôn Phái
World16=25------Đường Môn Phái
World17=13------Nga Mi Phái
World18=49------Thiên Nhẫn Giáo
World19=103----Thiếu Lâm Phái
World20=154----Thuý Yên Phái
World21=81------Võ Đang Phái
World22=22------Mê Cung Bạch Vân Động
World23=243-----Lâm Du Quan
World24=1--------Phượng Tường
World25=11------Thành Đô
World26=37------Biện Kinh
World27=78------Tương Dương
World28=55------Đào Hoa Nguyên
World29=176-----Lâm An
World30=162-----Phu Đại Lý
World31=242-----Đảo Tẩy Tuỷ
World32=244-----Trường Bạch Sơn Bắc Lộc
World33=24------Mê Cung Hưỡng Thuỷ Động
World34=23------Mê Cung Thần Tiên Động
Phân tích:
Vậy ở đây Count là thông số hiển thị ,tức là thống kê số maps được mở trong game.
World00=53 là thứ tự và ID của maps được mở.Mỗi mẫu WorldSet.ini thì luôn bắt đầu phần thứ tự maps từ “World00=x”(x L à ID maps tuỳ ý) và tiếp tục “World01=…”
“World02=…”
“World03=…”
Sau “=” là ID maps bạn muốn mở.
Sau khi đã hoàn thành số maps cần mở thì đếm lại số “World…=…” mà mình mở được rồi điền vào chỗ Count sau dấu “=”
VD: Mình mở đến “World50” thì mình sẽ khai ở Count là Count=51 .Vì World bắt đầu từ 00 mà.
*Các dữ liệu của map trong mục Maps của server:
Một dữ liệu maps gồm các mục như: 1 file có tên maps đó với đuôi *.wor , 1 mục mang tên maps(trong đó có các mục tên như vầy “v_089”,” v_089” tuỳ ở dữ liệu maps mà có các mục tên khác nhau.DỰa vào đó bạn cũng có thể kiểm tra xem maps nào có dữ liệu và maps nào không có dữ liệu.Trong các mục “v_089” thì lại có các file có đuôi *.dat
*File Maplist.ini trong thư mục Settings:
File này có liên quan đến maps nhưng không nằm trong mục Maps của server mà nằm trong mục Settings của server.
File này chứa các ID Maps , Đường dẫn đến dữ liệu maps , tên hiển thị của từng maps trong game.
Các bạn chú ý: để mở được các maps thì bạn phải dựa vào ID Maps.Tức là ID mà bạn mở trong WorldSet.ini là các ID có thong tin trong Maplist.ini[COLOR="Silver"]
8. droprate:
+ trong settings/droprate/npcdroprate.ini
[Main]
Count=50
RandRange=1000000
MagicRate=100
MoneyRate=10
MoneyScale=50
MinItemLevel=2
MinItemLevelScale=20
MaxItemLevel=10
MaxItemLevelScale=10
9.sửa event bắt đầu và hết hạn:
.Tìm đến foder tên event, rồi sửa file head.lua.Ví dụ event xchristmas2007:
/script/event/xmas07_makesnowman/head.lua
Sửa lại 2 dòng sau
Code:
xmas07_makeSnowMan_S = 14062400 -- Cái này có nghĩa là 00h 00 phút ngày 24 tháng 06 năm 2014, sửa lên ngày cao ngày bắt đầu event
xmas07_makeSnowMan_E = 14072324 --tương tự ngày kết thúc event
xmas07_makeSnowMan_UseTime = 14072424 --tương tự hạn dùng vp
+Bạn muốn biết nó làm việc thế nào về các event thì vào script/activitysys/config trong đó chứa tất cả folder các sự kiện event + 1 vài chức năng. Event giáng sinh, noel : 2,37,1010
+Random quái rớt event bạn chỉ cần vào script/activitysys/npcfunlib.lua: trong file này sẽ có những hàm chỉnh tỷ lệ rơi bằng file hay bằng script. Có 1 vài sự kiện nó sẽ include đường dẫn drop trong config.
+Npc event liên quan thì bạn chỉ cần chỉnh ngày trong config folder thì npc sẽ xuất hiện. Đa số là như vậy, nhưng bạn cần fai kiểm tra những file gọi npc trong config hoặc trong autoexc cho chắc chắn
10. tắt hộp quà:
tắt hộp quà
có 3 cách :
1. * Cách sửa: không cho s3relay chạy event đó nữa:
Mở file gateway/s3relay/relaysetting/task/tasklist.ini
Tìm file và Xóa bỏ:
Ví dụ Code:
[Task_58]
TaskFile=menglanjie_06.lua
hoặc đổi tên file trên để s3 không load file đó nữa (do không tìm thấy file)
Xong vào game test
Cách 2: cho các vật phẩm rớt ra của event đó vào vật phẩm đen không nhặt trong auto là đc
cách 3: tìm tên và xóa event đó trong script/event hoặc chép đè update này vào sẽ không còn event đó nữa: [Only registered and activated users can see links. ] hướng dẫn thì mình đã bày trong topic... lật lại là thấy nhé
-- tiện ai chỉ mình cái file droprate của mấy cái cọc gỗ ở thôn, tên là gì đc không :3
như bạn nói cũng đc... nhưng mình phải biết tên file đó và chỉnh từng map.... ví dụ :
* Cách sửa: không cho s3relay chạy event đó nữa:
Mở file gateway/s3relay/relaysetting/task/tasklist.ini
Xóa bỏ:
Code:
[Task_58]
TaskFile=menglanjie_06.lua
hoặc đổi tên file trên để s3 không load file đó nữa (do không tìm thấy file)
cái file droprate của mấy cái cọc gỗ ở thôn lên google dịch sau đó dùng chức năng tìm kiếm trên sever là đc
Xong vào game test
11.fix lỗi bang hội ko nâng cấp được:
vào : getway/s3relay/setting/tong : chỉnh trong tong_level_data. ở dòng đầu tiên có 2 số 0 ở cột thứ 3 thứ 4 ấy. bác chỉnh thành 10 với 8 là đẳng cấp 1 vẫn nâng max tác phường
cái số 6720 tiếp theo sau 2 số 0 ở tong_level_data đấy bác là cột cống hiến. chỉnh nó lên 672000 rồi lấy tiền vạn gửi ngân quỹ xog chuyển qua thành ngân quỹ kiến thiết là xài tẹt :d hoặc ko thì copy của t cho nhanh
0 10 8 672000 960 0 0 0
1 3 6 672000 2880 3 3 3
2 6 6 1344000 8640 3 3 6
3 8 6 2016000 21600 4 3 9
4 9 8 3360000 33600 5 3 9
5 10 8 504000
12. Cách bật/tắt các sự kiện cũng như việt hóa:
Bạn chỉnh trong s3relay/relaysetting/task/tasklist.ini, file này nó quy định gọi file để chạy dạng timer vậy đó. Nói sơ lun, Count của nó khai báo tổng id task khai báo + 1, cách thức gọi thì làm theo những cái có sẵn. Mún nó không chạy 1 id task nào mà mình khai thì thêm ở dưới nó ExcutedCount=-1 là nó sẽ ko chạy. Điều chỉnh thời gian thì bạn chỉnh ở những file .lua ở relaysetting/task, ví dụ cho bạn ỏ dưới đó
Code:
function TaskShedule()
TaskName("Phong L¨ng §é 0:25") --tên sự kiện, muốn viết gì cũng được cũng ko quan trọng.
TaskTime(10,00); --giờ event sẽ được chạy
--ÉèÖüä¸ôʱ¼ä£¬µ¥Î»Îª·ÖÖÓ
TaskInterval(1440) --60·ÖÖÓÒ»´Î ---nó sẽ chạy suốt trong cái interval timer. Ở đây là mặc định mỗi h nó chạy 1 lần 60*24 = 1440 (60: phút , 24: giờ)
--ÉèÖô¥·¢´ÎÊý£¬0±íʾÎÞÏÞ´Î� �� �ý
TaskCountLimit(0) --cái này mình ko rõ lắm chưa sử dụng nhìu nên toàn để mặc dịnh là 0
OutputMsg("=================PHONG LANG DO RUN=================="); --dang print thôi
end
function TaskContent()
GlobalExecute("dwf \\script\\missions\\fengling_ferry\\fldmap_boat1.l ua fenglingdu_main()") --gọi hàm bạn đã viết ở folder script
end
function GameSvrConnected(dwGameSvrIP)
end
function GameSvrReady(dwGameSvrIP)
end
13.code nhận vòng sáng và danh hiệu jx linux
Thêm dòng này lên đầu:
Code:
Include("\\script\\global\\titlefuncs.lua")
Code:
IncludeLib("SETTING")
Include("\\script\\lib\\awardtemplet.lua")
Include("\\script\\item\\gamemaster\\gm.lua")
Include("\\script\\dailogsys\\dailogsay.lua")
Include("\\script\\global\\fuyuan.lua")
--Include("\\script\\global\\hotrothem.lua")
function abcxyz(nindex)
Title_AddTitle(nindex, 1, 4302359);
Title_ActiveTitle(nindex);
SetTask(1122, nindex);
end
function DanhHieu()
local szTitle = "<npc>moi ban chon danh hieu"
local tbOpt =
{
{"VL Kiet xuat", abcxyz,{85}},
{"VL Minh Chu", abcxyz,{188}},
{"Ngu Long", abcxyz,{165}},
{"Ngu Long", abcxyz,{150}},
{"Ngu Long", abcxyz,{189}},
{"Tuyet The Cao Thu", abcxyz,{235}},
{"Manh Long Tranh Ba", abcxyz,{228}},
{"Manh Long Tranh Ba", abcxyz,{263}},
{"Tho¸t"},
}
CreateNewSayEx(szTitle, tbOpt)
end
14.Hỏi về cách việt hoá server và font chữ:
Dùng notepad++, xem thêm dưới đây:
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
15. code add đồ xanh :
tbDoXanh =
{
[1]=
{
szName = "D©y chuyÒn",
tbEquip =
{
{"Toµn th¹ch h¹ng liªn",0,4,0},
{"Lôc PhØ Thóy Hé Th©n phï ",0,4,1},
}
},
[2]=
{
szName = "¸o gi¸p",
tbEquip =
{
{"ThÊt B¶o Cµ Sa",0,2,0},
{"Ch©n Vò Th¸nh Y",0,2,1},
{"Thiªn NhÉn MËt Trang",0,2,2},
{"Gi¸ng Sa Bµo",0,2,3},
{"§êng Nghª gi¸p",0,2,4},
{"V¹n Lu Quy T«ng Y",0,2,5},
{"TuyÒn Long bµo",0,2,6},
{"Long Tiªu ®¹o Y",0,2,8},
{"Cöu VÜ B¹ch Hå trang",0,2,9},
{"TrÇm H¬ng sam",0,2,10},
{"TÝch LÞch Kim Phông gi¸p",0,2,11},
{"V¹n Chóng TÒ T©m Y",0,2,12},
{"Lu Tiªn QuÇn",0,2,13},
}
},
[3]=
{
szName = "§ai lng",
tbEquip =
{
{"Thiªn Tµm Yªu §¸i",0,6,0},
{"B¹ch Kim Yªu §¸i",0,6,1},
}
},
[4]=
{
szName = "Giµy",
tbEquip =
{
{"Cöu TiÕt X¬ng VÜ Ngoa",0,5,0},
{"Thiªn Tµm Ngoa",0,5,1},
{"Kim Lò hµi",0,5,2},
{"Phi Phông Ngoa",0,5,3},
}
},
[5]=
{
szName = "Bao tay",
tbEquip =
{
{"Long Phông HuyÕt Ngäc Tr¹c",0,8,0},
{"Thiªn Tµm Hé UyÓn",0,8,1},
}
},
[6]=
{
szName = "Nãn",
tbEquip =
{
{"Tú L« m·o",0,7,0},
{"Ngò l·o qu¸n",0,7,1},
{"Tu La Ph¸t kÕt",0,7,2},
{"Th«ng Thiªn Ph¸t Qu¸n",0,7,3},
{"YÓm NhËt kh«i",0,7,4},
{"TrÝch Tinh hoµn",0,7,5},
{"¤ Tµm M·o",0,7,6},
{"Quan ¢m Ph¸t Qu¸n",0,7,7},
{"¢m D¬ng V« Cùc qu¸n",0,7,8},
{"HuyÒn Tª DiÖn Tr¸o",0,7,9},
{"Long HuyÕt §Çu hoµn",0,7,10},
{"Long L©n Kh«i",0,7,11},
{"Thanh Tinh Thoa",0,7,12},
{"Kim Phông TriÓn SÝ ",0,7,13},
}
},
[7]=
{
szName = "Vò khÝ c©n chiÕn",
tbEquip =
{
{"HuyÒn ThiÕt KiÕm",0,0,0},
{"§¹i Phong §ao",0,0,1},
{"Kim C« Bæng",0,0,2},
{"Ph¸ Thiªn KÝch",0,0,3},
{"Ph¸ Thiªn chïy",0,0,4},
{"Th«n NhËt Tr·m",0,0,5},
}
},
[8]=
{
szName = "Ngäc béi",
tbEquip =
{
{"Long Tiªn H¬ng Nang",0,9,0},
{"D¬ng Chi B¹ch Ngäc",0,9,1},
}
},
[9]=
{
szName = "Vò khÝ tÇm xa",
tbEquip =
{
{"B¸ V¬ng Tiªu",0,1,0},
{"To¸i NguyÖt §ao",0,1,1},
{"Khæng Tíc Linh",0,1,2},
}
},
[10]=
{
szName = "NhÉn",
tbEquip =
{
{"Toµn Th¹ch Giíi ChØ ",0,3,0},
}
},
}
function laydoxanh()
if check_faction() == 1 then
Talk(1, "", "Gia nhËp m«n ph¸i míi cã thÓ nhËn trang bÞ ")
return
end
local tbOpt = {}
for i=1, getn(tbDoXanh) do
tinsert(tbOpt, {tbDoXanh[i].szName, laydoxanh1, {i}})
end
tinsert(tbOpt, {"Kªt thóc ®èi tho¹i."})
CreateNewSayEx("<npc>Xin mêi lùa chän trang bÞ:", tbOpt)
end
function laydoxanh1(nType)
local tbEquip = %tbDoXanh[nType]["tbEquip"]
local tbOpt = {}
for i=1, getn(tbEquip) do
tinsert(tbOpt, {tbEquip[i][1], laydoxanh2, {i, nType}})
end
tinsert(tbOpt, {"Kªt thóc ®èi tho¹i."})
local szTitle = format("<npc>Xin mêi lùa chän trang bÞ:")
CreateNewSayEx(szTitle, tbOpt)
end
function laydoxanh2(nIndex, nType)
local tbOpt = {}
tinsert(tbOpt, {"Kim", laydoxanh3, {nIndex, nType, 0}})
tinsert(tbOpt, {"Méc", laydoxanh3, {nIndex, nType, 1}})
tinsert(tbOpt, {"Thñy", laydoxanh3, {nIndex, nType, 2}})
tinsert(tbOpt, {"Háa", laydoxanh3, {nIndex, nType, 3}})
tinsert(tbOpt, {"Thæ ", laydoxanh3, {nIndex, nType, 4}})
tinsert(tbOpt, {"Kªt thóc ®èi tho¹i."})
local szTitle = format("<npc>Chän hÖ:")
CreateNewSayEx(szTitle, tbOpt)
end
function laydoxanh3(nIndex, nType, nSeries)
g_AskClientNumberEx(0, 60, "Sè lîng:", {laydoxanh4, {nIndex, nType, nSeries}})
end
function laydoxanh4(nIndex, nType, nSeries, nCount)
local tbEquipSelect = %tbDoXanh[nType]["tbEquip"][nIndex]
for i=1,nCount do AddItem(tbEquipSelect[2], tbEquipSelect[3], tbEquipSelect[4], 10, nSeries, 100, 10) end
end
16.Cách tắt/Bật Cẩm nang hoàng kim :
bạn vào droprate trong setting . tìm các mục droprate từ 1x đến 9x rồi tìm tới ID quy định cẩm nang hoàng kim rồi xóa cái rate nó đi là ko rớt . Còn nếu muốn dùng đc phải lấy script của update2.1 cgalaxy . ( lấy cái script của cẩm nang . và nhớ chọn đúng đường dẫn quy định đến Script đó )
17. cách thêm op vào phi phong: Phi phong vô cực bị lổi,chỉ sài được phi phong khấp thần trở xuống
Tải vài update 4 của boynhay mở file goldeqiup.txt lên rồi copy mấy cái dòng phi phong mà bị lỗi trong đó bỏ qua cái sv của bạn đang chơi . nhớ đồng bộ client vs sv.
18. Chỉnh map load sv Linux:
Chỉnh ở file này: gateway\s3relay\settings\worldset.txt
Ví dụ mình chỉnh như này là chỉ load map Ba lăng huyện:
Code:
MAP_ID GAMESVR_SET_1 GAMESVR_SET_2 GAMESVR_SET_3 GAMESVR_SET_4 GAMESVR_SET_5 GAMESVR_SET_6 GAMESVR_SET_7 GAMESVR_SET_8 GAMESVR_SET_9 GAMESVR_SET_10 GAMESVR_SET_11 GAMESVR_SET_12 GAMESVR_SET_13 GAMESVR_SET_14 GAMESVR_SET_15 GAMESVR_SET_16 ±¸×¢
53 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 °ÍÁêÏØ
Muốn mở thêm map khác thì copy cả dòng 53 rồi paste xuống dưới, sửa số 53 thành ID map muốn mở, ID map xem ở maplist.ini.
19.script add item:
- Huyền Tinh khoáng thạch:
Code:
AddItem(6,1,147,cấp,0,0,0) --cấp từ 1 - 10
- Các loại khoáng thạch ép đồ tím và ép HKMP:
Code:
AddItem(6,1,149,1,0,0,0) --đá hiện 1
AddItem(6,1,150,1,hệ,0,0) --đá ẩn 1, hệ Kim Mộc Thủy Hỏa Thổ tương ứng 0 1 2 3 4
AddItem(6,1,151,1,0,0,0) --đá hiện 2
AddItem(6,1,152,1,hệ,0,0) --đá ẩn 2, hệ như trên
AddItem(6,1,153,1,0,0,0) --đá hiện 3
AddItem(6,1,154,1,hệ,0,0) --đá ẩn 3, hệ như trên
- Sát thủ giản:
Code:
AddItem(6,1,400,90,hệ,0,0) --hệ Kim Mộc Thủy Hỏa Thổ tương ứng 0 1 2 3 4
- 3 loại Thủy Tinh:
Code:
AddEventItem(239) --Lam Thủy Tinh
AddEventItem(240) --Tử Thủy Tinh
AddEventItem(241) --Lục Thủy Tinh
- Phúc duyên:
Code:
AddItem(6,1,122,1,0,0,0) --tiểu
AddItem(6,1,123,1,0,0,0) --trung
AddItem(6,1,124,1,0,0,0) --đại
- Đồ phổ HKMP: file magicscript.txt từ dòng 241 - 393
20.Nhiệm vụ dã tẩu ? muốn tăng lần huỷ bỏ lên thì phải làm như thế nào ? và làm nv không giới hạn:
vào file th dã tẩu sửa lại. (season.lua)
if nNum>=40 then
Say("Ha! Ha! V?thi誹 h蕺p n祔! M鏸 ng祔 l祄 40 l莕 l? r錳! Ng祔 mai tr?l筰 nh?", 0);
return 0;
end;
ở line 47 file seasonnpc.lua script/global
sửa cái 40 này
còn giới hạn hình như dòng 664 mycacel > 2
21.Làm sao xoá item trong 1 shop ?
Tất cả npc dược ở thành thị đều include vào npc dược ở Tương Dương nên bác chỉ cần xóa item này ở đây là được. Hoặc việt hóa nguyên npc này là all tất dược ở thành thị.
Nhưng bác lần vào Npc dược ở Tương Dương thì nó lại ko có quy định các mã item 015 2019 2036 ví dụ thế mà chỉ có lệnh đối thoại. Nhưng bác nhìn lên đầu file script NPC này nó sẽ quy định item ở file good hay buysell gì đó. Bác lần đến chỗ file đó có đường dẫn luôn, mở thư mục đó nó có nhiều file định dang là .txt nên mở excel lên là được.
Nếu bác Việt hóa rồi thì tìm trong thư mục đó ( gồm cả good, buysell,... ko nhớ nữa) có 1 file quy định tên item và ID mở nó lên tìm dòng chứa tên là Hồi thiên..... >>>> ô bên cạnh có id là cũng chả nhớ nốt lắm 20XX gì hay sao ấy.
Nhớ lấy ID cần xóa cụ thể là 20xx. Mở file good hoặc buys ( vì ko nhớ nên bác cứ mở file nào thấy toàn số và số trên là 20xx dưới là quy định ô gán item 234 235 666 777 dạng như thế này) ctrl + f cho lẹ gõ tìm 20xx id cần xóa và xóa thôi. Run lại sever
22.Điểm tiềm năng tự động cộng max 20 điểm khi vào môn phái
NPC tiếp dẫn môn phái ko add sẵn skill (thư mục cho vào script\global\, file cho vào server\settings\ )
kiếm chùm nào mà AddMagic... vd: AddMagic(275,20) - số 20 chuyển về 1 or 0
23.lỗi giao dịch và Lỗi bày bán hàng SV linux:
Download file này : [Only registered and activated users can see links. ]
giải nén ra được thư mục lang, chép đè vào thư mục lang/sever1
24.Giúp về hàm lệnh bài admin
Bạn muốn thêm LB Admin và game thì bạn có thể thêm nó là 1 vật phẩm trong questkey.txt đó. Gán res cho nó, không thì xài cái res cũ của LB Tân thủ hay j j đó cũng được. Rồi thêm chức năng admin cho nó, rồi dùng lệnh lấy ra mà xài.
25.Chỉnh thời gian mất item rơi trên mặt đất trong jx Linux
bạn vào Settings\obj mở file ObjData.txt lên bằng excel rồi tìm cột LifeTime cột này quy định thời gian item tồn tại dưới đất. số càng lớn thì time mấy càng lâ càng nhỏ thì càng mau
26.Tắt Event với Thông Báo Linux cho s3relay ko load nữa!
bạn vào gateway/s3relay/relayseting/task/task.ini mở nó lên rồi thêm đoạn này dưới event bạn muốn tắt, ExcutedCount=-1, chẳng hạn
TaskFile=miao-ru-2200.lua
ExcutedCount=-1
27. Còn đây là tất cả các npc của tống kim báo danh
jxser\server1\script\global\ÌØÊâÓõØ\ËÎ� �� �� �ð±¨Ãûµã\npc
28.Lỗi map vi sơn đảo
cách fix đơn giản thôi khi các bạn dùng lệnh bài lên thì đừng chạy ra liền đứng im ở đó khoản 5 10s gì đó rồi chạy ra.
29.Vượt Ải Linux chỉnh Vượt Ải 1 người hoặc 2 ngừoi
script\missions\challengeoftime\npc\dragonboat_mai n.lua
if (GetTeamSize() < 4) then
Say("Xin lçi! §éi tham gia 'NhiÖm vô Th¸ch thøc thêi gian' cÇn ph¶i cã Ýt nhÊt <color=red>4<color> ngêi!",0)
return
end
Sửa lại số 4 tùy ý
30.Giúp về Hút hít linux
Bạn mở file magicattrib.txt tại đường dẫn: Server\settings\item\004\magicattrib.txt
Tại cột thứ 5, bạn gióng từ trên xuống, tìm giá trị 136. Đấy là dòng quy định hút sinh lực
Bạn chỉnh lại giá trị tại cột 13, 14 cao lên là dc.
Tương tự giá trị 137 là hút nội lực.
Giá trị 139 là Kỹ năng vốn có.
Giá trị 114 là Kháng tất cả.
Giá trị 115 là Tốc độ đánh.
Giá trị 88 là Phục hồi sinh lực.
Giá trị 92 là Phục hồi nội lực.
Vân vân....
Sau khi đã chỉnh tại server, bạn copy file magicattrib.txt sang client tại đường dẫn tương tự để đồng bộ hóa. Vào game thưởng thức thành quả
Bạn cũng có thể thay đổi giá trị lên cao hơn. Ví dụ tại dòng 65, hút sinh lực 1 - 3%, bạn đổi thành 3 - 5%, các dòng tiếp theo cứ thế tăng lên.
Kỹ năng vốn có + 3, 5, 7, 9
--> server toàn đồ xanh khủng, khỏi cần hoàng kim với đồ tím...
31. đường dẫn npc nhận bạn đồng hành linux
\server1\script\task\partner.
đường dẫn NPC Hàng Rong linux : jxser\server1\script\global\Áã··¹¦ÄÜ.lua
32.hướng dẫn xóa bớt map load gameserver linuxx
gateway\s3relay\settings\worldset.txt
Bonus thêm 1 số tên Map đã dịch
333-hoa sơn phái
341-bắc thảo nguyên
512-vân trung đạo
513-bách hoa cốc
853-862 viêm đế bảo tàng
872-biện kinh nguyên thanh âm
871-lâm an thanh âm
874-biện kinh yên kì
873-lâm an yên kì
863-trại bào
868-hoang mạc chiến trường
876-cổ thành chiến trường
882-tái trạo bào chuẩn bị chiến trường
886-hoang thạch lĩnh xung đột chiến trường
889-ngọc lầm trở túc chiến trường
892-phạm đảo bí cảnh
896-cửu châu cốc
901-thất tịch hoạt động
926-kích cổ truyền hoa hoạt động
935-thiên trì bí cảnh hoạt động tầng 1
947-thiên trì bí cảnh tầng 10
949-thí điểm cốc
957-sấm quan mật thất
958-quỷ mộc nhân trường
959-tân lưỡng thủy động
960-hoàng thành ti lôi đài
961-khổi quỷ mộc nhân chuẩn bị
962-viêm đế bảo tàng thạch chuẩn bị
968-nguyệt ca đảo
969-nguyệt ca bí cốc
967-vô danh bí cảnh
33.Về Tính Năng phong vân bảo điện:
Thêm code sau vào Lễ quan:
Include("\\script\\event\\bingo_machine\\bingo_mac hine_gs.lua")
function PVBD()
OpenBingoMachine()
end
Nguyên liệu dùng hàm :
function nguyenlieu()
AddStackItem(200,6,1,2312,1,0,0,0)
AddStackItem(200,6,1,2312,1,0,0,0)
AddStackItem(200,6,1,2312,1,0,0,0)
end
34.Thần Hành Phù trong Ver3 tranminhdo không hiển thị nhưng vẫn sử dụng được Và script add thần hành phù vào NPC luôn
Tải bản patch 2.1 của cgalaxy hoặc patch của yoken . vào data copy các file . dmjx01.pak đến dmjx06.pak . sau đó chép qua client đang sử dụng . đồng thời nhớ khai báo file pak vào trong pakage.ini ngoài client
Script nhận thần hành phù :
AddItem(6,1,x,1,0,0,0)
Trong đó X là số Item của thần hành phù hoặc các Item nằm trong setting/item/004/magicscript.txt
vào đó seach Thần hành phù rồi lấy ID của nó bỏ vào . hình như là cột số 3 ( bỏ cái cột Name ra )
35.Hỏi về cách sửa điểm tinh lực hỗn thạch trên trang bị jx linux
Tinh lực tài phú sửa trong normal.txt server1 và gateway nhé
thần hành phù[: shenxingfu.lua
36.Thêm lệnh dofile vào hàm main của script muốn reload
file Lễ Quan:
Tìm hàm main:
Mình thêm vào như sau:
Code:
function main()
dofile("script/global/•ÈË_Àñ¹Ù.lua");
dialog_main()
end
Chú ý bên trong dofile là đường dẫn chính xác tới file cần reload (dạng no font) : ở đây là Lễ Quan
Như vậy trong game mỗi khi bấm vào Lễ Quan thì tự động thực hiện lệnh dofile: reload lại file này
Các file script khác làm tương tự
37.Cách hiển thị tiếng việt trong notepad++ cũng như excel
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
38. Code nhận skill 15x:
function cap150()
mp = GetFaction()
if GetLevel() >= 150 then
if GetTask(5009) == 0 then
if mp == "shaolin" then
AddMagic(1055,1)
AddMagic(1056,1)
AddMagic(1057,1)
SetTask(5009,GetTask(5009)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña ThiÕu L©m ")
elseif mp == "tianwang" then
AddMagic(1058,1)
AddMagic(1059,1)
AddMagic(1060,1)
SetTask(5009,GetTask(5009)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Thiªn V¬ng ")
elseif mp == "tangmen" then
AddMagic(1069,1)
AddMagic(1070,1)
AddMagic(1071,1)
SetTask(5009,GetTask(5009)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña §êng M«n ")
elseif mp == "wudu" then
AddMagic(1066,1)
AddMagic(1067,1)
SetTask(5009,GetTask(5009)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Ngò §éc ")
elseif mp == "emei" then
AddMagic(1061,1)
AddMagic(1062,1)
AddMagic(1014,1)
SetTask(5009,GetTask(5009)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Nga My ")
elseif mp == "cuiyan" then
AddMagic(1063,1)
AddMagic(1065,1)
SetTask(5009,GetTask(5009)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Thóy Yªn ")
elseif mp == "gaibang" then
AddMagic(1073,1)
AddMagic(1074,1)
SetTask(5009,GetTask(5009)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña C¸i Bang ")
elseif mp == "tianren" then
AddMagic(1075,1)
AddMagic(1076,1)
SetTask(5009,GetTask(5009)+1)
SetTask(5009,GetTask(5009)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Thiªn NhÉn ")
elseif mp == "wudang" then
AddMagic(1078,1)
AddMagic(1079,1)
SetTask(5009,GetTask(5009)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Vâ §ang ")
elseif mp == "kunlun" then
AddMagic(1080,1)
AddMagic(1081,20)
SetTask(5009,GetTask(5009)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña C«n L«n ")
end
else
Talk(1, "", "Ng¬i ®· nhËn råi kh«ng thÓ nhËn n÷a.")
end
else
Talk(1, "", "N©ng ®Õn 150 råi h·y ®Õn t×m ta")
end
end
mấy con số 1 phía sau AddMagic là cấp độ skill . có thể add bao nhiêu tùy
39.Item gọi boss cả đại và tiểu:
HD cụ thể cho bác luôn này
1. Bác theo đường dẫn này đây là file lễ quan /home/jxser/server1/script/global/·ÈË_Àñ¹Ù.lua
mở nó ra bác viết đoạn script này để đối thoại với lễ quan nhận lệnh bài gọi boss
function main()
dofile("script/global/tieungao/duatopnhanthuong.lua");
local tbSay = {}
tinsert(tbSay,"Lay lenh bai goi boss./lenhbaigoiboss")
tinsert(tbSay,"Ket thuc doi thoai./Quit")
Say("Dai hiep can gi:", getn(tbSay), tbSay)
end;
function lenhbaigoiboss()
for i =1,10 do--lap 10 lan de lay 10 cai lenh bai
AddItem(6,1,1022,0,0,0)
end
end;
2. Vào script\item\bosscharm.lua tìm đoạn
local tbUseOnlyInMap =
{
586,587,588,589,590,591,592,593,594,595,596,597,59 8,599,600,601,602,603,604,
}
sử thành thêm ,53 nữa
local tbUseOnlyInMap =
{
586,587,588,589,590,591,592,593,594,595,596,597,59 8,599,600,601,602,603,604,53
}
3. Restart sever, đối thoại với NPC lễ quan lấy lệnh bài rồi ra chiến.
chú ý gọi boss ngoài thôn Ba lăng huyện nhé
Hoặc tự thêm bằng cách sau:
Tạo con boss Hk mới trên nền boss tiểu hoàng kim. Có 3 boss tiểu, rớt đồ được quy định file drop riêng đó. Độ nó thành 10 boss Đại được mà. Hay lấy em Nhím thay máu, skill, hình ảnh, drop.ini, id.... của nó cũng được. khai báo thêm trong tasklist nữa là có boss mới
còn Boss tiểu sửa được rớt đồ như sever win
40.Các tắt event , drop vật phẩm khi train quái tại các map trong JX Linux
Tại đường dẫn : settings/droprate
Sửa các file ini . bỏ giá trị có thông tin sau :
Genre=0
Detail=6
Particular=4
RandRate=500
41.Xóa tài khoản nhân vật
dùng Navicat -->Login vào server linux
Nhấn vào database: server1
tiếp đến mở table: Role
Tìm dòng nào có tài khoản mà bạn muốn xóa thì xóa nó đi!
Ví dụ: tài khoản tvnnam
Thì tìm trong table Role, cái nào có Account là tvnnam thì xóa hết là ok
42.hướng dẫn đánh ra đồ ngon
[Only registered and activated users can see links. ]
43.mỗi lần trùng sinh từ 190 sau khi trùng sinh xong không về lv 10 mà vẫn ở lv 190
jxser -> sever1 - > script -> global -> mở file translife.lua
Tìm đến dòng thứ 57 "local nBaseLevel = 190" thay cái số 190 thành cấp mà muốn chuyển sinh về. -- để 1 hoặc 10 cho giống VNG
trùng sinh thì xem 2 file file fuyuan.lua và translife.lua
44.Thêm lệnh dofile vào hàm main của script muốn reload
ví dụ:
file Lễ Quan:
Tìm hàm main:
Mình thêm vào như sau:
Code:
function main()
dofile("script/global/•ÈË_Àñ¹Ù.lua");
dialog_main()
end
Chú ý bên trong dofile là đường dẫn chính xác tới file cần reload (dạng no font) : ở đây là Lễ Quan
Như vậy trong game mỗi khi bấm vào Lễ Quan thì tự động thực hiện lệnh dofile: reload lại file này
Các file script khác làm tương tự
45.cách xóa dữ liệu nhân vật:
có rất nhiều cách để Xóa dữ liệu .
nếu dùng Navicat ta có thể xóa từng nhân vật được.
Nếu dùng lệnh trên Centos thì nó lại càng dễ sử dụng và nhanh . nhưng có thể bạn sẽ không hình dung được dữ liệu nó nằm ở chỗ nào
Mình thì mình dùng cách thủ công bằng WinSCP.
1. đăng nhập vào
2. ra đường dẫn root/var/lib/mysql/server1 --> xóa hết các file có trong foder server1
3. vào centos gõ : service mysqld stop đợi chạy . sau đó . service mysqld start
46. add Vật phẩm vào Kỳ Trân Các
Tham khảo video sau: [Only registered and activated users can see links. ]
47. Code thêm skill 15x
code chung:
AddMagic(idskill,levelskill)
idskill: ở trong Skills.txt
levelskill: tối đa là 60
VD:
function skill15x()
mp = GetFaction()
if GetLevel() >= 150 then
if GetTask(5007) == 0 then
if mp == "shaolin" then
AddMagic(x,y)
SetTask(5007,GetTask(5007)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña ThiÕu L©m ")
elseif mp == "tianwang" then
AddMagic(x,y)
SetTask(5007,GetTask(5007)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Thiªn V¬ng ")
elseif mp == "tangmen" then
AddMagic(x,y)
SetTask(5007,GetTask(5007)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña §êng M«n ")
elseif mp == "wudu" then
AddMagic(x,y)
SetTask(5007,GetTask(5007)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Ngò §éc ")
elseif mp == "emei" then
AddMagic(x,y)
SetTask(5007,GetTask(5007)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Nga My ")
elseif mp == "cuiyan" then
AddMagic(x,y)
SetTask(5007,GetTask(5007)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Thóy Yªn ")
elseif mp == "gaibang" then
AddMagic(x,y)
SetTask(5007,GetTask(5007)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña C¸i Bang ")
elseif mp == "tianren" then
AddMagic(x,y)
SetTask(5007,GetTask(5007)+1)
SetTask(5007,GetTask(5007)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Thiªn NhÉn ")
elseif mp == "wudang" then
AddMagic(x,y)
SetTask(5007,GetTask(5007)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña Vâ §ang ")
elseif mp == "kunlun" then
AddMagic(x,y)
SetTask(5007,GetTask(5007)+1)
Talk(1,"","Chóc mõng b¹n ®· häc ®îc tuyÖt kü 150 cña C«n L«n ")
end
else
Talk(1, "", "Ng¬i ®· nhËn råi kh«ng thÓ nhËn n÷a.")
end
else
Talk(1, "", "N©ng ®Õn 150 råi h·y ®Õn t×m ta")
end
end
trong đó ! x là id skill cần add , y là cấp độ skill bạn muốn
Task 5007 kiểm tra số lần nhận skill.
điều kiện ghi rõ ở trên
48.Việt Hóa Đồ Phổ Hoàng Kim Linux
Check lại file atlas_compound trong settings\item\004 rồi đồng bộ qua client
49.Tắt ủy thác jx linux
jxser\server1\script\global\judgeoffline.lua
50.file script nv hoàng kim
script/task/newtask
51.file quy định đồ tím trong sever linux
magicattriblevel.txt
magicattriblevel_index.txt
52.Hướng dẫn Việt hóa cho bạn nào chưa biết
Các bạn đang gặp vấn đề việt hóa Script không biết đường dẫn File .lua của npc muốn VH ở đâu? Đơn giản thôi các bạn làm như sau:
Những thứ cần là:
1)Thư mục Map của server Linux VNG
[Only registered and activated users can see links. ]
2) Tool Add Npc (Cái này trong các server cũ có đó VD: LTG 1.3 chẳng hạn)
[Only registered and activated users can see links. ]
Chẳng hạn các bạn tải Server LTG 1.3 về giải nén nó ra được thư mục Server trong Server vào thư mục Maps xóa hết đi chỉ để lại WorldSet.ini. Rồi Copy Maps của Server Linux VNG vào đây.
Sau đó bật WorldSet.ini lên mở Map có NPC các bạn cần việt hóa. Quay trở lại mở File SwordConfig.ini chỉnh lại đường dẫn cho đúng đến Server LTG 1.3 như mình chẳng hạn. Rồi bật cái NPCtools lên sẽ thấy Map mình đã mở rồi tìm Npc cần VH thôi các bạn sẽ thấy đường dẫn đến File .lua đó tìm đến là chiến thôi. Đường dẫn ở đây là ở Script của Server Linux VNG nha chứ không phải của Server LTG 1.3 đâu nha, chẳng qua mình lấy LTG 1.3 để lấy NPCtools thôi.
3.dịch TQ ở trang vietphrase.com và nhớ cài font trung quốc nhé
-Lưu ý muốn bật Tool được các bạn hãy dùng File WorldSet.ini của server cũ nha thì tool mới chạy được.
-Mấy NPC NV Hoàng Kim, Long Ngũ, Bang Hội, nói chung là tiếng Tàu... không được add cứng trên map mà add trong script, sẽ được tự thực hiện khi chạy GS, nên chúng ta đổi tên trong script đó, vào Game sẽ hiển thị tên NPC lại!
53.Chia sẻ một số mẹo nhỏ soạn thảo file .lua
[Only registered and activated users can see links. ]
54.Share cách FIX BẢNG XẾP HẠNG
[Only registered and activated users can see links. ]
55.Share cái mấy cái event cho jx linux cho ai cần
event : mừng Sinh nhật VLTK, Phúc-Lộc Thọ, Giáng sinh đánh quái ở thôn và thành thị ra vật phẩm.
event : mâm ngũ quả, trung thu làm bánh, trung thu đổi lồng đèn đánh quái 9x ra.
link: [Only registered and activated users can see links. ]
56.Tặng anh em mấy bộ giao diện và Ui thời tiền sữ !
- Dành cho các bạn đổi gió !
- Dành cho các bạn nào mở onl hút máu theo CTC !
Link : [Only registered and activated users can see links. ]
Ui võ lâm miễn phí của HOÀN MỸ KIẾM HIỆP
[Only registered and activated users can see links. ]
57.Cách thay đổi hình nền Intro đăng nhập Jx Linux Đơn Giản
Đầu tiên các bạn phải có bộ Ui ( Chỉ lần phần Intro )
Ở đây mình chia sẻ bạn Link Ui CTC cả bộ. rồi mình sẽ hướng dẫn tiếp
Link : [Only registered and activated users can see links. ]
Sau khi tải về và đem nhét thư mục Ui và Spr vào Client thì chắc chắn nó sẽ hiện Ui CTC
Để Thay đổi hình ảnh mà ko làm mất giao diện thanh máu hay thanh công cụ bên dưới
Các bạn vào Ui/Ui3 Xóa 2 file .ini đi
Tiếp tục vào Ui/Ui3/UiNewLogin Xóa 2 File ini kia. Chỉ còn chừa lại File : µÇ½¹ý³Ì±³¾°´°¿Ú.ini
Rồi như vậy là các bạn sẽ thay đổi được hình .
Để thay đổi hình các bạn tìm hình phù hợp để bỏ vào Spr như của cái Ui nhé !!
Share luôn cái link intro Jx : [Only registered and activated users can see links. ]
58.fix Vô Hình Độc + vh jx linux
Về vh mọi người sử dụng jxstudio để vh
dùng notepad hiện chữ tàu bằng cách:
Bạn mở notepad++ =>Encoding=>Characters sets=> Chinese=>GB2312
chú ý cài font china và cop file sang máy thật để làm nhé
fix Vô Hình Độc( do skill vô hình độc dùng để đi săn nguyên liệu event nên vng mới fix lại chỉ còn giảm tốc độ) ta fix lại như sau:
Mặc định skill Vô Hình Độc nghe đâu VNG fix phải sử dụng skill thì mới có tác dụng(mình chỉ chơi vl thu phí hồi đó thôi nên k biết rõ vụ này),giờ mình hd fix lại như bình thường
Tìm đến đường dẫn \script\skill\wudu.lua
Mặc định:
PHP Code:
wuxing_gu={ --无形蛊
fastwalkrun_p={{{1,-10},{25,-50},{26,-50}},{{1,18*2},{20,18*2}}}
},
Sửa lại thành:
PHP Code:
wuxing_gu={ --无形蛊
fastwalkrun_p={{{1,-10},{25,-50},{26,-50}},{{1,18*2},{20,18*2}}},
poisondamage_v={
[1]={{1,5},{20,25}},
[2]={{1,20},{20,20}},
[3]={{1,25},{2,25}}
}
},
59. Share chức năng Admin tích hợp sẵn trong lệnh bài
share cái Lệnh bài admin cho anh em ai chưa có thì dùng có hết hướng dẫn bên trong
muốn add thêm chức năng thì vào server1\script\item\ib\lenhbaiadmin.lua
link: [Only registered and activated users can see links. ]
60. Fix chế tạo đồ tím bằng huyền tinh được 6 dòng
script\item\compound\equip_compound.lua
Bạn tìm dòng trong code sau
Code:
function genDesItemsInfo( arynNecessaryItemIdx ) local aryDesItemInfo = {};
for i = 1, 5 do
local arynMagLvl = { 0, 0, 0, 0, 0, 0 };
Thay đổi số 5 thành sô 6 là được nhé
61.Lỗi đồ Minh Phượng xích lân là do sai res:
[Only registered and activated users can see links. ]
Settings -> item goldequipres.txt
Settings -> item->004 goldequip.txt
62. Fix lệnh bài GM bị thành bất minh đạo cụ
1. lỗi do chưa đồng bộ
2. thiếu spr
3. có thể client chưa update mới nhất
63. chỉnh tỷ lệ rơi đồ trong event
\server1\settings\droprate mấy file ini mở ra xem và so sánh với server1\settings\item\004\magicscript.txt
VD : mình lấy Hép quµ Sinh nhËt 6 1 1099 làm ví dụ, Lưu ý dòng chữ đỏ nhé
mở file trong droprate lên có dòng
[51]
Genre=6
Detail=1
Particular=1099
RandRate=3500 <--- đây là chỉ số rớt ra khi giết quái chỉ cần chỉnh về =0 là dc
64. Chỉnh trang bị “không thể phá hủy” và tỉ lệ rơi đồ maxop:
Chỉnh trang bị “không thể phá hủy” và tỉ lệ rơi đồ maxop:
- không thể phá hủy:
Bạn mở file magicattrib.txt tại đường dẫn: Server\settings\item\004\magicattrib.txt
Tại cột thứ 5, bạn gióng từ trên xuống, tìm giá trị 136. Đấy là dòng quy định hút sinh lực
Bạn chỉnh lại giá trị tại cột 13, 14 cao lên là dc.
Tương tự giá trị 137 là hút nội lực.
Giá trị 139 là Kỹ năng vốn có.
Giá trị 114 là Kháng tất cả.
Giá trị 115 là Tốc độ đánh.
Giá trị 88 là Phục hồi sinh lực.
Giá trị 92 là Phục hồi nội lực.
Vân vân....
Sau khi đã chỉnh tại server, bạn copy file magicattrib.txt sang client tại đường dẫn tương tự để đồng bộ hóa. Vào game thưởng thức thành quả
Bạn cũng có thể thay đổi giá trị lên cao hơn. Ví dụ tại dòng 65, hút sinh lực 1 - 3%, bạn đổi thành 3 - 5%, các dòng tiếp theo cứ thế tăng lên.
Kỹ năng vốn có + 3, 5, 7, 9
--> server toàn đồ xanh khủng, khỏi cần hoàng kim với đồ tím...
Mang set động xác may mắn 100% + ăn quế hoa tửu, thiên sơn bảo lộ, treo auto là ra nhé
65. code nhận 1 lần cho jxlinux
function hotrotanthu()
if GetTask(5000) <= 0 then
AddItem(6,1,4328,0,0,0)
AddStackItem(100,4,417,1,1,0,0,0)
Earn(1000000)
SetTask(5000,GetTask(5000)+1)
else
Talk(1,"no","b¹n ®• nhËn råi")
end
end
PHP Code:
function hotrotanthu()
local a = GetTask(1)
if (a == 1) then
Talk(1,"no","b¹n ®• nhËn råi")
else
AddItem(6,1,4328,0,0,0)
AddStackItem(100,4,417,1,1,0,0,0)
Earn(1000000)
SetTask(1,1)
Talk(1,"no","NhËn thµnh c«ng ")
end
end
66. add vật phẩm khóa
add vật phẩm khóa
Code:
Include("\\script\\lib\\awardtemplet.lua")
Code:
tbAwardTemplet:GiveAwardByList({tbProp = {6,1,71,1,0,0}, nExpiredTime=1440, nBindState=-2}, "test", 1);
- Hạn sử dụng: nExpiredTime có 2 cách tính:
tính bằng phút: 1 ngày = 1440 phút
hoặc tính đến ngày hết hạn, ví dụ nExpiredTime=20140601 tức là thời hạn sử dụng đến 00h00 - 01/06/2014
- "test" cái này hình như ghi gì cũng dc
- Số 1 cuối cùng là số lượng
- Nếu muốn ko khóa thì xóa bỏ "nBindState=-2"
Ví dụ: code trên add Tiên Thảo Lộ khóa vĩnh viễn, hạn sử dụng 1 ngày
67. việt hóa đồ phổ HK
việt hóa đồ phổ HK
chép vào đường dẫn này nhé \\settings\\item\\huangjintupu.txt đã việt hóa
[Only registered and activated users can see links. ]
68. Cách thêm hoặc chỉnh sửa opt cho skill gồm 2 bước:
- Khai báo thêm opt trong skills.txt
- Thêm vào trong script của skill môn phái
sau đó đồng bộ sever qua client..... rất ngắn gọn phải ko?
69. file điều chỉnh công thức và tỉ lệ ép đồ tím
settings/item/004/magicattriblevel từ cột L trong excel đổ đi nhé bạn
thần bí thương nhân
\\script\\vng_feature\\thuongnhanthanbi\\moruongfo ur\\openchestfour.lua
70. Cần giúp đỡ về lỗi không biết gì luôn với cái luyện skill 12x của sv Cgalaxy
f mp() ~= 0 then
if HaveMagic(mangskill[mp()]) > 0 then
expskill = 30000
if GetSkillState(440) == 1 then
expskill = 60000
end
Clear120SkillExpLimit()
Set120SkillID(mangskill[mp()])
Add120SkillExp (expskill)
end
end
1 - kiểm tra môn phái
2 - Clear120SkillExpLimit() -- xóa giới hạn
3 - Set120SkillID(mangskill[mp()]) - Set ID Skill 12x cần add Exp
4 - Add120SkillExp (expskill) - Add exp cho skill 12x vừa set ở trên
Clear120SkillExpLimit()
Bạn chỉ cần dùng hàm này là xóa cái Exp giới hạn trên 1 ngày của nhân vật.
Xong thích thì luyện skill không thì add exp bao nhiêu tùy mình
Còn exp quy định để lên cấp xem trong Script/skill
3.Hàm trong JX Server Linuxx
1.Các hàm cơ bản trong JX LINUX
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ó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,ÎïÀíÉ˺¦Öµ£¬±ù£¬ »ð£¬µç£¬¶¾£©)
2.Tổng quan tìm hiểu Câu Lệnh Jx Linux Tổng Hợp
Tổng quan Account_Info SQL database account_tong
- nExPoint
- nExPoint1 --Tiền đồng ở tiền trang LA, nếu 1=10 tiền đồng
- nExPoint2
- nExPoint3
- nExPoint4
- nExPoint5
- nExPoint6
- nExPoint7
Còn mấy cái trên ai giải thích hộ với ạ
____________________________________________
Hàm Nhận Skill trong Skill.txt
- AddMagic(x,y) --x là skill = số dòng -1 trong bảng skill.txt, y=Cấp skill
___________________________________________
Hàm Kiểm Tra Nhân Vật
- GetSex() == x --hàm kiểm tra giới tính, x ứng với 1=nữ, 0=nam.
- SetSeries(x) --hàm chuyển hệ, x=0, 1,2,3,4=K,M,T,H,T
___________________________________________
Hàm Chuyển Trạng Thái PK
- SetCurCamp(x) --x = 1, 2, 3, 4 = Chính, Tà, Trung, Sát Thủ
- SetCamp(x) Hai dòng trong Hàm luôn luôn đi cùng nhau.
____________________________________________
Hàm Nhận Item GoldEquip.txt
- AddGoldItem(0,x) -- x là số hàng -1 trong bảng GoldEquip.txt
___________________________________________
Hàm Task Tổng Thể Server
- SetTask(x,GetTask(x)+y) --x=Chỉ số Task, y=Số lượng điểm cộng vào task x
- SetTask(x,GetTask(x)-y) --x=Chỉ số Task, y=Số lượng điểm trừ vào task x
- GetTask(x) == y --Kiểm tra số lượng điểm y trong task x
Lưu ý: task trong linux các bạn có thể sét tự do mà không cần khai báo , cứ thoải mái ghi Id task mà bạn muốn tạo ở 1 điều kiện nào mà ko sợ bị lỗi
____________________________________________
Hàm QuestKey.txt
CalcEquiproomItem(4,x,1,-1) --Kiểm tra số lượng item x trong rương
ConsumEquiproomItem(a,4,x,1,-1) --Xóa Item x, a= số lượng cần xóa
___________________________________________
Hàm MagicScript.txt
- CalcEquiproomItemCount(6,1,x,y) >= 1 -- Kiểm tra Item x, có cấp độ y có trong rương
- ConsumeEquiproomItem(a,6,1,x,-1) --Xóa Item x, a= số lượng cần xóa
- AddItem(6,1,x,0,0,0) --x lá số Item trong bảng ( cột thứ 3 của bảng)
Lưu ý: ở hàm addItem này các giá trị số 0 gồm giá trị cấp độ, thuộc tính ..., phải chú ý
Hướng dẫn cách sử dụng hàm trong JX Linux
--IncludeLib("FILESYS") : de dung dc ham doc file
--IncludeLib("TASKSYS"): DE DUNG TASK SYS FILE
TabFile_GetRowCount(path or tên file muốn đặt) : count data trong file
TabFile_GetCell(path or tên file muốn đặt,nRow,zNameRow) : dùng để lấy thông tin từng roll mặc định bởi tên đầu tiên của row
TabFile_Load(path,tên file muốn đặt(vd: "duong")) : kiểm tra file có tồn tại ko (1: có, 0: ko)
SetAutoHangMapFlag(id so ) : 1 cấm bán hàng + chat trên mọi tầng số
CountFreeRoomByWH(width,height) : tính ô trống trong rương by chiều dài và rộng
CalcFreeItemCellCount() : đếm khoảng trống trong hành trang by ô (1 by 1)
CreateTaskSay({"<dec><npc>".." string want to say","ket thuc/oncancel"})
GetAccount() : hàm lấy id để đăng nhập nhân vật
GetLocalDate("%y%m%d") : lấy ngày tháng của computer
CreateNewSayEx(zTile,tbOption) : tạo một hàm say như sau
zTile = "test string"
tbOption =
{
{"Option name",function option,paramate}
}
ITEM_SetExpiredTime(ItemIndex, 10080);
SyncItem(ItemIndex); dùng sau khi set thời gian expired cho 1 trang bị hoặc 1 vật phẩm nào.
SetItemBindState(index,-2) : khóa bảo hiểm vĩnh viễn (index = AddItem(...) )
GetItemName(nItemIdx) : dùng để lấy tên vật phẩm.
RemoveItemByIndex(nItemIdx) : xóa vật phẩm by index.
CalcEquiproomItemCount( 6, 1, Id Vật Phẩm, Cấp Độ ) : đếm số lượng vật phẩm xếp chồng trong rương dùng cho hàm AddItem(6,1,0...)
ConsumeEquiproomItem(số lượng trừ,6,1,Id Vật Phẩm,-1): del vật phẩm xếp chồng dùng cho vật phẩm AddItem(6..)
CalCEquiproomItem(4,id vật phẩm,1,-1) : đếm số lượng xếp chồng cho vật phẩm questkey
ConsumEquiproomItem(số lượng,4,id vật phẩm,1,-1): del vật phẩm xếp chồng dùng cho questkey
ConsumeItem(3,1,loại vật phẩm (4, or 6 or item),1,Id Vật Phẩm,-1): dùng để kiểm tra vật phẩm có hay ko nếu có thì return 1 và xóa lun vật phẩm hoặc trang bi
ConsumeItem(-1,nItemCount,tbProp[1],tbProp[2],tbProp[3],-1): dùng để đếm số lượng(cả stack) Item 6 có bao nhiêu nếu đúng số lượng nItemCount(lấy từ CalcItemCount) là 1 if not -1, then nó del vật phẩm đó.
CalcItemCount(-1,tbProp[1],tbProp[2],tbProp[3],-1): lấy số lượng Item stack của item 6 trong bảng giao
CalcItemCount(3,tbProp[1],tbProp[2],tbProp[3],-1): nếu return 0: không or 1: có : dùng để xác định có vật phẩm đó trong bảng giao ko .
GiveItemUI("tên của bản giao","chú thích của bảng giao","function de thực hiện bảng giao") : bảng giao vật phẩm or trang bị
GetItemBindState(nItemIndex) : lấy tình trạng của vật phẩm (khóa hay ko khóa)
GetGiveItemUnit(nItemRoom) : trả lại lấy index của vật phẩm bỏ vào bảng giao return IndexItem,nItemRoom: số ô của vật phẩm bỏ vào bảng giao
GetItemProp(index item) : return particular,kind of vật phẩm,id vật phẩm
GetItemStackCount(idxItem): return số lượng item xếp chồng bỏ vào bảng giao by index vật phẩm bỏ vào
GetItemQuality(nItemIndex) : return loại trang bị bỏ vào bảng giao bởi index.
GetItemName(nItemIndex): return lại tên của vật phẩm hoặc trang bị bỏ vào bởi index
DisabledUseTownP(0 or 1) : khóa sử dụng thổ địa phù : 0 mở 1: khóa
ForbidChangePK(0 or 1) : khóa pk 1: khóa ,0 : ko
Msg2Map(id map,str) : dùng thông báo tin nhắn đến nhân vật trong 1 map nào đó
OfflineLive(PlayerIndex) : dùng để out nhân vật dạng ủy thác.
GetLastDiagNpc(); return index npc đối thoại
GetNpcName(nNpcIndex) : return tên npc đối thoại bằng index
SetMissionS(id, Name): Dùng để add tên của nhân vật ở dạng task mission
GetMissionS(id) : lấy tên nhân vật được set bằng missions s bằng id.Lần sửa cuối bởi tvnnam, ngày 28-01-16 lúc 02:56 PM.
CTV- GIẢI ĐÁP THẮC MẮC JX LINUX OFF
-
The Following 77 Users Say Thank You to tvnnam For This Useful Post:
3kiem (24-07-15), 4m4iy3u3m1991 (19-10-18), 6558503 (23-07-15), acma865 (18-07-15), anhtsc (28-09-15), anINTht96 (02-06-16), aphrodite (23-08-16), baronmd (01-08-15), bboybest (10-09-16), bil4i3n (23-08-15), boyganz (22-07-15), brirneyspier (08-08-15), calms1001 (12-03-17), camtoi (20-03-19), caunho1x9x (17-10-15), chaymaumakia (16-12-16), cudacx12 (17-07-15), cutyne (21-10-15), DJneunhu (25-02-17), dongmau (26-04-17), doremon.duk (16-07-15), dovietthai (20-01-16), DuongDaiCaJX (03-10-15), duynguyenjx (05-10-16), emyeusss7 (22-05-16), gakfc1993 (27-07-15), greentears (16-07-15),
gztlove114(16-07-15), HAHT169 (01-02-16), hanamnet1 (16-07-15), hcm589 (06-12-15), heodat139 (16-07-15), huhahu92 (02-08-15), huntersun (23-07-15), kenlucky2000 (23-08-15), Keylove_1993 (23-08-15), khungboktvn (12-09-15), lehieuaa (07-11-15), leolion (12-12-15), lntinh (16-07-15), ltt91 (16-07-15), lythelong (23-04-16),manhdendaica(20-09-15), minhkhanh109 (25-11-15), mothaiba123 (16-08-15), mr.truyen (20-08-15), MrHarryPotter (17-07-15), NewbieJX1 (21-02-16), newbleach (15-03-16), ngocht (26-10-15), nguyeenxhair1 (02-04-16), nguyennhuloi (20-02-16), nguyenthinhpha (29-04-16), nobitajx2 (23-07-15), ntgiangdic (17-08-15), phamkhoa1804 (04-11-18), pull1203 (02-02-16), quannd (01-03-16), rioranso (02-01-16), rivalred3490 (09-08-15), satthupro95 (03-04-16), shouljin00 (31-12-15), sogintdemon (24-07-15), songvijx (30-10-15), thanhtunghn (16-07-15), thinkiem (12-02-17), tieudieuphong (09-09-15), trando119 (31-10-15), trankhanhly (21-07-15), tranthaivinh84 (24-10-15), trungkhuyen (07-09-15), ttung11 (05-09-15), tuananhc1 (16-07-15), tuanhdvn (22-07-15), tului (26-04-16), tuyettinh88 (30-04-17), uplever001 (26-10-15)
-
16-07-15, 10:45 AM #2Thành Viên
- Ngày tham gia
- Jul 2011
- Bài viết
- 522
- Thanks
- 269
- Thanked 308 Times in 196 Posts
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
Update hạng ở dấu "?" đê
Diễn đàn CLBGAMESVN thành lập từ năm nào ? (2005)Khách viếng thăm hãy cùng greentears xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
-
16-07-15, 11:23 AM #3Thành Viên Tâm Huyết
- Ngày tham gia
- Apr 2014
- Đang ở
- Hưng Yên
- Bài viết
- 1,692
- Thanks
- 488
- Thanked 982 Times in 521 Posts
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
Làm 1 bài đóng góp trước..... để lấy tinh thần cho ACE nào
fix 1 số lỗi trên trên sever linux
1. Lỗi đồ Minh Phượng do sai res:
Settings -> item goldequipres.txt
Settings -> item->004 goldequip.txt
đồng bộ SV + Client
2. bỏ Event trong bản V2:
vào setting->droprate
vào sữa các file npcdroprate10.ini -> npcdroprate119.ini
sửa
[Main]
Count=55 thành Count=54
xóa nội dụng này
[55]
Genre=6
Detail=1
Particular=1311
RandRate=33000
3. fix lỗi đồ MP:
[Only registered and activated users can see links. ]
4. fix lỗi vào phái để làm nhiệm vụ và ko add skill:
Sever này khi vô phái cho full skill của phái .
Vậy config như thế nào để làm nhiệm vụ mới có skill vậy mọi người (tại mình thấy mọi người bảo đây là sever của VNG thì phần nhiệm vụ đã viết full rồi chứ ? )
[Only registered and activated users can see links. ]
dow về rùi chép vào server, nên việt hóa nofont vì file được share là nofont, file này sẽ fix vấn đề của bạn.
5. Lỗi nv đường môn:
Mình chơi sever JX Linux 6.0 , thì thấy quest lv 10 để nhận skill của Đường môn bị lỗi.
Cụ thể là sau khi nhận nhiệm vụ ở phòng võ công ( nó bảo tới thành đô tìm mai nương lấy ma vũ châm ) nhưng khi mình đến nói chuyện với Npc Mai Nương thì chỉ như nói chuyện bình thường, không có dấu hiệu của quest gì cả .Quest tới đó bị dán đoạn không làm đc tiếp .
Vậy fix lỗi này như thế nào mọi người ?
Code:
script\西南北区\成都\成都\职能npc\西南 北区-成都府--杂货店老板对话.lua
(link nofont) script\Î÷Äϱ±Çø\³É¶¼\³É¶¼\Ö°ÄÜ npc\Î÷Äϱ±Çø-³É¶¼¸®--ÔÓ»õµêÀÏ°å¶Ô»°.lua
Code:
elseif (UTask_tm == 10*256+40) then --唐门唐鹤10级任务
Say("玛瑙戒指很漂亮,500两一个,不买 会后悔!", 3, "买玛瑙戒指. /ring", "交易/yes", "不交易/no")
Đoạn trên là kiểm tra nhân vật hiện đang làm nhiệm vụ cấp 10 đường môn hay ko
Thay vì gặp Mai Nuơng thì gặp chủ tiệm tạp hóa !
=====================
Mình làm được rồi .
Lại làm phiền mod lần nữa vậy, cho hỏi cái file " Î÷Äϱ±Çø-³É¶¼¸®--ÔÓ»õµêÀÏ°å¶Ô»°.lua " nó quy định quest môn phái của Đường môn từ 10 đến 90 luôn hay nó chỉ quy định 1 vài quest , Vậy nếu mình làm các quest môn phái khác của đường môn mà gặp lỗi tương tự thì tìm file nào ? Và nếu cũng gặp lỗi tương tự cho các phái khác thì phải tìm ở file nào ?
Cảm ơn !
- Chỉ có nhiệm vụ cấp 10 thôi vì các nhiệm vụ khác nhau phải gặp NPC khác nhau
- Dùng chức năng Find in Files của notepad++, với Đường Môn thì mình search 唐门, phái khác tuơng tự[COLOR="Silver"]
6.Share tool jxEdit - edit một vài thứ trong server hay mới nhất:
Chỉnh tỷ lệ rớt đồ
Dùng chỉnh tỷ lệ rớt đồ trong các file droprate : mở file droprate, nạp danh sách item, chỉnh các thông số, add item vào file droprate, và save lại. Tính năng này chưa có chỉnh rớt tiền.
Chỉnh shop
Chỉnh các item có trong shop Hiệu thuốc, Thợ rèn, Tạp hóa, ....: nạp danh sách shop trong file buysell.txt, chọn 1 shop để hiện danh sách hàng trong shop, chọn 1 món hàng và add vào shop, save lại.
Lưu ý : server TSBD không có file Settings/item/mask.txt nên phần mềm sẽ báo lỗi thiếu file này. Bạn chỉ cần tạo file mask.txt có 2 dòng trắng là xong.
Tìm kiếm nội dung
Dùng để tìm 1 câu nào đó trong các file. Ví dụ bạn muốn biết tất cả các task nào đã được dùng trong các script (để tạo task mới không trùng) thì : nhập "SetTask(" vào chuỗi cần tìm, chọn đường dẫn bắt đầu tìm là folder script, nhấn nút Tìm kiếm, thì bạn sẽ được danh sách các file script có chuỗi SetTask. Ví dụ nữa : bạn biết 1 NPC nào đó có nói câu "Ban can co lenh bai" nhưng không biết file script của Npc này là file nào, thì bạn dùng chức năng này để tìm ra file có chứa câu nói đó.
Nhân vật
Cái này dùng để edit chỉ số các nhân vật khi khởi tạo
Tài khoản
Cái này dùng để tạo tài khoản (có set ngày hết hạn), bạn dùng cái này hoặc JxStartup cũng được. Nhập IP, password, nhấn nút Nạp danh sách; sau đó có thể tạo tài khoản mới hoặc xóa tài khoản cũ.
Cách sử dụng
Download về có 2 file, bỏ vào trong folder của server (cùng cấp với các folder Settings, Script).
Link download :
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
7.Share cách FIX BẢNG XẾP HẠNG hàng CÙI:
Chào các bạn,
Rãnh rỗi sinh nông nỗi, mình mạn phép share ra cách làm bảng xếp hạng "Cùi" của mình. Còn những cách fix khác nhưng có lẽ nhiều bạn chỉ cần có là được ^^.
Bắt đầu:
I. Nội dung file UI:
1. Đối với Server NoFont
_ Đường Link NoFont: Ui/Ui3/Ê÷ÐÍÅÅÃûÖ÷Ìâ.ini
2. Đối với Server Font:
_ Đường Link Font: Ui/Ui3/树型排名主题.ini
3. Nội dung file:
II. Cách FIX xếp hạng:
126_ID=10234
Nhìn vào file UI, các bạn có thấy những số ID này không??? Chính nó là mấu chốt. Ở đây ID 10234 là của "Dương Châu thập đại Anh Hùng". Các bạn hãy thử dùng hàm
Code:
//Ladder_NewLadder(nLadderId, szName, nValue, 0);
function testRank()
local szName = GetName();
local nValue = 1000;
local nLadderId = 10234;
Ladder_NewLadder(nLadderId , szName, nValue, 0);
end
Và kiểm tra trên bảng xếp hạng xem sao. Dựa vào đó bạn thử sửa ID của cao thủ võ lâm thành số 13000. Rồi sau đó chạy code:
Code:
//Ladder_NewLadder(nLadderId, szName, nValue, 0);
function testRank()
local szName = GetName();
local nValue = GetLevel();
local nLadderId = 13000;
Ladder_NewLadder(nLadderId , szName, nValue, 0);
end
Chắc tới đây các bạn đã biết cách làm "BẢNG XẾP HẠNG CÙI" rồi chứ ^^. Đây có thể là cách cùi bắp nhưng sử dụng tốt. Còn muốn cho xếp hạng pro lên, chuẩn xác hơn thì suy nghĩ và phát triển lên nữa nào ^^. Còn cái xếp hạng ở dấu ? thì dùng cách khác, đòi hỏi "khả năng" tốt hơn. Còn xếp hạng cá nhân các bạn coi trong script\misc\rank mà tìm hiểu nhé.
Cập nhật thêm
Thấy có một số bạn đã làm được rồi nhưng bị dấu "-" trên bảng. Mình xin mách nước cách "fix".
1_Flag=-1
Bỏ dấu "-" chỗ này đi. Là hết ^^.
Nói rõ hơn là đường dẫn file Ui. tức là tạo file theo cây thư mục mình ghi ở đầu bài tại client nhé. Còn phần script thì bạn thêm vào lễ quan hay đại ở đâu cũng được để test. Còn muốn cho chuyên nghiệp thì các bạn có thể thêm code vào file levelup để nó tự cập nhật mỗi khi lên cấp. Hoặc thêm vào xa phu để gamer di chuyển là nó cập nhật mới data... hoặc thêm luôn vào file quy định lúc login vào để nó cập nhật........ Mấy cái ID mà <10000 các bạn chỉnh lại hết thành >13000 đi là được. ^^[COLOR="Silver"]
8. Chỉnh kinh nghiệm và số tiền:
Chép settings\npc\player\level_exp.txt từ server qua client
settings/ gamesetting.ini/ [ServerConfig] ExpRate= 500 để 100 giống VNG
MoneyRate=100 nên 20
9. thêm + bớt maps trong linux gần giống như jx win.... có thể tham khảo chi tiết trong ebook 4.1:
lấy ví dụ:
Mục Maps trong server gồm có:
*File có tên WorldSet.ini -----File này chứa các ID của từng maps được mở để chơi game.
Cấu trúc của Flie này như sau Đây là mẫu WorldSet.ini của mình)
[Init]
Count=35 ----- Đây là số thông báo số Maps được mở.
[World]
World00=53------Ba Lăng Huyện
World01=59------Thiên Vương Bang
World02=65------Sơn Động Thiên Vương Đảo
World03=67------Tầng 2 Sơn Động Định Hồ
World04=71------Mê Cung Bạch Thuỷ Động
World05=77------Mê Cung Yến Tử Động
World06=73------Mê Cung Phục Lưu Động
World07=115----Cái Bang Phái
World08=80------Dương Châu
World09=116----Tầng 1 Địa Hạ Mê Cung(Tường Vân Động)
World10=9-------Trường Giang Nguyên Đầu
World11=340----Mạc Cao Quật
World12=336----Phong Lăng Độ
World13=326----Tống Kim(Khu vuc binh nguyen (so cap))
World14=19------Kiếm Các Tây Nam
World15=131----Côn Lôn Phái
World16=25------Đường Môn Phái
World17=13------Nga Mi Phái
World18=49------Thiên Nhẫn Giáo
World19=103----Thiếu Lâm Phái
World20=154----Thuý Yên Phái
World21=81------Võ Đang Phái
World22=22------Mê Cung Bạch Vân Động
World23=243-----Lâm Du Quan
World24=1--------Phượng Tường
World25=11------Thành Đô
World26=37------Biện Kinh
World27=78------Tương Dương
World28=55------Đào Hoa Nguyên
World29=176-----Lâm An
World30=162-----Phu Đại Lý
World31=242-----Đảo Tẩy Tuỷ
World32=244-----Trường Bạch Sơn Bắc Lộc
World33=24------Mê Cung Hưỡng Thuỷ Động
World34=23------Mê Cung Thần Tiên Động
Phân tích:
Vậy ở đây Count là thông số hiển thị ,tức là thống kê số maps được mở trong game.
World00=53 là thứ tự và ID của maps được mở.Mỗi mẫu WorldSet.ini thì luôn bắt đầu phần thứ tự maps từ “World00=x”(x L à ID maps tuỳ ý) và tiếp tục “World01=…”
“World02=…”
“World03=…”
Sau “=” là ID maps bạn muốn mở.
Sau khi đã hoàn thành số maps cần mở thì đếm lại số “World…=…” mà mình mở được rồi điền vào chỗ Count sau dấu “=”
VD: Mình mở đến “World50” thì mình sẽ khai ở Count là Count=51 .Vì World bắt đầu từ 00 mà.
*Các dữ liệu của map trong mục Maps của server:
Một dữ liệu maps gồm các mục như: 1 file có tên maps đó với đuôi *.wor , 1 mục mang tên maps(trong đó có các mục tên như vầy “v_089”,” v_089” tuỳ ở dữ liệu maps mà có các mục tên khác nhau.DỰa vào đó bạn cũng có thể kiểm tra xem maps nào có dữ liệu và maps nào không có dữ liệu.Trong các mục “v_089” thì lại có các file có đuôi *.dat
*File Maplist.ini trong thư mục Settings:
File này có liên quan đến maps nhưng không nằm trong mục Maps của server mà nằm trong mục Settings của server.
File này chứa các ID Maps , Đường dẫn đến dữ liệu maps , tên hiển thị của từng maps trong game.
Các bạn chú ý: để mở được các maps thì bạn phải dựa vào ID Maps.Tức là ID mà bạn mở trong WorldSet.ini là các ID có thong tin trong Maplist.ini[COLOR="Silver"]
10. chỉnh giới hạn giờ chơi:
sever và client: player_limittime.ini/ CloseLimit=1
11. droprate:
+ trong settings/droprate/npcdroprate.ini
[Main]
Count=50
RandRange=1000000
MagicRate=100
MoneyRate=10
MoneyScale=50
MinItemLevel=2
MinItemLevelScale=20
MaxItemLevel=10
MaxItemLevelScale=10
12.sửa event bắt đầu và hết hạn:
.Tìm đến foder tên event, rồi sửa file head.lua.Ví dụ event xchristmas2007:
/script/event/xmas07_makesnowman/head.lua
Sửa lại 2 dòng sau
Code:
xmas07_makeSnowMan_S = 14062400 -- Cái này có nghĩa là 00h 00 phút ngày 24 tháng 06 năm 2014, sửa lên ngày cao ngày bắt đầu event
xmas07_makeSnowMan_E = 14072324 --tương tự ngày kết thúc event
xmas07_makeSnowMan_UseTime = 14072424 --tương tự hạn dùng vp
+Bạn muốn biết nó làm việc thế nào về các event thì vào script/activitysys/config trong đó chứa tất cả folder các sự kiện event + 1 vài chức năng. Event giáng sinh, noel : 2,37,1010
+Random quái rớt event bạn chỉ cần vào script/activitysys/npcfunlib.lua: trong file này sẽ có những hàm chỉnh tỷ lệ rơi bằng file hay bằng script. Có 1 vài sự kiện nó sẽ include đường dẫn drop trong config.
+Npc event liên quan thì bạn chỉ cần chỉnh ngày trong config folder thì npc sẽ xuất hiện. Đa số là như vậy, nhưng bạn cần fai kiểm tra những file gọi npc trong config hoặc trong autoexc cho chắc chắn
13. tắt hộp quà:
tắt hộp quà
có 3 cách :
1. * Cách sửa: không cho s3relay chạy event đó nữa:
Mở file gateway/s3relay/relaysetting/task/tasklist.ini
Tìm file và Xóa bỏ:
Ví dụ Code:
[Task_58]
TaskFile=menglanjie_06.lua
hoặc đổi tên file trên để s3 không load file đó nữa (do không tìm thấy file)
Xong vào game test
Cách 2: cho các vật phẩm rớt ra của event đó vào vật phẩm đen không nhặt trong auto là đc
cách 3: tìm tên và xóa event đó trong script/event hoặc chép đè update này vào sẽ không còn event đó nữa: [Only registered and activated users can see links. ] hướng dẫn thì mình đã bày trong topic... lật lại là thấy nhé
Chúc thành công !!!
vào đây chỉnh bạn nhé: NPC hỗ trợ server1\script\global\namcung\namcung_gm.lua nhớ chỉnh xong SAVE lại chạy lại SecureCRT
sao không vào setting/droprate sữa mấy cái file đó lại là nó không rơi nữa, mình chỉ biết cách này vì chơi jxwin có mấy sever thường sài droprate bằng file *.txt
ai biết cách nào chỉnh trong script thì hướng dẫn mình luôn.
-- tiện ai chỉ mình cái file droprate của mấy cái cọc gỗ ở thôn, tên là gì đc không :3
như bạn nói cũng đc... nhưng mình phải biết tên file đó và chỉnh từng map.... ví dụ :
* Cách sửa: không cho s3relay chạy event đó nữa:
Mở file gateway/s3relay/relaysetting/task/tasklist.ini
Xóa bỏ:
Code:
[Task_58]
TaskFile=menglanjie_06.lua
hoặc đổi tên file trên để s3 không load file đó nữa (do không tìm thấy file)
Xong vào game test
cái file droprate của mấy cái cọc gỗ ở thôn lên google dịch sau đó dùng chức năng tìm kiếm trên sever là đc
14.fix lỗi bang hội ko nâng cấp được:
vào : getway/s3relay/setting/tong : chỉnh trong tong_level_data. ở dòng đầu tiên có 2 số 0 ở cột thứ 3 thứ 4 ấy. bác chỉnh thành 10 với 8 là đẳng cấp 1 vẫn nâng max tác phường
cái số 6720 tiếp theo sau 2 số 0 ở tong_level_data đấy bác là cột cống hiến. chỉnh nó lên 672000 rồi lấy tiền vạn gửi ngân quỹ xog chuyển qua thành ngân quỹ kiến thiết là xài tẹt :d hoặc ko thì copy của t cho nhanh
0 10 8 672000 960 0 0 0
1 3 6 672000 2880 3 3 3
2 6 6 1344000 8640 3 3 6
3 8 6 2016000 21600 4 3 9
4 9 8 3360000 33600 5 3 9
5 10 8 504000
15.Hàm pay tiền ở nhiệm vụ 50 cái bang:
-- Lâm an người đi đường NPC tiểu thái giám # Cái Bang 50 cấp nhiệm vụ #
function main()
UTask_gb = GetTask(8)
if (UTask_gb == 50*256+40) then -- script viet hoa By [Only registered and activated users can see links. ] ´ứìÅ50ẳảẩẻẻủ
Talk(2,"L50_pay","Người nào?","Ta là người nhà Tào công công, từ quê mang theo ít đồ hiếu kính ông ta, phiền ngài thông báo một tiếng!")
else
Talk(1,"","Tiểu thái dám: đi ra! đi ra!, ta không muốn thấy mặt nhà ngươi lấp ló trước Hoàng cung")
end
end;
function L50_pay()
Say("Người thân! Người thân ra sao? nếu là tới hiếu kính thì củng phải lót tay chút chứ?",2,"Hối lộ 3000 lượng! /L50_pay_yes","Không cho /L50_pay_no")
end;
function L50_pay_yes()
if (GetCash() >= 3000) then
Pay(3000)
Talk(1,"after_pay","Biết biết đây là 3000 lượng , hiếu kính ngài uống rượu !")
else
Talk(1,"","Thật keo kiệt! đi mau!")
end
end;
function after_pay()
NewWorld(177, 1569, 3169)
Msg2Player("Hối lộ 3000 cho tiểu thái giám , hắn để cho ngươi vào ngự vườn hoa liễu ")
Talk(1,"","Dạ/ừ , cái này còn kém không nhiều lắm , Tào công công bây giờ ở ngự vườn hoa, ngươi đi nơi đó tìm ổng đi !")
end
function L50_pay_no()
end;[COLOR="Silver"]
16.Kích hoạt GM và tích hợp thêm quyền hạn cho GM:
Tớ hướng dẫn theo hướng của Server linux mà trước nay anh em hay làm nhé. ai biết rồi thì đóng góp thêm để các bạn khác cùng phát triễn.
Nói sơ qua về GM , Có trong DS GM khi tạo nhân vật đến lễ quan để kích hoạt Tên và Tool GM.
Nhân vật có trong Danh sách GM nói chuyện với lễ quan sẻ có dòng đầu tiên là kích hoạt GM biến thành chử faction thành chử Tím có Skill GM và đạo cụ GM.
Đây là file .lua lễ quan : \script\global\·ÈË_Àñ¹Ù.lua
Khai báo DS những nhân vật và tài khoản là GM : Tìm dòng : local tbGMAccount
Biến khai báo dữ liệu array gồm danh sách tên tài khoản của GM. khai tên tài khoản vào ds đó
Code:
local tbGMAccount = {"gm001", "gm002", "gm003", "gm004", "gm005"}
Vậy là những tài khoản này sau khi nói chuyện với lễ quan sẻ được kích hoạt GM.
Nhưng chưa xong đâu , còn 1 File lua nữa sẻ check xem có quền sử dụng đạo cụ GM không.
File : \script\global\gmrole.lua
file Quy định chức năng quyền hạn và lệnh GM , ở đây ngoài tên tài khoản ra còn check thêm tên nhân vật GM trong tài khoản. nếu không thì bấm vào đạo cụ GM sẻ ko hiện hay biến mất
Tìm dòng : tbGmRole.tbAccount
Khai báo tên tài khoản và nhân vật vủa mình vào biến Array tbAccount. Đây là biến array 2 chiều , đầu tiên tên tài khoản , tiếp theo là tên nhân vật. Ai muốn set tài khoản có nhiều nhân ật GM thì chú ý ở mảng array thứ 2 là dc. Còn ko am hiểu lắm cứ dùng y gốc 1 tài khoản 1 GM.
Sau khi nhập DS xong upload lên khở động Server vào nhận vật và tài khoản dc xác định GM đến lễ quan mà vọc nhé.Quyền hạn điều ở cái ạo cụ GM tên là truyền tống quyền trượng.
Không biết tỏng Client của anh em có tên này ko hay do setting lung tung nó ra cái bất minh đạo cụ củng nên.
GM mặc định có 2 chức năng , 1 di chuyển bằng tọa độ và ID map (dùng tra boss và set map , set stasion )
2 là tra tên nhân vật, vị trí như vạn sự thông sau đó trace đến nhân vật đó.
2 cái chức năng này chả tân tiến tí nào , tớ có viết thêm tính năng dùng để debug lỗi và item trong cái tool GM nữa đễ rảnh thì share lên cho anh em gmrole.lua
Têm tính năng tạo Item , ngựa, đồ xanh, đồ tím , đồ hoàng kim cho GM.
Tìm dòng :
Code:
function tbGmRole:GMC_Menu()
xem xuống dưới khoản 7 dòng Chú ý biến array local tbOpt ,
Khai báo thêm trong DS array
Code:
{"T¹o Items", g_AskClientStringEx, {"0,10,9,1,0,0", 0, 256, "NhËp vµo Item Code", {self.TaoItem, {self}} }},
Sau đó coppy function này vào dưới chử end của funcrion GMC_menu()
Code:
function tbGmRole:TaoItem(szItem)
local szICode = lib:Split(szItem, ",");
local n = getn(szICode);
if (n ~= 1) then
if (n < 6) then Talk(1, "", format("Sai Item Code. ThiƠu trêng yªu cÇu <color=yellow>%s<color>",n)); return end
if (n > 7) then Talk(1, "", format("Sai Item Code. Qu¸ nhỉu trêng d÷ liÖu <color=yellow>%s<color>",n)); return end
local itclass = tonumber(szICode[1]);
local ittype = tonumber(szICode[2]);
local itid = tonumber(szICode[3]);
local itlv = tonumber(szICode[4]);
local itseri = tonumber(szICode[5]);
local itluck = tonumber(szICode[6]);
local itmagic = tonumber(szICode[7]);
if (itlv < 0) then Talk(1, "", format("CÊp ®é măn ®å kh«ng ®îc thÊp qu¸ <color=yellow>%s<color>",itlv)); return end
if (itlv > 10) then Talk(1, "", format("ChØ hæ trî ®Ơn cÊp 10. HiÖn t¹i nhËp vµo <color=yellow>%s<color>",itlv)); return end
if (itmagic == nil) then itmagic=0; end
AddItem(itclass,ittype,itid,itlv,itseri,itluck,itm agic);
else
local EquipId = tonumber(szICode[1]);
AddGoldItem(0, EquipId);
end
end
Rồi xong GM có tính năng mới tạo Item để test. Mặc định để item con ngựa xích long câu.
Muốn tạo Item Hoàng kim thì xóa hết . đánh cái ID hoàng kim là dc . IG hoàng kim trong goldequip.txt
Ví dụ : đánh vào 3878 là hiểu
Tốt nhất tự làm 1 cái thẻ GM cho bản thân đỡ phải cực .
Code lệnh bài GM mình làm đây . share cho mọi người phát triển nhanh
Ưu điểm : mang theo bên người muốn dùng chỗ nào cũng được, có hàm dofile muốn test script nhanh cu'' dung winscp sửa trực tiếp rồi tét luôn tại chỗ
Nhược điểm : Chưa thấy nhược điểm
Cách add ntn thì cũng như add thêm 1 item vào nhé
Code:
Include("\\script\\lib\\awardtemplet.lua")
Include("\\script\\dailogsys\\dailogsay.lua")
Include("\\script\\global\\fuyuan.lua")
Include("\\script\\missions\\leaguematch\\npc\\off icer.lua")
Include("\\script\\lib\\log.lua")
function main()
dofile("script/item/bthhh1995.lua")
local tbSay = {}
tinsert(tbSay,"Test lung lung./test")
tinsert(tbSay,"NhËn 20 cÊp ®é./capdo")
tinsert(tbSay,"Trang bÞ Cùc PhÈm/cucphkhac")
tinsert(tbSay,"Ta muèn lÊy vËt phÈm./show_item")
-- tinsert(tbSay,"Ta muèn nhËn tiÒn ®ång./moreitem")
tinsert(tbSay,"NhËn ®iÓm/hotro")
tinsert(tbSay,"Trang bÞ hiÕm/fifong")
tinsert(tbSay,"Thay ®æi tr¹ng th¸i/trangthai")
-- tinsert(tbSay,"LÊy ngùa/layngua")
-- tinsert(tbSay,"NhËn Skill 180/nhanskill180")
tinsert(tbSay,"Tho¸t/no")
Say(" LÖnh Bµi Hç Trî Test Game - By Bthhh1995", getn(tbSay), tbSay)
return 1
end
function test()
--AddGoldItem(0, 6)
for i=1,1 do
AddItem(6,1,1,0,0,0)
end
end
function capdo()
for i=1,20 do
AddOwnExp(1000000000000)
end
end
SKILL_180 = {1220,1221,1223,1222,1224,1225,1227,1226,1228,1229 }
local tbEquipFreeCell =
{
{2, 1}, {2, 2}, {1, 1}, {1, 2}, {2, 1}, --¾±´ø£¬¶¥´÷£¬ÉϽ䣬»¤Ýó£¬Ñ ü´ø
{2, 3}, {2, 4}, {2, 2}, {1, 2}, {1, 1}, --?¢ÎÎäÆ÷£¬Ñ¥×Ó£¬Ñü×¹£¬Ï� �½ä
}
local tbFactionSeries =
{
[1] = {1, 2},
[2] = {3, 4},
[3] = {5, 6},
[4] = {7, 8},
[5] = {9, 10},
}
function trangthai()
local tbSay = {}
tinsert(tbSay,"PK ChÝnh Ph¸i./mauvang")
tinsert(tbSay,"PK Tµ Ph¸i./mautim")
tinsert(tbSay,"PK Trung LËp./mauxanh")
tinsert(tbSay,"PK S¸t Thñ./maudo")
tinsert(tbSay,"Tho¸t/no")
Say(" LÖnh Bµi Hç Trî Test Game - By Bthhh1995 ", getn(tbSay), tbSay)
end
function mauvang()
SetCurCamp(1)
SetCamp(1)
end
function mautim()
SetCurCamp(2)
SetCamp(2)
end
function mauxanh()
SetCurCamp(3)
SetCamp(3)
end
function maudo()
SetCurCamp(4)
SetCamp(4)
end
function no()
end
local tbFreeItem =
{
{szName="Håi Thiªn T¸i T¹o CÈm Nang", tbProp={6,1,1781,1,0,0}, tbParam={60}},
{szName="Nh¹c v¬ng kiÕm", tbProp={6,1,2340,0,0,0}},
{szName="Qu¶ huy hoµng cao cÊp.", tbProp={6,1,1075,1,0,0}},
{szName="Khiªu chiªn lÔ bao", tbProp={6,1,2006,1,0,0}},
{szName="-ThËp Toµn §¹i Bæ-", tbProp={6,1,1399,1,0,0}},
{szName="Viªm §ª ®å b¶o", tbProp={6,1,2805,1,0,0}},
{szName="Tèng kim bÝ b¶o", tbProp={6,1,2741,1,0,0}},
{szName="§¹i lùc", tbProp={6,1,2517,1,0,0}},
{szName="-H·n HuyÕt Long C©u-", tbProp={0,10,18,1,0,0}, nWidth=2, nHeigth=3},
}
function nhanskill180()
local nFaction = GetLastFactionNumber() + 1
if nFaction==0 then
Say("Kh«ng cã m«n ph¸i mµ ®åi nhËn skill thÊt truyÒn, ta kh«ng cã thêi gian ®ïa víi ng¬i", 0)
return
else
for i=1,10 do
if (nFaction==i) then
if (HaveMagic(SKILL_180[i]) == -1) then
AddMagic(SKILL_180[i],20)
Say("B¹n häc ®îc kü n¨ng cÊp 180 <color=yellow>"..GetSkillName(SKILL_180[i]), 0)
else
Say("Ng¬i ®· cã kü n¨ng thÊt truyÒn råi, ®õng tham lam", 0)
return
end
end
end
end
end
function cucphkhac()
dohoangkim()
end
function bachkim()
local tbOpt =
{
{"ThiÕu l©m", bktl},
{"Thiªn v¬ng", bktv},
{"®êng m«n", bkdm},
{"Ngò ®éc", bk5d},
{"Nga mi", bknm},
{"Thuý yªn", bkty},
{"C¸i bang", bkcb},
{"Thiªn nhÉn", bktn},
{"Vâ ®ang", bkvd},
{"C«n l«n", bkcl},
{"Trë l¹i", dialog_main},
{"Tho¸t"},
}
CreateNewSayEx("<npc>Chän m«n ph¸i?", tbOpt)
end
function bktl()
AddGoldItem(0, 11)
AddGoldItem(0, 6)
end
function bktv()
AddGoldItem(0, 16)
AddGoldItem(0, 21)
AddGoldItem(0, 26)
end
function bknm()
AddGoldItem(0, 31)
end
function bkty()
AddGoldItem(0, 46)
end
function bk5d()
AddGoldItem(0, 61)
end
function bkdm()
AddGoldItem(0, 71)
AddGoldItem(0, 76)
AddGoldItem(0, 81)
end
function bkcb()
AddGoldItem(0, 96)
end
function bktn()
AddGoldItem(0, 101)
end
function bkvd()
for i=4346,4355 do
AddPlatinaItem(3, i)
end
end
function bkcl()
AddGoldItem(0, 126)
end
function hacthan()
for i=3890,3894 do
AddGoldItem(0, i)
end
end
function matna1()
for i=4493,4523 do
AddGoldItem(0, i)
end
end
function matna2()
for i=4524,4554 do
AddGoldItem(0, i)
end
end
function matna3()
for i=4555,4585 do
AddGoldItem(0, i)
end
end
function matna4()
for i=4586,4616 do
AddGoldItem(0, i)
end
end
function matna5()
for i=4617,4630 do
AddGoldItem(0, i)
end
end
function nukim()
if GetSex() == 1 then
SetSeries(0)
KickOutSelf()
else
Talk(1,"","Ng¬i lµ Pª §ª µ ?")
end
end
function hotro()
local tbOpt =
{
-- {"T¨ng kinh nghiÖm", kn},
{"LÊy 100 tiÒn ®ång", tiendong},
{"TiÒn", tien},
{"TÈy ®iÓm", clear_attibute_point},
{"Danh väng,Phóc duyªn", danhvongphucduyen},
{"Tµi l·nh ®¹o", lanhdao},
-- {"§iÓm Kü N¨ng", pointkynang},
-- {"§iÓm TiÒm N¨ng", pointtiemnang},
{"Trë l¹i", main},
{"Tho¸t"},
}
CreateNewSayEx("<npc>Anh cÇn g×?", tbOpt)
end
function pointkynang()
AddMagicPoint(100)
CreateNewSayEx("<npc>B¹n nhËn ®îc 100 ®iÓm kü n¨ng", tbOpt)
KickOutSelf()
end;
function pointtiemnang()
AddProp(1000)
CreateNewSayEx("<npc>B¹n nhËn ®îc 10000 ®iÓm tiÒm n¨ng", tbOpt)
end;
function lanhdao()
for i=1,20 do
AddLeadExp(10000000)
end
end
function kn()
for i=1,80 do
AddOwnExp(1000000000)
end
end
function tien1()
Earn(1000000)
end
function tien()
Earn(100000000)
end
function danhvongphucduyen()
AddRepute(100000);
FuYuan_Start();
FuYuan_Add(100000);
CreateNewSayEx("<npc>B¹n nhËn ®îc 10000 ®iÓm", tbOpt)
end
function conghien()
AddContribution(100000)
end
function trungsinh()
AddReBorn(10)
end
function gm_functionboss()
for i =1,10 do
AddItem(6,1,1022,0,0,0)
end
end
function moreitem()
local tab_Content = {
" LÊy 100 tiÒn ®ång /tiendong",
-- " LÊy VK HKMP /bachkim",
-- " LÊy 1000v lîng /tienvan",
-- " LÊy Cùc PhÈm /tbcucph",
-- "LÖnh bµi gäi boss /goiboss",
"Vßng s¸ng danh hiÖu/vongsa",
" Th«i kh«ng lÊy g× n÷a hãt."
}
Say(" Muèn lÊy thªm c¸i g× nµo ? ", getn(tab_Content), tab_Content);
end;
function tienvan()
Earn(10000000)
end;
function tbcucph()
cucpham()
end;
function tiendong()
AddStackItem(100,4,417,1,1,0,0,0) -- nhan 100 tien dong
end;
function goiboss()
AddItem(6,1,1022,0,0,0)
end
function vongsa()
n_title = 3000 -- S?a ID danh hi?u vào
local nServerTime = GetCurServerTime()+ 1728000; --20*24*60*60
local nDate = FormatTime2Number(nServerTime);
local nDay = floor(mod(nDate,1000000) / 10000);
local nMon = mod(floor(nDate / 1000000) , 100)
local nTime = nMon * 1000000 + nDay * 10000
Title_AddTitle(n_title, 2, nTime)
Title_ActiveTitle(n_title)
end
function layngua()
local tbOpt =
{
{"Ngùa nhãm 1", vip1},
{"Ngùa nhãm 2", vip2},
{"Ngùa nhãm 3", vip3},
-- {"Ngùa nhãm 4", vip4},
-- {"Ngùa b¸ ®¹o", nguabadao},
{"Trë l¹i", dialog_main},
{"Tho¸t"},
}
CreateNewSayEx("<npc>Anh cÇn g×?", tbOpt)
end
function nguabadao()
AddGoldItem(0, 4480)
AddGoldItem(0, 4366)
AddGoldItem(0, 5093)
AddGoldItem(0, 5097)
end
function vip1()
AddItem(0,10,6,10,0,0,0)
AddItem(0,10,7,10,0,0,0)
AddItem(0,10,8,10,0,0,0)
AddItem(0,10,9,10,0,0,0)
AddItem(0,10,10,10,0,0,0)
end
function vip2()
AddItem(0,10,11,10,0,0,0)
AddItem(0,10,12,10,0,0,0)
AddItem(0,10,13,10,0,0,0)
AddItem(0,10,14,10,0,0,0)
AddItem(0,10,15,10,0,0,0)
end
function vip3()
AddItem(0,10,16,10,0,0,0)
AddItem(0,10,17,10,0,0,0)
AddItem(0,10,18,10,0,0,0)
AddItem(0,10,19,10,0,0,0)
AddItem(0,10,20,10,0,0,0)
end
function vip4()
AddItem(0,10,21,10,0,0,0)
AddItem(0,10,22,10,0,0,0)
AddItem(0,10,23,10,0,0,0)
AddItem(0,10,24,10,0,0,0)
AddItem(0,10,25,10,0,0,0)
end
function level_up_to150()
local nCurLevel = GetLevel()
if nCurLevel >= 150 then
if ST_IsTransLife() == 1 then
Talk(1, "", "Ng¬i ®· ®¹t cÊp 150 råi.")
else
Talk(1, "", "§i chuyÓn sinh tríc ®i råi trë l¹i th¨ng cÊp.")
end
return
end
local nAddLevel = 150 - nCurLevel
ST_LevelUp(nAddLevel)
end
function choose_faction()
if check_faction() ~= 1 then
Talk(1, "", "Ng¬i ®· gia nhËp m«n ph¸i.")
return
end
local nSeries = GetSeries() + 1
local tbOpt = {}
for i=1, getn(%tbFactionSeries[nSeries]) do
local nIndex = %tbFactionSeries[nSeries][i]
tinsert(tbOpt, {%tbFaction[nIndex].szShowName, set_faction, {nIndex}})
end
tinsert(tbOpt, {"Trë vª", dialog_main})
tinsert(tbOpt, {"Kªt thóc ®èi tho¹i."})
CreateNewSayEx("<npc>Mét khi gia nhËp m«n ph¸i kh«ng thÓ thay ®æi, h·y suy nghÜ kü.", tbOpt)
end
function set_faction(nIndex)
local szTitle = format("<npc>X¸c nhËn muèn gia nhËp m«n ph¸i ?<color=yellow>%s<color> m«n ph¸i?", %tbFaction[nIndex].szShowName)
local tbOpt =
{
{"X¸c nhËn!", do_set_faction, {nIndex}},
{"Trë vª.", choose_faction},
{"Kªt thóc ®èi tho¹i."},
}
CreateNewSayEx(szTitle, tbOpt)
end
function show_equip(nFactionId, nSubFactionId)
local tbEquip = %tbFaction[nFactionId]["tbEquip"][nSubFactionId]
local tbEquipName = tbEquip["tbEquipName"]
local nFirstEquipId = tbEquip["nFirstEquipId"]
local tbOpt = {}
for i=1, getn(tbEquipName) do
tinsert(tbOpt, {tbEquipName[i], get_equip, {i, nFirstEquipId + i - 1}})
end
tinsert(tbOpt, {"Trë vª", show_faction})
tinsert(tbOpt, {"Kªt thóc ®èi tho¹i."})
local szTitle = format("<npc>LÊy ®å %s Kim ¤", tbEquip.szFaction)
CreateNewSayEx(szTitle, tbOpt)
end
function get_equip(nIndex, nEquipId)
local nWidth = %tbEquipFreeCell[nIndex][1]
local nHeigth = %tbEquipFreeCell[nIndex][2]
if CountFreeRoomByWH(nWidth, nHeigth) < 1 then
Talk(1, "", format("CÇn Ut nhÊt 1 c¸i %dx%d tói ®eo lng", nWidth, nHeigth))
return
end
AddGoldItem(0, nEquipId)
end
function daithanhbikip15x()
AddItem(6,1,30446,0,0,0)
end
function show_item()
local tbOpt = {}
local nCount = getn(%tbFreeItem)
local szOption = ""
for i=1, nCount-1 do
szOption = format("NhËn %s", %tbFreeItem[i].szName)
tinsert(tbOpt, {szOption, get_item, {i}})
end
szOption = format("NhËn %s", %tbFreeItem[nCount].szName)
tinsert(tbOpt, {szOption, get_single_item, {nCount}})
tinsert(tbOpt, {"NhËn cùc phÈm giíi chØ...", get_normal_item})
tinsert(tbOpt, {"NhËn ®¹i thµnh bÝ kÝp 150", daithanhbikip15x})
tinsert(tbOpt, {"Trë vª.", main})
tinsert(tbOpt, {"Kªt thóc ®èi tho¹i."})
CreateNewSayEx("<npc>l·o phu n¬i nµy ca h¬i thë nham vËt phÈm nhng nhËn lÊy", tbOpt)
end
function get_normal_item()
local tbOpt =
{
--{"NhËn 5 viªn KNB.", cszb},
{"Hng Bang Chi Giíi", xb_jz},
{"TrÊn Nh¹c Chi Giíi", zy_jz},
{"Thîng Ph¬ng Chi Giíi", sf_jz},
{"Thiªn Hµ Giíi", sh_jz},
{"§O Hoµng Chi Giíi", dh_jz},
{"Thiªn Tö Chi Giíi", tz_jz},
{"ThO Tóc Toµn Giíi", sz_jz},
{"Cµn Kh«n Giíi ChØ (Cùc phÈm)", jz08},
{"L·nh B¸ Nguyªn Méng Chi Giíi (Míi)", jz08x},
{"Trë vÒ.", main},
{"Kªt thóc ®èi tho¹i."},
}
CreateNewSayEx("<npc>L·o phu ca mét sè man cùc phÈm, ngêi cÇn thøc g× ?", tbOpt)
end
function fifong()
local tbOpt =
{
{"Phi phong", phiphong},
{"Ên", an},
{"Trang søc", trangsuc},
-- {"Vò liÖt", vuliet},
-- {"Huynh ®Ö", huynhde},
-- {"Cè s¬n", coson},
-- {"D¬ng thÇn", duongthan},
{"VËt PhÈm Kh¸c", huytinh},
{"Trë l¹i", main},
{"Tho¸t"},
}
CreateNewSayEx("<npc>Chän item", tbOpt)
end
function trangsuc()
local tbOpt =
{
{"Trang søc 1", trangsuc1},
{"Trang søc 2", trangsuc2},
-- {"Trang søc 3", trangsuc3},
{"Trë l¹i", main},
{"Tho¸t"},
}
CreateNewSayEx("<npc>Chän item", tbOpt)
end
function an23()
local tbOpt =
{
{"Ên 1", an1},
{"Ên 2", an2},
{"Ên 3", an3},
{"Ên 4", an4},
{"Trë l¹i", main},
{"Tho¸t"},
}
CreateNewSayEx("<npc>Chän item", tbOpt)
end
function huytinh()
dotim()
end
function matna()
local tbOpt =
{
{"MÆt n¹ 1", matna1},
{"MÆt n¹ 2", matna2},
{"MÆt n¹ 3", matna3},
{"MÆt n¹ 4", matna4},
{"MÆt n¹ 5", matna5},
{"Trë l¹i", main},
{"Tho¸t"},
}
CreateNewSayEx("<npc>Chän item", tbOpt)
end
function an4()
for i=5161,5197 do
AddGoldItem(0, i)
end
end
function an3()
for i=5131,5161 do
AddGoldItem(0, i)
end
end
function an2()
for i=5098,5130 do
AddGoldItem(0, i)
end
end
function coson()
AddGoldItem(0, 4441)
AddGoldItem(0, 4445)
AddGoldItem(0, 4449)
AddGoldItem(0, 4453)
AddGoldItem(0, 4457)
AddGoldItem(0, 4461)
AddGoldItem(0, 4465)
AddGoldItem(0, 4469)
end
function huynhde()
for i=4436,4437 do
AddGoldItem(0, i)
end
for i=4481,4482 do
AddGoldItem(0, i)
end
end
function vuliet()
for i=5208,5212 do
AddGoldItem(0, i)
end
end
function pro1()
for i=430,441 do
AddGoldItem(0, i)
end
end
function dongsat()
for i=494,497 do
AddGoldItem(0, i)
end
for i=378,379 do
AddGoldItem(0, i)
end
end
function duongthan()
for i=514,520 do
AddGoldItem(0, i)
end
end
function phiphong()
for i=3465,3490 do
AddGoldItem(0, i)
end
end
function an()
for i=3205,3234 do
AddGoldItem(0, i)
end
end
function trangsuc1()
for i=3542,3554 do
AddGoldItem(0, i)
end
for i=3491,3506 do
AddGoldItem(0, i)
end
end
function trangsuc2()
AddGoldItem(0,3506)
AddGoldItem(0,3880)
AddGoldItem(0,3881)
AddGoldItem(0,3882)
AddGoldItem(0,3883)
AddGoldItem(0,3884)
AddGoldItem(0,3885)
AddGoldItem(0,3886)
AddGoldItem(0,3887)
AddGoldItem(0,3888)
end
function cszb()
AddEventItem(343)
AddEventItem(343)
AddEventItem(343)
AddEventItem(343)
AddEventItem(343)
end
function xb_jz()
AddGoldItem(0, 508)
end
function zy_jz()
AddGoldItem(0, 509)
end
function sf_jz()
AddGoldItem(0, 510)
end
function sh_jz()
AddGoldItem(0, 511)
end
function dh_jz()
AddGoldItem(0, 530)
end
function tz_jz()
AddGoldItem(0, 531)
end
function sz_jz()
AddGoldItem(0, 498)
end
function jz08()
AddGoldItem(0, 3878)
end
function jz08x()
AddGoldItem(0, 3541)
end
function get_item(nIndex)
local nMaxCount = CalcFreeItemCellCount()
g_AskClientNumberEx(0, nMaxCount, "Xin mêi ®a vµo nhËn lÊy", {get_item_back, {nIndex}})
end
function get_item_back(nIndex, nCount)
if nCount <= 0 then
return
end
if CalcFreeItemCellCount() < nCount then
Talk(1, "", format("CÇn Ut nhÊt <color=yellow>%d<color> tói kh«ng gian...", nCount))
return
end
local szLogTitle = format("[liguan]get_free_item_%s", %tbFreeItem[nIndex].szName)
tbAwardTemplet:GiveAwardByList(%tbFreeItem[nIndex], szLogTitle, nCount)
end
function get_single_item(nIndex)
local tbItem = %tbFreeItem[nIndex]
if CountFreeRoomByWH(tbItem.nWidth, tbItem.nHeigth) < 1 then
Talk(1, "", format("CÇn Ut nhÊt 1 %dx%d µÄ±³°ü¿O¼ä", tbItem.nWidth, tbItem.nHeigth))
return
end
local szLogTitle = format("[liguan]get_free_item_%s", tbItem.szName)
tbAwardTemplet:GiveAwardByList(tbItem, szLogTitle)
end
function clear_attibute_point()
local tbOpt =
{
{"TÈy ®iÓm kü n¨ng", clear_skill},
{"TÈy ®iÓm ti?m n¨ng", clear_prop},
{"Trë vÒ", main},
{"KOt thóc ®èi tho¹i."},
}
CreateNewSayEx("<npc>Ng¬i quyOt u muèn tÈy tñy?", tbOpt)
end
function clear_skill()
local tbOpt =
{
{"X¸c nhËn", do_clear_skill},
{"§Ó ta suy nghÜ l¹i."},
{"Trë v?", clear_attibute_point},
}
CreateNewSayEx("<npc>Ng¬i vÉn quyOt u muèn tÈy tñy?", tbOpt)
end
function do_clear_skill()
local i = HaveMagic(210) -- ÇṦ¸íÝâ²ï×÷
local j = HaveMagic(400) -- ¡°½ï¸»¼·Æ¶¡±¸íÝâ²ï×÷
local n = RollbackSkill() -- Çå³ý¼¼Äܲ¢·µ»ØËùÓм¼ÄÜ?ã£� �°üµ¨ÇṦµÈÌØÊâ¼¼ÄÜ£?
local x = 0
if (i ~= -1) then i = 1; x = x + i end -- Õ⸽¾äÅжÏÊÇÅųý´Óδѧ¹ýÇ á¹¦µÄÈË·µ»Ø-1´Ó¶øµ¼Ö¢µãÊý¼ÆËã´íÎóÇé¿ö
if (j ~= -1) then x = x + j end
local rollback_point = n - x -- °Ñ¼¼Äܵ㵱×ö¿ÕÏеãÊý·µ»¹£ ¬µ«ÏÈ?Û³ýÇṦµ?
if (rollback_point + GetMagicPoint() < 0) then -- Èç¹ûÏ´³É¸Ë¸ºÊý£¬Ôòµ±×÷0£¨� �ªÒԺ󶵴ÎÏ´µã±£?ô£?
rollback_point = -1 * GetMagicPoint()
end
AddMagicPoint(rollback_point)
if (i ~= -1) then AddMagic(210, i) end -- Èç¹ûѧ¹uÇṦÔ?¼Ó»ØÔÓеȼ¶
if (j ~= -1) then AddMagic(400, j) end -- Èç¹ûѧ¹u¡°½ï¸»¼Aƶ¡±Ý¬Ñù´¦ µí
Msg2Player("TÈy tñy thµnh c«ng! Ng¬i ca "..rollback_point.." ®iÓm kü n¨ng ®Ó ph©n phèi l¹i.")
KickOutSelf()
end
function clear_prop()
local tbOpt =
{
{"X¸c nhËn", do_clear_prop},
{"§Ó ta suy nghÜ l¹i."},
{"Trë v?", clear_attibute_point},
}
CreateNewSayEx("<npc>Ng¬i vÉn quyOt u muèn tÈy tñy?", tbOpt)
end
function do_clear_prop()
local base_str = {35,20,25,30,20} -- ÎåÐÐÈËÎïµÄÌìÉúÊôÐÔÖµ
local base_dex = {25,35,25,20,15}
local base_vit = {25,20,25,30,25}
local base_eng = {15,25,25,20,40}
local player_series = GetSeries() + 1
local Utask88 = GetTask(88)
AddStrg(base_str[player_series] - GetStrg(1) + GetByte(Utask88, 1)) -- ½«ÒÑ·ÖÅäDZÄÜÖØÖ·£¨task(88)ÊÇÈ ÎÎñÖÐÖ±½Ó½±µøµÄ¸¦¸¿¡¢Éí·¨ µÈ£©
AddDex(base_dex[player_series] - GetDex(1) + GetByte(Utask88, 2))
AddVit(base_vit[player_series] - GetVit(1) + GetByte(Utask88, 3))
AddEng(base_eng[player_series] - GetEng(1) + GetByte(Utask88, 4))
end
function write_info()
tbInputDialog:InputServer()
end
function dotim() local tab_Content = {
"Vò KhÝ/weapon",
"Y Phôc/shirt",
"§Ønh M¹o/hat",
"Hæ UyÓn/glove",
"Yªu §¸i/belt",
"Hµi Tö/shoe",
"VËt phÈm hæ trî/khoangth",
"MÆt n¹/manat",
"Trang bÞ b¹ch kim/bachkim",
"KÕt thóc ®èi tho¹i."
}
Say(" Muèn lÊy thªm c¸i g× nµo ? ", getn(tab_Content), tab_Content);
end;
function weapon()
local tab_Content = {
"KiÕm/kiem",
"§ao/dao",
"Bæng/bong",
"Th¬ng/kick",
"Chïy/chuy",
"Song §ao/songdao",
"Phi Tiªu/phitieu",
"Phi §ao/phidao",
"Tô TiÔn/tutien",
"KÕt thóc ®èi tho¹i."
}
Say(" Muèn lÊy thªm c¸i g× nµo ? ", getn(tab_Content), tab_Content);
end;
function kiem()
AddQualityItem(2,0,0,0,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,0,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,0,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,0,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,0,10,4,0,-1,-1,-1,-1,-1,-1)
end
function dao()
AddQualityItem(2,0,0,1,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,1,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,1,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,1,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,1,10,4,0,-1,-1,-1,-1,-1,-1)
end
function bong()
AddQualityItem(2,0,0,2,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,2,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,2,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,2,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,2,10,4,0,-1,-1,-1,-1,-1,-1)
end
function kick()
AddQualityItem(2,0,0,3,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,3,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,3,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,3,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,3,10,4,0,-1,-1,-1,-1,-1,-1)
end
function chuy()
AddQualityItem(2,0,0,4,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,4,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,4,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,4,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,4,10,4,0,-1,-1,-1,-1,-1,-1)
end
function songdao()
AddQualityItem(2,0,0,5,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,5,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,5,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,5,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,0,5,10,4,0,-1,-1,-1,-1,-1,-1)
end
function phitieu()
AddQualityItem(2,0,1,0,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,0,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,0,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,0,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,0,10,4,0,-1,-1,-1,-1,-1,-1)
end
function phidao()
AddQualityItem(2,0,1,1,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,1,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,1,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,1,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,1,10,4,0,-1,-1,-1,-1,-1,-1)
end
function tutien()
AddQualityItem(2,0,1,2,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,2,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,2,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,2,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,1,2,10,4,0,-1,-1,-1,-1,-1,-1)
end
function shirt()
local tab_Content = {
"ThÊt B¶o Cµ Sa/aothieulam",
"Ch©n Vò Th¸nh Y/aovodang",
"Thiªn NhÉn MËt Trang/aothiennhan",
"Gi¸ng Sa Bµo/sabao",
"§êng Nghª Gi¸p/dng",
"V¹n Lu Quy T«ng Y/aocaibang",
"TuyÒn Long Bµo/longbao",
"Long Tiªu §¹o Y/daoy",
"Cöu VÜ B¹ch Hå Trang/hotrang",
"TrÇm H¬ng Sam/huongsam",
"TÝch LÞch Kim Phông Gi¸p/kimphung",
"V¹n Chóng TÒ T©m Y/tamy",
"Lu Tiªn QuÇn/tienquan",
"KÕt thóc ®èi tho¹i."
}
Say(" Muèn lÊy thªm c¸i g× nµo ? ", getn(tab_Content), tab_Content);
end;
function aothieulam()
AddQualityItem(2,0,2,0,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,0,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,0,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,0,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,0,10,4,0,-1,-1,-1,-1,-1,-1)
end
function aovodang()
AddQualityItem(2,0,2,1,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,1,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,1,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,1,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,1,10,4,0,-1,-1,-1,-1,-1,-1)
end
function aothiennhan()
AddQualityItem(2,0,2,2,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,2,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,2,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,2,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,2,10,4,0,-1,-1,-1,-1,-1,-1)
end
function sabao()
AddQualityItem(2,0,2,3,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,3,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,3,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,3,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,3,10,4,0,-1,-1,-1,-1,-1,-1)
end
function dng()
AddQualityItem(2,0,2,4,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,4,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,4,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,4,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,4,10,4,0,-1,-1,-1,-1,-1,-1)
end
function aocaibang()
AddQualityItem(2,0,2,5,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,5,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,5,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,5,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,5,10,4,0,-1,-1,-1,-1,-1,-1)
end
function longbao()
AddQualityItem(2,0,2,6,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,6,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,6,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,6,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,6,10,4,0,-1,-1,-1,-1,-1,-1)
end
function daoy()
AddQualityItem(2,0,2,8,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,8,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,8,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,8,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,8,10,4,0,-1,-1,-1,-1,-1,-1)
end
function hotrang()
AddQualityItem(2,0,2,9,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,9,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,9,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,9,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,9,10,4,0,-1,-1,-1,-1,-1,-1)
end
function huongsam()
AddQualityItem(2,0,2,10,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,10,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,10,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,10,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,10,10,4,0,-1,-1,-1,-1,-1,-1)
end
function kimphung()
AddQualityItem(2,0,2,11,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,11,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,11,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,11,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,11,10,4,0,-1,-1,-1,-1,-1,-1)
end
function tamy()
AddQualityItem(2,0,2,12,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,12,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,12,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,12,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,12,10,4,0,-1,-1,-1,-1,-1,-1)
end
function tienquan()
AddQualityItem(2,0,2,13,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,13,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,13,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,13,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,2,13,10,4,0,-1,-1,-1,-1,-1,-1)
end
function hat()
local tab_Content = {
"Tú L« M·o/lomao",
"Ngò L·o Qu¸n/laoquan",
"Tu La Ph¸t KÕt/phatket",
"Th«ng Thiªn Ph¸t Qu¸n/phatquan",
"YÓm NhËt Kh«i/nhatkhoi",
"TrÝch Tinh Hoµn/tinhhoan",
"¤ Tµm M·o/tammao",
"Quan ¢m Ph¸t Qu¸n/quanam",
"¢m D¬ng V« Cùc Qu¸n/amduong",
"HuyÒn Tª DiÖn Tr¸o/dientrao",
"Long HuyÕt §Çu Hoµn/longhuyet",
"Long L©n Kh«i/lankhoi",
"Thanh Tinh Thoa/tinhthoa",
"Kim Phông TriÓn SÝ/triensi",
"KÕt thóc ®èi tho¹i."
}
Say(" Muèn lÊy thªm c¸i g× nµo ? ", getn(tab_Content), tab_Content);
end;
function lomao()
AddQualityItem(2,0,7,0,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,0,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,0,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,0,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,0,10,4,0,-1,-1,-1,-1,-1,-1)
end
function laoquan()
AddQualityItem(2,0,7,1,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,1,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,1,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,1,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,1,10,4,0,-1,-1,-1,-1,-1,-1)
end
function phatket()
AddQualityItem(2,0,7,2,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,2,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,2,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,2,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,2,10,4,0,-1,-1,-1,-1,-1,-1)
end
function phatquan()
AddQualityItem(2,0,7,3,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,3,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,3,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,3,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,3,10,4,0,-1,-1,-1,-1,-1,-1)
end
function nhatkhoi()
AddQualityItem(2,0,7,4,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,4,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,4,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,4,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,4,10,4,0,-1,-1,-1,-1,-1,-1)
end
function tinhhoan()
AddQualityItem(2,0,7,5,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,5,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,5,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,5,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,5,10,4,0,-1,-1,-1,-1,-1,-1)
end
function tammao()
AddQualityItem(2,0,7,6,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,6,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,6,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,6,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,6,10,4,0,-1,-1,-1,-1,-1,-1)
end
function quanam()
AddQualityItem(2,0,7,7,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,7,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,7,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,7,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,7,10,4,0,-1,-1,-1,-1,-1,-1)
end
function amduong()
AddQualityItem(2,0,7,8,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,8,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,8,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,8,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,8,10,4,0,-1,-1,-1,-1,-1,-1)
end
function dientrao()
AddQualityItem(2,0,7,9,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,9,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,9,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,9,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,9,10,4,0,-1,-1,-1,-1,-1,-1)
end
function longhuyet()
AddQualityItem(2,0,7,10,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,10,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,10,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,10,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,10,10,4,0,-1,-1,-1,-1,-1,-1)
end
function lankhoi()
AddQualityItem(2,0,7,11,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,11,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,11,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,11,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,11,10,4,0,-1,-1,-1,-1,-1,-1)
end
function tinhthoa()
AddQualityItem(2,0,7,12,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,12,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,12,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,12,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,12,10,4,0,-1,-1,-1,-1,-1,-1)
end
function triensi()
AddQualityItem(2,0,7,13,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,13,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,13,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,13,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,7,13,10,4,0,-1,-1,-1,-1,-1,-1)
end
function glove()
local tab_Content = {
"Long Phông HuyÕt Ngäc Tr¹c/ngoctrac",
"Thiªn Tµm Hé UyÓn/houyen",
"KÕt thóc ®èi tho¹i."
}
Say(" Muèn lÊy thªm c¸i g× nµo ? ", getn(tab_Content), tab_Content);
end;
function ngoctrac()
AddQualityItem(2,0,8,0,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,8,0,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,8,0,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,8,0,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,8,0,10,4,0,-1,-1,-1,-1,-1,-1)
end
function houyen()
AddQualityItem(2,0,8,1,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,8,1,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,8,1,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,8,1,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,8,1,10,4,0,-1,-1,-1,-1,-1,-1)
end
function belt()
local tab_Content = {
"Thiªn Tµm Yªu §¸i/thientamyeu",
"B¹ch Kim Yªu §¸i/bachkim",
"KÕt thóc ®èi tho¹i."
}
Say(" Muèn lÊy thªm c¸i g× nµo ? ", getn(tab_Content), tab_Content);
end;
function thientamyeu()
AddQualityItem(2,0,6,0,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,6,0,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,6,0,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,6,0,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,6,0,10,4,0,-1,-1,-1,-1,-1,-1)
end
function bachkim()
AddQualityItem(2,0,6,1,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,6,1,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,6,1,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,6,1,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,6,1,10,4,0,-1,-1,-1,-1,-1,-1)
end
function shoe()
local tab_Content = {
"Cöu TiÕt X¬ng VÜ Ngoa/cuutien",
"Thiªn Tµm Ngoa/thientam",
"Kim Lò Hµi/kimlu",
"Phi Phông Ngoa/phiphung",
"KÕt thóc ®èi tho¹i."
}
Say(" Muèn lÊy thªm c¸i g× nµo ? ", getn(tab_Content), tab_Content);
end;
function cuutien()
AddQualityItem(2,0,5,0,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,0,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,0,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,0,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,0,10,4,0,-1,-1,-1,-1,-1,-1)
end
function thientam()
AddQualityItem(2,0,5,1,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,1,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,1,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,1,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,1,10,4,0,-1,-1,-1,-1,-1,-1)
end
function kimlu()
AddQualityItem(2,0,5,2,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,2,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,2,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,2,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,2,10,4,0,-1,-1,-1,-1,-1,-1)
end
function phiphung()
AddQualityItem(2,0,5,3,10,0,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,3,10,1,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,3,10,2,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,3,10,3,0,-1,-1,-1,-1,-1,-1)
AddQualityItem(2,0,5,3,10,4,0,-1,-1,-1,-1,-1,-1)
end
function khoangth()
local tab_Content = {
"HuyÒn tinh/huytin",
"kho¸ng th¹ch/kdb",
"S¸t thñ gi¶n/stg",
"Thñy tinh/thuyti",
"Phóc duyªn/phucd",
"KÕt thóc."
}
Say(" Muèn lÊy g× th× click ! ", getn(tab_Content), tab_Content);
end;
function huytin()
AddItem(6,1,147,1,0,0,0)
AddItem(6,1,147,2,0,0,0)
AddItem(6,1,147,3,0,0,0)
AddItem(6,1,147,4,0,0,0)
AddItem(6,1,147,5,0,0,0)
AddItem(6,1,147,6,0,0,0)
AddItem(6,1,147,7,0,0,0)
AddItem(6,1,147,8,0,0,0)
AddItem(6,1,147,9,0,0,0)
AddItem(6,1,147,10,0,0,0)
end
function kdb()
AddItem(6,1,149,1,0,0,0)
AddItem(6,1,150,1,1,0,0)
AddItem(6,1,150,1,2,0,0)
AddItem(6,1,150,1,3,0,0)
AddItem(6,1,150,1,4,0,0)
AddItem(6,1,151,1,0,0,0)
AddItem(6,1,152,1,1,0,0)
AddItem(6,1,152,1,2,0,0)
AddItem(6,1,152,1,3,0,0)
AddItem(6,1,152,1,4,0,0)
AddItem(6,1,153,1,0,0,0)
AddItem(6,1,154,1,1,0,0)
AddItem(6,1,154,1,2,0,0)
AddItem(6,1,154,1,3,0,0)
AddItem(6,1,154,1,4,0,0)
end
function stg()
AddItem(6,1,400,90,1,0,0)
AddItem(6,1,400,90,2,0,0)
AddItem(6,1,400,90,3,0,0)
AddItem(6,1,400,90,4,0,0)
end
function thuyti()
AddEventItem(239)
AddEventItem(240)
AddEventItem(241)
end
function phucd()
AddItem(6,1,122,1,0,0,0)
AddItem(6,1,123,1,0,0,0)
AddItem(6,1,124,1,0,0,0)
end
function bachkim()
local tbOpt =
{
{"ThiÕu l©m", bktl},
{"Thiªn v¬ng", bktv},
{"®êng m«n", bkdm},
{"Ngò ®éc", bk5d},
{"Nga mi", bknm},
{"Thuý yªn", bkty},
{"C¸i bang", bkcb},
{"Thiªn nhÉn", bktn},
{"Vâ ®ang", bkvd},
{"C«n l«n", bkcl},
{"Tho¸t"},
}
CreateNewSayEx("<npc>Chän m«n ph¸i?", tbOpt)
end
function bktl()
AddGoldItem(0, 11)
AddGoldItem(0, 6)
end
function bktv()
AddGoldItem(0, 16)
AddGoldItem(0, 21)
AddGoldItem(0, 26)
end
function bknm()
AddGoldItem(0, 31)
end
function bkty()
AddGoldItem(0, 46)
end
function bk5d()
AddGoldItem(0, 61)
end
function bkdm()
AddGoldItem(0, 71)
AddGoldItem(0, 76)
AddGoldItem(0, 81)
end
function bkcb()
AddGoldItem(0, 96)
end
function bktn()
AddGoldItem(0, 101)
end
function bkvd()
for i=4346,4355 do
AddPlatinaItem(3, i)
end
end
function bkcl()
AddGoldItem(0, 126)
end
function manat() local tab_Content = {
"MÆt n¹ /hacthan",
"MÆt n¹ 1/matna1",
"MÆt n¹ 2/matna2",
"MÆt n¹ 3/matna3",
"MÆt n¹ 4/matna4",
"MÆt n¹ 5/matna5",
"KÕt thóc."
}
Say("Chän lo¹i mÆt n¹", getn(tab_Content), tab_Content);
end;
function hacthan()
for i=3890,3894 do
AddGoldItem(0, i)
end
end
function matna1()
for i=4493,4523 do
AddGoldItem(0, i)
end
end
function matna2()
for i=4524,4554 do
AddGoldItem(0, i)
end
end
function matna3()
for i=4555,4585 do
AddGoldItem(0, i)
end
end
function matna4()
for i=4586,4616 do
AddGoldItem(0, i)
end
end
function matna5()
for i=4617,4630 do
AddGoldItem(0, i)
end
end
function dohoangkim()
local szTitle = "Hæ trîi t©n thñ - Test"
local tbOpt =
{
{"Trang BÞ Tö M·ng", tumang},
{"Trang BÞ Kim ¤", kimo},
{"Trang BÞ B¹ch Hæ", bachho},
{"Trang BÞ XÝch L©n", xichlan},
{"Trang BÞ Minh Phîng", minhphuong},
--{"Trang BÞ §»ng Long", danglong},
{"Thoi ta khong cÇn"},
}
CreateNewSayEx(szTitle, tbOpt)
end
function xichlan()
local tab_Content = {
"Roi Khoi/no",
"Thieu Lam Quyen/#sexichlan(1)",
"Thieu Lam Bong/#sexichlan(2)",
"Thieu Lam Dao/#sexichlan(3)",
"Thien Vuong Chuy/#sexichlan(4)",
"Thien Vuong Thuong/#sexichlan(5)",
"Thien Vuong Dao/#sexichlan(6)",
"Nga My kiem/#sexichlan(7)",
"Nga My chuong/#sexichlan(8)",
"Thuy Yen Dao/#sexichlan(9)",
"Thuy yen Song Dao/#sexichlan(10)",
"Ngu Doc Chuong/#sexichlan(11)",
"Ngu Doc Dao/#sexichlan(12)",
"Duong Mon Phi Dao/#sexichlan(13)",
"Duong Mon No/#sexichlan(14)",
"Trang sau/xichlan2",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function xichlan2()
local tab_Content = {
"Roi Khoi/no",
"Duong Mon Phi Tieu/#sexichlan(15)",
"Cai Bang Rong/#sexichlan(16)",
"Cai Bang Bong/#sexichlan(17)",
"Thien Nhan Kich/#sexichlan(18)",
"Thien Nhan Dao/#sexichlan(19)",
"Vo Dang Kiem/#sexichlan(20)",
"Vo Dang Quyen/#sexichlan(21)",
"Con Lon Dao/#sexichlan(22)",
"Con Lon Kiem/#sexichlan(23)",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function sexichlan(nId)
for i = 2515, 2524 do
AddGoldItem(0,10*nId+i-10)
end
end
function minhphuong()
local tab_Content = {
"Roi Khoi/no",
"Thieu Lam Quyen/#seminhphuong(1)",
"Thieu Lam Bong/#seminhphuong(2)",
"Thieu Lam Dao/#seminhphuong(3)",
"Thien Vuong Chuy/#seminhphuong(4)",
"Thien Vuong Thuong/#seminhphuong(5)",
"Thien Vuong Dao/#seminhphuong(6)",
"Nga My kiem/#seminhphuong(7)",
"Nga My chuong/#seminhphuong(8)",
"Thuy Yen Dao/#seminhphuong(9)",
"Thuy yen Song Dao/#seminhphuong(10)",
"Ngu Doc Chuong/#seminhphuong(11)",
"Ngu Doc Dao/#seminhphuong(12)",
"Duong Mon Phi Dao/#seminhphuong(13)",
"Duong Mon No/#seminhphuong(14)",
"Trang sau/minhphuong2",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function minhphuong2()
local tab_Content = {
"Roi Khoi/no",
"Duong Mon Phi Tieu/#seminhphuong(15)",
"Cai Bang Rong/#seminhphuong(16)",
"Cai Bang Bong/#seminhphuong(17)",
"Thien Nhan Kich/#seminhphuong(18)",
"Thien Nhan Dao/#seminhphuong(19)",
"Vo Dang Kiem/#seminhphuong(20)",
"Vo Dang Quyen/#seminhphuong(21)",
"Con Lon Dao/#seminhphuong(22)",
"Con Lon Kiem/#seminhphuong(23)",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function seminhphuong(nId)
for i = 2745, 2754 do
AddGoldItem(0,10*nId+i-10)
end
end
function danglong()
local tab_Content = {
"Roi Khoi/no",
"Thieu Lam Quyen/#sedanglong(1)",
"Thieu Lam Bong/#sedanglong(2)",
"Thieu Lam Dao/#sedanglong(3)",
"Thien Vuong Chuy/#sedanglong(4)",
"Thien Vuong Thuong/#sedanglong(5)",
"Thien Vuong Dao/#sedanglong(6)",
"Nga My kiem/#sedanglong(7)",
"Nga My chuong/#sedanglong(8)",
"Thuy Yen Dao/#sedanglong(9)",
"Thuy yen Song Dao/#sedanglong(10)",
"Ngu Doc Chuong/#sedanglong(11)",
"Ngu Doc Dao/#sedanglong(12)",
"Duong Mon Phi Dao/#sedanglong(13)",
"Duong Mon No/#sedanglong(14)",
"Trang sau/danglong2",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function danglong2()
local tab_Content = {
"Roi Khoi/no",
"Duong Mon Phi Tieu/#sedanglong(15)",
"Cai Bang Rong/#sedanglong(16)",
"Cai Bang Bong/#sedanglong(17)",
"Thien Nhan Kich/#sedanglong(18)",
"Thien Nhan Dao/#sedanglong(19)",
"Vo Dang Kiem/#sedanglong(20)",
"Vo Dang Quyen/#sedanglong(21)",
"Con Lon Dao/#sedanglong(22)",
"Con Lon Kiem/#sedanglong(23)",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function sedanglong(nId)
for i = 2975, 2984 do
AddGoldItem(0,10*nId+i-10)
end
end
function bachho()
local tab_Content = {
"Roi Khoi/no",
"Thieu Lam Quyen/#sebachho(1)",
"Thieu Lam Bong/#sebachho(2)",
"Thieu Lam Dao/#sebachho(3)",
"Thien Vuong Chuy/#sebachho(4)",
"Thien Vuong Thuong/#sebachho(5)",
"Thien Vuong Dao/#sebachho(6)",
"Nga My kiem/#sebachho(7)",
"Nga My chuong/#sebachho(8)",
"Thuy Yen Dao/#sebachho(9)",
"Thuy yen Song Dao/#sebachho(10)",
"Ngu Doc Chuong/#sebachho(11)",
"Ngu Doc Dao/#sebachho(12)",
"Duong Mon Phi Dao/#sebachho(13)",
"Duong Mon No/#sebachho(14)",
"Trang sau/bachho2",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function bachho2()
local tab_Content = {
"Roi Khoi/no",
"Duong Mon Phi Tieu/#sebachho(15)",
"Cai Bang Rong/#sebachho(16)",
"Cai Bang Bong/#sebachho(17)",
"Thien Nhan Kich/#sebachho(18)",
"Thien Nhan Dao/#sebachho(19)",
"Vo Dang Kiem/#sebachho(20)",
"Vo Dang Quyen/#sebachho(21)",
"Con Lon Dao/#sebachho(22)",
"Con Lon Kiem/#sebachho(23)",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function sebachho(nId)
for i = 2285, 2294 do
AddGoldItem(0,10*nId+i-10)
end
end
function kimo()
local tab_Content = {
"Roi Khoi/no",
"Thieu Lam Quyen/#sekimo(1)",
"Thieu Lam Bong/#sekimo(2)",
"Thieu Lam Dao/#sekimo(3)",
"Thien Vuong Chuy/#sekimo(4)",
"Thien Vuong Thuong/#sekimo(5)",
"Thien Vuong Dao/#sekimo(6)",
"Nga My kiem/#sekimo(7)",
"Nga My chuong/#sekimo(8)",
"Thuy Yen Dao/#sekimo(9)",
"Thuy yen Song Dao/#sekimo(10)",
"Ngu Doc Chuong/#sekimo(11)",
"Ngu Doc Dao/#sekimo(12)",
"Duong Mon Phi Dao/#sekimo(13)",
"Duong Mon No/#sekimo(14)",
"Trang sau/kimo2",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function kimo2()
local tab_Content = {
"Roi Khoi/no",
"Duong Mon Phi Tieu/#sekimo(15)",
"Cai Bang Rong/#sekimo(16)",
"Cai Bang Bong/#sekimo(17)",
"Thien Nhan Kich/#sekimo(18)",
"Thien Nhan Dao/#sekimo(19)",
"Vo Dang Kiem/#sekimo(20)",
"Vo Dang Quyen/#sekimo(21)",
"Con Lon Dao/#sekimo(22)",
"Con Lon Kiem/#sekimo(23)",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function sekimo(nId)
for i = 2055, 2064 do
AddGoldItem(0,10*nId+i-10)
end
end
function tumang()
local tab_Content = {
"Roi Khoi/no",
"Thieu Lam Quyen/#setumang(1)",
"Thieu Lam Bong/#setumang(2)",
"Thieu Lam Dao/#setumang(3)",
"Thien Vuong Chuy/#setumang(4)",
"Thien Vuong Thuong/#setumang(5)",
"Thien Vuong Dao/#setumang(6)",
"Nga My kiem/#setumang(7)",
"Nga My chuong/#setumang(8)",
"Thuy Yen Dao/#setumang(9)",
"Thuy yen Song Dao/#setumang(10)",
"Ngu Doc Chuong/#setumang(11)",
"Ngu Doc Dao/#setumang(12)",
"Duong Mon Phi Dao/#setumang(13)",
"Duong Mon No/#setumang(14)",
"Trang sau/tumang2",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function tumang2()
local tab_Content = {
"Roi Khoi/no",
"Duong Mon Phi Tieu/#setumang(15)",
"Cai Bang Rong/#setumang(16)",
"Cai Bang Bong/#setumang(17)",
"Thien Nhan Kich/#setumang(18)",
"Thien Nhan Dao/#setumang(19)",
"Vo Dang Kiem/#setumang(20)",
"Vo Dang Quyen/#setumang(21)",
"Con Lon Dao/#setumang(22)",
"Con Lon Kiem/#setumang(23)",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon M«n Ph¸i", getn(tab_Content), tab_Content);
end
function setumang(nId)
for i = 1825, 1834 do
AddGoldItem(0,10*nId+i-10)
end
end
function cucpham()
local tab_Content = {
-- "Set Hoµng Kim M«n Ph¸i /sethkmp",
-- "Set Xich L©n /setxl",
"Set Cùc PhÈm §éng S¸t /cpds",
-- "MÆt N¹ GM /matnagm",
-- "Set Minh Phîng /setmp",
-- "Set Song Long /setsonglo",
-- "Phi Phong /phip",
-- "Trang Søc /trangs",
-- "Kim Ên /kiman",
-- "Tæng Hîp /tongh",
-- "LÊy 100 ti?n ®ång /tiendong",
-- "LÊy 1000v lîng /tienvan",
-- "M¹c b¾c th¶o nguyªn lÖnh /macblb",
"Th«i kh«ng lÊy g× n÷a h?t."
}
Say(" Muèn lÊy thªm c¸i g× nµo ? ", getn(tab_Content), tab_Content);
end;
function macblb()
AddItem(6,1,1448,1,0,0)
end
function kiman()
AddGoldItem(0,3214)
AddGoldItem(0,3224)
AddGoldItem(0,3234)
end
function tongh()
AddGoldItem(0,3506)
AddGoldItem(0,3530)
AddGoldItem(0,3541)
AddGoldItem(0,3880)
AddGoldItem(0,3881)
AddGoldItem(0,3882)
AddGoldItem(0,3883)
AddGoldItem(0,3884)
AddGoldItem(0,3885)
AddGoldItem(0,3886)
AddGoldItem(0,3887)
AddGoldItem(0,3888)
end
function phip()
AddGoldItem(0,3466)
AddGoldItem(0,3467)
AddGoldItem(0,3468)
AddGoldItem(0,3469)
AddGoldItem(0,3470)
AddGoldItem(0,3471)
AddGoldItem(0,3472)
AddGoldItem(0,3473)
AddGoldItem(0,3474)
AddGoldItem(0,3475)
AddGoldItem(0,3476)
AddGoldItem(0,3477)
AddGoldItem(0,3478)
AddGoldItem(0,3479)
AddGoldItem(0,3480)
AddGoldItem(0,3481)
AddGoldItem(0,3482)
AddGoldItem(0,3483)
AddGoldItem(0,3484)
AddGoldItem(0,3485)
AddGoldItem(0,3486)
AddGoldItem(0,3487)
AddGoldItem(0,3488)
AddGoldItem(0,3489)
AddGoldItem(0,3490)
end
function trangs()
AddGoldItem(0,3507)
AddGoldItem(0,3508)
AddGoldItem(0,3509)
AddGoldItem(0,3510)
AddGoldItem(0,3511)
AddGoldItem(0,3512)
AddGoldItem(0,3513)
AddGoldItem(0,3514)
AddGoldItem(0,3515)
AddGoldItem(0,3516)
AddGoldItem(0,3517)
AddGoldItem(0,3518)
AddGoldItem(0,3519)
AddGoldItem(0,3520)
end
function matnagm()
--AddItem(0,11,2,1,0,10,10,10,10,10,10,10,gio,day,mo nth,nam)
AddItem(0,11,0,367,0,10,10,10,10,10,10,10,gio,day, month,nam)
AddItem(0,11,0,368,0,10,10,10,10,10,10,10,gio,day, month,nam)
end
function cpds()
AddGoldItem(0,494)
AddGoldItem(0,495)
AddGoldItem(0,496)
AddGoldItem(0,497)
end
function setsonglo()
local tab_Content = {
"Rêi khái/no",
"Thi?u L©m quy?n/#setsonglo1(1)",
"Thi?u L©m c«n/#setsonglo1(2)",
"Thi?u L©m ®ao/#setsonglo1(3)",
"Thiªn V¬ng chïy/#setsonglo1(4)",
"Thiªn V¬ng th¬ng/#setsonglo1(5)",
"Thiªn V¬ng ®ao/#setsonglo1(6)",
"Nga My ki?m/#setsonglo1(7)",
"Nga My chëng/#setsonglo1(8)",
"Nga My buff/#setsonglo1(9)",
"Thóy Yªn ®ao/#setsonglo1(10)",
"Thóy Yªn song ®ao/#setsonglo1(11)",
"Ng? §éc chëng/#setsonglo1(12)",
"Ng? §éc ®ao/#setsonglo1(13)",
"Ng? §éc bïa/#setsonglo1(14)",
"Trang sau/setsonglo2",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y chän chøc n¨ng mµ b¹n muèn", getn(tab_Content), tab_Content);
end
function setsonglo2()
local tab_Content = {
"Rêi khái/no",
"§êng M«n phi ®ao/#setsonglo1(15)",
"§êng M«n tô tiÔn/#setsonglo1(16)",
"§êng M«n phi tiªu/#setsonglo1(17)",
"§êng M«n bÉy/#setsonglo1(18)",
"C¸i Bang rång/#setsonglo1(19)",
"C¸i Bang bæng/#setsonglo1(20)",
"Thiªn NhÉn k?ch/#setsonglo1(21)",
"Thiªn NhÉn ®ao/#setsonglo1(22)",
"Thiªn NhÉn bïa/#setsonglo1(23)",
"Vâ §ang kh? /#setsonglo1(24)",
"Vâ §ang ki?m/#setsonglo1(25)",
"C«n L«n ®ao/#setsonglo1(26)",
"C«n L«n ki?m/#setsonglo1(27)",
"C«n L«n bïa/#setsonglo1(28)",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y chän chøc n¨ng mµ b¹n muèn", getn(tab_Content), tab_Content);
end
function setsonglo1(nId)
for i=2975,2985 do AddGoldItem(0,10*nId+i-10) end
end
function sethkmp()
local tab_Content = {
"Rêi khái/no",
"Thi?u L©m quy?n/#sethkmp1(1)",
"Thi?u L©m c«n/#sethkmp1(2)",
"Thi?u L©m ®ao/#sethkmp1(3)",
"Thiªn V¬ng chïy/#sethkmp1(4)",
"Thiªn V¬ng th¬ng/#sethkmp1(5)",
"Thiªn V¬ng ®ao/#sethkmp1(6)",
"Nga My ki?m/#sethkmp1(7)",
"Nga My chëng/#sethkmp1(8)",
"Nga My buff/#sethkmp1(9)",
"Thóy Yªn ®ao/#sethkmp1(10)",
"Thóy Yªn song ®ao/#sethkmp1(11)",
"Ng? §éc chëng/#sethkmp1(12)",
"Ng? §éc ®ao/#sethkmp1(13)",
"Ng? §éc bïa/#sethkmp1(14)",
"Trang sau/sethkmp2",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y chän chøc n¨ng mµ b¹n muèn", getn(tab_Content), tab_Content);
end
function sethkmp2()
local tab_Content = {
"Rêi khái/no",
"§êng M«n phi ®ao/#sethkmp1(15)",
"§êng M«n tô tiÔn/#sethkmp1(16)",
"§êng M«n phi tiªu/#sethkmp1(17)",
"§êng M«n bÉy/#sethkmp1(18)",
"C¸i Bang rång/#sethkmp1(19)",
"C¸i Bang bæng/#sethkmp1(20)",
"Thiªn NhÉn k?ch/#sethkmp1(21)",
"Thiªn NhÉn ®ao/#sethkmp1(22)",
"Thiªn NhÉn bïa/#sethkmp1(23)",
"Vâ §ang kh? /#sethkmp1(24)",
"Vâ §ang ki?m/#sethkmp1(25)",
"C«n L«n ®ao/#sethkmp1(26)",
"C«n L«n ki?m/#sethkmp1(27)",
"C«n L«n bïa/#sethkmp1(28)",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y chän chøc n¨ng mµ b¹n muèn", getn(tab_Content), tab_Content);
end
function sethkmp1(nId)
for i=1,5 do AddGoldItem(0,5*nId+i-5) end
end
function setxl()
local tab_Content = {
"Roi Khoi/no",
"Thieu Lam Quyen/#setxl1(1)",
"Thieu Lam Bong/#setxl1(2)",
"Thieu Lam Dao/#setxl1(3)",
"Thien Vuong Chuy/#setxl1(4)",
"Thien Vuong Thuong/#setxl1(5)",
"Thien Vuong Dao/#setxl1(6)",
"Nga My kiem/#setxl1(7)",
"Nga My chuong/#setxl1(8)",
"Thuy Yen Dao/#setxl1(9)",
"Thuy yen Song Dao/#setxl1(10)",
"Ngu Doc Chuong/#setxl1(11)",
"Ngu Doc Dao/#setxl1(12)",
"Duong Mon Phi Dao/#setxl1(13)",
"Duong Mon No/#setxl1(14)",
"Trang sau/setxl2",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y chän chøc n¨ng mµ b¹n muèn", getn(tab_Content), tab_Content);
end
function setxl2()
local tab_Content = {
"Roi Khoi/no",
"Duong Mon Phi Tieu/#setxl1(15)",
"Cai Bang Rong/#setxl1(16)",
"Cai Bang Bong/#setxl1(17)",
"Thien Nhan Kich/#setxl1(18)",
"Thien Nhan Dao/#setxl1(19)",
"Vo Dang Kiem/#setxl1(20)",
"Vo Dang Quyen/#setxl1(21)",
"Con Lon Dao/#setxl1(22)",
"Con Lon Kiem/#setxl1(23)",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y chän chøc n¨ng mµ b¹n muèn", getn(tab_Content), tab_Content);
end
function setxl1(nId)
for i=2515,2525 do AddGoldItem(0,10*nId+i-10) end
end
function setmp()
local tab_Content = {
"Roi Khoi/no",
"Thieu Lam Quyen/#setmp1(1)",
"Thieu Lam Bong/#setmp1(2)",
"Thieu Lam Dao/#setmp1(3)",
"Thien Vuong Chuy/#setmp1(4)",
"Thien Vuong Thuong/#setmp1(5)",
"Thien Vuong Dao/#setmp1(6)",
"Nga My kiem/#setmp1(7)",
"Nga My chuong/#setmp1(8)",
"Thuy Yen Dao/#setmp1(9)",
"Thuy yen Song Dao/#setmp1(10)",
"Ngu Doc Chuong/#setmp1(11)",
"Ngu Doc Dao/#setmp1(12)",
"Duong Mon Phi Dao/#setmp1(13)",
"Duong Mon No/#setmp1(14)",
"Trang sau/setmp2",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y chän chøc n¨ng mµ b¹n muèn", getn(tab_Content), tab_Content);
end
function setmp2()
local tab_Content = {
"Roi Khoi/no",
"Duong Mon Phi Tieu/#setmp1(15)",
"Cai Bang Rong/#setmp1(16)",
"Cai Bang Bong/#setmp1(17)",
"Thien Nhan Kich/#setmp1(18)",
"Thien Nhan Dao/#setmp1(19)",
"Vo Dang Kiem/#setmp1(20)",
"Vo Dang Quyen/#setmp1(21)",
"Con Lon Dao/#setmp1(22)",
"Con Lon Kiem/#setmp1(23)",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y chän chøc n¨ng mµ b¹n muèn", getn(tab_Content), tab_Content);
end
function setmp1(nId)
for i=2745,2755 do AddGoldItem(0,10*nId+i-10) end
end
function tienvan()
Earn(1000000000)
end;
function tiendong()
AddStackItem(100,4,417,1,1,0,0,0) -- nhan 100 tien dong
end;
17. Cách bật/tắt các sự kiện cũng như việt hóa:
Bạn chỉnh trong s3relay/relaysetting/task/tasklist.ini, file này nó quy định gọi file để chạy dạng timer vậy đó. Nói sơ lun, Count của nó khai báo tổng id task khai báo + 1, cách thức gọi thì làm theo những cái có sẵn. Mún nó không chạy 1 id task nào mà mình khai thì thêm ở dưới nó ExcutedCount=-1 là nó sẽ ko chạy. Điều chỉnh thời gian thì bạn chỉnh ở những file .lua ở relaysetting/task, ví dụ cho bạn ỏ dưới đó
Code:
function TaskShedule()
TaskName("Phong L¨ng §é 0:25") --tên sự kiện, muốn viết gì cũng được cũng ko quan trọng.
TaskTime(10,00); --giờ event sẽ được chạy
--ÉèÖüä¸ôʱ¼ä£¬µ¥Î»Îª·ÖÖÓ
TaskInterval(1440) --60·ÖÖÓÒ»´Î ---nó sẽ chạy suốt trong cái interval timer. Ở đây là mặc định mỗi h nó chạy 1 lần 60*24 = 1440 (60: phút , 24: giờ)
--ÉèÖô¥·¢´ÎÊý£¬0±íʾÎÞÏÞ´Î� �ý
TaskCountLimit(0) --cái này mình ko rõ lắm chưa sử dụng nhìu nên toàn để mặc dịnh là 0
OutputMsg("=================PHONG LANG DO RUN=================="); --dang print thôi
end
function TaskContent()
GlobalExecute("dwf \\script\\missions\\fengling_ferry\\fldmap_boat1.l ua fenglingdu_main()") --gọi hàm bạn đã viết ở folder script
end
function GameSvrConnected(dwGameSvrIP)
end
function GameSvrReady(dwGameSvrIP)
end
18.code nhận vòng sáng và danh hiệu jx linux
Thêm dòng này lên đầu:
Code:
Include("\\script\\global\\titlefuncs.lua")
Code:
IncludeLib("SETTING")
Include("\\script\\lib\\awardtemplet.lua")
Include("\\script\\item\\gamemaster\\gm.lua")
Include("\\script\\dailogsys\\dailogsay.lua")
Include("\\script\\global\\fuyuan.lua")
--Include("\\script\\global\\hotrothem.lua")
function abcxyz(nindex)
Title_AddTitle(nindex, 1, 4302359);
Title_ActiveTitle(nindex);
SetTask(1122, nindex);
end
function DanhHieu()
local szTitle = "<npc>moi ban chon danh hieu"
local tbOpt =
{
{"VL Kiet xuat", abcxyz,{85}},
{"VL Minh Chu", abcxyz,{188}},
{"Ngu Long", abcxyz,{165}},
{"Ngu Long", abcxyz,{150}},
{"Ngu Long", abcxyz,{189}},
{"Tuyet The Cao Thu", abcxyz,{235}},
{"Manh Long Tranh Ba", abcxyz,{228}},
{"Manh Long Tranh Ba", abcxyz,{263}},
{"Tho¸t"},
}
CreateNewSayEx(szTitle, tbOpt)
end
19.Hỏi về việt hoá server
Dùng notepad++, xem thêm dưới đây:
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
20. code add đồ xanh :
tbDoXanh =
{
[1]=
{
szName = "D©y chuyÒn",
tbEquip =
{
{"Toµn th¹ch h¹ng liªn",0,4,0},
{"Lôc PhØ Thóy Hé Th©n phï ",0,4,1},
}
},
[2]=
{
szName = "¸o gi¸p",
tbEquip =
{
{"ThÊt B¶o Cµ Sa",0,2,0},
{"Ch©n Vò Th¸nh Y",0,2,1},
{"Thiªn NhÉn MËt Trang",0,2,2},
{"Gi¸ng Sa Bµo",0,2,3},
{"§êng Nghª gi¸p",0,2,4},
{"V¹n Lu Quy T«ng Y",0,2,5},
{"TuyÒn Long bµo",0,2,6},
{"Long Tiªu ®¹o Y",0,2,8},
{"Cöu VÜ B¹ch Hå trang",0,2,9},
{"TrÇm H¬ng sam",0,2,10},
{"TÝch LÞch Kim Phông gi¸p",0,2,11},
{"V¹n Chóng TÒ T©m Y",0,2,12},
{"Lu Tiªn QuÇn",0,2,13},
}
},
[3]=
{
szName = "§ai lng",
tbEquip =
{
{"Thiªn Tµm Yªu §¸i",0,6,0},
{"B¹ch Kim Yªu §¸i",0,6,1},
}
},
[4]=
{
szName = "Giµy",
tbEquip =
{
{"Cöu TiÕt X¬ng VÜ Ngoa",0,5,0},
{"Thiªn Tµm Ngoa",0,5,1},
{"Kim Lò hµi",0,5,2},
{"Phi Phông Ngoa",0,5,3},
}
},
[5]=
{
szName = "Bao tay",
tbEquip =
{
{"Long Phông HuyÕt Ngäc Tr¹c",0,8,0},
{"Thiªn Tµm Hé UyÓn",0,8,1},
}
},
[6]=
{
szName = "Nãn",
tbEquip =
{
{"Tú L« m·o",0,7,0},
{"Ngò l·o qu¸n",0,7,1},
{"Tu La Ph¸t kÕt",0,7,2},
{"Th«ng Thiªn Ph¸t Qu¸n",0,7,3},
{"YÓm NhËt kh«i",0,7,4},
{"TrÝch Tinh hoµn",0,7,5},
{"¤ Tµm M·o",0,7,6},
{"Quan ¢m Ph¸t Qu¸n",0,7,7},
{"¢m D¬ng V« Cùc qu¸n",0,7,8},
{"HuyÒn Tª DiÖn Tr¸o",0,7,9},
{"Long HuyÕt §Çu hoµn",0,7,10},
{"Long L©n Kh«i",0,7,11},
{"Thanh Tinh Thoa",0,7,12},
{"Kim Phông TriÓn SÝ ",0,7,13},
}
},
[7]=
{
szName = "Vò khÝ c©n chiÕn",
tbEquip =
{
{"HuyÒn ThiÕt KiÕm",0,0,0},
{"§¹i Phong §ao",0,0,1},
{"Kim C« Bæng",0,0,2},
{"Ph¸ Thiªn KÝch",0,0,3},
{"Ph¸ Thiªn chïy",0,0,4},
{"Th«n NhËt Tr·m",0,0,5},
}
},
[8]=
{
szName = "Ngäc béi",
tbEquip =
{
{"Long Tiªn H¬ng Nang",0,9,0},
{"D¬ng Chi B¹ch Ngäc",0,9,1},
}
},
[9]=
{
szName = "Vò khÝ tÇm xa",
tbEquip =
{
{"B¸ V¬ng Tiªu",0,1,0},
{"To¸i NguyÖt §ao",0,1,1},
{"Khæng Tíc Linh",0,1,2},
}
},
[10]=
{
szName = "NhÉn",
tbEquip =
{
{"Toµn Th¹ch Giíi ChØ ",0,3,0},
}
},
}
function laydoxanh()
if check_faction() == 1 then
Talk(1, "", "Gia nhËp m«n ph¸i míi cã thÓ nhËn trang bÞ ")
return
end
local tbOpt = {}
for i=1, getn(tbDoXanh) do
tinsert(tbOpt, {tbDoXanh[i].szName, laydoxanh1, {i}})
end
tinsert(tbOpt, {"Kªt thóc ®èi tho¹i."})
CreateNewSayEx("<npc>Xin mêi lùa chän trang bÞ:", tbOpt)
end
function laydoxanh1(nType)
local tbEquip = %tbDoXanh[nType]["tbEquip"]
local tbOpt = {}
for i=1, getn(tbEquip) do
tinsert(tbOpt, {tbEquip[i][1], laydoxanh2, {i, nType}})
end
tinsert(tbOpt, {"Kªt thóc ®èi tho¹i."})
local szTitle = format("<npc>Xin mêi lùa chän trang bÞ:")
CreateNewSayEx(szTitle, tbOpt)
end
function laydoxanh2(nIndex, nType)
local tbOpt = {}
tinsert(tbOpt, {"Kim", laydoxanh3, {nIndex, nType, 0}})
tinsert(tbOpt, {"Méc", laydoxanh3, {nIndex, nType, 1}})
tinsert(tbOpt, {"Thñy", laydoxanh3, {nIndex, nType, 2}})
tinsert(tbOpt, {"Háa", laydoxanh3, {nIndex, nType, 3}})
tinsert(tbOpt, {"Thæ ", laydoxanh3, {nIndex, nType, 4}})
tinsert(tbOpt, {"Kªt thóc ®èi tho¹i."})
local szTitle = format("<npc>Chän hÖ:")
CreateNewSayEx(szTitle, tbOpt)
end
function laydoxanh3(nIndex, nType, nSeries)
g_AskClientNumberEx(0, 60, "Sè lîng:", {laydoxanh4, {nIndex, nType, nSeries}})
end
function laydoxanh4(nIndex, nType, nSeries, nCount)
local tbEquipSelect = %tbDoXanh[nType]["tbEquip"][nIndex]
for i=1,nCount do AddItem(tbEquipSelect[2], tbEquipSelect[3], tbEquipSelect[4], 10, nSeries, 100, 10) end
end
Chú ý bài viết có nội dung dài phải cho vào thẻ SPOILERLần sửa cuối bởi tvnnam, ngày 18-07-15 lúc 01:39 PM.
CTV- GIẢI ĐÁP THẮC MẮC JX LINUX OFF
-
The Following 20 Users Say Thank You to tvnnam For This Useful Post:
acma865 (18-07-15), dongnguyen0510 (16-07-15), doremon.duk (16-07-15), HAHT169 (04-02-16), hcm589 (06-12-15), lehieuaa (07-11-15), lengoctuandng (22-07-15), mr.truyen (20-08-15), MrHarryPotter (17-07-15), nguyennhuloi (20-02-16), nhoccon1011 (16-07-15), ntrungviet (26-02-16), phuchuands (04-02-16), phuongcoi (20-07-15), shouljin00 (17-07-15), songvijx (30-10-15), thanhtunghn (16-07-15), tieudieuphong (09-09-15), vovanson (16-07-15), [DN]Never (17-07-15)
-
16-07-15, 11:23 AM #4
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
Up cho bài viết mặc dù không dev jx linux
Khách viếng thăm hãy cùng heodat139 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
16-07-15, 02:18 PM #5
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
Những dòng 1 2 3 này nọ bác in Hoa hoặc in đậm lên cho người đọc dễ phân biệt nhé bác
Khách viếng thăm hãy cùng lntinh xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
16-07-15, 02:40 PM #6Thành Viên Tâm Huyết
- Ngày tham gia
- Apr 2014
- Đang ở
- Hưng Yên
- Bài viết
- 1,692
- Thanks
- 488
- Thanked 982 Times in 521 Posts
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
CTV- GIẢI ĐÁP THẮC MẮC JX LINUX OFF
-
Các thành viên gởi lời cảm ơn đến tvnnam vì bài viết này !
lehieuaa (07-11-15)
-
16-07-15, 03:24 PM #7
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
Khách viếng thăm hãy cùng lntinh 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 lntinh vì bài viết này !
tvnnam (16-07-15)
-
16-07-15, 04:05 PM #8Thành Viên
- Ngày tham gia
- May 2010
- Bài viết
- 36
- Thanks
- 9
- Thanked 21 Times in 7 Posts
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
ok đã giải quyết xong !
cảm ơn bácLần sửa cuối bởi doremon.duk, ngày 16-07-15 lúc 04:45 PM.
Khách viếng thăm hãy cùng doremon.duk xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
16-07-15, 04:06 PM #9Thành Viên
- Ngày tham gia
- May 2014
- Bài viết
- 144
- Thanks
- 22
- Thanked 88 Times in 12 Posts
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
Cám ơn tvnam nhiều lắm , dù gì thì nhìn vào script Linux không biết gì hết , đang định chuyển sang linux ! bạn nào cài được trên win XP thì giúp mình nha ! cài lỗi hoài chán ghê ! nhận mình 1 thank nhé tvnam
Khách viếng thăm hãy cùng vovanson xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
16-07-15, 04:32 PM #10Thành Viên Tâm Huyết
- Ngày tham gia
- Apr 2014
- Đang ở
- Hưng Yên
- Bài viết
- 1,692
- Thanks
- 488
- Thanked 982 Times in 521 Posts
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
Hàm trong JX Server [Full] Function[Full]
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 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ó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,ÎïÀíÉ˺¦Öµ£¬±ù£¬ »ð£¬µç£¬¶¾£©)Lần sửa cuối bởi tvnnam, ngày 20-07-15 lúc 07:38 AM.
CTV- GIẢI ĐÁP THẮC MẮC JX LINUX OFF
-
The Following 9 Users Say Thank You to tvnnam For This Useful Post:
dovietthai (13-02-16), hiepsirom12 (23-11-18), khungboktvn (12-09-15), lehieuaa (07-11-15), minhhuylatoi (19-04-23), nguyennhuloi (20-02-16), thanhtunghn (16-07-15), trilap2004 (22-05-19), vovanson (16-07-15)
Chọn nhanh
Võ Lâm Truyền Kỳ (Jx Server)
Lên trên
- Khu vực riêng
- Thiếp lập
- Tin nhắn riêng
- Các theo dõi
- Đang trực tuyến
- Tìm diễn đàn
- Trang chính
- Diễn đàn
- ĐẠI SẢNH CLBGAMESVN
- GIAO LƯU CÙNG DOANH NGHIỆP
- CLB NGHIÊN CỨU & PHÁT TRIỂN MMORPG
- Mu Server
- Võ Lâm Truyền Kỳ (Jx Server)
- Thiên Long Bát Bộ
- Kiếm Thế Server
- Gunny - Webgame Bắn Súng
- Hiệp Khách Giang Hồ
- Tổng Hợp Các Server Games Khác
- Private Server For Linux
- CHUYÊN ĐỀ WEB GAMES
- Old Archived Server
- GIỚI THIỆU CÁC SERVER GAME PRIVATE
- CLB GAMES OFFLINE & THẢO LUẬN GAMES
- CLB WEBMASTER - SECURITY - SOFTWARE
- CHUYÊN MỤC GIẢI TRÍ
- LINH TINH KHÁC
Các Chủ đề tương tự
-
[JX] Nhờ các Cao thủ chuyên về Linux viết giúp cẩm nang Ebook 1.0 sever linux
Bởi tvnnam trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 6Bài viết cuối: 15-02-17, 08:16 PM -
[JX] Tổng Hợp các sever Linux Hot nhất hiện nay giúp ACE tránh 1 số lỗi sever cũ
Bởi tvnnam trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)Trả lời: 524Bài viết cuối: 12-04-16, 10:54 PM -
[JX] [HELP] JX-LINUX - nhờ pro nào chỉ dùm cách fix exp trong sever linux
Bởi id_nothing trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 6Bài viết cuối: 31-05-15, 08:26 AM -
[JX] (HOT) cách reg ac sever 6.0 linux có sẵn trong sever
Bởi caothiengthien trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)Trả lời: 3Bài viết cuối: 30-04-14, 10:57 PM -
[JX] Update for sever Tuyệt Đỉnh Võ Lâm [update giáng sinh + tết]
Bởi phamngochai2 trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)Trả lời: 43Bài viết cuối: 09-11-12, 11:15 AM