Yardım NP SİSTEMİNDE SORUN

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

alemji21

Üye
Üye
Mesaj
97
Çözümler
9
Beğeni
35
Puan
469
Ticaret Puanı
0
arkadaşlar np sistemini ekledim guestini sorunsuz okuttum fakat ne görevler kısmına geldi nede boss kesince alta bir yazı çıktı nedeni ne olabilir quest_functions larınıda ekledim ama olmadı

cmd.PNG

Ekran Alıntısı.PNG


Guest

Lua (Quest):
quest npsistem begin
    state start begin
        when login begin
            local np = pc.theprnce_np_bak()
            cmdchat("np "..np)
            send_letter("NP Sistemi ")
        end

        when button or info begin
            say_title("Merhaba "..pc.get_name())
            local np = pc.theprnce_np_bak()
            say_reward("Mevcut NP Puanın : "..np)
            say("Ne yapmak istiyorsun ?")
            say("")
            local menu
            if pc.is_gm() then
                menu = select("Bilgi Al ", "Ödüller ", "Ödül Al ", "Ödül Geçmişi ", "Kapat ", "Yönetim ")
            else
                menu = select("Bilgi Al ", "Ödüller ", "Ödül Al ", "Ödül Geçmişi ", "Kapat ")
            end
            if menu == 6 then
                say_title("Yönetim Paneline Hoş Geldin "..pc.get_name())
                say("Ne yapmak istiyorsun ?")
                say("")
                local islem = select("İtem Ekle ", "İtem Sil ", "Vazgeç ")
                if islem == 4 then
                    -- send_letter("NP Sistemi ")
                elseif islem == 2 then
                    say_title("NP Sistemi : ")
                    say("")
                    say("Silmek istediğin ödülü seç.")
                    local vnum, count, price, isim, id = npsistem.odul_al_sil()
                    table.insert(isim,"Vazgeç ")
                    local sirala = select_table(isim)
                    if(table.getn(isim) == sirala) then
                        -- send_letter("NP Sistemi ")
                        return
                    end
                    say_reward(item_name(vnum[sirala]))
                    say_reward("Adet : "..count[sirala])
                    say_reward("Gerekli NP : "..price[sirala])
                    say_item_vnum(vnum[sirala])
                    say("")
                    say("")
                    say("")
                    local al_id = tonumber(id[sirala])
                    local al = select("Sil ","Vazgeç ")
                    if al == 2 then
                        -- send_letter("NP Sistemi ")
                    else
                        say("Ödül silindi.")
                        npsistem.odul_sil(al_id)
                        -- wait()
                        -- send_letter("NP Sistemi ")
                    end
                elseif islem == 1 then
                    say_title("NP Sistemi : ")
                    say("")
                    say("Item vnum girin lütfen : ")
                    say("")
                    local v_giris = tonumber(input(''))
                    local kontrol = npsistem.item_bilgi(v_giris)
                    if kontrol == "bos" then
                        say("Geçersiz item kodu.")
                        -- wait()
                        -- send_letter("NP Sistemi ")
                        return
                    else
                        say("Adet Girin : ")
                        say("")
                        local a_giris = tonumber(input(''))
                        if a_giris < 0 or nil then
                            say("Geçersiz değer.")
                            -- wait()
                            -- send_letter("NP Sistemi ")
                            return
                        else
                            say("Değer (NP) Girin : ")
                            say("")
                            local d_giris = tonumber(input(''))
                            if d_giris < 0 or nil then
                                say("Geçersiz değer.")
                                -- wait()
                                -- send_letter("NP Sistemi ")
                                return
                            else
                                say_item_vnum(v_giris)
                                say_reward("Adet : "..a_giris)
                                say_reward("Değer (NP) : "..d_giris)
                                say("")
                                say("")
                                say("")
                                say("")
                                local a = select(locale.yes, locale.no)
                                if a == 1 then
                                    say("Item eklendi.")
                                    npsistem.item_ekle(v_giris,a_giris,d_giris)
                                    -- wait()
                                    -- send_letter("NP Sistemi ")
                                else
                                    -- send_letter("NP Sistemi ")
                                end
                            end
                        end
                    end
                end
            elseif menu == 5 then
                -- send_letter("NP Sistemi ")
            elseif menu == 4 then
                say_title("NP Sistemi : ")
                say("")
                say("Ödül geçmişin aşağıda sıralandı.")
                local vnum, count, price, isim, zaman = npsistem.loglar(pc.get_name())
                table.insert(isim,"Vazgeç ")
                local sirala = select_table(isim)
                if(table.getn(isim) == sirala) then
                    -- send_letter("NP Sistemi ")
                    return;
                end
                say("Satın Aldığın İteme Dair Ayrıntılar : ")
                say_reward(item_name(vnum[sirala]))
                say_reward("Adet : "..count[sirala])
                say_reward("NP : "..price[sirala])
                say_reward("Tarih : "..zaman[sirala])
                say_item_vnum(vnum[sirala])
                say("")
                -- wait()
                -- send_letter("NP Sistemi ")              
            elseif menu == 1 then
                say_title("NP Sistemi : ")
                say("")
                say("Belli başlı bossları keserek ve ")
                say("oyuncuları keserek NP puanı kazanabilirsin.")
                say("Her boss farklı NP puanı verir.")
                say("Bu puanları kullanarak ödüller ")
                say("kazanabilirsin. Aynı oyuncuyu tekrar ")
                say("tekrar öldürmek avantaj kazandırmıyor.")
                say("Aynı oyuncuyu 3 kere kestikten sonra o ")
                say("oyuncudan 1 saat boyunca NP kazanamaz ")
                say("hale geliyorsun.")
                say("")
                -- wait()
                -- send_letter("NP Sistemi ")
            elseif menu == 2 then
                say_title("NP Sistemi : ")
                say("Ödül listesi aşağıda sıralandı.")
                local vnum, count, price, isim = npsistem.oduller()
                local toplam = table.getn(isim)
                if toplam > 8 then
                    say_size(350,300)
                end
                for num1, str1 in ipairs(isim) do
                    if num1 <= 10 then
                        say_reward(isim[num1])
                    end
                end
                wait()
                for num1, str1 in ipairs(isim) do
                    if num1 > 10 then
                        say_reward(isim[num1])
                    end
                end
                -- wait()
                -- send_letter("NP Sistemi ")
            elseif menu == 3 then
                say_title("NP Sistemi : ")
                say("")
                say("Almak istediğin ödülü seç.")
                local vnum, count, price, isim = npsistem.oduller()
                local toplam = table.getn(isim)
                if toplam > 8 then
                    say_size(350,350)
                end
                table.insert(isim,"Vazgeç ")
                local sirala = select_table(isim)
                if(table.getn(isim) == sirala) then
                    -- send_letter("NP Sistemi ")
                    return;
                end
                say_reward(item_name(vnum[sirala]))
                say_reward("Adet : "..count[sirala])
                say_reward("Gerekli NP : "..price[sirala])
                say_item_vnum(vnum[sirala])
                say("")
                say("")
                say("")
                local al_vnum, al_count, al_price, al_isim = tonumber(vnum[sirala]), tonumber(count[sirala]), tonumber(price[sirala]), isim[sirala]
                local al = select("Ödülü Al ","Vazgeç ")
                if al == 2 then
                    -- send_letter("NP Sistemi ")
                else
                    local np = pc.theprnce_np_bak()
                    if np < al_price then
                        say("Yeterli NP'ye sahip değilsin.")
                        say("")
                        say_reward("Gereken NP Puanı : "..al_price)
                        say_reward("Mevcut NP Puanı : "..np)
                        -- wait()
                        -- send_letter("NP Sistemi ")
                        return
                    end
                    pc.theprnce_np_ver(np-al_price,pc.get_player_id())
                    cmdchat("np "..tonumber(np-al_price))
                    pc.give_item2(al_vnum, al_count)
                    say(al_price.." NP karşılığında ")
                    say(al_count.." adet "..item_name(al_vnum).." kazandın.")
                    say("")
                    say("Daha önce satın aldığın ödülleri ")
                    say("Ödül Geçmişi sekmesinden görebilirsin.")
                    npsistem.np_log_gir(pc.get_name(), al_vnum, al_count, al_price)
                    -- wait()
                    -- send_letter("NP Sistemi ")
                end
            end
        end
      
      
        when kill with npc.is_pc() == false begin
            local boss = npc.get_race()
            local bos = npsistem.bosslar(boss)
            local id = pc.get_player_id()
            local np = pc.theprnce_np_bak()
            if null == bos then
                return
            else
                local np_bos = bos[1]
                pc.theprnce_np_ver(np+bos[1],id)
                cmdchat("np "..np+bos[1])
                chat(mob_name(boss).." kestiğin için "..bos[1].." NP kazandın. Toplam NP Puanın : "..pc.theprnce_np_bak())
            end
        end
        when kill with npc.is_pc() and pc.get_map_index() != 28 and pc.get_map_index() != 200 begin
            local krallik_modu = 0 -- 0 Kapalı 1 Aktif (Aktif olduğunda bayrak farketmeksizin np kazanılır.)
            local ip_kontrol = 0 -- 0 Kapalı 1 Aktif (Aktif olduğunda ip taraması yapar.)
            ----Ben-----------------
            local m_lv = pc.get_level()
            local m_emp = pc.get_empire()
            local m_np = pc.theprnce_np_bak()
            local m_id = pc.get_player_id()
            local m_name = pc.get_name()
            local m_ip = pc.get_ip()
            --------------------------
            local vid = npc.get_vid()
            local old_pc = pc.select(vid)
            if old_pc != 0 then
                ------Rakip--------------
                local r_lv = pc.get_level()
                local r_name = pc.get_name()
                local r_emp = pc.get_empire()
                local r_np = pc.theprnce_np_bak()
                local r_id = pc.get_player_id()
                local r_ip = pc.get_ip()
                ------------------------
                if r_emp != m_emp and krallik_modu == 0 then
                    if m_ip == r_ip and ip_kontrol == 1 then
                        syschat("Aynı IP'den giriş yapmış bir oyuncuya öldün. NP kaybetmedin.")
                        pc.select(old_pc)
                        syschat("Aynı IP'den giriş yapmış bir oyuncu kestin. NP kazanamadın.")
                        return
                    end
                    if r_lv < 90 or m_lv < 90 then
                        pc.select(old_pc)
                        syschat("90 seviye ve üstü olduğunda NP kazanabilirsin.")
                        return
                    end
                    if r_lv - m_lv < 10 or m_lv - r_lv < 10 then
                        local sure, sayi = npsistem.kisi_bilgi(m_name, r_name)
                        if sure == "bos" then
                            npsistem.np_bilgi_gir(m_name, r_name)
                        end
                        local sure, sayi = npsistem.kisi_bilgi(m_name, r_name)
                        if get_time() > tonumber(sure) then
                            npsistem.np_log_sifirla(m_name, r_name)
                            if sayi >= 2 then
                                npsistem.np_blok(m_name, r_name)
                                chat("Aynı oyuncuya çok sık öldüğün için 60 dakika boyuncu bu oyuncudan NP kaybetmeyeceksin.")
                                pc.select(old_pc)
                                chat("Aynı oyuncuyu çok sık öldürdüğün için 60 dakika boyuncu bu oyuncudan NP kazanamayacaksın.")
                                return
                            else
                                npsistem.np_spam(m_name, r_name)
                                if r_np-1 <= 0 then
                                    chat("Sıfır puana düştüğün için artık NP kaybetmeyeceksin.")
                                    pc.theprnce_np_ver(0,r_id)
                                    cmdchat("np 0")
                                else
                                    chat(m_name.." oyuncusuna ölerek 1 NP puanı kaybettin. Mevcut puan : "..r_np-1)
                                    pc.theprnce_np_ver(r_np-1,r_id)
                                    cmdchat("np "..r_np-1)
                                end
                                pc.select(old_pc)
                                chat(r_lv.." seviye "..r_name.." oyuncusunu öldürerek 1 NP kazandın. Mevcut puanın : "..(m_np+1))
                                pc.theprnce_np_ver(m_np+1,m_id)
                                cmdchat("np "..m_np+1)
                            end
                        else
                            npsistem.np_blok(m_name, r_name)
                            chat("Aynı oyuncuyu çok sık öldüğün için artık bu oyuncuda NP kaybetmeyeceksin.")
                            chat("Kalan süre "..npsistem.kalan_sure(sure - get_time()).." ")
                            pc.select(old_pc)
                            chat("Aynı oyuncuyu çok sık öldürdüğün için 60 dakika boyuncu bu oyuncudan NP kazanamayacaksın.")
                            chat("Kalan süre "..npsistem.kalan_sure(sure - get_time()).." ")
                            return
                        end
                    end
                else
                    pc.select(old_pc)
                    chat("Kendi krallığından birini öldürerek NP kazanamazsın.")
                    return
                end
            end
        end
      
        function oduller()
            local query=[[SELECT * FROM player.np_odul ORDER BY id DESC;]]
            local res1, res2 = mysql_direct_query2(query)
            if(res1 == 0) then
                return -1
            end
            local vnum, count, price, isim  = {},{},{},{}
            table.foreachi(res2,
                function(n,p)
                    vnum[n],count[n],price[n],isim[n] = res2[n].vnum, res2[n].count, res2[n].price, item_name(res2[n].vnum).."x"..res2[n].count.."    NP:"..res2[n].price
            end)
            return vnum, count, price, isim
        end
      
        function loglar(ben)
            local query=[[SELECT * FROM player.np_odul_log WHERE name = '"..ben.."' ORDER BY timee DESC;]]
            local res1, res2 = mysql_direct_query2(query)
            if(res1 == 0) then
                return -1
            end
            local vnum, count, price, isim, zaman  = {},{},{},{},{}
            table.foreachi(res2,
                function(n,p)
                    vnum[n],count[n],price[n],isim[n],zaman[n] = res2[n].vnum, res2[n].count, res2[n].price, item_name(res2[n].vnum).."    NP:"..res2[n].price, res2[n].timee
            end)
            return vnum, count, price, isim, zaman
        end
      
        function odul_al_sil()
            local query=[[SELECT * FROM player.np_odul ORDER BY id desc;]]
            local res1, res2 = mysql_direct_query2(query)
            if(res1 == 0) then
                return -1
            end
            local vnum, count, price, isim, id  = {},{},{},{},{}
            table.foreachi(res2,
                function(n,p)
                    vnum[n],count[n],price[n],isim[n],id[n] = res2[n].vnum, res2[n].count, res2[n].price, item_name(res2[n].vnum).."    NP:"..res2[n].price, res2[n].id
            end)
            return vnum, count, price, isim, id
        end
      
      
        function kalan_sure(ipe)           
            if ipe >= get_global_time() then
                seconds = ipe - get_global_time()
            else
                seconds = (get_global_time() + ipe) - get_global_time()
            end
          
          
            local days = 0
            local hours = math.floor(seconds / 3600)
            local mins = math.floor((seconds - (hours*3600)) / 60)
            local secs = math.floor(seconds - hours*3600 - mins*60 )
            local t = ""
            if tonumber(hours) >= 24 then
                days = math.floor(hours / 24)
                hours = math.floor(hours - (days*24))
            end
            if tonumber(days) == 1 then
                t = t..days.." Gun "
            elseif tonumber(days) >= 1 then
                t = t..days.." Gun "
            end
            if tonumber(hours) == 1 then
                t = t..hours.." Saat "
            elseif tonumber(hours) >= 1 then
                t = t..hours.." Saat "
            end
            if tonumber(mins) == 1 then
                t = t..mins.." Dakika "
            elseif tonumber(mins) >= 1 then
                t = t..mins.." Dakika "
            end
            if tonumber(secs) == 1 then
                t = t..secs.." Saniye "
            elseif tonumber(secs) >= 1 then
                t = t..secs.." Saniye "
            end
            if t == "" then
                return "(!)"
            end
            return t
        end
      
        function np_blok(ben, rakip)
            local ekle = get_time()+60*60
            local query=[[UPDATE player.np_log SET sure = '"..ekle.."', sayi = 0 WHERE olduren = '"..ben.."' and olen = '"..rakip.."';]]
            local res1, res2 = mysql_direct_query2(query)
        end
      
        function np_bilgi_gir(ben, rakip)
            local query=[[INSERT INTO player.np_log (olduren, olen, sayi, sure) VALUES ('"..ben.."', '"..rakip.."', 0,0);]]
            local res1, res2 = mysql_direct_query2(query)
        end
      
        function item_ekle(vnum, count, price)
            local query=[[INSERT INTO player.np_odul (vnum, count, price) VALUES ('"..vnum.."', '"..count.."', '"..price.."');]]
            local res1, res2 = mysql_direct_query2(query)
        end
      
        function np_log_gir(name, vnum, count, price)
            local query=[[INSERT INTO player.np_odul_log (name, vnum, count, price, timee) VALUES ('"..name.."', '"..vnum.."', '"..count.."','"..price.."', now());]]
            local res1, res2 = mysql_direct_query2(query)
        end
      
        function np_log_sifirla(ben, rakip)
            local query=[[UPDATE player.np_log SET sure = 0 WHERE olduren = '"..ben.."' and olen = '"..rakip.."';]]
            local res1, res2 = mysql_direct_query2(query)
        end
      
        function odul_sil(id)
            local query=[[DELETE FROM player.np_odul WHERE id = '"..id.."';]]
            local res1, res2 = mysql_direct_query2(query)
        end
      
        function np_spam(ben, rakip)
            local query=[[UPDATE player.np_log SET sayi = sayi+1 WHERE olduren = '"..ben.."' and olen = '"..rakip.."';]]
            local res1, res2 = mysql_direct_query2(query)
        end
      
        function odul_al()
            local query=[[SELECT * FROM player.np_odul ORDER BY id desc;]]
            local res1, res2 = mysql_direct_query2(query)
            local odul = res2[1].vnum
            local adet = res2[1].count
            local deger = res2[1].count
            return odul, adet, deger
        end
      
        function kisi_bilgi(ben, rakip)
            local query=[[SELECT * FROM player.np_log WHERE olduren = '"..ben.."' and olen = '"..rakip.."';]]
            local res1, res2 = mysql_direct_query2(query)
            local sure, sayi
            if res1 == nil or res1 == 0 then
                sure = "bos"
            else
                sure = res2[1].sure
                sayi = res2[1].sayi
            end
          
            return sure, sayi
        end
      
function item_bilgi(vnum)
   local durum
   if vnum == nil or vnum == " " or vnum == "" then
    durum = "bos"
   end
   local query=[[SELECT * FROM player.item_proto WHERE vnum = '"..vnum.."';]]
   local res1, res2 = mysql_direct_query2(query)
 
   if res1 == nil or res1 == 0 then
    durum = "bos"
   else
    durum = "dolu"
   end
 
   return durum
  end
        function bosslar(boss)
            bosslar = {
                [691]        = {1},
                [1901]        = {1},
                [2206]        = {1},
                [2091]        = {1},
                [2191]        = {1},
                [792]        = {1},
                [1304]        = {1},
                [2306]        = {1},
                [1192]        = {1},
                [2492]        = {1},
                [2493]        = {1},
                [1093]        = {1},
                [2598]        = {1},
                [8054]        = {1},
                [2493]        = {10},
            }

            boss = tonumber(boss)

            return bosslar[boss]
        end
    end
end
 
Oyun içinden /reload q komutunu girdiniz mi?

Şimdi fark ettim. Kodlarda send_letter yazılı olan satırlar yorum satırına çevrilmiş. Bu yüzden görevler kısmında çıkmıyor.
 
En son bir moderatör tarafından düzenlenmiş:
Oyun içinden /reload q komutunu girdiniz mi?
evet girdim hocam olmadı Başka bir arkadaş bana bir np guesti verdi onu okuttum oldu görevlerede geldi fakat şoyle bir hata var hocam görevlerdeki np sistemine tıklıyorum ne yapmak istiyorsun diyor ok basıyorum kapanıyor boss kesiyorm np vermiyor
Ekran Alıntısı.PNG
2121.PNG

yeni Guestim budur hocam
Lua (Quest):
quest npsystem begin
    state start begin
        function hediye(x)
            local hediye = 
            { 
                [0] = {70251},
                [1] = {70252},
                [3] = {70253},   
                [4] = {70254},   
            }
            return hediye[x][1]
        end
        when letter begin
            send_letter_ex("NP Sistemi ", "green,ex", "scroll_open_green.tga")
        end
        when 9006.chat."NP Sıfırla " with pc.is_gm() begin
            say_title("NP Sıfırla :")
            say("")
            say("NP İstatistiklerini sıfırlamak ")
            say("istiyor musun?")
            say("")
            local s = select(locale.yes,locale.no)
            if s == 1 then
                global_setvarchar("np_1",0)
                game.set_event_flag("np_1",0)
                global_setvarchar("np_2",0)
                game.set_event_flag("np_2",0)
                global_setvarchar("np_3",0)
                game.set_event_flag("np_3",0)
                say("Sıfırlandı.")
            end
        end
        when info or button begin
            say_title("NP Sistemi: ")
            say("Ne yapmak istiyorsun?")
            say_reward("Toplam "..pc.get_natural().." NP puanın var. ")
            say("100NP puanı kazanırsan hediye alabilirsin.")
            local sec = select("Sıralama ", "Hediye Al ", "Istatistiklerim ","Bilgilendirme ", "Kapat ")
            if sec == 1 then
                say_title("NP Sistemi: ")           
                say("Krallıklara göre NP sıralaması:")
                say("Toplam "..pc.get_natural().." NP puanın var. ")
                local k = global_getvarchar("np_1")
                local k1 = game.get_event_flag("np_1")
                local s = global_getvarchar("np_2")
                local s1 = game.get_event_flag("np_2")
                local m = global_getvarchar("np_3")
                local m1 = game.get_event_flag("np_3")
                say_reward("Kırmızı Bayrak : ")
                if k == nil or k == "" or k == 0 then
                    say("Henüz kimse yok.")
                else
                    say(k.." : "..k1.." Puan.")
                end
                say_reward("Sarı Bayrak : ")
                if s == nil or s == "" or s == 0 then
                    say("Henüz kimse yok.")
                else
                    say(s.." : "..s1.." Puan.")
                end
                say_reward("Mavi Bayrak : ")
                if m == nil or m == "" or m == 0 then
                    say("Henüz kimse yok.")
                else
                    say(m.." : "..m1.." Puan.")
                end
                wait()
                send_letter_ex("NP Sistemi ", "green,ex", "scroll_open_green.tga")
            elseif sec == 2 then
                local np = pc.get_natural()
                if np < 100 and pc.is_gm() == false then
                    say_title("NP Sistemi: ")
                    say("Hediye alabilmen için en az 100 ")
                    say("NP puanın olması lazım.")
                    say("")
                    say_reward("NP Puanın :"..np)
                    return
                else
                    say_title("NP Sistemi: ")
                    say("100 NP Karşılığında hediyeni ")
                    say("almak istiyor musun?")
                    say("")
                    local al = select(locale.yes,locale.no)
                    if al == 1 then
                        local sayi = number(0,30) -- Hediye sayısına göre artıcak
                        local hediyem = npsystem.hediye(sayi)
                        local kim = pc.get_empire()
                        local kimm = global_getvarchar("np_"..kim.."")
                        local s11 = game.get_event_flag("np_"..kim.."")
                        say_title("NP Sistemi: ")
                        say_item_vnum(hediyem)
                        say("Hediyen envanterine gönderildi.")
                        if pc.is_gm() == false then
                            pc.change_natural(-100)
                        end
                        if kimm == pc.get_name() then
                            game.set_event_flag("np_"..kim.."",s11-100)
                        end
                        pc.give_item2(hediyem,1)
                        wait()
                        send_letter_ex("NP Sistemi ", "green,ex", "scroll_open_green.tga")
                    end
                    if a1 == 2 then
                    return
                    send_letter_ex("NP Sistemi ", "green,ex", "scroll_open_green.tga")
                end
            end
            elseif sec == 3 then
                say_reward("Karşı krallık oyuncu istatistikleri:")
                say("")
                if pc.get_empire() == 1 then
                    say("Bügüne kadar "..pc.getqf("kill_3").." adet mavi krallık oyuncusu öldürdün.")
                    say("Bügüne kadar "..pc.getqf("kill_2").." adet sarı krallık oyuncusu öldürdün.")
                elseif pc.get_empire() == 2 then
                    say("Bügüne kadar "..pc.getqf("kill_3").." adet mavi krallık oyuncusu öldürdün.")
                    say("Bügüne kadar "..pc.getqf("kill_1").." adet kırmızı krallık oyuncusu öldürdün.")
                elseif pc.get_empire() == 3 then
                    say("Bügüne kadar "..pc.getqf("kill_1").." adet kırmızı krallık oyuncusu öldürdün.")
                    say("Bügüne kadar "..pc.getqf("kill_2").." adet sarı krallık oyuncusu öldürdün.")
                end
                wait()
                say_reward("Lider slotlar ve boss istatistikleri:")
                say("Sarı Kaplan Hayaleti: "..pc.getqf("kill_kaplan").." adet öldürdün.")
                say("Dokuz Kuyruk: "..pc.getqf("kill_dokuz").." adet öldürdün.")
                say("Alev Kral: "..pc.getqf("kill_alev").." adet öldürdün.")
                say("Dev Hayalet Ağaç: "..pc.getqf("kill_agac").." adet öldürdün.")
                say("Güçlü Buz Cadısı: "..pc.getqf("kill_cadi").." adet öldürdün.")
                say("Lusifer: "..pc.getqf("kill_lusi").." adet öldürdün.")
                say("Beran-Setaou: "..pc.getqf("kill_beran").." adet öldürdün.")
                say("Komutan: "..pc.getqf("kill_komutan").." adet öldürdün.")
                say("General: "..pc.getqf("kill_general").." adet öldürdün.")
                say("Azrail: "..pc.getqf("kill_azrail").." adet öldürdün.")
                say("Örümcek Barones: "..pc.getqf("kill_barones").." adet öldürdün.")
                wait()
                send_letter_ex("NP Sistemi ", "green,ex", "scroll_open_green.tga")
            end       
            if sec == 4 then
            say_title("NP Sistemi ")
            say("Hangi konuda bilgi almak istiyorsun?")
            local bsec = select("Ödüller ", "Puan Tablosu ", "Kurallar & Bilgi ","Kapat ")
            if bsec == 1 then
            say_title("NP Sistemi ")
            say_reward("Kazanabileceğin itemler ; ")
            say_item_vnum(70251)
            say_item_vnum(70252)
            say_item_vnum(70253)
            wait()
            say_title("NP Sistemi ")
            say_reward("Kazanabileceğin itemler ; ")
            say_item_vnum(70254)
            wait()
            send_letter_ex("NP Sistemi ", "green,ex", "scroll_open_green.tga")           
            end   
            if bsec == 2 then
            say_title("NP Sistemi: ")
            say("Kestiğinde kazanacağın puanlar ; ")
            say_reward("Karşı krallık oyuncuları sana 1NP kazandırır.")
            say_reward("Karanlık Hayalet Lider boss'u 1NP puanı kazandırır.")
            say_reward("Kraliçe Örümcek boss'u 1NP puanı kazandırır.")       
            say_reward("Dev Çöl Kamlumbağa boss'u 1NP puanı kazandırır.")   
            say_reward("Sarı Kaplan Hayaleti boss'u 2NP puanı kazandırır.")   
            say_reward("Dokuz Kuyruk boss'u 2NP puanı kazandırır.")       
            say_reward("Alev Kral boss'u 2NP puanı kazandırır.")   
            say_reward("Dev Hayalet Ağacı boss'u 2NP puanı kazandırır.")                   
            say_reward("Güçlü Buz Cadısı boss'u 3NP puanı kazandırır.")   
            say_reward("Lusifer-Azrail boss'u 3NP puanı kazandırır.")       
            say_reward("Komutan-General boss'u 4NP puanı kazandırır.")   
            say_reward("Beran-Staou boss'u 5NP puanı kazandırır.")   
            wait()
            send_letter_ex("NP Sistemi ", "green,ex", "scroll_open_green.tga")               
            end
            if bsec == 3 then
            say_title("NP Sistemi: ")
            say("NP Kazanmak için 90.lv üstü karakterleri kesmelisin")
            say("90.Lv üstü kestiğin karakterler sana 1 puan verir")
            say("100 Puan'a ulaştığın zaman hediye alabilirsin")
            say("Hediye aldığın zaman 100 puanın karakterden eksilir")
            say("Bir karakter'i 10 dakika aralıklarla kesebilirsin")
            say("Boss puanları puan tablosunda vardır bakabilirsiniz.")       
            wait()
            send_letter_ex("NP Sistemi ", "green,ex", "scroll_open_green.tga")       
            end
            if bsec == 4 then   
            wait()
                send_letter_ex("NP Sistemi ", "green,ex", "scroll_open_green.tga")
                return
            end
            if sec == 5 then
            wait()
                send_letter_ex("NP Sistemi ", "green,ex", "scroll_open_green.tga")
                return
                end
            end
        end
        when kill with npc.get_race() == 2491 begin --- Komutan
            local a = pc.get_natural()
            local b = pc.getqf("kill_komutan")
            pc.setqf("kill_komutan",b+1)
            pc.change_natural(4)
            chat(mob_name(2491).." Keserek 4 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+4 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+4 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 2495 begin --- General 1
            local a = pc.get_natural()
            local b = pc.getqf("kill_general")
            pc.setqf("kill_general",b+1)
            pc.change_natural(4)
            chat(mob_name(2492).." Keserek 4 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+4 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+4 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 2492 begin --- General 2
            local a = pc.get_natural()
            local b = pc.getqf("kill_general")
            pc.setqf("kill_general",b+1)
            pc.change_natural(4)
            chat(mob_name(2492).." Keserek 4 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+4 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+4 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 2091 begin --- Kraliçe Örümcek
            local a = pc.get_natural()
            local b = pc.getqf("kill_orumcek")
            pc.setqf("kill_orumcek",b+1)
            pc.change_natural(1)
            chat(mob_name(2091).." Keserek 1 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+1 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+1 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 2092 begin --- Örümcek Barones
            local a = pc.get_natural()
            local b = pc.getqf("kill_barones")
            pc.setqf("kill_barones",b+1)
            pc.change_natural(5)
            chat(mob_name(2092).." Keserek 5 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+10 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+10 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 2191 begin --- Dev Çöl Kaplumbağa
            local a = pc.get_natural()
            local b = pc.getqf("kill_col")
            pc.setqf("kill_col",b+1)
            pc.change_natural(1)
            chat(mob_name(2191).." Keserek 1 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+1 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+1 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 1304 begin --- Sarı Kaplan
            local a = pc.get_natural()
            local b = pc.getqf("kill_kaplan")
            pc.setqf("kill_kaplan",b+1)
            pc.change_natural(2)
            chat(mob_name(1304).." Keserek 2 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+2 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+2 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 2598 begin --- Azrail
            local a = pc.get_natural()
            local b = pc.getqf("kill_azrail")
            pc.setqf("kill_azrail",b+1)
            pc.change_natural(3)
            chat(mob_name(2598).." Keserek 3 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+3 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+2 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 792 begin --- Karanlık Hayalet Lider
            local a = pc.get_natural()
            local b = pc.getqf("kill_lider")
            pc.setqf("kill_lider",b+1)
            pc.change_natural(1)
            chat(mob_name(792).." Keserek 1 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+1 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+1 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 691 begin --- Ork Reisi
            local a = pc.get_natural()
            local b = pc.getqf("kill_ork")
            pc.setqf("kill_ork",b+1)
            pc.change_natural(1)
            chat(mob_name(691).." Keserek 1 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+1 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+1 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 1901 begin --- Dokuz Kuyruk
            local a = pc.get_natural()
            local b = pc.getqf("kill_dokuz")
            pc.setqf("kill_dokuz",b+1)
            pc.change_natural(2)
            chat(mob_name(1901).." Keserek 2 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+2 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+2 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 2206 begin --- Alev Kral
            local a = pc.get_natural()
            local b = pc.getqf("kill_alev")
            pc.setqf("kill_alev",b+1)
            pc.change_natural(2)
            chat(mob_name(2206).." Keserek 2 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+2 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+2 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 2306 begin --- Dev Hayalet Ağaç
            local a = pc.get_natural()
            local b = pc.getqf("kill_agac")
            pc.setqf("kill_agac",b+1)
            pc.change_natural(2)
            chat(mob_name(2306).." Keserek 2 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+2 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+2 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 1192 begin --- Güçlü Buz Cadısı
            local a = pc.get_natural()
            local b = pc.getqf("kill_cadi")
            pc.setqf("kill_cadi",b+1)
            pc.change_natural(3)
            chat(mob_name(1192).." Keserek 3 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+3 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+3 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 1093 begin --- Lusifer
            local a = pc.get_natural()
            local b = pc.getqf("kill_lusi")
            pc.setqf("kill_lusi",b+1)
            pc.change_natural(3)
            chat(mob_name(1093).." Keserek 3 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+5 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+5 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill with npc.get_race() == 2493 begin --- Beran-Setaou
            local a = pc.get_natural()
            local b = pc.getqf("kill_beran")
            pc.setqf("kill_beran",b+1)
            pc.change_natural(5)
            chat(mob_name(2493).." Keserek 5 NP Puanı Kazandın.")
            local krallik = pc.get_empire()
            local krallik_kill = game.get_event_flag("np_"..krallik.."")
            if pc.get_natural()+5 >= krallik_kill then
                game.set_event_flag("np_"..krallik.."",pc.get_natural())
                global_setvarchar("np_"..krallik.."",pc.get_name())
                chat("Krallığının en çok NP puanına sahip oyuncususun.")
            end
            if a+5 == 100 then
                chat("100 NP Puanın var. ")
                chat("Sol taraftaki görevden hediyeni alabilirsin.")
            end
        end
        when kill begin
            if npc.empire != pc.empire and npc.is_pc() then
                local vid = npc.get_vid()
                local old_pc = pc.select(vid)
                if old_pc != 0 then
                    local rakip_level = pc.get_level()
                    local rakip = pc.get_name()
                    local rakip_emp = pc.get_empire()
                    pc.select(old_pc)
                    if rakip_level > 90 and pc.get_level() >= 90 then
                        local kontrol = pc.getqf("kill_"..rakip.."")
                        local sure = pc.getqf("kill_"..rakip.."_sure")
                        if get_time() > sure then
                            pc.setqf("kill_"..rakip.."_sure",0)
                            if kontrol >= 2 then
                                pc.setqf("kill_"..rakip.."_sure",get_time()+60*60)
                                chat("Aynı oyuncuyu çok sık öldürdüğün için 60 dakika boyuncu bu oyuncudan NP kazanamayacaksın.")
                                pc.setqf("kill_"..rakip.."",0)
                                pc.setqf("np_engel",1)
                                return
                            else
                                pc.setqf("kill_"..rakip.."",kontrol+1)
                                pc.change_natural(1)
                                local rakip_kes_1 = pc.getqf("kill_"..rakip_emp.."")
                                pc.setqf("kill_"..rakip_emp.."",rakip_kes_1+1)
                                local krallik = pc.get_empire()
                                local krallik_kill = game.get_event_flag("np_"..krallik.."")
                                if pc.get_natural()+1 >= krallik_kill then
                                    game.set_event_flag("np_"..krallik.."",pc.get_natural())
                                    global_setvarchar("np_"..krallik.."",pc.get_name())
                                    chat("Krallığının en çok NP puanına sahip oyuncususun.")
                                end
                                if pc.get_natural()+1 == 100 then
                                    chat("100 NP Puanın var. ")
                                    chat("Sol taraftaki görevden hediyeni alabilirsin.")
                                end
                                chat("Tebrikler "..rakip.." oyuncusunu yenerek 1 NP puanı kazandın.")
                                chat("Toplam "..pc.get_natural().." NP puanın var. ")
                            end
                            pc.setqf("np_engel",0)
                        else
                            chat("Aynı oyuncuyu çok sık öldürdüğün için artık bu oyuncuda NP kazanamayacaksın.")
                            chat("Kalan süre "..math.floor(sure-get_time()).." saniye.")
                        end
                    end
                end               
            end
        end
    end
end
 
Konudaki quest için yazıyorum;

Lua (Quest):
quest npsistem begin
    state start begin

yukarıda ki kodun altına şöyle bir kod ekleyin;
Lua (Quest):
        when letter begin
            send_letter("NP Sistemi ")
        end
 
Konudaki quest için yazıyorum;

Lua (Quest):
quest npsistem begin
    state start begin

yukarıda ki kodun altına şöyle bir kod ekleyin;
Lua (Quest):
        when letter begin
            send_letter("NP Sistemi ")
        end
hocam ben bu guesti başka filesten aldım o filestiki np sistemini kendi filesime ekledim herşeyi fakat sadece bu guesti okumuyor yani okuyor ama çalışmıyor ama o fileste çalışıyorda aceba başka eklemem gereken bir functions yada başka birşeymi var
 
pc.theprnce_np_bak() bu quest fonksiyonu filesinizde ekli değil büyük ihtimal
 
Geri
Üst