PDA

View Full Version : [JX] Hướng Dẫn Reload Script Khi Server Đang Chạy [Ko Cần Tắt GS]



ohishu
27-07-11, 12:13 PM
Bài Này Thì Bác Mạnh Tuyên Đã Post 1 Lần Rồi Nhưng Tui Thấy Hơi Gườm Rà Nên Hướng Dẫn Đơn Giản Hơn ! Trong LUA Co 1 Hàm Dùng Để Reload Đó Là dofile(" Include ")

Ví Dụ Tui Muốn Mỗi Khi Click Vào Tạp Hoá Thì Nó Phải Chạy Script Mới Nhất Từ Server (Trong Khi Có Bug Thì Ta Fix Ở Server Va Khi Click Vào Nó Sẽ Chạy Lại Script Ta Vừa Fix) Thì Làm Như Sau:

function main(nsel) --- Hàm Main Của 1 Script !
dofile("script/taphoa.lua") -- File taphoa.lua Nằm Ngoài Foder script !
................. --- Các Phần Đối Thoại Còn Lại Của Bạn

end

Thế Là Xong !

f-fantasy
27-07-11, 02:26 PM
Giờ tôi dev cái server hít nó có code cho item questkey, tôi tạo cái lệnh bài GM để tiện dev khỏi phải mỗi lần chạy về 1 npc nào đó, nhưng giờ tôi muốn server sẽ load lại file script của 1 npc ví dụ như NPC tiền trang chẳng hạn mà tôi muốn ra lệnh load lại bằng cái lệnh bài gm thì làm sao?

Vi tôi thử dofile gắn vào gm lệnh bài thì sau khi chạy cái lệnh bài biến thành tiền trang :@

Hay giờ tất cả các script cái nào cũng gắn hàm dofile vào dòng hội thoại thoát của chính cái file đó nhỉ, thế thì mỗi lần nhấn thoát nó sẽ load lại script mới nhất của cái file đó có được không nhỉ

SaoThaiBinh72
27-07-11, 02:34 PM
Giờ tôi dev cái server hít nó có code cho item questkey, tôi tạo cái lệnh bài GM để tiện dev khỏi phải mỗi lần chạy về 1 npc nào đó, nhưng giờ tôi muốn server sẽ load lại file script của 1 npc ví dụ như NPC tiền trang chẳng hạn mà tôi muốn ra lệnh load lại bằng cái lệnh bài gm thì làm sao?

Vi tôi thử dofile gắn vào gm lệnh bài thì sau khi chạy cái lệnh bài biến thành tiền trang :@

Hay giờ tất cả các script cái nào cũng gắn hàm dofile vào dòng hội thoại thoát của chính cái file đó nhỉ, thế thì mỗi lần nhấn thoát nó sẽ load lại script mới nhất của cái file đó có được không nhỉ

Vì cái lệnh bài GM của em không có scripts khác như đối thoại để nhận hoặc là đại loại như chọn dòng mà em add trực tiếp code load vô dẫn đến click vào là nó load trực tiếp cái tiền trang, em thử cho lựa chọn xem , ví dụ khi kick vào thì 1 là test scripts còn dòng 2 là thoát, như vậy sẽ không bị load trức tiếp.
Còn nữa, khi test không được thay link ở hàm dofile mà chỉ thay nội dung scripts ở file cần test thôi.

Nôm na là nên tạo 1 file riêng để chuyên coppy scirpts vào test.

ohishu
27-07-11, 05:19 PM
Giờ tôi dev cái server hít nó có code cho item questkey, tôi tạo cái lệnh bài GM để tiện dev khỏi phải mỗi lần chạy về 1 npc nào đó, nhưng giờ tôi muốn server sẽ load lại file script của 1 npc ví dụ như NPC tiền trang chẳng hạn mà tôi muốn ra lệnh load lại bằng cái lệnh bài gm thì làm sao?

Vi tôi thử dofile gắn vào gm lệnh bài thì sau khi chạy cái lệnh bài biến thành tiền trang :@

Hay giờ tất cả các script cái nào cũng gắn hàm dofile vào dòng hội thoại thoát của chính cái file đó nhỉ, thế thì mỗi lần nhấn thoát nó sẽ load lại script mới nhất của cái file đó có được không nhỉ

Thế Này Bạn Nhé Hàm dofile Có 2 Cách Dùng !

+ Cách 1 Nó Đi Chung Với Script Chính Gốc Cần Reload

+ Cách 2 Nó Đi Gián Tiếp

Ví Dụ Cách 1 Là Như Trên dofile Đi Chung Với File Muốn Reload Thường

Cách 2 Là Gián Tiếp: 1 Script Trắng Bốc Mở Lên Chỉ Có Duy Nhất 1 Hàm dofile Nó Cũng Reload Thường

f-fantasy
27-07-11, 06:18 PM
Vậy mình nghĩ cứ gán vào dòng hội thoại "Thoát" là ổn nhỉ vào game nói chuyện với NPC và nhấn thoát là nó load lại chính script của NPC đó tiện cho việc test code.........

Tiện thể : Ohishu rành về NPCs.txt mình có thể xin Yahoo để hỏi, mình dang nghịch server hút hít vấn đề mình gặp là add npc boss vào nhưng nó ko đánh mình, nó cứ chạy áp sát lại mình thôi chứ ko đánh, mình đã set 8 cái cột skill và skilllevel của NPC đó rồi nhưng ko hoạt động .

KingMax
29-07-11, 08:45 AM
script/taphoa.lua mà taphoa.lua nằm ngoài thư mục script là sao bác :-ss

SaoThaiBinh72
29-07-11, 08:53 AM
script/taphoa.lua mà taphoa.lua nằm ngoài thư mục script là sao bác :-ss

dofile("script/taphoa.lua") -- File taphoa.lua Nằm Ngoài Foder script !

Thì ý bác ấy là nó nằm ở ngoài forder scripts chứ không phải nằm trong cùng foder để scripts dofile, ai đọc không kĩ sẽ hiểu thành file này không ở trong scripts mà phải ở ngoài.

Giống như : bạn hãy ném cái chổi này ra ngoài sân xem?
Có 2 cách hiểu :
1: ném hẳn ra ngoài sân , tức là cái chổi không ở trong cái sân.
2: Đừng ở đâu đó ( ví dụ trong nhà ) và ném cái chổi ra ngoài sân ( trường hợp này cái chổi ở trong sân ).

-----
ĐỌc xong mình cũng ngu người luôn _ _!

davidtuan25
30-07-11, 06:36 AM
Em thấy dùng reload ổn hơn nhìu >.,<

f-fantasy
30-07-11, 07:26 AM
Em thấy dùng reload ổn hơn nhìu >.,<
Bạn cho mình 1 cái file lua có hàm reload bạn chạy thành công được không, mình xài với gameserver hít nó ko load được chả biết tại mình sai hay gameserver nó ko load

blue1325
13-01-13, 01:56 PM
Bác có thể ví dụ khi mở click vào lệnh bài hỗ trợ tân thủ thì nó load 132.lua mới nhất được không.
Mình vẫn chưa hình dung ra

authanhi
14-01-13, 03:48 PM
tốt nhất là tắt đi mở lại. nhiu khi viết sai script khó phát hiện