Çözüldü Otomatik Exp drobu

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.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

BlinkzAI

Üye
Üye
Mesaj
16
Beğeni
6
Puan
50
Ticaret Puanı
0
Merhaba herkese iyi forumlar ben serverimde belirtilen saatlerde exp drobu açmak istiyorum ama baya bir bakınmama rağmen bulamadım diğer eventleri sorunsuz halletim ama bunu bulamadım bir türlü
kullandığım otomatik event luası​
Lua (Quest):
quest oto_event begin
    state start begin
        when letter begin
            send_letter("Etkinlik Takvimi ")
        end
        when info or button begin
            say_title("Etkinlik Takvimi :")
            say("")
            say("Her gün: 00.00 - 02.00 / 18.00 - 20.00 ")
            say("Pazartesi: Ay Işığı 21.00 - 23.00 ")
            say("Salı: Futbol Topu 21.00 - 23.00 ")
            say("Çarşamba: Abanoz Sandık 21.00 - 23.00 ")
            say("Perşembe: Gizemli Sandık 21.00 - 23.00 ")
            say("Cuma: Esrarengiz Sandık 21.00 - 23.00 ")
            say_reward("Özel Eventler;")
            say("Cumartesi : VS-Turnuvası 21.00 KRAL Tag ")
            say("Pazar : Sürpriz Eventler ")
            say("")
            wait()
            send_letter("Etkinlik Takvimi ")
        end
        when login with pc.is_gm() begin
            clear_server_timer("oto_event")
            server_loop_timer("oto_event",1)
        end
        when oto_event.server_timer begin
            local saat = tonumber(os.date("%H"))
            local time = os.date("%X")
            local gun = tostring(os.date("%A"))
            if gun == "Monday" then
                if time == "21:00:00" then
                    if game.get_event_flag("event_ayisigi_drop") == 0 then
                        game.set_event_flag("event_ayisigi_drop",1)
                        notice_all("Ayisigi Define Sandığı eventi 2 saat süreyle başlamıştır.")
                    end
                elseif time == "23:00:00" then
                    if game.get_event_flag("event_ayisigi_drop") == 1 then
                        game.set_event_flag("event_ayisigi_drop",0)
                        notice_all("Ayisigi Define Sandığı eventi sona ermiştir.")
                    end
                end
otomatik event questim böyle acaba nasıl exp droplarını açabilirim o questi nasıl yazmalıyım
 
Çözüm
Lua (Quest):
quest scp_event begin
    state start begin
        when letter with pc.is_gm() begin
            send_letter("GM: Drop Ayarlari")
        end
        when info or button with pc.is_gm() begin
            say_title("GM Drop Ayarlari - Giris")
            say("")
            say("Merhabalar "..pc.get_name())
            say("Bu paneli kullanarak Event Ayarlarini duzenleyebilirsin.")
            say_reward("Mevcut Ayarlar:")
            say("Event Orani: "..game.get_event_flag("scp_event_oran"))
            say_reward("Coded By TurkMMO-Scorpion1453")
            say("")
            main_sec=select("Drop Değerlerini Degistir","Kapat")
            if main_sec==2 then
                syschat("<GM: Drop Ayarlari> Basariyla Cikis Yapildi.")...
örnek bi kod vereyim sana belki işini görür

Lua (Quest):
            if gun == "Monday" then
                if time == "21:00:00" then
               if game.get_event_flag("exp_event") == 0 then
                   game.set_event_flag("exp_event",1)
                   notice_all("<Event> Tum oranlar 1 saat sure ile açilmistir. Yeni Oran= "..oran)
                   __give_empire_priv(0, 1, oran, 60*60) --  İtem Drop
                   __give_empire_priv(0, 2, oran, 60*60) --  Yang Drop
                   __give_empire_priv(0, 4, oran, 60*60) --  EXP Drop
                    end
                elseif time == "23:00:00" then
               if game.get_event_flag("exp_event") == 1 then
                   game.set_event_flag("exp_event",0)
                   notice_all("<Event> Yuksek Oran Eventi sona ermistir. İyi Oyunlar.")
                    end
 
örnek bi kod vereyim sana belki işini görür
Hocam mesela ben ayışığı açmak için başka bir quest açıp ayışığı açmak için gereken questi kullandım o zaman çalışmaya başladı notice all servere duyuru çekmediği için göremiyorum da başladı mı başlamadı mı bu şekilde yarar mı kullansam bunları

----

Yani demek istediğim şöyle bir quest açmam gerekiyor yoksa açmıyor eventleri
Lua (Quest):
quest event_altigen begin
    state start begin
    when kill with game.get_event_flag("event_altigen_drop") == 1 and not npc.is_pc() begin
    local s == number(1.400)
        if s == 1 then
        game.drop_item_with_ownership("50037",1)
        end
    end
end
exp için oluşturmak istedim pek bir bilgim yok keşke Whistlee hocamız bir gelse de quest videolarına iyice bir bilginsem :)
 
noticeall duyuru çekmiyorsa quest function listenizde notice_all ekli olmayabilir
 
Lua (Quest):
quest scp_event begin
    state start begin
        when letter with pc.is_gm() begin
            send_letter("GM: Drop Ayarlari")
        end
        when info or button with pc.is_gm() begin
            say_title("GM Drop Ayarlari - Giris")
            say("")
            say("Merhabalar "..pc.get_name())
            say("Bu paneli kullanarak Event Ayarlarini duzenleyebilirsin.")
            say_reward("Mevcut Ayarlar:")
            say("Event Orani: "..game.get_event_flag("scp_event_oran"))
            say_reward("Coded By TurkMMO-Scorpion1453")
            say("")
            main_sec=select("Drop Değerlerini Degistir","Kapat")
            if main_sec==2 then
                syschat("<GM: Drop Ayarlari> Basariyla Cikis Yapildi.")
                send_letter("GM: Drop Ayarlari")
                return
            elseif main_sec==1 then
                say_title("GM Drop Ayarlari - Drop Orani Girisi")
                say("")
                say("İstediğiniz drop oranini rakamsal olarak giriniz.")
                say("")
                get_oran=tonumber(input())
                if get_oran==0 or get_oran=="" or get_oran==nil or get_oran==0 then
                    syschat("<GM: Drop Ayarlari> Geçersiz giris, islem iptal edildi.")
                    send_letter("GM: Drop Ayarlari")
                    return
                end
                game.set_event_flag("scp_event_oran", get_oran)
                syschat("<GM: Drop Ayarlari> İslem basarili: Yeni Event Değeri: "..get_oran)
                send_letter("GM: Drop Ayarlari")
            end
        end
        when login begin
            local saat = tonumber(os.date("%H")) -- Bazi serverlerde değisikilik gosterebiliyor. Eğer bu sekilde olmazsa 'os.time' olarak değistirin.
            if saat == 20 then
                if game.get_event_flag("exp_event") == 0 then
                    game.set_event_flag("exp_event",1)
                    local oran=game.get_event_flag("scp_event_oran")
                    notice_all("<Event> Tum oranlar 1 saat sure ile açilmistir. Yeni Oran= "..oran)
                    __give_empire_priv(0, 1, oran, 60*60) --  İtem Drop
                    __give_empire_priv(0, 2, oran, 60*60) --  Yang Drop
                    __give_empire_priv(0, 4, oran, 60*60) --  EXP Drop
                end
            elseif saat == 21 then
                if game.get_event_flag("exp_event") == 1 then
                    game.set_event_flag("exp_event",0)
                    notice_all("<Event> Yuksek Oran Eventi sona ermistir. İyi Oyunlar.")
                end
            end
        end -- When End
    end -- Sate End
end -- Quest End
 
En son bir moderatör tarafından düzenlenmiş:
Çözüm
Rica ederim çözüldü olarak işaretleyip kapattım konuyu problemin olursa yeni konu açmaktan çekinme :D
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst