QUEST NPC PORTABIL

  • Autor subiect NetWolf
  • Dată creare
  • Răspunsuri: Răspunsuri 4
  • Vizualizări: Vizualizări 2K

NetWolf

Active member
11 Noi 2018
53
173
33
31
Romania
Monede Dragon
0
NPC-ul, itemele, itemul cu care se "invoca"/spawneaza acel NPC, preturile, sunt puse absolut aleatoriu, pentru teste,
si se pot modifica.

Ce face questul de fapt: Cu ajutorul unui item, se "invoca" un NPC, care ofera iteme spre vanzare, contra unei sume, dupa care acel NPC dispare.
Questul a fost creat in ideea accesarii din mapele de farm, etc.
Sper sa va foloseasca.

Am folosit functiile de scris colorat in quest, deci vor trebui instalate in cazul in care nu exista.



Cod:
quest npc_portable_by_raffa begin
    state start begin
        when 40001.use begin
            say_albastru("Sigiliu Invocare")
            say_reward("Ce doresti sa faci?")
            local raffa_c1=select("Invoca negustorul special","Nu acum")
            if raffa_c1 == 1 then
                say_title("Sigiliu invocare")
                say_reward("Vrei sa invoci negustorul special?")
                say_reward("Daca raspunsul tau va fi 'da' , tine minte:")
                say_reward("Negustorului nu-i plac cei nehotarati...")
                say_reward("")
                say_reward("Cere exact ce vrei, si lasa-l sa-si faca treburile...")
                say_reward("Negustorul va pleca de indata ce ti-a indeplinit dorinta.")
                local mag=select("Da","Nu")
                    if mag == 2 then
                    return
                    end
                    if mag == 1 then
                    local my_x = pc.get_local_x()
                    local my_y = pc.get_local_y()
                    mob.spawn(20083,my_x-1,my_y-1,0,0)
                    end
            elseif raffa_c1 == 2 then
            return
            end
        end
        when 20083.chat."Ce vrei de la mine?" begin
        local name=pc.get_name()
        say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
        say()
        say_size(350,400)
        say_verde("Daca m-ai chemat inseamna ca ai nevoie de ceva...")
        say_verde("Deci ce sa fie" ..name.." ? ")
        say()
        local raffa_c2 = select("Leu alb","Marmura binecuvantata","Pet Panda","Pet Ursulet","Pet Leu" ,"Licoare exp","Iesire")
        local lista_iteme = {

        {71124,1,500000},
        {70024,10,1000},
        {53009,1,99999999999},
        {53008,1,99999999999},
        {53010,1,99999999999},
        {71153,1,99999999999},
        {53003,1,99999999999}, --poti adauga oricate iteme vrei dupa modelul acela

        }
        -- prima coloana reprezinta vnum, a doua cantitatea, iar a treia coloana reprezinta pretul.
        local gold=pc.get_gold()
        local vnum = item.get_vnum(lista_iteme[raffa_c2][1])
        local count = (lista_iteme[raffa_c2][2])
        local pret = (lista_iteme[raffa_c2][3]*count)
        local rest = gold - pret
        local diff = pret - gold
        if gold < pret then
        say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
        say_rosu("")
        say_rosu("Acest item costa  " ..pret.. "  yang")
        say_rosu("iar tu ai in acest moment   " ..gold.. "")
        say_rosu("")
        say_rosu("Fa rost de   " ..diff.. "  yang, si")
        say_rosu("cheama-ma din nou cand ai destui bani.")
        wait()
        say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
        say("")
        say("")
        say_galben("Acum voi pleca...mai am treburi de facut.")
        npc.purge()
        return
        else
        pc.give_item2(lista_iteme[raffa_c2][1], lista_iteme[raffa_c2][2])
        pc.changegold(-pret)
        say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
        say("")
        say("")
        say_reward("Ai primit: ")
        say("")
        say("")
        say_item_vnum(lista_iteme[raffa_c2][1]) say_verde("x  " ..count.. "")
        say("")
        say("")
        say_albastru2(""..pret.. " yang, au fost retrasi din contul tau.")
        say_albastru2("Oricum, inca iti mai raman  " ..rest.. "  yang.")
        wait()
        say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
        say("")
        say("")
        say_galben("Acum voi pleca...mai am treburi de facut.")
        npc.purge()
        end
        end
    end
end