PDA

View Full Version : Unpack Script Thẩm Cửu Vinagame by thaihoa91



thaihoa91
16-04-10, 11:07 PM
Đây là Script CODE ngôn ngữ LUA mà mình unpack dc từ .pak của Vinagame
CODE viết về 1 phần Task nhiệm vụ thôn làng : Hồi môn của A Phương

Nhiệm vụ thứ 2: Hồi môn của A Phương
- Tìm gặp A Phương (202/203), nhận lời đi mua giúp cô ta một đôi bông tai làm của hồi môn.
- Đi về phía Tây tìm Thẩm Cửu (188/198) bỏ 200 lượng mua được một đôi bông tai.
- Mang về cho A Phương. Hoàn thành nhiệm vụ.
Phần thưởng cho bạn: Một chiếc mũ và 6 điểm danh vọng.

Và 1 phần CODE nhỏ về phần đổi Kim Nguyên Bảo để mở rộng rương !
**Đây là CODE mình translate từ bảng mã TCVN3 của Vinagame sang mã Unicode :

--Áẵºỵầứ °ÍÁờẽỉ Âãẩậ10ẫũắÅảễằ°
--°ÍÁờẽỉéÂấệẩẻẻủʺ°Âãẳ àÄẳịì±
--suyu
-- Update: Dan_Deng(2003-08-10)
--ìÂềõʺễẵÄẽệằểéềằệệễ ê±ƯÊơẽàà±ểÚẻềÃầàÄềứễê ±ƯÊơÃỷ³ặẵéẵðễê±ƯÊơầĐÍũ ìÂềõÊơ±àºÅểà 343
function main()

local UTask_world20 = GetTask(48)
if (UTask_world20 == 1) then
task_ring()
else
other_chat()
end
end;
function task_ring()
UTask_world20 = GetTask(48);
if (UTask_world20 == 1) then
Say("Muốn mua giùm cô nương ấy của hồi môn ư? Hàng hòa còn lại của ta không nhiều, chỉ còn lại đội bông tai vàng này là khá rẻ, chỉ có 200 lượng",2,"Mua/yes", "Tán gẫu/other_chat","Không mua/no")
end
end
function other_chat()
Talk(3,"", "Ta từ Tứ Xuyên đến, trên đường có rất nhiều thổ phỉ,thật là nguy hiểm!", "Thật không thể ngờ được ta có thể đến khu vực hồ Động Đình này mà không hề bị cướp! Ngươi thấy có lạ không?", "ta nghe người ta nói mới biết, ở đây không chịu sự quản lý của quan phủ, mà từ một phái tên Thiên Vương Bang gì đó, hèn gì ở đây thật yên bình!")
end
function yes()
if(GetCash() >= 200)then
Talk(1,"","Khuyên tai đã gói lại rồi! Xin giữ lấy!")
Pay(200);
AddEventItem(181);
Msg2Player("Bạn được một đôi bông tai");
AddNote("Bạn mua được một đôi bông tai ở chỗ thương nhân đem về giao cho A Phương")
-- SetTask(48, 2);
else
Talk(1,"","Khách quan chưa đủ tiền! Khi nào có đủ tiền hãy quay lại. ")
end
end;
function buy_addibox()
local szMsg =
{
"Thẩm Cửu: Đây là chiếc rương được làm từ đá san hô xanh, có thể cho ngươi bỏ thêm vật phẩm, còn có thể khóa lại một cách an toàn.", --1
"Dùng 2 kim nguyên bảo mua./#buy_addibox_yes(2)", --2
"Dùng 1 kim nguyên bảo mua./#buy_addibox_yes(1)", --3
"Đắt quá! Lần sau sẽ mua! /no", --4
};

local nDate = tonumber(GetLocalDate("%Y%m%d"));

if (nDate >= 20080202 and nDate <= 20080302) then --´ºẵÚằợả¯ặÚẳọÄÚ
Say(szMsg[1], 2, szMsg[3], szMsg[4]);
else
Say(szMsg[1], 2, szMsg[2], szMsg[4]);
end;

end
function buy_addibox_yes(nNedCount)
if (nNedCount < 1 or nNedCount == nil) then
print("Fail!!!!");
return
end;

local nCount = GetItemCountEx(343);

if (nCount < nNedCount) then
Talk(1,"","Khách quan chưa đủ tiền! Khi nào có đủ tiền hãy quay lại.")
return 1;
end

for i = 1, nNedCount do
DelItemEx(343);
end;

WriteGoldLog(date("%Y-%m-%d %H:%M:%S").." "..GetAccount()..", ["..GetName()..format("]: Tốn %d viên Kim Nguyên Bảo, nhận được 1 rương mở rộng.",nNedCount),-2,0,0,0);
OpenStoreBox(1)

UseSilver(1, 2, nNedCount); -- ẵðễê±ƯảềằằẻêÍưầđàÄẽỷ ºÄͳẳặ(ệ±ẵểẽỷºÄàÄễê±Ư� ��ứặ±ÊơểởÍưầđảềằằàẩÍơ ´ƯÀớ)
SaveNow(); -- ÁÂẳ´´ổÅè

Talk(1,"","Tốt quá! Đủ tiền rồi! Ta sẽ lập tức lắp đặt rương! Về sau khách quan chỉ cần đến nơi có rương chứa đồ của mình mở <color=yellow>rương mở rộng<color> là có thể dùng được. ")
Msg2Player("Bạn đã mua chức năng mở rộng rương, không gian lưu trữ đã tăng lên! Mở rương ra bạn sẽ sử dụng được chức năng này. ")
end

function box_help()
str=
{
"<#> Mỗi nhân vật chỉ mua được một chức năng mở rộng rương thôi. Nó sẽ theo bạn suốt, gồm có 60 ô, chức năng và nguyên lý sử dụng giống như rương ban đầu chỉ không thể cất giữ tiền bạc.",
"<#> Sau khi mua chức năng mở rộng rương, bạn nhận được một mật mã dùng để bảo vệ các trang bị trên người cũng như trong rương.",
"<#> Sau khi nhấn vào mật mã sẽ khóa lại, còn trong tình trạng thái khóa, trang bị trên người không được mặc lên cũng như cởi bỏ, nhưng nó sẽ không ảnh hưởng đến chức năng sẵn có (Như điểm số PK quá cao thì sẽ rớt các trang bị trên người) .",
"<#> Việc thiết lập mật mã: nhấn vào giao diện rương chứa đồ nơi <color=yellow>thiết lập mật mã<color>, sẽ hiện ra một ô nhỏ, trên đó có từ 0-9 số để nhập vào.",
"<#> Lần đầu tiên thiết lập mật mã ta nhấn vào hàng đó, còn nếu bạn đã thiết lập qua khi nhấn vào sẽ là chỉnh sửa mật mã.",
"<#> Khi chỉnh sửa mật mã trước tiên ta nhập mật mã cũ vào sau đó nhấn hai lần mật mã mới, xác nhận chỉnh sửa thành công. Độ dài mật mã ít nhất một ký tự số dài nhất là 9 kí tự số.",
};
Talk(6,"",str[1],str[2], str[3], str[4], str[5], str[6]);
end


function no()
end;
**Còn đây là Script CODE ngôn ngữ LUA nguyên gốc của Vinagame theo bảng mã TCVN3 :



--Á½ºþÇø °ÍÁêÏØ Â·ÈË10Éò¾Å¶Ô»°
--°ÍÁêÏØÐÂÊÖÈÎÎñ£º°¢·¼µÄ¼Þ× ±
--suyu
-- Update: Dan_Deng(2003-08-10)
--×¢Ò⣺ԽÄÏÖ»ÓÐÒ»ÖÖÔª±¦£¬Ï ൱ÓÚÎÒÃǵÄÒøÔª±¦£¬Ãû³Æ½Ð ½ðÔª±¦£¬Ç§Íò×¢Ò⣬±àºÅÓà 343
function main()

local UTask_world20 = GetTask(48)
if (UTask_world20 == 1) then
task_ring()
else
other_chat()
end
end;
function task_ring()
UTask_world20 = GetTask(48);
if (UTask_world20 == 1) then
Say("Muèn mua giïm c« n­¬ng Êy cña håi m«n ­? Hµng hßa cßn l¹i cña ta kh«ng nhiÒu, chØ cßn l¹i ®éi b«ng tai vµng nµy lµ kh¸ rÎ, chØ cã 200 l­îng",2,"Mua/yes", "T¸n gÉu/other_chat","Kh«ng mua/no")
end
end
function other_chat()
Talk(3,"", "Ta tõ Tø Xuyªn ®Õn, trªn ®­êng cã rÊt nhiÒu thæ phØ,thËt lµ nguy hiÓm!", "ThËt kh«ng thÓ ngê ®­îc ta cã thÓ ®Õn khu vùc hå §éng §×nh nµy mµ kh«ng hÒ bÞ c­íp! Ng­¬i thÊy cã l¹ kh«ng?", "ta nghe ng­êi ta nãi míi biÕt, ë ®©y kh«ng chÞu sù qu¶n lý cña quan phñ, mµ tõ mét ph¸i tªn Thiªn V­¬ng Bang g× ®ã, hÌn g× ë ®©y thËt yªn b×nh!")
end
function yes()
if(GetCash() >= 200)then
Talk(1,"","Khuyªn tai ®· gãi l¹i råi! Xin gi÷ lÊy!")
Pay(200);
AddEventItem(181);
Msg2Player("B¹n ®­îc mét ®«i b«ng tai");
AddNote("B¹n mua ®­îc mét ®«i b«ng tai ë chç th­¬ng nh©n ®em vÒ giao cho A Ph­¬ng")
-- SetTask(48, 2);
else
Talk(1,"","Kh¸ch quan ch­a ®ñ tiÒn! Khi nµo cã ®ñ tiÒn h·y quay l¹i. ")
end
end;
function buy_addibox()
local szMsg =
{
"ThÈm Cöu: §©y lµ chiÕc r­¬ng ®­îc lµm tõ ®¸ san h« xanh, cã thÓ cho ng­¬i bá thªm vËt phÈm, cßn cã thÓ khãa l¹i mét c¸ch an toµn.", --1
"Dïng 2 kim nguyªn b¶o mua./#buy_addibox_yes(2)", --2
"Dïng 1 kim nguyªn b¶o mua./#buy_addibox_yes(1)", --3
"§¾t qu¸! LÇn sau sÏ mua! /no", --4
};

local nDate = tonumber(GetLocalDate("%Y%m%d"));

if (nDate >= 20080202 and nDate <= 20080302) then --´º½Ú»î¶¯ÆÚ¼äÄÚ
Say(szMsg[1], 2, szMsg[3], szMsg[4]);
else
Say(szMsg[1], 2, szMsg[2], szMsg[4]);
end;

end
function buy_addibox_yes(nNedCount)
if (nNedCount < 1 or nNedCount == nil) then
print("Fail!!!!");
return
end;

local nCount = GetItemCountEx(343);

if (nCount < nNedCount) then
Talk(1,"","Kh¸ch quan ch­a ®ñ tiÒn! Khi nµo cã ®ñ tiÒn h·y quay l¹i.")
return 1;
end

for i = 1, nNedCount do
DelItemEx(343);
end;

WriteGoldLog(date("%Y-%m-%d %H:%M:%S").." "..GetAccount()..", ["..GetName()..format("]: Tèn %d viªn Kim Nguyªn B¶o, nhËn ®­îc 1 r­¬ng më réng.",nNedCount),-2,0,0,0);
OpenStoreBox(1)

UseSilver(1, 2, nNedCount); -- ½ðÔª±¦¶Ò»»ÎªÍ­Ç®µÄÏûºÄͳ¼� �(Ö±½ÓÏûºÄµÄÔª±¦ÒøƱ£¬ÓëÍ­� �®¶Ò»»µÈͬ´¦Àí)
SaveNow(); -- Á¢¼´´æÅÌ

Talk(1,"","Tèt qu¸! §ñ tiÒn råi! Ta sÏ lËp tøc l¾p ®Æt r­¬ng! VÒ sau kh¸ch quan chØ cÇn ®Õn n¬i cã r­¬ng chøa ®å cña m×nh më <color=yellow>r­¬ng më réng<color> lµ cã thÓ dïng ®­îc. ")
Msg2Player("B¹n ®· mua chøc n¨ng më réng r­¬ng, kh«ng gian l­u tr÷ ®· t¨ng lªn! Më r­¬ng ra b¹n sÏ sö dông ®­îc chøc n¨ng nµy. ")
end

function box_help()
str=
{
"<#> Mçi nh©n vËt chØ mua ®­îc mét chøc n¨ng më réng r­¬ng th«i. Nã sÏ theo b¹n suèt, gåm cã 60 «, chøc n¨ng vµ nguyªn lý sö dông gièng nh­ r­¬ng ban ®Çu chØ kh«ng thÓ cÊt gi÷ tiÒn b¹c.",
"<#> Sau khi mua chøc n¨ng më réng r­¬ng, b¹n nhËn ®­îc mét mËt m· dïng ®Ó b¶o vÖ c¸c trang bÞ trªn ng­êi còng nh­ trong r­¬ng.",
"<#> Sau khi nhÊn vµo mËt m· sÏ khãa l¹i, cßn trong t×nh tr¹ng th¸i khãa, trang bÞ trªn ng­êi kh«ng ®­îc mÆc lªn còng nh­ cëi bá, nh­ng nã sÏ kh«ng ¶nh h­ëng ®Õn chøc n¨ng s½n cã (Nh­ ®iÓm sè PK qu¸ cao th× sÏ rít c¸c trang bÞ trªn ng­êi) .",
"<#> ViÖc thiÕt lËp mËt m·: nhÊn vµo giao diÖn r­¬ng chøa ®å n¬i <color=yellow>thiÕt lËp mËt m·<color>, sÏ hiÖn ra mét « nhá, trªn ®ã cã tõ 0-9 sè ®Ó nhËp vµo.",
"<#> LÇn ®Çu tiªn thiÕt lËp mËt m· ta nhÊn vµo hµng ®ã, cßn nÕu b¹n ®· thiÕt lËp qua khi nhÊn vµo sÏ lµ chØnh söa mËt m·.",
"<#> Khi chØnh söa mËt m· tr­íc tiªn ta nhËp mËt m· cò vµo sau ®ã nhÊn hai lÇn mËt m· míi, x¸c nhËn chØnh söa thµnh c«ng. §é dµi mËt m· Ýt nhÊt mét ký tù sè dµi nhÊt lµ 9 kÝ tù sè.",
};
Talk(6,"",str[1],str[2], str[3], str[4], str[5], str[6]);
end


function no()
end;

thanh159
17-04-10, 01:40 PM
mấy câu lệnh
local nCount = GetItemCountEx(343);
là sao vậy thaihoa

Big..Zero
17-04-10, 01:57 PM
mà mọi người ơi sao không có cái chỗ để nhập tọa độ thì làm sao mà làm nv đây

thaihoa91
17-04-10, 02:19 PM
mà mọi người ơi sao không có cái chỗ để nhập tọa độ thì làm sao mà làm nv đây

Bởi vậy có ai chịu viết nhiệm vụ đâu ;))

Big..Zero
17-04-10, 02:31 PM
Bởi vậy có ai chịu viết nhiệm vụ đâu ;))

Hix vậy làm NV thế nào hả

với lại oánh hum trước hum sau không thấy bos đâu nữa

thaihoa91
17-04-10, 07:33 PM
Hầu như mọi người dev game đều ít ai chịu khó viết nhiệm vụ cho JX ! Nên đâm ra toàn đi cày, PK, CS, đánh boss và ép đồ ko à !

Big..Zero
17-04-10, 08:19 PM
nhưng qua map khác không thấy boss nữa là sao hả bạn

giangleloi
18-04-10, 08:20 AM
Hầu như mọi người dev game đều ít ai chịu khó viết nhiệm vụ cho JX ! Nên đâm ra toàn đi cày, PK, CS, đánh boss và ép đồ ko à !
E viết xong rồi nè a lấy ko PM Nick Yahoo mới đó đi em send cho:D, vài bữa nữa share anh em vài cái rồi bye JX:D

thaihoa91
18-04-10, 08:49 AM
Anh cũng có viết mà từ từ :D Do bận học ! Hồi lúc Hexpor lập team là anh đã share cho team bộ Ba Lăng huyện Full như VNG rùi :D mà ko ai chịu làm típ ! Bùn chết dc !