Level, won, item veren npc questi

Eskiz

🇹🇷 Bozkurtlar Diriliyor 🇹🇷
Onaylanmış Üye
27 Mar 2020
466
29
Çevrimiçi zamanı
1d 3h 20m
18
Antalya
www.aktifhost.net
Best answers
0
Kod:
    state start begin
        function LevelAyarla()
            say_title("Amiral: ")
            say("Hoşgeldin "..pc.get_name()..", ")
            say("Kaç Level olmak istiyorsun. 1-120 arası bir Level yaz. ")
            say("")
            local yLevel = input()
            if yLevel == "" or yLevel == nil then return end
            yLevel = tonumber(yLevel)
            if yLevel < 1 or yLevel>120 then return end
            pc.set_level(yLevel)
            chat("Yeni Level: "..yLevel)
        end
        function ItemUret()
            say_title("Amiral: ")
            say("Hoşgeldin "..pc.get_name()..", ")
            say("İstedğin itemin kodunu lütfen. ")
            say("")
            local iVnum = input()
            if iVnum == "" or iVnum == nil then return end
            iVnum = tonumber(iVnum)
            if iVnum < 1 or iVnum>999999 then return end
            local sonuc = pc.give_item2(iVnum, 1)
            if sonuc == 0 then
                say_title("Amiral: ")
                say(iVnum.." bu id'ye ait bir item yok.. ")
                say("")
                wait()
                return
            end
            say_item_vnum(iVnum)
            say("")
            wait()
        end
        function YangWonGem()
            say_title("Amiral: ")
            local secim = select("Yang Ver ","Won Ver ", "Gem Ver ", "Kapat ")
            if secim == 4 then return end
            
            say_title("Amiral: ")
            say("Ne kadar istiyorsun? lütfen bana yaz. ")
            say("")
            local neKadar = input()
            if neKadar == "" or neKadar == nil then return end
            neKadar = tonumber(neKadar)
            if neKadar < 1 then return end
            if secim ==1 and (pc.get_gold() + neKadar) > 2000000000 then
                say_title("Amiral: ")
                say("Üzgünüm "..pc.get_name()..", ")
                say("Bu rakamı sana verir isem üzerindeki yang 2T'yi geçeceği için olmaz. ")
                say("")
                return
            end
            if secim ==2 and (pc.get_cheque() + neKadar) >= 250 then
                say_title("Amiral: ")
                say("Üzgünüm "..pc.get_name().."")
                say("Bu rakamı sana verir isem üzerindeki Won 250'yi geçeceği için olmaz. ")
                say("")
                return
            end
            if secim ==1 and (pc.get_gem() + neKadar) >= 100000 then
                say_title("Amiral: ")
                say("Üzgünüm "..pc.get_name().."")
                say("Bu rakamı sana verir isem üzerindeki Gem 100000'yi geçeceği için olmaz. ")
                say("")
                return
            end
            
            if secim ==1 then
                pc.change_gold(neKadar)
                say_title("Amiral: ")
                say(neKadar.." Yang'ı aldın. İyi işlerde kullan. ")
                say("")
                return
            end
            if secim ==2 then
                pc.change_cheque(neKadar)
                say_title("Amiral: ")
                say(neKadar.." Won'u aldın. İyi işlerde kullan. ")
                say("")
                return
            end
            if secim ==3 then
                pc.change_gem(neKadar)
                say_title("Amiral: ")
                say(neKadar.." Gem'i aldın. İyi işlerde kullan. ")
                say("")
                return
            end
        end
        
        when 20378.chat."Level Ayarla " with game.get_gorev_durum(53) and pc.get_map_index()==41 begin --GRV_20378_LEVEL
            npc_20378.LevelAyarla()
        end --when
        when 20378.chat."İtem Üret " with game.get_gorev_durum(54) and pc.get_map_index()==41 begin --GRV_20378_ITEM
            npc_20378.ItemUret()
        end --when
        when 20378.chat."Yang/Won/Gem Ver " with game.get_gorev_durum(55) and pc.get_map_index()==41 begin --GRV_20378_YANG
            npc_20378.YangWonGem()
        end --when
        
        when 20378.chat."Arındırma panelini aç " with game.get_gorev_durum(41) and pc.get_map_index()==301 begin --GRV_20378_CUBE
            setskin(NOWINDOW)
            command("cube open")
        end --when

        when 20378.take begin
            if not game.get_gorev_durum(42) then return end --42
            
            local vnum = item.get_vnum()
            local can_change = true
            local upgrade_list = {[11299] = 20000, [11499] = 20250, [11699] = 20500, [11899] = 20750, [21079] = 21090, [20009] = {[1] = 20860, [2] = 20910}, [20259] = {[1] = 20870, [2] = 20920}, [20509] = {[1] = 20880, [2] = 20930}, [20759] = {[1] = 20890, [2] = 20940}, [21099] = {[1] = 20900, [2] = 20950},}
            local material_list = {
                {["vnum"] = vnum, ["count"] = 1,},
                {["vnum"] = 70031, ["count"] = 3,},
                {["vnum"] = 71129,["count"] = 4,},
                {["vnum"] = 71123,["count"] = 3,},
                {["vnum"] = 51001, ["count"] = 1000,},
            }
            if vnum == 11299 or vnum == 11499 or vnum == 11699 or vnum == 11899 or vnum == 21079 then
                local p = 5000000
                say_title(mob_name(20378))
                say("")
                say("Yükseltme için ")
                say("")
                say_item_vnum(upgrade_list[vnum])
                say("")
                say("")
                say("")
                say("")
                wait()
                say_title(mob_name(20378))
                say("")
                say("Şunlara ihtiyacın var: ")
                say(string.format("%d Yang", p))
                for i, material in ipairs(material_list) do
                    say(string.format("x%d %s", material.count, item_name(material.vnum)))
                    can_change = can_change and (material.count <= pc.count_item(material.vnum))
                    if pc.get_gold() < 5000000 then
                        can_change = false_yang
                    end
                end
                
                say("Yükseltme işlemine devam etmek istediğine emin misin ? ")
                local agree = select("Evet ", "Hayır ")
                if agree == 1 then
                    say_title(mob_name(20378))
                    say("")
                    if can_change == false_yang then
                        say("Üzerinde yeterli Yang yok. ")
                        return
                    elseif can_change != true then
                        say("Gereken materyallere sahip değilsin. ")
                        return
                    end
                    
                    local bTry = item.copy_and_give_before_remove(upgrade_list[vnum])
                    if not bTry then
                        say("Bir hata oluştu. ")
                    else
                        pc.change_gold(-p)
                        for i, material in ipairs(material_list) do
                            if material.vnum != vnum then
                                pc.remove_item(material.vnum, material.count)
                            end
                        end
                        
                        say_item_vnum(upgrade_list[vnum])
                        say("")
                        say("")
                        say("")
                        say("Kazandın. ")
                        wait()
                    end
                end
            elseif vnum == 20009 or vnum == 20259 or vnum == 20509 or vnum == 20759 or vnum == 21099 then
                local a1 = string.format(item_name(upgrade_list[vnum][1]))
                local a2 = string.format(item_name(upgrade_list[vnum][2]))
                say_title(mob_name(20378))
                say("")
                say("İki zırhı geliştirebilirim, istediğin ")
                say("zırhı seç. ")
                local armors = select(a1, a2, "Kapat ")
                if armors == 1 or armors == 2 then
                    local p = 10000000
                    if armors == 1 then
                        requirments_list = {{["vnum"] = vnum, ["count"] = 1,}, {["vnum"] = 70031, ["count"] = 5,}, {["vnum"] = 30619, ["count"] = 5,}, {["vnum"] = 30615, ["count"] = 5,}, {["vnum"] = 30605, ["count"] = 10,}, {["vnum"] = 30606, ["count"] = 10,},}
                    else
                        requirments_list = {{["vnum"] = vnum, ["count"] = 1,}, {["vnum"] = 70031, ["count"] = 5,}, {["vnum"] = 30619, ["count"] = 5,}, {["vnum"] = 30614, ["count"] = 5,}, {["vnum"] = 30609, ["count"] = 10,}, {["vnum"] = 30608, ["count"] = 10,},}
                    end
                    
                    say_title(mob_name(20378))
                    say("")
                    say("Yükseltme için ")
                    say("")
                    say_item_vnum(upgrade_list[vnum][armors])
                    say("")
                    say("")
                    say("")
                    say("")
                    wait()
                    say_title(mob_name(20378))
                    say("")
                    say("İhtiyacın olanlar: ")
                    say(string.format("%d Yang", p))
                    for i, material in ipairs(requirments_list) do
                        say(string.format("x%d %s", material.count, item_name(material.vnum)))
                        can_change = can_change and (material.count <= pc.count_item(material.vnum))
                        if pc.get_gold() < p then
                            can_change = false_yang
                        end
                    end
                    
                    say("Yükseltme işlemine devam etmek istediğine emin misin ? ")
                    local agree = select("Evet ", "Hayır ")
                    if agree == 1 then
                        say_title(mob_name(20378))
                        say("")
                        if can_change == false_yang then
                            say("Üzerinde yeterli Yang yok. ")
                            return
                        elseif can_change != true then
                            say("Gereken materyallere sahip değilsin. ")
                            return
                        end
                        
                        local bTry = item.copy_and_give_before_remove(upgrade_list[vnum][armors])
                        if not bTry then
                            say("Bir hata oluştu. ")
                        else
                            pc.change_gold(-p)
                            for i, material in ipairs(requirments_list) do
                                if material.vnum != vnum then
                                    pc.remove_item(material.vnum, material.count)
                                end
                            end
                            
                            say_item_vnum(upgrade_list[vnum][armors])
                            say("")
                            say("")
                            say("")
                            say("Kazandın.")
                            wait()
                        end
                    end
                end
            end
        end
        
    end --state
 

Tunay SEZER

Hayat işte ne getireceği belli değil...
Admin
Teknik Sorumlu
Hakem
Vip Üye
T.C Vatandaşı
24 Şub 2020
1,005
211
Çevrimiçi zamanı
6d 22h 30m
53
Best answers
0
Oyuncu
-
Konu paylaşımınız için teşekkürler, başarılar :)
 

sTRoffical

İnsan büyür beşikte, Mezarda yatmak için!
Admin
T.C Vatandaşı
27 Mar 2020
840
141
Çevrimiçi zamanı
3d 21h 21m
33
IĞDIR
Best answers
0
Oyuncu
Csgo, valorant, pubg
Başarılı bir konu olmuş teşekkürler.
 

mustafabptr

Onaylanmış Üye
Onaylanmış Üye
2 Nis 2020
340
13
Çevrimiçi zamanı
3h 19m
18
Best answers
0
Konu için teşekkürler.
 

burakturna

Onaylanmış Üye
Onaylanmış Üye
3 Kas 2022
1
0
Çevrimiçi zamanı
0m
1
Best answers
0
Oyuncu
baneva
bunu nasıl ekleyeceğiz
 
Üst