PDA

View Full Version : [JX] Hỏi về script NPC Trợ Giúp



pqtmtd
10-08-17, 03:11 PM
Như tiêu đề , em là newbie mong các anh giúp đỡ. Em đang học Dev JX và em cũng đã viết dùng Tools để mở các scrip ra để sửa nhưng em có vài thắc mắc muốn hỏi ạ
Trong NPC nhận trợ giúp này em có đoạn scrip sau :
Include("\\script\\library\\worldlibrary.lua");
Include("\\script\\header\\taskid.lua");
Include("\\script\\header\\testgame.lua");
Include("\\script\\header\\nhanhotro.lua");

Include("\\script\\item\\\\tools\\tool0059.lua");
Include("\\script\\item\\\\questkey\\quest0064.lua");
Include("\\script\\global\\npcchucnang\\phantang.lua");--cong tiem nang
Include("\\script\\header\\trangbi.lua");

NOT_LEVEL = "Bạn cần phải đạt %d cấp để nhận thưởng!"
--NEED_EMPTY = "Xin sắp xếp hành trang 6x6 ô trống"
ALREADY = "Bạn đã nhận trước đây rồi."

function main()
dofile("script/global/npcchucnang/trogiup.lua")
Say2(15277,15,1,"",

-- "Lệnh Bài Tân Thủ/lbtanthu",
--"Lệnh Bài Admin/lbadm",
"Tiền Xu/xu",
"Lệnh Bài Admin/QuanLyCLGH",
"Nhận hỗ trợ tân thủ./hotronew",
"Nhận thưởng đua top/duatop",

"Cộng điểm nhanh/tangdiem",
"Lấy Đồ Định Quốc/tanthu90",
"Lấy Đồ An Bang/anbangcp",
"Nhận cấp độ/nhandiem",
"Nhận kỹ năng/kynangtest",
"Nhận Thu Nghiem/test",
"Nhận trang bị xanh/xanhtest",
"Phần Thưởng Theo Cấp Độ/tabitem",
"Vật phẩm khác/layvatphamkhac",
"Goi Boss/testham",
"Kết thúc đối thoại/no")
end

function xu()
AddCoin(500000)
Msg2Player("Bạn nhận được <color=green>500000 xu.")
end
function lbtanthu()
local nIndex = ItemSetAdd(0,5,31,0,0,5,0,0);--Lệnh Bài
if(nIndex > 0) then
LockItem(nIndex)--khoa bao hiem vinh vien
AddItemID(nIndex) -- tien hanh add lenh bai
end
Msg2Player("Bạn nhận được <color=green>LB Tân Thủ..!")
end

function lbadm()
AddQuestKey(64)
Msg2Player("Bạn nhận được <color=green>LB Amin")
end

function tangdiem()
Say("Ngươi muốn tăng điểm loại nào?",5,
"Sức Mạnh./sucmanh",
"Thân Pháp./thanphap",
"Sinh Khí./sinhkhi",
"Nội Công./noicong",
"Kết thúc đối thoại/no")
end;

function sucmanh()
local count = 1;
local StrTab = {};

for i=1,getn(TIEMNAMG_ARRAY) do
StrTab[count] = TIEMNAMG_ARRAY[i].." điểm".. "/selsucmanh";
count = count + 1;
end

if(count == 1) then
return end

StrTab[count] = "Quay lại/cong";
Say("Ngươi muốn cộng thêm sức mạnh bao nhiêu?",count,StrTab)
end;

function selsucmanh(sel)
local nSel = sel +1;
local n = GetRestAP()
if n == 0 then Talk(1,"",ALL_POINT_NO_LONGER); return end
if n < TIEMNAMG_ARRAY[nSel] then
IncPoint(1,n); cong();
return end
IncPoint(1,TIEMNAMG_ARRAY[nSel]); cong();
end;

function thanphap()
local count = 1;
local StrTab = {};

for i=1,getn(TIEMNAMG_ARRAY) do
StrTab[count] = TIEMNAMG_ARRAY[i].." điểm".. "/selthanphap";
count = count + 1;
end

if(count == 1) then
return end

StrTab[count] = "Quay lại/cong";
Say("Ngươi muốn cộng thêm thân pháp bao nhiêu?",count,StrTab)
end;

function selthanphap(sel)
local nSel = sel +1;
local n = GetRestAP()
if n == 0 then Talk(1,"",ALL_POINT_NO_LONGER); return end
if n < TIEMNAMG_ARRAY[nSel] then
IncPoint(2,n); cong();
return end
IncPoint(2,TIEMNAMG_ARRAY[nSel]); cong();
end;

function sinhkhi()
local count = 1;
local StrTab = {};

for i=1,getn(TIEMNAMG_ARRAY) do
StrTab[count] = TIEMNAMG_ARRAY[i].." điểm".. "/selsinhkhi";
count = count + 1;
end

if(count == 1) then
return end

StrTab[count] = "Quay lại/cong";
Say("Ngươi muốn cộng thêm sinh khí bao nhiêu?",count,StrTab)
end;

function selsinhkhi(sel)
local nSel = sel +1;
local n = GetRestAP()
if n == 0 then Talk(1,"",ALL_POINT_NO_LONGER); return end
if n < TIEMNAMG_ARRAY[nSel] then
IncPoint(3,n); cong();
return end
IncPoint(3,TIEMNAMG_ARRAY[nSel]); cong();
end;

function noicong()
local count = 1;
local StrTab = {};

for i=1,getn(TIEMNAMG_ARRAY) do
StrTab[count] = TIEMNAMG_ARRAY[i].." điểm".. "/selnoicong";
count = count + 1;
end

if(count == 1) then
return end

StrTab[count] = "Quay lại/cong";
Say("Ngươi muốn cộng thêm nội công bao nhiêu?",count,StrTab)
end;

function selnoicong(sel)
local nSel = sel +1;
local n = GetRestAP()
if n == 0 then Talk(1,"",ALL_POINT_NO_LONGER); return end
if n < TIEMNAMG_ARRAY[nSel] then
IncPoint(4,n); cong();
return end
IncPoint(4,TIEMNAMG_ARRAY[nSel]); cong();
end;

function tabitem()
Say2(15277,4,1,"",
"Thưởng cấp 10/thuong10",
"Thưởng cấp 130/thuongvkhk",
"Kết thúc đối thoại/no")
end
function chucnangadm()
Say2(15277,3,1,"",
"Nhận Điểm/nhandiem",
"Mọi Thứ Khác/layvatphamkhac",
"Kết thúc đổi thoại/no")
end

function layvatphamkhac()
Say2(15277,4,1,"",
"Nhận THBH-TT/thuytinh",
"Nhận kỹ năng/kynangtest",
"Nhận nguyên liệu/khamtest",
"Huyen Tinh/huyentinh",
"Kết thúc đổi thoại/no")
end

function nhandiem()
Say2(15277,3,1,"",
"Tiền/loaimoney",
"Tăng kinh nghiệm/addexp",
"Kết thúc đổi thoại/no")
end

function loaimoney()
Say2(15277,2,1,"",
"Tiền Vạn/money",
--"Tiền Xu/xu",
"Kết thúc đổi thoại/no")
end

function money()
Earn(900000000)
Msg2Player("Bạn nhận được <color=green>90.000 vạn lượng.")
end

function xu()
AddCoin(500000)
Msg2Player("Bạn nhận được <color=green>500000 xu.")
end

function addexp()
SetLevel(200)
end

function kynangtest()
local f = GetFactionNo();
if(f < 0 or f > 9) then
Msg2Player("Bạn chưa gia nhập môn phái!")
return end
f = f +1;
for i =1,getn(SKILL90_ARRAY[f]) do
if(SKILL90_ARRAY[f][i][3] > 0) then
AddMagic(SKILL90_ARRAY[f][i][2],20);
else
AddMagic(SKILL90_ARRAY[f][i][2],0);
end
end
AddMagic(SKILL120AR[f],20);
Talk(1,"","Đại hiệp đã nhận được tất cả kỹ năng môn phái 80 90 120");
end;

function test()
local nTaskValue = GetTask(TASK_TANTHU);
if(GetNumber(nTaskValue,4) > 0) then
Talk(1, "", ALREADY)
return end
if(CheckRoom(6,9) == 0) then
Talk(1, "", 12266)
return end
SetTask(TASK_TANTHU, SetNumber(nTaskValue,4,1));
if(GetSex() == 0) then
AddItem(0,5,2,0,0,5,0,0)--hiepcot
else
AddItem(0,5,25,0,0,5,0,0)--nhutinh
end
for i=16,24 do
AddItem(0,5,i,0,0,5,0,0)--abdq
end

AddItem(0,5,13,0,0,5,0,0)--bontieu
AddItem(0,2,9,0,0,5,0,0)--tdp
AddItem(0,2,10,0,0,5,0,0)--thp

AddItem(0,2,2,0,0,5,50,0)--phuc duyen
AddItem(0,2,2,0,0,5,50,0)--phuc duyen
Earn(10000000);
AddRepute(500);
AddLeadExp(5200000)
AddQuestKey(1)
end;

function duatop()
if(GetLevel() < 120) then
Talk(1, "", format(NOT_LEVEL,120))
return end
local nTaskValue = GetTask(TASK_TANTHU);
if(GetNumber(nTaskValue,3) > 0) then
Talk(1, "", ALREADY)
return end
local nDone = GetDataInt(DATA_DUATOP);
if(nDone >= 10) then
Talk(1, "", 10288)
return end
if(CheckRoom(6,9) == 0) then
Talk(1, "", 12266)
return end
nDone = nDone+1
SetDataInt(DATA_DUATOP, nDone);
SetTask(TASK_TANTHU, SetNumber(nTaskValue,3,1));
Talk(1, "", 10289)
Msg2SubWorld(format("<color=green>%s <color>nhận thưởng hạng <color=yellow>%d",GetName(), nDone));
nhanvatpham(nDone);
SaveDataFile();
end;

function nhanvatpham(nNo)
if(nNo > 0 and nNo < 11) then
for i=1,getn(ITEM_AWARDS[nNo]) do
local nId = ItemSetAdd(
ITEM_AWARDS[nNo][i][1],
ITEM_AWARDS[nNo][i][2],
ITEM_AWARDS[nNo][i][3],
ITEM_AWARDS[nNo][i][4],
ITEM_AWARDS[nNo][i][5],
ITEM_AWARDS[nNo][i][6],
ITEM_AWARDS[nNo][i][7]
);
if(ITEM_AWARDS[nNo][i][8] > 0) then
LockItem(nId,ITEM_AWARDS[nNo][i][8]);
end
if(ITEM_AWARDS[nNo][i][9] > 0) then
SetItemDate(nId,ITEM_AWARDS[nNo][i][9]);
end
AddItemID(nId);
end
SetRankEx(RANK_AWARDS[nNo],1);
SetTask(TASK_THOIGIAN4,GetTimeMin()+21600);
end
end;

function hotronew()
--if(GetLevel() < 10) then
-- Talk(1, "", "Bạn luyện đến cấp 10 hãy quay lại nhận.")
--return end
local nSel = GetFactionNo()
if(nSel < 0 or nSel > 9) then
Talk(1, "", "Bạn chưa gia nhập môn phái.")
return end
if(CheckRoom(6,9) == 0) then
Talk(1, "", 12266)
return end
nSel = nSel + 1;
local nValue = GetTask(TASK_TANTHU)
if(GetNumber(nValue,1) > 0) then
Talk(1, "", ALREADY)
return end
SetTask(TASK_TANTHU, SetNumber(nValue,1,1));
local nIndex = ItemSetAdd(0,2,10,0,0,5,0);--than hanh phu
if(nIndex > 0) then
LockItem(nIndex)--khoa bao hiem vinh vien
SetItemDate(nIndex,43200)--30 ngay
AddItemID(nIndex)
end
nIndex = ItemSetAdd(0,2,9,0,0,5,0);--tho dia phu
if(nIndex > 0) then
LockItem(nIndex)--khoa bao hiem vinh vien
SetItemDate(nIndex,43200)
AddItemID(nIndex)
end
for i=1,12 do
nIndex = ItemSetAdd(0,2,45,0,0,5,0);--tien thao lo
if(nIndex > 0) then
LockItem(nIndex)--khoa bao hiem vinh vien
AddItemID(nIndex)
end
end
LockItem(nIndex)--khoa bao hiem vinh vien
AddItemID(nIndex)
for i =1,getn(SKILL90_ARRAY[nSel]) do
if(GetMagicLevel(SKILL90_ARRAY[nSel][i][2]) < 0) then
AddMagic(SKILL90_ARRAY[nSel][i][2],SKILL90_ARRAY[nSel][i][3]);
end
end
if(GetMagicLevel(SKILL120_ARRAY[nSel][2]) < 0) then
end
if(GetLevel() < 80) then
SetLevel(80);
end
end;

NEED_6X5 = "Hành trang phải có 6x5 ô trống (5 hàng)"



function thuong10()
if(GetLevel() < 10) then
Talk(1, "", "<color=yellow>Bạn luyện đến cấp 50 hãy quay lại nhận.")
return end
local nSel = GetFactionNo()
if(nSel < 0 or nSel > 9) then
Talk(1, "", "Bạn chưa gia nhập môn phái.")
return end
if(CheckRoom(3,5) == 0) then
Talk(1, "", 12266)
return end
nSel = nSel + 1;
local nValue = GetTask(TASK_TANTHU)
if(GetNumber(nValue,3) > 0) then
Talk(1, "", ALREADY)
return end
SetTask(TASK_TANTHU, SetNumber(nValue,3,1));
AddItem(2,0,176,0,0,5,0,0);
AddItem(2,0,177,0,0,5,0,0);
AddItem(2,0,178,0,0,5,0,0);
AddItem(2,0,179,0,0,5,0,0);
AddItem(2,0,180,0,0,5,0,0);
AddItem(2,0,181,0,0,5,0,0);
AddItem(2,0,182,0,0,5,0,0);
AddItem(2,0,183,0,0,5,0,0);
AddItem(2,0,184,0,0,5,0,0);

if(GetLevel() < 10) then
Talk(1, "", "<color=yellow>Bạn luyện đến cấp 50 hãy quay lại nhận.")
return end
Earn(100000)
end

function thuongvkhk()
local nSel = GetFactionNo()
if(nSel < 0 or nSel > 9) then
Talk(1, "", "Bạn chưa gia nhập môn phái.")
return end
if(GetLevel() < 130) then
Talk(1, "", format(NOT_LEVEL,130))
return end
if(CheckRoom(6,5) == 0) then
Talk(1, "", 12266)
return end
nSel = nSel + 1;
local nValue = GetTask(TASK_TANTHU)
if(GetNumber(nValue,9) > 0) then
Talk(1, "", ALREADY)
return end
SetTask(TASK_TANTHU, SetNumber(nValue,9,1));
local id;
for i=1,getn(ITEM_FAC[nSel]) do
id = ItemSetAdd( ITEM_FAC[nSel][i][1],
ITEM_FAC[nSel][i][2],
ITEM_FAC[nSel][i][3],
ITEM_FAC[nSel][i][4],
ITEM_FAC[nSel][i][5],
ITEM_FAC[nSel][i][6],
ITEM_FAC[nSel][i][7]);
LockItem(id)--khoa bao hiem vinh vien
AddItemID(id)
end
end;

function thuytinh()
AddItem(0,3,13,0,0,5,0,0)
AddItem(0,3,14,0,0,5,0,0)
AddItem(0,3,15,0,0,5,0,0)
AddItem(0,3,20,0,0,5,0,0)
AddItem(0,3,20,0,0,5,0,0)
AddItem(0,3,20,0,0,5,0,0)
AddItem(0,3,20,0,0,5,0,0)
AddItem(0,3,20,0,0,5,0,0)
AddItem(0,3,20,0,0,5,0,0)
end
function huyentinh()
AddItem(0,3,0,0,10,5,10,0)
end
function tanthu90()
for i=397,400 do
AddItem(2,0,i,0,0,0,5,0);--dinhquoc
end
end
function no()
end;


Em muốn hỏi về dòng như Nhận Thưởng Cấp 130 bên trong đoạn scrip chỉ có mỗi :
function tabitem()
Say2(15277,4,1,"",
"Thưởng cấp 10/thuong10",
"Thưởng cấp 130/thuongvkhk",
"Kết thúc đối thoại/no")
Em muốn biết nó thưởng những cái gì thì phải xem ở đâu ạ?
Em xin cảm ơn mọi người đã đọc bài viết ạ

volamchina1
10-08-17, 05:09 PM
function tabitem()
Say2(15277,4,1,"",
"Thưởng cấp 10/thuong10",
"Thưởng cấp 130/thuongvkhk",
"Kết thúc đối thoại/no")
lệnh để add code tiếp theo nó nằm sau dấu / ( "Thưởng cấp 130/thuongvkhk",) thì ta tìm đến đoạn tên ( thuongvkhk )

function thuongvkhk()
local nSel = GetFactionNo()
if(nSel < 0 or nSel > 9) then
Talk(1, "", "Bạn chưa gia nhập môn phái.")
return end
if(GetLevel() < 130) then
Talk(1, "", format(NOT_LEVEL,130))
return end
if(CheckRoom(6,5) == 0) then
Talk(1, "", 12266)
return end
nSel = nSel + 1;
local nValue = GetTask(TASK_TANTHU)
if(GetNumber(nValue,9) > 0) then
Talk(1, "", ALREADY)
return end
SetTask(TASK_TANTHU, SetNumber(nValue,9,1));
local id;
for i=1,getn(ITEM_FAC[nSel]) do
id = ItemSetAdd( ITEM_FAC[nSel][i][1],
ITEM_FAC[nSel][i][2],
ITEM_FAC[nSel][i][3],
ITEM_FAC[nSel][i][4],
ITEM_FAC[nSel][i][5],
ITEM_FAC[nSel][i][6],
ITEM_FAC[nSel][i][7]);
LockItem(id)--khoa bao hiem vinh vien
AddItemID(id)
end
end;

Chúc bạn chơi game vui vẽ

pqtmtd
12-08-17, 02:03 PM
function tabitem()
Say2(15277,4,1,"",
"Thưởng cấp 10/thuong10",
"Thưởng cấp 130/thuongvkhk",
"Kết thúc đối thoại/no")
lệnh để add code tiếp theo nó nằm sau dấu / ( "Thưởng cấp 130/thuongvkhk",) thì ta tìm đến đoạn tên ( thuongvkhk )

function thuongvkhk()
local nSel = GetFactionNo()
if(nSel < 0 or nSel > 9) then
Talk(1, "", "Bạn chưa gia nhập môn phái.")
return end
if(GetLevel() < 130) then
Talk(1, "", format(NOT_LEVEL,130))
return end
if(CheckRoom(6,5) == 0) then
Talk(1, "", 12266)
return end
nSel = nSel + 1;
local nValue = GetTask(TASK_TANTHU)
if(GetNumber(nValue,9) > 0) then
Talk(1, "", ALREADY)
return end
SetTask(TASK_TANTHU, SetNumber(nValue,9,1));
local id;
for i=1,getn(ITEM_FAC[nSel]) do
id = ItemSetAdd( ITEM_FAC[nSel][i][1],
ITEM_FAC[nSel][i][2],
ITEM_FAC[nSel][i][3],
ITEM_FAC[nSel][i][4],
ITEM_FAC[nSel][i][5],
ITEM_FAC[nSel][i][6],
ITEM_FAC[nSel][i][7]);
LockItem(id)--khoa bao hiem vinh vien
AddItemID(id)
end
end;

Chúc bạn chơi game vui vẽ

Em cảm ơn anh ạ , anh có thể cho em hỏi là những đoạn code ở đằng sau có nghĩa là gì được không ạ?