[JX2] hỏi về cách tạo nhiệm vụ kill số quái yêu cầu như nhiệm vụ sư môn

- Đầu tiên tạo một nhiệm vụ (giết quái) mới. Trong settings\trigger\kill.txt

You must be registered for see images



Trong đó 1393 ID của nhiệm vụ giết quái, Hắc Tinh Tinh tên của quái, 100Số quái cần tiêu diệt, script\hactinhtinh.luaScript sẽ chạy khi giết đủ 100 quái và nó chạy function tieudiet() trong đoạn script này (chạy function tieudiet trong hactinhtinh.lua)


- Tạo NPC nhận nhiệm vụ. Đơn giản nhất dùng autoexec.lua trong script\global

Mã:
Include("\\script\\hactinhtinh.lua") --[B]Đường dẫn thư viện[/B]
function main() --[COLOR=#ff0000][B]function chính chạy các NPC[/B][/COLOR]
......
tao_npc_nv(); --[B]Tên function sẽ đựoc chạy trong hactinhtinh.lua[/B]
end


- File chính

Mã:
Include("\\script\\lib\\globalfunctions.lua")


function tieudiet() --[COLOR=#ff0000][B]Sau khi tiêu diệt con quái thứ 100 sẽ chạy cái này : xóa nhiệm vụ và nhận thưởng[/B][/COLOR]
    RemoveTrigger(GetTrigger(1393));
    nhan_thuong();
    return 1
end;

function main() --[COLOR=#ff0000][B]NPC nhiệm vụ sẽ chạy function này[/B][/COLOR]

    local szName = "YÕn YÕn"
    local szHeader = "<color=green>"..szName.." :<color>§¸nh qu¸i nhËn th*ëng"
    local tbSayDialog = {};
    local nSaySize = 0;

    tinsert(tbSayDialog, "NhËn nhiÖm vô/nhan_nv_001")

    tinsert(tbSayDialog, "Ta chØ ghÐ ngang/do_nothing")
    Say(szHeader, getn(tbSayDialog), tbSayDialog)    
    
end
------------------------------------------------------------------------------------------
function do_nothing()
end
------------------------------------------------------------------------------------------

function nhan_nv_001() --[COLOR=#ff0000][B]khi nhận nhiệm vụ sẽ chạy cái này. Nếu chưa nhận thì sẽ được nhận và đưa đi đến nơi. Ngược lại nhận rồi cũng sẽ được đưa đi[/B][/COLOR]

if GetTrigger(1393) == 0 then
    CreateTrigger(0, 1393, 1393); 
    Msg2Player("Tiªu diÖt: 100 H¾c Tinh Tinh");
    Say("Mau ®i hoµn thµnh nhiÖm vô.",2,"§*a ta ®i/di_nhiemvu","§Ó ta suy nghÜ l¹i/do_nothing")
else
    Say("Ch*a hoµn thµnh nhiÖm vô.",2,"§*a ta ®i/di_nhiemvu","§Ó ta suy nghÜ l¹i/do_nothing")
end

end;
------------------------------------------------------------------------------------------
function di_nhiemvu() --[COLOR=#ff0000][B]Đưa đi đến map Tây sông bản nạp Bắc[/B][/COLOR]
NewWorld(402, 1544 ,2802)
SetFightState(1);
end
------------------------------------------------------------------------------------------
function ve_nhiemvu() --[COLOR=#ff0000][B]Quay về tuyền châu[/B][/COLOR]
NewWorld(100, 1392, 2976)
SetFightState(0);
end
------------------------------------------------------------------------------------------
function nhan_thuong() --[COLOR=#ff0000][B]số Ngẫu nhiên nhận được từ 1 đến 14 tương ứng với 1 đến 14 túi tiền. Nếu số Ngẫu nhiên = 15 thì nhận được 1 bao vàng 1k[/B][/COLOR]
    nNgauNhien = random(1,15)
    if nNgauNhien < 15 then
        AddItem(2,1,30367,nNgauNhien) --Tói tiÒn
        Msg2Player(format("NhËn ®*îc %d : Tói tiÒn", nNgauNhien))
        ve_nhiemvu(); --[COLOR=#006400][B]Sau khi nhận thưởng xong được đưa về nhà: quay về Tuyền châu[/B][/COLOR]
    elseif nNgauNhien == 15 then
        AddItem(2,1,539,1) -- Bao vµng 1k
        Msg2Global(format("Ng*êi ch¬i %s may m¾n nhËn ®*îc 1 Bao tiÒn",GetName()))
        ve_nhiemvu();
    end
end;

------------------------------------------------------------------------------------------
function tao_npc_nv() --[COLOR=#ff0000][B]Dùng để tạo NPC cho bạn đối thoại nhận nhiệm vụ (file autoexec.lua sẽ đọc function này)[/B][/COLOR]
        npcIndex = CreateNpc("NhËm Doanh Doanh","YÕn YÕn",  100, 1392, 2986)
        SetNpcScript(npcIndex, "\\script\\hactinhtinh.lua");
end
------------------------------------------------------------------------------------------



Kết quả


You must be registered for see images



You must be registered for see images



bạn nào không làm được thì mấy bạn khác làm được chỉ và giải thích dùm nhe. Mình xin hỗ trợ tới đây thôi!


Chúc bạn may mắn.

View attachment 367 Server 2015
 
VNG mà có mấy nhiệm vụ kiếm tiền ntn chắc sập game luôn quá, giờ svm vào không nạp tiền đến cấp 15 chỉ có chạy bộ từ thành này qua thành khác :v
 
Bên trên