PDA

View Full Version : Hướng Dẫn Viết 1 Event Như Event Ngũ Quả



ThanhVipLn
11-03-10, 11:58 AM
Các Hàm Cần Thiết Cho Việc Này, Thật Sự Cũng Không Khó Đâu Các Bạn
Function: Khai Báo hàm
If ...... Then ..... Else....: cái này thì ai củng bik
SayEx({"........."}): Đối Thoại Có Lựa Chọn
Msg2Player("........"): Dòng Màu Đỏ Bên Góc Trái Màn Hình, Báo Cáo Thành Công, Thất Bại
GetItemCount(ID): Kiểm Tra Nguyên Liệu. ID Là Cột C Trong Settings\Queskey.txt
DelItem(ID): Xóa Nguyên Liệu: ID Là Cột C Trong Settings\Queskey.txt
AddEventItem(ID): Thêm Nguyên Liệu: ID Là Cột C Trong Settings\Queskey.txt
AddOwnExp(Exp): Làm Bánh Để Đổi Exp Và Hàm Này Đi Kèm Với DelItem. Exp: Là Số Kinh Nghiệm Nhận Được
Pay(Money): Số Tiền Phải Trả

Chừng Này Hàm Là Các Bạn Có Thể Tự Làm 1 Cái Event Theo Ý Mình Rùi




function VaLenTine_Main() -- Hàm Khỏi Đầu Khi Nhấn Vào NPC
SayEx({"<color="..colorS()..">ThanhVipLN<color>: Nam Nay VaLenTine Trung Voi Ngay Tet Nguyen Dan Do. Vi The Tui Lam 2 EVENT 1 Luc De Chao Don Ngay Nay 14/2/2010. HAPPY VALENTINE DAY:",
"Banh SoCola [Thuong]./banh1",
"Banh SoCola [Dac Biet]./banh2",
"Dung banh SoCola [Thuong]./dungbanh1",
"Dung banh SoCola [Dac Biet]./dungbanh2",
"Huong Dan Lam Banh./HuongDanValentine",
"Thoat./Exit"});
end;

function banh1()
if ( GetItemCount(216) >= 1)
and ( GetItemCount(217) >= 1)
and ( GetItemCount(218) >= 1)
and ( GetItemCount(219) >= 1)
and ( GetItemCount(220) >= 1)
and ( GetItemCount(221) >= 1)
and ( GetItemCount(222) >= 1)
and ( GetItemCount(223) >= 1)
and ( GetCash() >= 50000000)
and ( GetTask(TaskTienDong) >= 10) then
SetTask(TaskTienDong,GetTask(TaskTienDong) - 10)
for i=216,223 do DelItem(i) end
Pay(50000000)
AddEventItem(225)
MsgEx("Quan khach nhan duoc banh SoCola [Thuong].")
else
Talk(1,"","Ban khong mang theo du nguyen lieu. Hay doc lai Huong Dan.");
end
end;

function banh2()
if ( GetItemCount(225) >= 3)
and ( GetCash() >= 100000000)
and ( GetTask(TaskTienDong) >= 10) then
SetTask(TaskTienDong,GetTask(TaskTienDong) - 10)
for i=1,3 do DelItem(225) end
Pay(100000000)
AddEventItem(226)
MsgEx("Quan khach nhan duoc banh SoCola [Dac Biet].")
else
Talk(1,"","Ban khong mang theo du nguyen lieu. Hay doc lai Huong Dan.");
end
end;


function dungbanh1()
if (HaveItem(225) == 1)then
DelItem(225)
for a=1,20 do AddOwnExp(25000000) end
Msg2Player("Nhan duoc 500 trieu kinh nghiem.")
else
Talk(1,"","Ban khong dem theo <color=Fire>banh SoCola [Thuong]<color>.");
end
end;

function dungbanh2()
if (HaveItem(226) == 1)then
DelItem(226)
for a=1,20 do AddOwnExp(100000000) end
Msg2Player("Nhan duoc 2 ty kinh nghiem.")
else
Talk(1,"","Ban khong dem theo <color=Fire>banh SoCola [Dac Biet]<color>.");
end
end;

function HuongDanValentine()
Talk(2,"","<color=red>Huong Dan Lam Banh:<color>Danh Quai Map 15x Den 20x Moi Rot Nguyen Lieu Lam Banh <enter> Kinh Nghiem Nhan Dc: Banh Thuong [500 trieu] Banh Dac Biet [2 Ty]",
"Banh SoCoLa Thuong = 5 Loai Banh SoCoLa + Tui Duong + Tao Do + Nhan SoCoLa + 10000 van + 10 Xu <enter> Banh SoCoLa Dac Biet = 3 Banh SoCoLa THuong + 10000 van + 10 Xu");
end;

function Exit()
end;



Các Bạn Tự Ngâm Cứu Nhé. Giải Thjx Không BIk Sao Nữa :((. Có Gí Không Hiểu Ở Khúc Nào Các Bạn Post Lên Đây Nhé


Thường Thì Event Tui Không Cho Rớt. Event Tui Sẻ Cho Nó Rớt Vào Trong Hành Trang
\\script\\Global\\monter\\exp_monter\\quai_10.lua
Ví dụ 1 cái nhé



function OnDeath()
i = random(1,10) ---- Đây Là Xác Xuất.
if i == 5 then -- Đây Là 1/10
AddEventItem(6) -- ID Tiền Đồng
Msg2Player("Ban nhan duoc 1 Tien Dong.")
elseif i == 10 then --- 1/10
AddEventItem(193) -- Id Hộp Quà
Msg2Player("Ban Nhan Duoc 1 Hop Qua Nam Moi")
end
end;

Và sẽ có 20% xác xuất đánh wai 1x rớt đồ. Tương tự tùy bạn chọn


elseif i == 10 then
AddEventItem(193)
Bạn Có Thể Chuyển Thành


ab = random(168,172) -- ID 5 Loại Quả Trong QuesKey
elseif i == 10 then
AddEventItem(ab)

Tùy Cách Mình Cho Nó Hoạt Động Thui

Còn Về Phần DropRate Thì Sẽ Có 2 File Quy Định
\\Script\\droprate.lua
va` \\Settings\\droprate\\npcdroprate.ini
Hình Như Có Bài Post Hướng Dẫn Kỹ Về Phần Này, Các Bạn Tự Kiếm Nhé

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

Nguồn: Clbgamesvn

sinhclb12
11-03-10, 12:08 PM
Mừng cho Box JX có thêm 1 thành viên tích cực :):x

gachbayvaomat
11-03-10, 12:13 PM
Bạn này sẽ kéo JX chúng ta lên 1 tầm cao mới:)) Tích cực ghê

thaihoa91
11-03-10, 01:22 PM
Ko lẽ bị ảnh hưởng của tui dữ vậy sao ;))

mankuki
11-03-10, 01:37 PM
ThanhVipLN ban cho mình nick chat đc không mình cần bạn giup mình vài thứ:)

rockbuon
11-03-10, 02:11 PM
Cái quan trọng như chỉnh tỉ lệ rớt vật phẩm ở đâu và thêm vật phẩm event thì bạn chưa cóa nói hihi

ThanhVipLn
11-03-10, 04:11 PM
Rùi Đó bạn :D. Tỉ Lệ Rơi EVENt

rockbuon
11-03-10, 05:14 PM
function OnDeath()
i = random(1,10) ---- Đây Là Xác Xuất.
if i == 5 then -- Đây Là 1/10
AddEventItem(6) -- ID Tiền Đồng
Msg2Player("Ban nhan duoc 1 Tien Dong.")
elseif i == 10 then --- 1/10
AddEventItem(193) -- Id Hộp Quà
Msg2Player("Ban Nhan Duoc 1 Hop Qua Nam Moi")
end
end;

tại sao tỉ lệ là 20%? ở trên nếu i= 5 và =10 vậy là 50% chứ nhỉ còn i = 2,3,4.. thì sao? :D.

Trong jx49 có sử dụng droprate riêng cấu chúc như sau:




function dropnpc()
cap = random(8,10)
i = floor(random(100,1199)/100)
nguhanh = random(0,4)

if i == 1 then --vu khi
a = random(0,5)
AITW(0,0,a,cap,nguhanh,0,random(5,8))
elseif i == 2 then --ao giap
a = random(0,28)
AITW(0,2,a,cap,nguhanh,0,random(5,8))
......................................

elseif i == 11 then --event
a = random(1,10)
if a == 1 then
AITW(4,0,0,0,0,0,0)
elseif a == 2 then
AITW(4,1,0,0,0,0,0)
elseif a == 3 then
AITW(4,2,0,0,0,0,0)
elseif a == 4 then
z = random(86,113)
..................
end
end
end;


cái i = floor(random(100,1199)/100) có nghĩa là sao? và hàm AITW(4,0,0,0,0,0,0) bạn đã sử dụng bao giờ chưa? mình ko muốn nó chạy tọt vào hòm đồ mà muốn nó rớt ra muốn nhặt thì nhặt :D.

- mới lại cậu có biết lấy ảnh vật phẩm event của vina rồi thêm vào questkey ko ? trong questkey hiện tại chỉ có rất ít vật phẩm mình muốn lấy thêm bên vina để làm cho mới....

ThanhVipLn
11-03-10, 05:29 PM
tại sao tỉ lệ là 20%? ở trên nếu i= 5 và =10 vậy là 50% chứ nhỉ còn i = 2,3,4.. thì sao? .

function OnDeath()
i = random(1,10) ---- Đây Là Xác Xuất.
if i == 5 then -- Đây Là 1/10
AddEventItem(6) -- ID Tiền Đồng
Msg2Player("Ban nhan duoc 1 Tien Dong.")
elseif i == 10 then --- 1/10
AddEventItem(193) -- Id Hộp Quà
Msg2Player("Ban Nhan Duoc 1 Hop Qua Nam Moi")
end
end;

hàm Này có nghĩa là:
Gắn 1 Biến I = 1 đến 10 hên xui, nó chạy theo số nguyên nên 1 số tương ứng là 10%
và ta thjx if i == ? thjx nhiêu cũng được.
5, 10 2 số hok phải là 20% là gì. thjx thêm nhiều thì nhiêu
Muốn tăng phần trăm cho khó lên thì : i = random(1,.....)
điền cái ... cho nhiều lên. hàm này ap dụng trong viết làm tỉ lệ ép trang bị, huyền tinh thành công đó




i = floor(random(100,1199)/100)
Cái này có nghĩa. Gắn i = (100 -> 1199)/100
lúc này nó sẽ ra số lẽ. hàm floor để lấy số nguyên để ta if. theo tui là như thế :D

kinkina2009
11-03-10, 05:37 PM
tích cực quá đi (%) tích cực quá
@thaihoa91 chắc vậy

ThanhVipLn
11-03-10, 05:53 PM
tích cực quá đi tích cực quá
@thaihoa91 chắc vậy
Hu hu lại spam nữa. Đề nghị del nick Kinkina :))

Empire
11-03-10, 06:28 PM
Ko lẽ bị ảnh hưởng của tui dữ vậy sao ;))

Anh ơi, đừng nổ nữa đi,
banh forum giờ đó
dạo dừ anh có làm được cái chi ra hồn mô mồ, đào tạo thế hệ mới à >:/

thaihoa91
11-03-10, 06:41 PM
Anh ơi, đừng nổ nữa đi,
banh forum giờ đó
dạo dừ anh có làm được cái chi ra hồn mô mồ, đào tạo thế hệ mới à >:/

Chài ! Anh có nhận ai làm đệ tử đâu mà đào tạo thế hệ mới !

Empire
11-03-10, 06:44 PM
Chài ! Anh có nhận ai làm đệ tử đâu mà đào tạo thế hệ mới !

=))
Trình của anh mà cũng có đệ tử à,
Anh mua sư phụ không, 500 đ 1 rổ, anh TH bán cho nè

thaihoa91
11-03-10, 06:45 PM
=))
Trình của anh mà cũng có đệ tử à,
Anh mua sư phụ không, 500 đ 1 rổ, anh TH bán cho nè

^^! Thôi ! Anh ko nhận đệ tử đâu :D

rockbuon
12-03-10, 09:33 AM
Ý mình là cách Unpack bên vinagame để lấy vật phẩm mới cho vào questkey í :D chứ

ThanhVipLn
12-03-10, 09:50 AM
Để Unpack file thì bạn phải có đường dẫn cửa spr đó. sau đó dùng tool để unpack
Còn queskey.txt thì sài tam của của tui nhé. hok đủ nhưng chẳng thiếu đâu.
Nguồn: Tuyệt Tình Kiếm

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

rockbuon
12-03-10, 10:40 AM
Để Unpack file thì bạn phải có đường dẫn cửa spr đó. sau đó dùng tool để unpack
Còn queskey.txt thì sài tam của của tui nhé. hok đủ nhưng chẳng thiếu đâu.
Nguồn: Tuyệt Tình Kiếm

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

Làm sao để lấy được đường dẫn của spr? cái đó tôi đang quan tâm còn cái queskey.txt thì tôi cũng có. Thấy soài, sung... đã lấy đc thì những hình ảnh item khác cũng có cách lấy. ai biết đừng dấu nghề nữa chỉ giáo đi nào :D

thaihoa91
12-03-10, 12:01 PM
Làm sao để lấy được đường dẫn của spr? cái đó tôi đang quan tâm còn cái queskey.txt thì tôi cũng có. Thấy soài, sung... đã lấy đc thì những hình ảnh item khác cũng có cách lấy. ai biết đừng dấu nghề nữa chỉ giáo đi nào :D

1 khi đã xài update01 02 03 04.pak thì nó có trong đó rùi ! Miễn package.ini có khai báo nó là dc, vô game thì cho nó rớt ra bảo đảm có hình ảnh mà ! Cần gì lại đi unpack ra cho nặng máy !

ThanhVipLn
12-03-10, 12:05 PM
1 khi đã xài update01 02 03 04.pak thì nó có trong đó rùi ! Miễn package.ini có khai báo nó là dc, vô game thì cho nó rớt ra bảo đảm có hình ảnh mà ! Cần gì lại đi unpack ra cho nặng máy !

hòa hiểu nhầm ý của bạn ấy rùi. thật ra bạn ấy muốn làm sao để có được cái đường dẫn các spr trong queskey đó

thaihoa91
12-03-10, 12:06 PM
hòa hiểu nhầm ý của bạn ấy rùi. thật ra bạn ấy muốn làm sao để có được cái đường dẫn các spr trong queskey đó

Thì unpack questkey.txt của VNG là ra thôi ! Dễ hỉu mà !

rockbuon
12-03-10, 12:42 PM
Thì unpack questkey.txt của VNG là ra thôi ! Dễ hỉu mà !

Đường dẫn unpack questkey.txt của VNG là thế nào hòa ơi?

thaihoa91
12-03-10, 08:09 PM
Đường dẫn unpack questkey.txt của VNG là thế nào hòa ơi?

Như trong Server thôi \Settings\item\questkey.txt hoặc \Settings\item\004\questkey.txt

rockbuon
12-03-10, 08:28 PM
Như trong Server thôi \Settings\item\questkey.txt hoặc \Settings\item\004\questkey.txt

thử rồi mà trong các file .pak của vinagame không có được.

thaihoa91
12-03-10, 09:08 PM
thử rồi mà trong các file .pak của vinagame không có được.

unpack các file update01.pak, update02.pak, update03.pak và update04.pak có mà !

khoamamktvn
14-03-10, 12:29 PM
AITW
Hàm nì Bin phát hiện và chỉ lại cho DNT
Nó là ham rớt thẳng xuống đất đó bạn:)

ThanhVipLn
14-03-10, 12:41 PM
AITW
Hàm nì Bin phát hiện và chỉ lại cho DNT
Nó là ham rớt thẳng xuống đất đó bạn:)

thank pro ne`; nhung chẳng bik làm sao đề sài

kathangka
02-09-10, 04:13 PM
toàn các pro trao đổi kinh nghiệm với nhau.chứ như newbie như tui thì chẳng biết cái gì cả.