Çözüldü İtem karşılığı Level verme npc quest lazım olan var mı?

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Çözüm
Lua (Quest):
quest deneme begin
        state start begin
            when 9012.chat."Level Ver" begin
                local verigirisi = select("Level Ver","Kapat")
                    if verigirisi == 1 then
                        say("Level almak için gerekli nesneye ihtiyacın olacak")
                        say(" "..item_name(299).." itemine ihtiyacım var. ")
                        say("Bu iteme sahip misin?")
                        local islemyapsana = select("Evet","Hayır")
                            if islemyapsana == 1 then
                            if pc.count_item(299) < 1 then
                            say("İteme sahip değilsin.")
                            else
                            say("Tebrikler seviye yüklemesi...
Lua (Quest):
quest deneme begin
        state start begin
            when 9012.chat."Level Ver" begin
                local verigirisi = select("Level Ver","Kapat")
                    if verigirisi == 1 then
                        say("Level almak için gerekli nesneye ihtiyacın olacak")
                        say(" "..item_name(299).." itemine ihtiyacım var. ")
                        say("Bu iteme sahip misin?")
                        local islemyapsana = select("Evet","Hayır")
                            if islemyapsana == 1 then
                            if pc.count_item(299) < 1 then
                            say("İteme sahip değilsin.")
                            else
                            say("Tebrikler seviye yüklemesi yapıldı.")
                            pc.give_exp2(3344332)
                            pc.remove_item(299,1)
                            end--item kontrol
                            end--islemyapsana
                    end--verigirisi
                end--when
            end--state
        end--quest

ayak üstü yazdım test yapar mısın?

pc.give_exp2() içerisine exp yüklemesi için miktar yazmalısın level için nasıl ayarlarsan artık sana kalmış.
pc.remove_item() item silmesi için 299(Dolunay Kılıcı+9) olarak yazdım düzeltirsin.
if pc.count_item(299) olan yeride düzelt.
 
Çözüm
Lua (Quest):
quest deneme begin
        state start begin
            when 9012.chat."Level Ver" begin
                local verigirisi = select("Level Ver","Kapat")
                    if verigirisi == 1 then
                        say("Level almak için gerekli nesneye ihtiyacın olacak")
                        say(" "..item_name(299).." itemine ihtiyacım var. ")
                        say("Bu iteme sahip misin?")
                        local islemyapsana = select("Evet","Hayır")
                            if islemyapsana == 1 then
                            if pc.count_item(299) < 1 then
                            say("İteme sahip değilsin.")
                            else
                            say("Tebrikler seviye yüklemesi yapıldı.")
                            pc.give_exp2(3344332)
                            pc.remove_item(299,1)
                            end--item kontrol
                            end--islemyapsana
                    end--verigirisi
                end--when
            end--state
        end--quest

ayak üstü yazdım test yapar mısın?

pc.give_exp2() içerisine exp yüklemesi için miktar yazmalısın level için nasıl ayarlarsan artık sana kalmış.
pc.remove_item() item silmesi için 299(Dolunay Kılıcı+9) olarak yazdım düzeltirsin.
if pc.count_item(299) olan yeride düzelt.


Eline sağlık, güzel bir öneri bırakayım.

pc.get_next_exp()
pc.give_exp2

Fonksiyonları kullanılarak var olan seviye ve ihtiyaç duyulan exp kontrolü yapılıp daha doğru bir şeklide seviye atlatılabilir
 
Deneyeceğim akşam teşekkürler
Lua (Quest):
quest deneme begin
        state start begin
            when 9012.chat."Level Ver" begin
                local verigirisi = select("Level Ver","Kapat")
                    if verigirisi == 1 then
                        say("Level almak için gerekli nesneye ihtiyacın olacak")
                        say(" "..item_name(299).." itemine ihtiyacım var. ")
                        say("Bu iteme sahip misin?")
                        local islemyapsana = select("Evet","Hayır")
                            if islemyapsana == 1 then
                            if pc.count_item(299) < 1 then
                            say("İteme sahip değilsin.")
                            else
                            say("Tebrikler seviye yüklemesi yapıldı.")
                            pc.give_exp2(3344332)
                            pc.remove_item(299,1)
                            end--item kontrol
                            end--islemyapsana
                    end--verigirisi
                end--when
            end--state
        end--quest

ayak üstü yazdım test yapar mısın?

pc.give_exp2() içerisine exp yüklemesi için miktar yazmalısın level için nasıl ayarlarsan artık sana kalmış.
pc.remove_item() item silmesi için 299(Dolunay Kılıcı+9) olarak yazdım düzeltirsin.
if pc.count_item(299) olan yeride düzelt.
 
Lua (Quest):
quest deneme begin
        state start begin
            when 9012.chat."Level Ver" begin
                local verigirisi = select("Level Ver","Kapat")
                    if verigirisi == 1 then
                        say("Level almak için gerekli nesneye ihtiyacın olacak")
                        say(" "..item_name(299).." itemine ihtiyacım var. ")
                        say("Bu iteme sahip misin?")
                        local islemyapsana = select("Evet","Hayır")
                            if islemyapsana == 1 then
                            if pc.count_item(299) < 1 then
                            say("İteme sahip değilsin.")
                            else
                            say("Tebrikler seviye yüklemesi yapıldı.")
                            pc.give_exp2(3344332)
                            pc.remove_item(299,1)
                            end--item kontrol
                            end--islemyapsana
                    end--verigirisi
                end--when
            end--state
        end--quest

ayak üstü yazdım test yapar mısın?

pc.give_exp2() içerisine exp yüklemesi için miktar yazmalısın level için nasıl ayarlarsan artık sana kalmış.
pc.remove_item() item silmesi için 299(Dolunay Kılıcı+9) olarak yazdım düzeltirsin.
if pc.count_item(299) olan yeride düzelt.
Buna bide her levelde karaktere özellik verecek bişeylerde yazarmısın kalıcı olarak ama örn. Özellik yari insan beceri hasarı gibi
 
çok önceden paylaşmıştım dene belki ışını gorur

Kod:
quest levelup begin
    state start begin
        when levelup begin
            if pc.get_level() == 85 then
                say_title("Tebrikler dostum.")
                say("85 Seviyeye Ulaştın")
                say("Bunun İçin Sana Aşağıdaki")
                say("İtemlerden Birini Hediye Ediyorum")
                say("Seviye Atladikca ödüller büyür, unutma !")
                say_reward("Bir seçenegi seç.")
local odul85 = select ("5 Adet Ruhtaşı")
            if odul85 == 1 then
                pc.give_item2("50513", 5)
                chat (""..pc.getname().." Hediyelerden 5 Adet Ruhtaşini Seçtin.")
                chat ( "Bir Sonraki Odülü Seviye 90'da Alıcaksın.." )
                return
                end
            elseif pc.get_level() == 90 then
                say_title("Tebrikler dostum.")
                say("90 Seviyeye Ulaştın")
                say("Bunun İçin Sana Aşağıdaki")
                say("İtemlerden Birini Hediye Ediyorum")
                say("Seviye Atladikca ödüller büyür, unutma !")
                say_reward("Bir seçenegi seç.")
local odul90 = select ("5 Adet Sihirli Metal")
            if odul90 == 1 then
                pc.give_item2("25041", 5)
                chat (""..pc.getname().." Hediyelerden 5 Adet Sihirli Metali Seçtin.")
                chat ( "Bir Sonraki Odülü Seviye 93'da Alıcaksın.." )
                return
                end
            elseif pc.get_level() == 93 then
                say_title("Tebrikler dostum.")
                say("90 Seviyeye Ulaştın")
                say("Bunun İçin Sana Aşağıdaki")
                say("İtemlerden Birini Hediye Ediyorum")
                say("Seviye Atladikca ödüller büyür, unutma !")
                say_reward("Bir seçenegi seç.")
local odul93 = select ("5 Adet Sihirli Metal")
            if odul93 == 1 then
                chat (""..pc.getname().." Hediyelerden 3 Adet Tecrübe Yüzüğünü Seçtin.")
                pc.give_item2("70005", 1)
                pc.give_item2("70005", 1)
                pc.give_item2("70005", 1)
                chat ( "Bir Sonraki Odülü Seviye 95'de Alıcaksın.." )
                return
                end
            elseif pc.get_level() == 95 then
                say_title("Tebrikler dostum.")
                say("95 Seviyeye Ulaştın")
                say("Bunun İçin Sana Aşağıdaki")
                say("İtemlerden Birini Hediye Ediyorum")
                say("Seviye Atladikca ödüller büyür, unutma !")
                say_reward("Bir seçenegi seç.")
    local odul95 = select ("Korku Maskesi", "Ork Kapsonu", "Boynuzlu Kask", "Kardinal Sapkasi")
            if odul95 == 1 then
                chat (""..pc.getname().." Hediyelerden Korku Maskesi'ni Seçtin.")
                pc.give_item2("12260", 1)
                chat ( "Bir Sonraki Odülü Seviye 97'de Alıcaksın.." )
                return
                end
            if odul95 == 2 then
                chat (""..pc.getname().." Hediyelerden Ork Kapsonu'nu Seçtin.")
                pc.give_item2("12390", 1)
                chat ( "Bir Sonraki Odülü Seviye 97'de Alıcaksın.." )
                return
                end
            if odul95 == 3 then
                chat (""..pc.getname().." Hediyelerden Boynuzlu Kask'ı Seçtin.")
                pc.give_item2("12530", 1)
                chat ( "Bir Sonraki Odülü Seviye 97'de Alıcaksın.." )
                return
                end
            if odul95 == 4 then
                chat (""..pc.getname().." Hediyelerden Kardinal Sakpasi'nı Seçtin.")
                pc.give_item2("12670", 1)
                chat ( "Bir Sonraki Odülü Seviye 97'de Alıcaksın.." )
                return
                end
            elseif pc.get_level() == 97 then
                say_title("Tebrikler dostum.")
                say("97 Seviyeye Ulaştın")
                say("Bunun İçin Sana Aşağıdaki")
                say("İtemlerden Birini Hediye Ediyorum")
                say("Seviye Atladikca ödüller büyür, unutma !")
                say_reward("Bir seçenegi seç.")
    local odul97 = select ("Yali Capkını Ayakkabi", "Kirin Ayakkabisi", "Cosku Ayakkabisi", "Sohret Cizmesi")
            if odul97 == 1 then
                chat (""..pc.getname().." Hediyelerden Yalı Çapkını Ayakkabı'sını Seçtin.")
                pc.give_item2("15430", 1)
                chat ( "Bir Sonraki Odülü Seviye 98'de Alıcaksın.." )
                return
                end
            if odul97 == 2 then
                chat (""..pc.getname().." Hediyelerden Kirin Ayakkabısı'nı Seçtin.")
                pc.give_item2("15410", 1)
                chat ( "Bir Sonraki Odülü Seviye 98'de Alıcaksın.." )
                return
                end
            if odul97 == 3 then
                chat (""..pc.getname().." Hediyelerden Çoşku Ayakkabısı'nı Seçtin.")
                pc.give_item2("15370", 1)
                chat ( "Bir Sonraki Odülü Seviye 98'de Alıcaksın.." )
                return
                end
            if odul97 == 4 then
                chat (""..pc.getname().." Hediyelerden Şöhret Çizmesi'nı Seçtin.")
                pc.give_item2("15390", 1)
                chat ( "Bir Sonraki Odülü Seviye 98'de Alıcaksın.." )
                return
                end
            elseif pc.get_level() == 98 then
                say_title("Tebrikler dostum.")
                say("98 Seviyeye Ulaştın")
                say("Bunun İçin Sana Aşağıdaki")
                say("İtemlerden Birini Hediye Ediyorum")
                say("Seviye Atladikca ödüller büyür, unutma !")
                say_reward("Bir seçenegi seç.")
    local odul98 = select ("45 Adet Ruh Tasi", "200 Adet Zen Fasulyesi", "20 Adet Sihirli Metal", "1 Adet Eskrim Brosuru")
            if odul98 == 1 then
                chat (""..pc.getname().." Hediyelerden Ruh Tasi'nı Seçtin.")
                pc.give_item2("50513", 45)
                chat ( "Bir Sonraki Odülü Seviye 99'de Alıcaksın.." )
                return
                end
            if odul98 == 2 then
                chat (""..pc.getname().." Hediyelerden Zen Fasulyesi'nı Seçtin.")
                pc.give_item2("70102", 200)
                chat ( "Bir Sonraki Odülü Seviye 99'de Alıcaksın.." )
                return
                end
            if odul98 == 3 then
                chat (""..pc.getname().." Hediyelerden Sihirli Metal'ı Seçtin.")
                pc.give_item2("25041", 20)
                chat ( "Bir Sonraki Odülü Seviye 99'de Alıcaksın.." )
                return
                end
            if odul98 == 4 then
                chat (""..pc.getname().." Hediyelerden Eskrim Brösürü'nu Seçtin.")
                pc.give_item2("70031", 1)
                chat ( "Bir Sonraki Odülü Seviye 99'de Alıcaksın.." )
                return
                end
            elseif pc.get_level() == 99 then
            notice_all("".. pc.get_name() .." : İsimli Oyuncu 99 level olmuştur.")
            notice_all("".. pc.get_name() .." : Maximum Levele Ulaşmıştır")
            notice_all("Kendisini Tebrik Ederiz")
                say_title("Tebrikler dostum.")
                say("99 Seviyeye Ulaştın")
                say("Bunun İçin Sana Aşağıdaki")
                say("İtemlerden Birini Hediye Ediyorum")
                say("Level Sinirina Ulastin Daha Hediya Alamayacaksin!")
                say_reward("Bir seçenegi seç.")
    local odul98 = select ("Ejderha Pulu", "Ejderha Pencesi", "10.000 Derece Puani")
            if odul98 == 1 then
                chat (""..pc.getname().." Hediyelerden Ejderha Pulu'nu Seçtin.")
                pc.give_item2("71123", 1)
                chat ( "Level Sınırına Ulaştın.." )
                return
                end
            if odul98 == 2 then
                chat (""..pc.getname().." Hediyelerden Ejderha Pencesi'nı Seçtin.")
                pc.give_item2("71129", 1)
                chat ( "Level Sınırına Ulaştın.." )
                return
                end
            if odul98 == 3 then
                chat (""..pc.getname().." Hediyelerden 10.000 Derece'Yi Seçtin.")
                pc . changealignment ( 10000 )
                chat ( "Level Sınırına Ulaştın.." )
                return
                end
            end
            end
        end
    end


ödül kısmındaki pc.give_item2("71123", 1) yazılarının altına eklersen 10 yarı insan bonusu ekler questle verdiğin her özellik miktarı farklı olması lazım yoksa ışlemez 2 defa %10 eklersen çalışmaz 1 %10 - 2 %11 eklersen çalışır
Kod:
affect.add_collect(apply.ATTBONUS_HUMAN, 10, 60*60*24*365*60)
 
eyw kanka sagolasın son forma bi baksana sana zahmet
arkadaşın yazdığı quest çok farklı. Karakter level atladığı zaman çalışıyor. if sorgusu yapmış ve leveli eşit gelen durumda ödül veriyor. Bu bence gereksiz olacaktır. Düşünsene 1000 oyuncu var her biri level atlıyor ve sürekli if sorgusu oluyor gereksiz yormuş oluyorsun.
 
Geri
Üst