Yardım Quest hk yardım

  • Konuyu açan Konuyu açan mehmet07
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 6
  • Gösterim Gösterim 107
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

mehmet07

Üye
Üye
Mesaj
306
Çözümler
7
Beğeni
53
Puan
454
Ticaret Puanı
0
elimdeki questte 70022 vnumlu iteme sağ tıklayınca etkisi devam ediyorken tekrar tıkladığımda yine tıklıyor ve nesneden eksiliyor her tıklamamda oysa etkisi devam ediyorken tıklanmaması lazım bu etki evam ediyor demesi lazım
iyi kötü chat gpt desteğiyle bişey yaptım ama bu kezde kod tekrar dönmüyor bir kere kullanılıyor sadece anormal bişey oldu gitti

quest:
Genişlet Daralt Kopyala
when 70022.use begin
    if pc.getqf("drink_drug") == 1 then
        chat("Etki zaten devam ediyor.")
        return
    end

    pc.setqf("drink_drug", 1)
    pc.setqf("duration", get_time()-1)
    chat("Biyolog süresi sıfırlandı!")
    pc.remove_item(70022, 1)
end
                when 71035.use begin
                        if get_time() < pc.getqf("duration") then
                                --say("")
                                chat("Henüz büyülü suyu kullanamazsın.")
                                --say("")
                                return
                        end
                        if pc.getqf("drink_drug")==1 then
                                --say("")
                                chat("Büyülü suyu zaten kullanmışsın.")
                                --say("")
                                return
                        end
                        if pc.count_item(30006)==0 then
                                say_title("Biyolog Chaegirab:")
                                say("")
                                say("Bana azı diş getirirsen,")
                                say("büyülü suyu kullanabilirsin.")
                                say("")
                                return
                        end
                        pc.remove_item(71035,1)
                        pc.setqf("drink_drug",1)
                end
 
Artık 71035 vnumlu iteme tıkladığında, o da drink_drug == 1 kontrolüne takılır ve "Büyülü suyu zaten kullanmışsın" uyarısı verir. Yani birini kullanmak diğerini kilitliyor.

teee:
Genişlet Daralt Kopyala
when 70022.use begin
    -- Bu item süre sıfırlıyor, o yüzden sadece süre varsa çalışmalı
    if get_time() > pc.getqf("duration") then
        chat("Şu an bekleme süren yok, kullanmana gerek yok.")
        return
    end

    if pc.getqf("süre_sifirlandi") == 1 then
        chat("Zaten bir kez süre sıfırladın, önce teslimat yap!")
        return
    end

    pc.setqf("süre_sifirlandi", 1)
    pc.setqf("duration", 0)
    chat("Biyolog süresi sıfırlandı!")
    pc.remove_item(70022, 1)
end

when 71035.use begin
    -- Büyülü su kontrolü
    if pc.getqf("büyülü_su_aktif") == 1 then
        chat("Büyülü suyu zaten kullanmışsın.")
        return
    end

    if pc.count_item(30006) == 0 then
        chat("Bana azı diş getirirsen bunu kullanabilirsin.")
        return
    end

    pc.remove_item(71035, 1)
    pc.setqf("büyülü_su_aktif", 1)
    chat("Etki aktif edildi!")
end

Denermisin.
 
Artık 71035 vnumlu iteme tıkladığında, o da drink_drug == 1 kontrolüne takılır ve "Büyülü suyu zaten kullanmışsın" uyarısı verir. Yani birini kullanmak diğerini kilitliyor.

teee:
Genişlet Daralt Kopyala
when 70022.use begin
    -- Bu item süre sıfırlıyor, o yüzden sadece süre varsa çalışmalı
    if get_time() > pc.getqf("duration") then
        chat("Şu an bekleme süren yok, kullanmana gerek yok.")
        return
    end

    if pc.getqf("süre_sifirlandi") == 1 then
        chat("Zaten bir kez süre sıfırladın, önce teslimat yap!")
        return
    end

    pc.setqf("süre_sifirlandi", 1)
    pc.setqf("duration", 0)
    chat("Biyolog süresi sıfırlandı!")
    pc.remove_item(70022, 1)
end

when 71035.use begin
    -- Büyülü su kontrolü
    if pc.getqf("büyülü_su_aktif") == 1 then
        chat("Büyülü suyu zaten kullanmışsın.")
        return
    end

    if pc.count_item(30006) == 0 then
        chat("Bana azı diş getirirsen bunu kullanabilirsin.")
        return
    end

    pc.remove_item(71035, 1)
    pc.setqf("büyülü_su_aktif", 1)
    chat("Etki aktif edildi!")
end

Denermisin.
yine tek seferlik dönüyor sonra bi daha yapaıyorum kilitleniyor bi yerde komplesini atıyım questin bi inceler misin
C++:
Genişlet Daralt Kopyala
----------------------------------------------------
--COLLECT QUEST_lv30
--METIN2 Collecting Quest
----------------------------------------------------
quest collect_quest_lv30  begin
        state start begin
                when login or levelup with pc.level >= 30 and pc.level <= 105 begin
                        set_state(information)
                end
        end
        state information begin
                when letter begin
                        local v = find_npc_by_vnum(20084)
                        if v != 0 then
                                target.vid("__TARGET__", v, "Biologist Chaegirab")
                        end
                        send_letter("Biyoloğun Ricası ")
                end
                when button or info begin
                        say_title("Biyoloğun Ricası ")
                        say("")
                        say("Uriel'in öğrencisi Biyolog Chaegirab, ")
                        say("seni arıyor.")
                        say("Git ve ona yardım et.")
                        say("")
                end
                when __TARGET__.target.click or
                        20084.chat."Ork Dişi" begin
                        target.delete("__TARGET__")
                        say_title("Biyolog Chaegirab:")
                        ---                                                   l
                        say("")
                        say("Aman!!! Bana , lütfen yardım et...")
                        say("Burada yaşayan canavarlar hakkında")
                        say("bilgi topluyorum..")
                        say("Bunu yanlız yapamam..")
                        say("Aslında bilgileri kendim ")
                        say("toplamam lazım..")
                        say("Tahmin edebileceğin gibi,")
                        say("Biyolog olarak büyük sorunlarım var.")
                        say("Bana lütfen yardım et, lütfen...")
                        say("Çalışmaların için tabi ki")
                        say("ödüllendirileceksin.")
                        say("")
                        wait()
                        say_title("Biyolog Chaegirab:")
                        say("")
                        say("Ejderha vadisinin canavarlarını inceliyorum.")
                        say("Ork'ların azı dişleri demiri bile ")
                        say("çiğneyebiliyor. Bu özellikleri yüzünden")
                        say("onlar benim için çok ilginç.")
                        say("Herhalde orklar ile bir derecede")
                        say("akrabayız..")
                        say("Orkların azı dişleri evrimin ")
                        say("anahtarı olması gerek.")
                        say("")
                        wait()
                        say_title("Biyolog Chaegirab:")
                        say("")
                        say("Bana ork azı dişi getirebilir misin ?")
                        say("Ama bana özel azı diş lazım! Bana")
                        say("bir özel diş getir, ama hep tek tek")
                        say("Onu muayene edebilmek için.")
                        say("Bol Şanslar!")
                        say("")
                        say("")
                        set_state(go_to_disciple)
                        pc.setqf("duration",0)
                        pc.setqf("collect_count",0)
                        pc.setqf("drink_drug",0)
                end
        end
        state go_to_disciple begin
                when letter begin
                        send_letter("Biyoloğun araştırması ")
                end
                when button or info begin
                        say_title("Ejderha Vadisi'nden Ork dişi")
                        ---                                                   l
                        say("")
                        say("Biyolog Chaegirab Ejderha Vadisi'ndeki")
                        say("Orkların azı dişini inceliyor. Ejderha")
                        say("vadisinden getirilecek dişler araştırmalar")
                        say("için lazım. Daha iyi inceleyebilmesi için,")
                        say("ona dişleri tek tek getirmelisin..")
                        say("")
                        say("")
                        say_item_vnum(30006)
                        say_reward("Şimdiye kadar ".." "..pc.getqf("collect_count").." tane ork dişi topladın.")
                        say("")
                end
when 70022.use begin
    -- Bu item süre sıfırlıyor, o yüzden sadece süre varsa çalışmalı
    if get_time() > pc.getqf("duration") then
        chat("Şu an bekleme süren yok, kullanmana gerek yok.")
        return
    end

    if pc.getqf("süre_sifirlandi") == 1 then
        chat("Zaten bir kez süre sıfırladın, önce teslimat yap!")
        return
    end

    pc.setqf("süre_sifirlandi", 1)
    pc.setqf("duration", 0)
    chat("Biyolog süresi sıfırlandı!")
    pc.remove_item(70022, 1)
end

when 71035.use begin
    -- Büyülü su kontrolü
    if pc.getqf("büyülü_su_aktif") == 1 then
        chat("Büyülü suyu zaten kullanmışsın.")
        return
    end

    if pc.count_item(30006) == 0 then
        chat("Bana azı diş getirirsen bunu kullanabilirsin.")
        return
    end

    pc.remove_item(71035, 1)
    pc.setqf("büyülü_su_aktif", 1)
    chat("Etki aktif edildi!")
end

        when 20084.chat."GM: collect_quest_lv30.skip_delay" with pc.count_item(30006) >0 and pc.is_gm() and get_time() <= pc.getqf("duration") begin
            say(mob_name(20084))
            say("You are GM, OK")
            pc.setqf("duration", get_time()-1)
            return
        end
            when 20084.chat."Ork dişi" with pc.count_item(30006) >0   begin
                        if get_time() > pc.getqf("duration") then
                            if  pc.count_item(30006) >0 then
                                say_title("Biyolog Chaegirab")
                                ---                                                   l
say("")
say("Ah!! Bana bir azı dişi getirdin.")
say("Önce denemem lazım...")
say("Bu biraz zaman alabilir. Belki bir kaç gün.")
say("Daha sonra yine gel.")
say("")
pc.remove_item("30006",1)

-- Süreyi belirle
local wait_time
if is_test_server() then
    wait_time = number(5, 10) -- test server: 5-10 saniye
else
    wait_time = number(60*60*8, 60*60*12) -- 8-12 saat random
end
pc.setqf("duration", get_time() + wait_time)

wait()

local pass_percent
if pc.getqf("drink_drug") == 0 then
    pass_percent = 60
else
    pass_percent = 90
end

                                local s= number(1,100)
                                if s<= pass_percent  then
                                   if pc.getqf("collect_count")< 9 then
                                                local index =pc.getqf("collect_count")+1
                                                pc.setqf("collect_count",index)
                                                say_title("Biyolog Chaegirab")
                                                say("")
                                                say("Müthiş!! Sen bir harikasın...")
                                                say("Şimdi bana bu araştırma için ".." "..10-pc.getqf("collect_count").. "tane ")
                                                say("daha diş lazım.")
                                                say("Tamamlamak için")
                                                say("Bol Şanslar!")
                                                say("")
                                                say("")
                                                pc.setqf("drink_drug",0)
                                                return
                                        end
    say_title("Biyolog Chaegirab:")
    say("")
    say("Bana azı dişlerini topladın !!")
    say("Ama şimdi bana özel bir taş lazım. Jinunggy'nin ruh taşı, onu bana getirebilir misin?")
    say("Onu Orklarda bulabilirsin.")
    say("")
    pc.setqf("collect_count", 0)
    pc.setqf("drink_drug", 0)
    pc.setqf("duration", 0)
    set_state(key_item)
    return
else
    say_title("Biyolog Chaegirab:")
    say("Hmm.... Ne yazık ki bu kırık...")
    say("Bunu kullanamam..")
    say("Bana bir tane daha getir.")
    say("")
    pc.setqf("drink_drug", 0)
    return
end

                else
                    say_title("Biyolog Chaegirab:")
                    say(""..item_name(30006).." 'ne sahip değilsin!")
                    return
                end
            else
                  say_title("Biyolog Chaegirab:")
          ---                                                   l
          say("")
                  say("Çok özür dilerim....")
                  say("Son Analiz daha bitmedi ")
                  say("Kusura bakma..")
                  say("Sonra bir daha ..")
                  say("gelebilir misin?")
          say("")
                  say("")
                  say("")
                  return
                end
        end

          
  --          when 71035.use begin
  --                  if pc.getqf("drink_drug")==1 then
  --                      chat("Biyolog malzemesi geçirme şansın arttı!")
  --              else
  --                      chat("Büyülü suyu zaten kullandın")
  --                  pc.remove_item(71035,1)
  --                  pc.setqf("drink_drug",1)
  --          end
  --      end
    end

        state key_item begin
                when letter begin
                        send_letter("Biyoloğun Araştırması ")
                        if pc.count_item(30220)>0 then
                                local v = find_npc_by_vnum(20084)
                                if v != 0 then
                                        target.vid("__TARGET__", v, "")
                                end
                        end
                end
                when button or info begin
                        if pc.count_item(30220) >0 then
                                say_title("Özel Taş ")
                                say("")
                                ---                                                   l
                                say_reward("Nihayet ruh taşını buldun.")
                                say_reward("Bu taşı Biyolog Chargirab'a götür.")
                                say_reward("Seni bekliyor.")
                                say("")
                                return
                        end
                        say_title("Özel Taş ")
                        say("")
                        ---                                                   l
                        say("Araştırması için ona ")
                        say("10 ork azı dişi bulduktan sonra,")
                        say("Jinunggy'nin ruh taşı lazım.")
                        say_item_vnum(30220)
                        say("Taşı Biyolog Chaegirab'a götür.")
                        say("Ruh Taşını "..mob_name(635).." , ")
                        say(""..mob_name(636).." ve "..mob_name(637).."")
                        say("den alabilirsin.")
                        say("")
                end
                when kill begin
                       if npc.get_race() == 365 or npc.get_race() == 636 or npc.get_race() == 637 then
                                pc.give_item2(30220,1)
                                send_letter("Jinunggy'nin ruh taşını buldun.")
                        end
                end
                when __TARGET__.target.click  or
                        20084.chat."Jinunggy'nin Ruh Taşı'nı buldum" with pc.count_item(30220) > 0  begin
                        target.delete("__TARGET__")
                        if pc.count_item(30220) > 0 then
                        say_title("Biyolog Chaegirab")
            ---                                                   l
                        say("")
                        say("Ohh!!! Çok teşekür ederim..")
                        say("Ödül olarak gücün yükseliyor..")
                        say("Bu bir gizli reçete , içinde güç ")
                        say("artırımı var...")
                        say("Baek-Go sana bir güç iksiri yapacak, ona git.")
                        say("Iyi eğlenceler!")
                        say("Senin sayende orkların hayatı hakkında çok şeyi")
                        say("öğrendim.")
                        say("")
                        say("")
                        pc.remove_item(30220,1)
                        set_state(__reward)
            else
                say_title("Biyolog Chaegirab")
                say(""..item_name(30220).." 'na sahip değilsin!")
                say("")
                return
                end
        end

        end
        state __reward begin
                when letter begin
                        send_letter("Biyoloğun ödülü ")
                        local v = find_npc_by_vnum(20018)
                        if v != 0 then
                                target.vid("__TARGET__", v, "Baek-Go")
                        end
                end
                when button or info begin
                        say_title("Biyoloğun ödülü ")
                        ---                                                   l
                        say("")
                        say("Jinunggy'nin ruh taşı ve azı dişlerinin")
                        say("ödülü olarak sana,")
                        say("Baek-Go'dan harika ilacı alman için")
                        say("Biyolog Chaegirab gizli bir reçete verdi.")
                        say("")
                end
                when __TARGET__.target.click  or
                        20018.chat."Gizli Reçete"  begin
                        target.delete("__TARGET__")
                        say_title("Baek-Go:")
                        say("Ah bu Biyolog Chaegirab'ın reçetesi mi? Hm bu")
                        say("senin hareket hızını 10 puan artıracak. İşte")
                        say("iksirin! Aynı zamanda sana bu yüzüğü vermeliyim.")
                        say("Değerli görünüyor, kaybetme.")
                        say("Oh, işte ödülün!")
                           say_reward("Chaegirab'ın ricasını tamamladığın için ödül")
                        say_reward("olarak hareket hızın kalıcı olarak 10 puan")
                        say_reward("artırıldı.")
                        affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60) -- 60Years
                        pc.give_item2(71015)
                        pc.give_item2(50109)
                        clear_letter()
                        set_quest_state("collect_quest_lv40", "run")
                        set_state(__complete)
                end
        end
        state __giveup__ begin
                when 20084.chat."Bir deneme daha." begin
                        say_title("Biyolog Chaegirab:")
                        say("")
                        say("Bir daha denemek istiyor musun?")
                        say("Hmm..çok iyi")
                        say("Çok beğendim ama, ")
                        say("Lütfen bir daha dene.")
                        say("Görüşmek üzere.")
                        set_state(start)
             end
         end
        state __complete begin
        end
end
 
Geri
Üst