PDA

View Full Version : [JX] Hướng dẫn file script chạy đầu tiên khi build source....



binhhdt
19-12-17, 06:19 PM
Như tiêu đề thì mình có build cái source minh phụng kiểm tra thì thấy nó chạy file script đầu tiên là gmscript và severscript nhưng khi mình khai báo hàm đầu tiên chạy sv add npc thử thì nó lại không thực hiện vào vẫn như cũ , nhưng khi mình lấy map gốc qua thì khi chạy sv nó tự add npc ở trong file dat mình mới thêm script vào 1 con npc thử để add 1 con npc khác thì đc, vấn đề ở đây là ko lẽ khi vào server mình phải nhấp vào npc đó để cho nó add npc à , không biết là có cao thủ nào có thể góp ý giúp mình với là có thể làm cho nó khi chạy sever thì nó sẽ tự chạy add npc luôn như mấy sv khác, mình đã tìm hết bài viết cllb rồi bí quá nên mới viết bài lên hỏi , có mấy bài viết nói là có file tảng đá gì đó mình tìm thì thấy không có chức năng gì hết mong có cao nhân hướng dẫn giúp mình cám ơn các bạn trước..

assaa
19-12-17, 07:12 PM
Như tiêu đề thì mình có build cái source minh phụng kiểm tra thì thấy nó chạy file script đầu tiên là gmscript và severscript nhưng khi mình khai báo hàm đầu tiên chạy sv add npc thử thì nó lại không thực hiện vào vẫn như cũ , nhưng khi mình lấy map gốc qua thì khi chạy sv nó tự add npc ở trong file dat mình mới thêm script vào 1 con npc thử để add 1 con npc khác thì đc, vấn đề ở đây là ko lẽ khi vào server mình phải nhấp vào npc đó để cho nó add npc à , không biết là có cao thủ nào có thể góp ý giúp mình với là có thể làm cho nó khi chạy sever thì nó sẽ tự chạy add npc luôn như mấy sv khác, mình đã tìm hết bài viết cllb rồi bí quá nên mới viết bài lên hỏi , có mấy bài viết nói là có file tảng đá gì đó mình tìm thì thấy không có chức năng gì hết mong có cao nhân hướng dẫn giúp mình cám ơn các bạn trước..

Bạn vào CoreServerShell.cpp
Có hàm OnLunch()
Bạn có thể load script ở đó,
Nhớ ko nhầm chỗ đó nó có load script rồi còn ko bạn có thể sửa lại như sau


int CoreServerShell::OnLunch(LPVOID pServer)
{
g_SetServer(pServer);


// /*g_SetFilePath("\\script");
KLuaScript * pStartScript =(KLuaScript*) g_GetScript("\\script\\startgame.lua");
int i = 0;
if (!pStartScript)
g_DebugLog("Load ServerScript failed!");
else
pStartScript->CallFunction("OnGame", 0, "");


PlayerSet.ReloadWelcomeMsg();
return true;
}


với OnGame là function chính của file startgame.lua

binhhdt
19-12-17, 07:33 PM
Bạn vào CoreServerShell.cpp
Có hàm OnLunch()
Bạn có thể load script ở đó,
Nhớ ko nhầm chỗ đó nó có load script rồi còn ko bạn có thể sửa lại như sau


int CoreServerShell::OnLunch(LPVOID pServer)
{
g_SetServer(pServer);


// /*g_SetFilePath("\\script");
KLuaScript * pStartScript =(KLuaScript*) g_GetScript("\\script\\startgame.lua");
int i = 0;
if (!pStartScript)
g_DebugLog("Load ServerScript failed!");
else
pStartScript->CallFunction("OnGame", 0, "");


PlayerSet.ReloadWelcomeMsg();
return true;
}


với OnGame là function chính của file startgame.lua

cám ơn bạn nhiều mình làm đc rồi nhưng mà hình như cái Timer thì lại không chạy nhỉ....

assaa
19-12-17, 09:05 PM
Phần đó mình ko nhớ nữa lâu rồi mình ko có đụng tới jx. Bạn có thể load thêm script của timer tại hàm OnLunch cũng được