PDA

View Full Version : [Share Script nhỏ] Vài chức năng cho các bạn !



kidcrazy187
08-03-11, 02:55 PM
Cái này mình tự làm, lấy code từ server TSBĐ v2.0 và 3.0 edit và chế ra thêm thôi. Làm có 2 ngày (mà có vài tiếng) nên test không hết, share cho các bạn xài test và ý kiến, hoặc cùng nhau dev tốt hơn :)
Mình có để file Hướng dẫn trong đó (file huongdan.lua) rồi. Có gì các bạn xem thêm nha.

Sơ sơ chức năng script là :


Bán ngựa theo kiểu Sale() (Hiện ra shop cho từng loại ngựa, giá cả chỉnh ở các file *.txt), mình thì thích dùng dạng nì hơn là AddItem, mặc dù cực hơn ;))
Kỳ Trân Các (Bán các món đồ dành cho tên nhân vật không phải admin, cày tiền Vạn đổi xu là mua được. Giá có thể tự chỉnh lại cho chuẩn theo ý các bạn).
Nạp Card : (dành cho chơi LAN, ONL gì đó , code gồm 12 chữ số, được random tạo ra, nạp xong được 1000 xu (có thể thay đổi lại tùy thích) ). Mình làm cái này chủ yếu test kỹ năng lập trình mình thôi, chứ k fải mở onl để donate đâu nha). Giống như để dành mở chơi LAN, đứa nào đấm lưng vài cái cho cái CODE vô nạp xu chẳng hạn ;)) )



P/S: Nói rồi, làm có 2 ngày (vài tiếng trong ngày à) nên chắc chắn là không tốt, pro nào cay đắng thì miễn bàn :P, newbie có ý kiến thì comment, thanks để mình cố gắng hoàn thiện hơn. Để "Develop" chứ không có để "Download" hay "Release" đâu nhé ;)) Thanks các bạn ủng hộ :)
------------------------------------------------------------

.
Link :<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>
Thấy hay thì nhấn nút Thanks nhá ;))
------------------------------------------------------------

Mình gom gọn lại những thứ chỉnh sửa cho dễ xem nhé :)
Lưu ý : Dùng cho server TSBĐ v3.0 của ohishu. Ai dùng cái khác tự config lại cho đúng !

NEW : Edit lại file taocodemoi.lua nha :

Ban đầu :

function main()
a,b,c,d,e,f,g,h,i,j,k,l = random(0,9) --Xóa dòng này đi
gio = tonumber(date("%H"))
phut = tonumber(date("%M"))
giay = tonumber(date("%S"))
if (gio == 0) and (phut == 0) and (giay == 0) then
for i=1,siso do
DANH_SACH_CODE[getn(DANH_SACH_CODE)+1] = {a,b,c,d,e,f,g,h,i,j,k,l}
danhsachcode = TaoBang(DANH_SACH_CODE,"DANH_SACH_CODE","")
SaveData("script/giavinh/napcard/datacode.lua",danhsachcode)
end
end
nhapcode()
endSửa lại là :

function main()
gio = tonumber(date("%H"))
phut = tonumber(date("%M"))
giay = tonumber(date("%S"))
if (gio == 0) and (phut == 0) and (giay == 0) then
for i=1,siso do
a,b,c,d,e,f,g,h,i,j,k,l = random(0,9),random(0,9),random(0,9),random(0,9),ra ndom(0,9),random(0,9),random(0,9),random(0,9),rand om(0,9),random(0,9),random(0,9),random(0,9) --Thêm vào tại đây
DANH_SACH_CODE[getn(DANH_SACH_CODE)+1] = {a,b,c,d,e,f,g,h,i,j,k,l}
danhsachcode = TaoBang(DANH_SACH_CODE,"DANH_SACH_CODE","")
SaveData("script/giavinh/napcard/datacode.lua",danhsachcode)
end
end
nhapcode()
end
Mình chưa test file này vì làm biếng chỉnh giờ với ngồi chờ 12h, các bạn siêng chỉnh lại nha :D, (chủ yếu là file nhapcode.lua thôi), nhưng đọc lại thấy kì kì, vì như cũ nó sẽ tạo ra 20 CODE giống nhau do a,b,c,...,l chưa thay đổi trong hàm for.

NEW : Thêm vào cuối file questkey.txt trong Settings ( nhớ đồng bộ sang Client ) dòng sau để được KNB :


Kim Nguyen Bao 4 234 \spr\item\questkey\obj_item_cardg.spr 340 1 1 Kim Nguyen Bao 1 Hình ảnh KNB trong file *.pak nào mình k nhớ nữa, cứ khai báo hết mấy file *.pak đi, rồi cũng có à, thiếu file *.pak thì chép từ patch v2.0 qua nha :)

Chân thành xin lỗi các bạn :) Để cáo lỗi, mình share sẵn luôn cái hàm và tọa độ add npc cho newbie luôn hen :D

- Các bạn chèn thêm hàm này vào file Get_NPC.lua ở \script\Global\Get_NPC.lua nhé :)

Hàm thêm NPC bán ngựa : (Lấy hình ảnh NPC Ban Ngua, muốn sửa lại tên NPC vô file NPCS.txt trong settings dòng 199 mở = Excel)

AddNPCEx(197,1,53,196,196,8,8,"\\script\\giavinh\\banngua.lua",6)Hàm thêm NPC KTC : (Lấy hình ảnh NPC Nguoi Ban Den Long, muốn sửa lại tên NPC vô file NPCS.txt trong settings dòng 744 mở = Excel)

AddNPCEx(742,1,53,204,198,2.5,2.5,"\\script\\giavinh\\kytrancac\\kytrancac.lua",6)Hàm thêm NPC Nap Card : (Lấy hình ảnh NPC Xem Nao, muốn sửa lại tên NPC vô file NPCS.txt trong settings dòng 517 mở = Excel)

AddNPCEx(515,1,53,203,202,9.5,7,"\\script\\giavinh\\napcard\\taocodemoi.lua",6)Các số :
Màu xanh lá : ID NPC.
Màu xanh dương : Tọa độ NPC.
Màu đỏ : độ lệch của NPC.


NEW : File chuyensinh.lua trong \script\Global\chuyensinh.lua cò dòng :
"Ho Tro Nang Diem Tiem Nang/supporttiemnang" <-- Chỗ này chưa có hàm supporttiemnang . Mình chưa biết ý tác giả muốn làm gì hàm này, nên mình thêm đại hỗ trợ nâng nhanh tiềm năng. Ai muốn xài đỡ thêm hàm này vào cuối file nhé :"



function supporttiemnang()
SayEx({"<color=cyan>Bac Dau Than Tang<color>: Xin chao ! Ta se giup nguoi cong nhanh diem tiem nang.\nNguoi hien co <color=red>"..GetProp().."<color> diem tiem nang !\nNguoi co chac chan chua ?",
"Ta chac chan./chacchanroi",
"Ta chua chuan bi./Exit"})
end
function chacchanroi()
SayEx({"<color=cyan>Bac Dau Than Tang<color>: Co 4 loai, moi loai 50 diem, nguoi hay chon di !",
"Suc Manh 50 diem./tangtn",
"Than Phap 50 diem./tangtn",
"Sinh Luc 50 diem./tangtn",
"Noi Luc 50 diem./tangtn",
"Thoat./Exit"})
end
function tangtn(sel)
diemtnht = GetProp() -- Diem tiem nang hien tai
sm = GetStrg()
tp = GetDex()
sl = GetVit()
nl = GetEng()

id = sel + 1
if diemtnht >= 50 then
if id == 1 then
AddProp(-50)
ResetBaseAttrib(0,sm+50)
Msg2Player("Ban nhan duoc 50 diem suc manh !")
elseif id == 2 then
AddProp(-50)
ResetBaseAttrib(1,tp+50)
Msg2Player("Ban nhan duoc 50 diem than phap !")
elseif id == 3 then
AddProp(-50)
ResetBaseAttrib(2,sl+50)
Msg2Player("Ban nhan duoc 50 diem sinh luc !")
else
AddProp(-50)
ResetBaseAttrib(3,nl+50)
Msg2Player("Ban nhan duoc 50 diem noi luc !")
end
else Msg2Player("Ban khong du 50 diem tiem nang !")
end
end


File caymai.lua trong \script\Global\caymai.lua có 1 lỗi là khi file timerserver.lua đc kích hoạt, cây mai xuất hiện là các bạn có thể nhấp vào nhận thưởng không ngừng. Các bạn có thể xóa hoặc thêm chú thích giống mình trong phần sau trong file timerserver.lua :




-- if (gio >= 21) or ((gio >= 0) and (gio < 7)) then
-- if phut == 10 or phut == 20 or phut == 30 or phut == 40 or phut == 50 or phut == 0 then
--Msg2SubWorld("Cay Mai Truong Tho Da Xuat Hien Tai 201/198 Tai Maps BLH Mau Ve Tham Gia Event !")
-- end
-- if (GetGlbMissionV(88)) == 0 then
-- caymai=AddNpc(921,99,SubWorldID2Idx(53),201*8*32,1 98*16*32)
-- SetNpcScript(caymai,"\\script\\global\\caymai.lua")
-- SetGlbMissionV(32,1)
-- end
-- else
-- DelNpc(caymai)
-- SetGlbMissionV(32,0)
-- end
Hoặc có thể tham khảo thêm phần hàm chặn thời gian bên đây : <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>


Mình cũng chỉ là newbie mà thôi :)

P/S : Các phần mình sai các bạn tự coi comment ở dưới chỉnh lại và thông cảm cho mình nhé, tạo acc lâu chứ mới tìm hiểu hơn tháng à :D . Các điều trên mình vẫn giữ nguyên bản quyền tác giả ohishu nhé, chỉ là thêm, bớt, chế thui, và chỉ thích hợp cho newbie giống mình, pro k chém :D

--THE END--

Chém gió vài pic chơi ;))



[/URL]<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> (<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>)
<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> (<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>)
<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> (<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>)
<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> (<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>)
<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> (<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>)
<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> (<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>)
<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> (<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>)
<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> (<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>)
<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> (<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>)
[URL="<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>"]<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> (<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>)

anhtuan0650
09-03-11, 11:40 AM
xem giúp 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>

kidcrazy187
09-03-11, 01:27 PM
Cái này không sao hết bạn. Tại mình dùng "[[" để chú thích nên bị lỗi thôi. Bạn chép file InfoKTC đó ra chỗ khác (ra khỏi cái thư mục script là đc). File đó chỉ là thông tin thôi bạn :)
Thanks bạn đã test :D

anhtuan0650
09-03-11, 07:32 PM
ố ối hiểu ròi mình tưởng khi đang nhập cần pass roi mới vào gỏ ma code

kidcrazy187
09-03-11, 07:44 PM
Nạp Card : (dành cho chơi LAN, ONL gì đó , code gồm 12 chữ số, được random tạo ra, nạp xong được 1000 xu (có thể thay đổi lại tùy thích) ). Mình làm cái này chủ yếu test kỹ năng lập trình mình thôi, chứ k fải mở onl để donate đâu nha). Giống như để dành mở chơi LAN, đứa nào đấm lưng vài cái cho cái CODE vô nạp xu chẳng hạn ;)) )
1?npc nap card có cái pass dang nhap
2: doi tiền van thành knb nhưng ko thấy knb


Bạn k hiểu nhiều về Script à ? . Mình có để sẵn file huongdan.lua rồi mà.
Cấu trúc nạp card như sau :
- Mỗi ngày tạo ra siso = 20 mã CODE lưu vào file datacode.lua (Pass nhập NPC chính là CODE nạp card trong file này nè, đọc từ trên xuống gồm 12 chữ số) . Nạp xong cái CODE đó nó sẽ lưu vào datacodeold.lua và sẽ không dùng được nữa.
- Vấn đề mua KNB = tiền vạn mình quên share file questkey.txt :P, sorry nó nè :
Thêm vào mấy dòng cuối của file nhé :

Kim Nguyen Bao 4 234 \spr\item\questkey\obj_item_cardg.spr 340 1 1 Kim Nguyen Bao 1

Čħīċķėň
09-03-11, 07:55 PM
for i=1,siso do
a,b,c,d,e,f,g,h,i,j,k,l = random(0,9) --Thêm vào tại đây
DANH_SACH_CODE[getn(DANH_SACH_CODE)+1] = {a,b,c,d,e,f,g,h,i,j,k,l}
danhsachcode = TaoBang(DANH_SACH_CODE,"DANH_SACH_CODE","")
SaveData("script/giavinh/napcard/datacode.lua",danhsachcode)
end

Phần chữ xanh code sai với ý tưởng của bạn rùi nó chỉ gán giá trị random cho biến a thui còn mấy biến kia vẫn = nil


còn để danhsachcode = TaoBang(DANH_SACH_CODE,"DANH_SACH_CODE","")
SaveData("script/giavinh/napcard/datacode.lua",danhsachcode)

trong vòng lặp for thì cực kì nguy hiểm, mỗi lần chạy for là phải save mảng lại lại 1 lần ko cần thiết, điều này ta nên hạn chế

kidcrazy187
09-03-11, 08:03 PM
Phần chữ xanh code sai với ý tưởng của bạn rùi nó chỉ gán giá trị random cho biến a thui còn mấy biến kia vẫn = nil


còn để danhsachcode = TaoBang(DANH_SACH_CODE,"DANH_SACH_CODE","")
SaveData("script/giavinh/napcard/datacode.lua",danhsachcode)

trong vòng lặp for thì cực kì nguy hiểm, mỗi lần chạy for là phải save mảng lại lại 1 lần ko cần thiết, điều này ta nên hạn chế

- Dòng màu xanh : Tại mình đọc ngôn ngữ LUA trên mạng, nên cứ nghĩ nó sẽ gán như vậy :D, vậy thì giải quyết tạm thời để từng dòng hoặc for để gán cho các biến.
- Vấn đề 2 để mình tìm cách lại. Hiện tại mình đang bận, nên chưa sửa đc, tạm thời thế nhé :D
THANKS :)
P/S: Ai sửa rùi post lên cũng đc ;))
@mod : cái thẻ Lúc nhấn thì hiện ra, lúc k hiện ra, bực ghê :| Có khi edit bài lại lưu k thay đổi =,=

sangpronhat
11-03-11, 09:36 PM
a,b,c,d,e,f,g,h,i,j,k,l = random(0,9),random(0,9),random(0,9),random(0,9),ra ndom(0,9),random(0,9),random(0,9),random(0,9),rand om(0,9),random(0,9),random(0,9),random(0,9)
_ _! Với 12 biến như thế này thì cách đơn giản nhất lè dùng mảng nhá _ _! Chớ mốt làm 1 cái gì to hơn tý mà đặt ra 1 đống biến như thế này thì bó tay


for i=1,12 do
CODE[i]=random(0,9)
end

Đó vậy đó !! Sau đó tới đây

DANH_SACH_CODE[getn(DANH_SACH_CODE)+1] = {a,b,c,d,e,f,g,h,i,j,k,l}

Thì thành
DANH_SACH_CODE[getn(DANH_SACH_CODE)+1] = CODE

:) Gôd luck !!

kidcrazy187
11-03-11, 11:34 PM
Cám ơn, tại đang bận wá, nên để đại đó mà, edit cho nhanh, làm biếng sửa =,=

benop001
13-03-11, 03:08 PM
cho mình hõi mún làm 1 hàm kiễm tra xu thì phãi làm như thế nào dzi ? ? ?? ? ??

kidcrazy187
13-03-11, 03:12 PM
cho mình hõi mún làm 1 hàm kiễm tra xu thì phãi làm như thế nào dzi ? ? ?? ? ??
Bạn xem trong file tasklist.lua của bạn, xem task của xu là số mấy rồi dùng hàm :

GetTask(ID)Nếu là server TSBĐ v3.0 thì GetTask(18)

P/S : Thực ra cái đc đặt trong tasklist là do ta tự đặt thôi. GetTask(ID tùy ý).. Nó giống như một biến kiểm tra vậy. Nếu GetTaskTemp(ID) thì thoát ra là mất. Đọc ebook để biết nhiều thêm ^^!

benop001
13-03-11, 03:20 PM
function kiemtra()
GetTask(18)
Msg2Player("Ban dang co .....xu !")
phải làm thế nào nó mới hiện số xu ra trong cái script này nhĩ ???

kidcrazy187
13-03-11, 03:25 PM
function kiemtra()
GetTask(18)
Msg2Player("Ban dang co .....xu !")
phải làm thế nào nó mới hiện số xu ra trong cái script này nhĩ ???
Bạn đọc kỹ phần ngôn ngữ *.lua trong ebook 2.0 nhé !
Cách nối chuỗi trong *.lua là dùng dấu 2 chấm ".." . Bạn lười đọc thì vọc mấy cái script có sẵn kìa, chứ có biết bao nhiêu cái để hỏi. ^^
Muốn xem xu thì dùng :

Msg2Player("Ban dang co "..GetTask(18).." xu")

benop001
13-03-11, 09:12 PM
DANH_SACH_CODE={
[1]={

[1] = 1,

[2] = 2,

[3] = 3,

[4] = 4,

[5] = 5,

[6] = 6,

[7] = 7,

[8] = 8,

[9] = 9,

[10] = 0,

[11] = 1,

[12] = 5
}
}

có 1 cái code này à sao kì thế :( .

kidcrazy187
13-03-11, 11:04 PM
có 1 cái code này à sao kì thế :( .
Cái đó là mình tự thêm vô để test. Muốn thì bạn tự thêm vô, gồm 12 mã số đó. Bạn tự vọc code của mình đi bạn. Tự tìm hiểu là 9. Mình share sẵn rồi, và có mấy người kia sửa lỗi dùm rồi đó, giải thích rõ rồi :)
Cái file taocodemoi.lua là để tự tạo code đó, mình ghi đầy đủ mà bạn k chịu đọc.

chuongga2vn
14-03-11, 11:08 AM
oh..hay đó...2 năm giờ mới trở lại với jx :-X....nhìn mấy cái Script hoa cả mắt ;))....

benop001
14-03-11, 11:27 AM
Cái đó là mình tự thêm vô để test. Muốn thì bạn tự thêm vô, gồm 12 mã số đó. Bạn tự vọc code của mình đi bạn. Tự tìm hiểu là 9. Mình share sẵn rồi, và có mấy người kia sửa lỗi dùm rồi đó, giải thích rõ rồi :)
Cái file taocodemoi.lua là để tự tạo code đó, mình ghi đầy đủ mà bạn k chịu đọc.

ko phải h0k đọc
mà ko h0k hũi
đọc hoa cả mắt mà k bjk làm sao để cho nóa tự tạo code :((

kidcrazy187
14-03-11, 11:32 AM
ko phải h0k đọc
mà ko h0k hũi
đọc hoa cả mắt mà k bjk làm sao để cho nóa tự tạo code :((
Cái file "taocodemoi.lua" là nó tự động tạo code sau 0h0m0s
Còn muốn tự thêm code, thì mở file "datacode.lua" đó thêm vào 1 cái mảng giống tui nữa, thay 12 số bên fải thành 12 số bạn chọn tùy ý.
Ví dụ :

DANH_SACH_CODE={
[1]={

[1] = 1,

[2] = 2,

[3] = 3
.........
Bạn thay (thay thì khỏi đổi số màu hồng) hoặc thêm vào thành :


DANH_SACH_CODE={
[2]={

[1] = 5,

[2] = 6,

[3] = 7,
........
Các số màu xanh, màu đỏ chính là code nhập đó. :T

mr_panda1308
29-11-11, 06:08 PM
giờ mình muốn bán đồ ô kim bằng cách dùng hàm AddItem đc không nhỉ? đc thì chỉ mình với, mình làm ko đc :((

daothuhang
15-12-11, 10:52 PM
Thanks for sharing. Script này rất là hữu ích cho mình tuy nhiên mình gặp 1 số vấn đề sau:
1/ Một số vật phẩm mua trong KTC ko dùng được như bí kíp thất truyền
2/ Đổi xu ra tiền bị sai lệch về giá trị. Ví dụ đổi ra 9500 vạn thì ở hệ thống chỉ báo hiện 9500 lượng
Mong bạn chỉ dẫn ^_^

davidtuan25
23-12-11, 06:42 PM
Thanks for sharing. Script này rất là hữu ích cho mình tuy nhiên mình gặp 1 số vấn đề sau:
1/ Một số vật phẩm mua trong KTC ko dùng được như bí kíp thất truyền
2/ Đổi xu ra tiền bị sai lệch về giá trị. Ví dụ đổi ra 9500 vạn thì ở hệ thống chỉ báo hiện 9500 lượng
Mong bạn chỉ dẫn ^_^

Sữa lại ;)) Không biết sữa thì học script đi

SIR.ThaiBinh
16-09-12, 09:53 AM
cứ khởi động lại server hoặc là lưu database thì nó ..... nhập đc code thế làm sao:-*:-*