PDA

View Full Version : [JX] Script này bạn nào có kinh nghiệm xem qua dùm mình nha!



yeuVLTK
04-06-14, 10:08 PM
]
a = GetItemCountEx(951)
b = GetItemCountEx(952)
c = GetItemCountEx(953)
d = GetItemCountEx(954)
e = GetItemCountEx(955)

n = GetCash()

TAB_COST = {
{1,5000},
{2,5000},
{3,5000},
{4,10000},
{5,10000},
}
function banhtetdx(sel)
local TAB_BANHTHUONG = {
"<color=green>Thî NÊu B¸nh<color> Cung hû ph¸t tµi!",
"<color=green>Thî NÊu B¸nh<color> Chóc Mõng N¨m Míi! ",
"Lçi råi th«ng b¸o GM nhÐ",
"<color=green>Thî NÊu B¸nh<color>: Ng­¬i d¸m lõa ta!!!. ",}

if (a >= 3) and (b >= 2) and (n >= TAB_COST[1][2]) then
DelItemEx (951)
DelItemEx(951)
DelItemEx(951)
DelItemEx(952)
DelItemEx(952)
Pay(TAB_COST[1][2])
if (GetItemCountEx(951) == (a - 3)) and (GetItemCountEx(952) == (b - 2)) and (GetCash() ~= n) then
local aHeo = random(1,10)
if (aHeo > 1) then
AddItem(6,1,1024,0,0,0,0)
Talk(1,"no",TAB_BANHTHUONG[1])
return
else
AddEventItem(951)
AddEventItem(951)
AddEventItem(951)
Talk(1,"no",TAB_BANHTHUONG[2])
return
end
else
Msg2Player(TAB_BANHTHUONG[3])
return
end
else
Msg2Player(TAB_BANHTHUONG[4])
return
end
end
sever Linux!
Script này nó không chạy được.... phải sửa thế nào đây?

giangleloi
04-06-14, 10:10 PM
Mình nói hồi chiều rồi đó, cái khúc đó ý bạn muốn gì vậy?
Chạy không được thì GS nó cũng phải báo lỗi, hoặc vô game nói chuyện nó ra cái gì chứ, post hình thử xem bạn.

yeuVLTK
04-06-14, 10:23 PM
a = GetItemCountEx(951)
b = GetItemCountEx(952)
c = GetItemCountEx(953)
d = GetItemCountEx(954)
e = GetItemCountEx(955)

n = GetCash()

TAB_COST = {
{1,5000},
{2,5000},
{3,5000},
{4,10000},
{5,10000},
}
function banhtetdx(sel)
local TAB_BANHTHUONG = {
"<color=green>Thî NÊu B¸nh<color> Cung hû ph¸t tµi!",
"<color=green>Thî NÊu B¸nh<color> Chóc Mõng N¨m Míi! ",
"Lçi råi th«ng b¸o GM nhÐ",
"<color=green>Thî NÊu B¸nh<color>: Ng­¬i d¸m lõa ta!!!. ",}

if (a >= 3) and (b >= 2) and (n >= TAB_COST[1][2]) then
DelItemEx (951)
DelItemEx(951)
DelItemEx(951)
DelItemEx(952)
DelItemEx(952)
Pay(TAB_COST[1][2])
if (GetItemCountEx(951) == (a - 3)) and (GetItemCountEx(952) == (b - 2)) and (GetCash() ~= n) then
local aHeo = random(1,10)
if (aHeo > 1) then
AddItem(6,1,1024,0,0,0,0)
Talk(1,"no",TAB_BANHTHUONG[1])
return
else
AddEventItem(951)
AddEventItem(951)
AddEventItem(951)
Talk(1,"no",TAB_BANHTHUONG[2])
return
end
else
Msg2Player(TAB_BANHTHUONG[3])
return
end
else
Msg2Player(TAB_BANHTHUONG[4])
return
end
end
nó báo dòng đó bạn giangleloi!
đây là 1 phần của script event, khi mình chọn đến đây thì Msg2Player báo TAB_BANHTHUONG[4] GS ko có lỗi gì hết.. chắc do mình viết sai code

giangleloi
04-06-14, 10:27 PM
local a = GetItemCountEx(951)
local b = GetItemCountEx(952)
local c = GetItemCountEx(953)
local d = GetItemCountEx(954)
local e = GetItemCountEx(955)

local n = GetCash()

TAB_COST = {
{1,5000},
{2,5000},
{3,5000},
{4,10000},
{5,10000},
}
function banhtetdx(sel)
local TAB_BANHTHUONG = {
"<color=green>Thî NÊu B¸nh<color> Cung hû ph¸t tµi!",
"<color=green>Thî NÊu B¸nh<color> Chóc Mõng N¨m Míi! ",
"Lçi råi th«ng b¸o GM nhÐ",
"<color=green>Thî NÊu B¸nh<color>: Ng­¬i d¸m lõa ta!!!. ",}

if (a >= 3) and (b >= 2) and (n >= TAB_COST[1][2]) then
DelItemEx (951)
DelItemEx(951)
DelItemEx(951)
DelItemEx(952)
DelItemEx(952)
Pay(TAB_COST[1][2])
if (GetItemCountEx(951) == (a - 3)) and (GetItemCountEx(952) == (b - 2)) and (GetCash() ~= n) then
local aHeo = random(1,10)
if (aHeo > 1) then
AddItem(6,1,1024,0,0,0,0)
Talk(1,"no",TAB_BANHTHUONG[1])
return
else
AddEventItem(951)
AddEventItem(951)
AddEventItem(951)
Talk(1,"no",TAB_BANHTHUONG[2])
return
end
else
Msg2Player(TAB_BANHTHUONG[3])
return
end
else
Msg2Player(TAB_BANHTHUONG[4])
return
end
end
Khai thêm local vào các biến đầu file rồi chạy lại thử xem rồi post cụ thể cái hình nó ra cái gì nha :)

yeuVLTK
05-06-14, 12:09 AM
Mình thêm rồi... nhưng khi nhấp vào Npc thì ko có j xảy ra, mình để ý thấy khi chạy SV thì báo lỗi ở line 110
Nguyên script event của mình nè... Line 110 mình tô màu đỏ

Include("\\script\\event\\lambanhtet\\doinguqua.lua")
function main()

ThoNauBanh()
end


-- lenh get
local a = GetItemCountEx(951)
local b = GetItemCountEx(952)
local c = GetItemCountEx(953)
local d = GetItemCountEx(954)
local e = GetItemCountEx(955)

local n = GetCash()

TAB_COST = {
{1,5000},
{2,5000},
{3,5000},
{4,10000},
{5,10000},
}

function ThoNauBanh()
local TAB_THONAUBANH = {
"Ta t×m ®­îc ngò qu¶, h·y ®æi b¸nh cho ta nhÐ!/NauBanh",
"Ta sÏ quay l¹i sau/no",
"§æi qu¶/doi",
"LÊy Qu¶/layqua",

}
Say("<color=green>Thî Lµm B¸nh:<color> B¸nh cña ta lµ ngon nhÊt xø nµy, nÕu cã B× kÝp nÊu bµnh TÕt n÷a th× tuyÖt!",
4,
TAB_THONAUBANH[1],
TAB_THONAUBANH[3],
TAB_THONAUBANH[4],
TAB_THONAUBANH[2]
)
end

-- EVENT BANH TET
function NauBanh()
local TAB_NAUBANH = {
"§æi cho ta c¸i b¸nh tÐt ®Ëu xanh/tetdau",
"§æi cho ta c¸i b¸nh tÐt thËp cÈm/tettc",
"§æi cho ta c¸i b¸nh ch­ng thËp cÈm/chungtc",
"§æi cho ta c¸i b¸nh Ýt th­îng h¹ng/bich",
"§æi cho ta c¸i b¸nh ch­ng th­îng h¹ng/chungth",
"KÕt thóc ®èi tho¹i/no",
}
Say("<color=green>Thî Lµm B¸nh:<color> Ta còng ®ang cÇn lµm m©m Ngò Qu¶ cho ngµy tÕt...Th«i ®­îc! ta sÏ ®æi cho ThiÕu hiÖp, ng­¬i lÊy b¸nh nµo? ",
6,
TAB_NAUBANH[1],
TAB_NAUBANH[2],
TAB_NAUBANH[3],
TAB_NAUBANH[4],
TAB_NAUBANH[5],
-- TAB_NAUBANH[6],
TAB_NAUBANH[6]
)
end
TAB_NAUBANHNAO = {
"Ta cã ®ñ 5 qu¶ ®©y, h·y ®æi cho ta!/banhtetdx",
"Ta cã ®ñ 5 qu¶ ®©y, h·y ®æi cho ta!/banhtettc",
"Ta cã ®ñ 5 qu¶ ®©y, h·y ®æi cho ta!/banhchungtc",
"Ta cã ®ñ 5 qu¶ ®©y, h·y ®æi cho ta!/banhich",
"Ta cã ®ñ 5 qu¶ ®©y, h·y ®æi cho ta!/banhchungth",
"Ta kh«ng mang ®ñ råi!/no",
}
function tetdau()
Say("<color=green>Thî Lµm B¸nh:<color> Muèn ®æi b¸nh <color=blue>TÐt ®Ëu xanh<color> cÇn: <color=yellow>3<color> m·ng cÇu + <color=yellow>2<color> dõa + <color=yellow>5000<color> l­îng ",
2,
TAB_NAUBANHNAO[1],
TAB_NAUBANHNAO[6])
end
function tettc()
Say("<color=green>Thî Lµm B¸nh:<color> Muèn ®æi b¸nh<color=blue>TÐt thËp cÈm <color> cÇn: <color=yellow>3<color> Dõa + <color=yellow>2<color> §u ®ñ + "..TAB_COST[2][2].." l­îng.",
2,
TAB_NAUBANHNAO[2],
TAB_NAUBANHNAO[6])
end
function chungtc()
Say("<color=green>Thî Lµm B¸nh:<color> Muèn ®æi b¸nh <color=blue>Ch­ng thËp cÈm <color> cÇn:<color=yellow>3<color> §u ®ñ + <color=yellow>2<color> Xoµi + "..TAB_COST[3][2].." l­îng.",
2,
TAB_NAUBANHNAO[3],
TAB_NAUBANHNAO[6])
end
function bich()
Say("<color=green>Thî Lµm B¸nh:<color> Muèn ®æi b¸nh <color=blue>B¸nh Ýt <color> cÇn: <color=yellow>3<color> Xoµi + <color=yellow>2<color> Sung + "..TAB_COST[4][2].." l­îng.",
2,
TAB_NAUBANHNAO[4],
TAB_NAUBANHNAO[6])
end
function chungth()
Say("<color=green>Thî Lµm B¸nh:<color> Muèn ®æi b¸nh <color=blue>Ch­ng th­îng h¹ng <color> cÇn:<color=yellow>5<color> Sung + "..TAB_COST[5][2].." l­îng.",
2,
TAB_NAUBANHNAO[5],
TAB_NAUBANHNAO[6])
end


function banhtetdx(sel)
local TAB_BANHTHUONG = {
"<color=green>Thî NÊu B¸nh<color> Cung hû ph¸t tµi!",
"<color=green>Thî NÊu B¸nh<color> Chóc Mõng N¨m Míi! ",
"Lçi råi th«ng b¸o GM nhÐ",
"<color=green>Thî NÊu B¸nh<color>: Ng­¬i d¸m lõa ta!!!. ",}

if (a >= 3) and (b >= 2) and (n >= TAB_COST[1][2]) then
DelItemEx(951)
DelItemEx(951)
DelItemEx(951)
DelItemEx(952)
DelItemEx(952)
Pay(TAB_COST[1][2])
if (GetItemCountEx(951) == (a - 3)) and (GetItemCountEx(952) == (b - 2)) and (GetCash() ~= n) then
local aHeo = random(1,10)
if (aHeo > 1) then
AddItem(6,1,1024,0,0,0)
Talk(1,"no",TAB_BANHTHUONG[1])
return
else
AddEventItem(951)
AddEventItem(951)
AddEventItem(951)
Talk(1,"no",TAB_BANHTHUONG[2])
return
end
else
Msg2Player(TAB_BANHTHUONG[3])
return
end
else
Msg2Player(TAB_BANHTHUONG[4])
return
end
end

function banhtettc()
local TAB_BANHDAUXANH = {
"<color=green>Thî NÊu B¸nh<color> Cung hû ph¸t tµi!",
"<color=green>Thî NÊu B¸nh<color> Chóc Mõng N¨m Míi!",
"Lçi råi th«ng b¸o GM nhÐ",
"<color=green>Thî NÊu B¸nh<color>: Ng­¬i d¸m lõa ta!!!. ",}

if (b >= 3) and (c >= 2) and (n >= TAB_COST[2][2]) then
DelItemEx (952)
DelItemEx(952)
DelItemEx(952)
DelItemEx(953)
DelItemEx(953)
Pay(TAB_COST[2][2])
if (GetItemCountEx(952) == (b - 3)) and (GetItemCountEx(953) == (c - 2)) and (GetCash() ~= n) then
local aHeo = random(1,10)
if (aHeo > 1) then
AddItem(6,1,1023,0,0,0)
Talk(1,"no",TAB_BANHDAUXANH[1])
return
else
AddEventItem(952)
AddEventItem(952)
AddEventItem(952)
Talk(1,"no",TAB_BANHDAUXANH[2])
return
end
else
Msg2Player(TAB_BANHDAUXANH[3])
return
end
else
Msg2Player(TAB_BANHDAUXANH[4])
return
end
end
function banhchungtc()
local TAB_BANHDACBIET = {
"<color=green>Thî NÊu B¸nh<color> Cung hû ph¸t tµi!.",
"<color=green>Thî NÊu B¸nh<color> Chóc Mõng N¨m Míi! ",
"Lçi råi th«ng b¸o GM nhÐ",
"<color=green>Thî NÊu B¸nh<color>: Ng­¬i d¸m lõa ta!!!. ",}

if (c >= 3) and (d >= 2) and (n >= TAB_COST[3][2]) then
DelItemEx(953)
DelItemEx(953)
DelItemEx(953)
DelItemEx(954)
DelItemEx(954)
Pay(TAB_COST[3][2])
if (GetItemCountEx(953) == (c - 3)) and (GetItemCountEx(954) == (d - 2)) and (GetCash() ~= n) then
local aHeo = random(1,10)
if (aHeo > 1) then
AddItem(6,1,1025,0,0,0)
Talk(1,"no",TAB_BANHDACBIET[1])
else
AddEventItem(953)
AddEventItem(953)
AddEventItem(953)
Talk(1,"no",TAB_BANHDACBIET[2])
return
end
else
Msg2Player(TAB_BANHDACBIET[3])
return
end
else
Msg2Player(TAB_BANHDACBIET[4])
return
end
end
function banhich()
local TAB_BANHNHANTRUNG = {
"<color=green>Thî NÊu B¸nh<color> Cung hû ph¸t tµi!",
"<color=green>Thî NÊu B¸nh<color> Chóc Mõng N¨m Míi! ",
"Lçi råi th«ng b¸o GM nhÐ",
"<color=green>Thî NÊu B¸nh<color>: Ng­¬i d¸m lõa ta!!!. ",}

if (d >= 3) and (e >= 2) and (n >= TAB_COST[4][2]) then
DelItemEx(954)
DelItemEx(954)
DelItemEx(954)
DelItemEx(955)
DelItemEx(955)

Pay(TAB_COST[4][2])
if (GetItemCountEx(954) == (d - 3)) and (GetItemCountEx(955) == (e - 2)) and (GetCash() ~= n) then
local aHeo = random(1,10)
if (aHeo > 1) then
AddItem(6,1,1026,0,0,0)
Talk(1,"no",TAB_BANHNHANTRUNG[1])
else
AddEventItem(954)
AddEventItem(954)
AddEventItem(954)
Talk(1,"no",TAB_BANHNHANTRUNG[2])
return
end
else
Msg2Player(TAB_BANHNHANTRUNG[3])
return
end
else
Msg2Player(TAB_BANHNHANTRUNG[4])
return
end
end
function banhchungth()
local TAB_BANHHATSEN = {
"<color=green>Thî NÊu B¸nh<color> Cung hû ph¸t tµi!",
"<color=green>Thî NÊu B¸nh<color> Chóc Mõng N¨m Míi!: ",
"Lçi råi th«ng b¸o GM nhÐ",
"<color=green>Thî NÊu B¸nh<color>: Ng­¬i d¸m lõa ta!!!. ",}

if (e >= 5) and (n >= TAB_COST[5][2]) then
DelItemEx(955)
DelItemEx(955)
DelItemEx(955)
DelItemEx(955)
DelItemEx(955)


Pay(TAB_COST[5][2])
if (GetItemCountEx(955) == (e - 5)) and (GetCash() ~= n) then
local aHeo = random(1,10)
if (aHeo > 1) then
AddItem(6,1,1395,0,0,0)
Talk(1,"no",TAB_BANHHATSEN[1])
else
AddEventItem(955)
AddEventItem(955)
AddEventItem(955)

Talk(1,"no",TAB_BANHHATSEN[2])
return
end
else
Msg2Player(TAB_BANHHATSEN[3])
return
end
else
Msg2Player(TAB_BANHHATSEN[4])
return
end
end

function doi()
doinguqua()
end
function layqua()
AddEventItem(951,5)
AddEventItem(952,5)
AddEventItem(953,5)
AddEventItem(954,5)
AddEventItem(955,5)
end

LTG Team
05-06-14, 12:31 AM
local a = GetItemCountEx(951)
local b = GetItemCountEx(952)
local c = GetItemCountEx(953)
local d = GetItemCountEx(954)
local e = GetItemCountEx(955)

local n = GetCash()

chỗ đó. a,b,c,d,e,n dùng chỗ nào thì khai báo chỗ đó, hoặc bỏ local đi.

chỗ nào có n thì thay bằng GetCash().
đồng thời dùng Msg2Player hoặc print in mấy biến đó ra xem kết quả thế nào.
trong cái script này thấy dùng return vô tội vạ.

yeuVLTK
05-06-14, 12:58 AM
local a = GetItemCountEx(951)
local b = GetItemCountEx(952)
local c = GetItemCountEx(953)
local d = GetItemCountEx(954)
local e = GetItemCountEx(955)

local n = GetCash()

chỗ đó. a,b,c,d,e,n dùng chỗ nào thì khai báo chỗ đó, hoặc bỏ local đi.

chỗ nào có n thì thay bằng GetCash().
đồng thời dùng Msg2Player hoặc print in mấy biến đó ra xem kết quả thế nào.
trong cái script này thấy dùng return vô tội vạ.

Mình chỉ làm theo mẫu script event từ sever JXLoving nên ko biết print in hay RETURN gì cả...hix!
Nếu thay n = GetCash() thì đoạn " màu đỏ" viết làm sao ?


function banhchungtc()
local TAB_BANHDACBIET = {
"<color=green>Thî NÊu B¸nh<color> Cung hû ph¸t tµi!.",
"<color=green>Thî NÊu B¸nh<color> Chóc Mõng N¨m Míi! ",
"Lçi råi th«ng b¸o GM nhÐ",
"<color=green>Thî NÊu B¸nh<color>: Ng­¬i d¸m lõa ta!!!. ",}

if (c >= 3) and (d >= 2) and (n >= TAB_COST[3][2]) then
DelItemEx(953)
DelItemEx(953)
DelItemEx(953)
DelItemEx(954)
DelItemEx(954)
Pay(TAB_COST[3][2])
if (GetItemCountEx(953) == (c - 3)) and (GetItemCountEx(954) == (d - 2)) and (GetCash() ~= n) then
local aHeo = random(1,10)
if (aHeo > 1) then
AddItem(6,1,1025,0,0,0)
Talk(1,"no",TAB_BANHDACBIET[1])
else
AddEventItem(953)
AddEventItem(953)
AddEventItem(953)
Talk(1,"no",TAB_BANHDACBIET[2])
return
end
else
Msg2Player(TAB_BANHDACBIET[3])
return
end
else
Msg2Player(TAB_BANHDACBIET[4])
return
end
end
Nếu bạn không quá bận..bạn có thể viết giúp mình thử 1 đoạn nhỏ trên ko?

yeuVLTK
05-06-14, 01:16 AM
local a = GetItemCountEx(951)
local b = GetItemCountEx(952)
local c = GetItemCountEx(953)
local d = GetItemCountEx(954)
local e = GetItemCountEx(955)

local n = GetCash()

chỗ đó. a,b,c,d,e,n dùng chỗ nào thì khai báo chỗ đó, hoặc bỏ local đi.

chỗ nào có n thì thay bằng GetCash().
đồng thời dùng Msg2Player hoặc print in mấy biến đó ra xem kết quả thế nào.
trong cái script này thấy dùng return vô tội vạ.

á.. mình làm dc rồi, thì ra là do cái n= GetCash() ^^! cảm ơn bạn!
Nhưng còn Return... có thể thay thế nào vậy bạn ?

LTG Team
05-06-14, 02:04 AM
á.. mình làm dc rồi, thì ra là do cái n= GetCash() ^^! cảm ơn bạn!
Nhưng còn Return... có thể thay thế nào vậy bạn ?

bạn cần phải hiểu return là như thế nào, và nên dùng và không nên dùng return ở những chỗ nào :).

code script trên thấy nhiều chỗ ko cần thiết mà vẫn dùng return.