Yardım ETKİNLİK TAKVİMİ QUEST

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

comehere97

Üye
Üye
Mesaj
16
Beğeni
1
Puan
405
Ticaret Puanı
0
C++:
quest event begin
    state start begin
        when letter begin
            send_letter("Etkinlik Takvimi ")
        end
        when info or button begin
            say_title("Etkinlik Takvimi :")
            say("")
            say_altin("Pazartesi: Futbol Topu 21:00 - 23:00 ")
            say_altin("Salı: Biyolog Etkinliği 21:00 - 23:00 ")
            say_altin("Çarşamba: Kostüm Etkinliği 21:00 - 23:00 ")
            say_altin("Perşembe: Ayışığı Etkinliği 21:00 - 23:00 ")
            say_altin("Cuma: Altıgen Etkinliği 21:00 - 23:00 ")
            say_mavi2("Özel Eventler;")
            say_altin("Cumartesi Sürpriz Eventler ")
            say_altin("Pazar Sürpriz Eventler ")
            say("")
            wait()
            send_letter("Etkinlik Takvimi ")
        end
        when login begin
            local saat = tonumber(os.date("%H"))
            local gun = tostring(os.date("%A"))
            if gun == "Wednesday" then
                if saat == 23 then
                    if game.get_event_flag("ay_ac") == 0 then
                        game.set_event_flag("ay_ac",1)
                        game.set_event_flag("ay_kapa",0)
                        game.set_event_flag("ayisigi",1)
                        notice_all("Ayışığı eventi 2 saat süreyle başlamıştır.")
                    end
                elseif saat == 22 then
                    if game.get_event_flag("ay_kapa") == 0 then
                        game.set_event_flag("ay_ac",0)
                        game.set_event_flag("ay_kapa",1)
                        game.set_event_flag("ayisigi",0)
                        notice_all("Ayışığı eventi sona ermiştir.")
                    end
                end
            elseif gun == "Wednesday" then
                if saat == 14 then
                    if game.get_event_flag("top_ac") == 0 then
                        game.set_event_flag("top_ac",1)
                        game.set_event_flag("top_kapa",0)
                        game.set_event_flag("futboltopu",1)
                        notice_all("Futbol Topu eventi 2 saat süreyle başlamıştır.")
                    end
                elseif saat == 15 then
                    if game.get_event_flag("top_kapa") == 0 then
                        game.set_event_flag("top_ac",0)
                        game.set_event_flag("top_kapa",1)
                        game.set_event_flag("futboltopu",0)
                        notice_all("Futbol Topu eventi bitmiştir.")
                    end
                end
            elseif gun == "Wednesday" then
                if saat == 16 then
                    if game.get_event_flag("pet_ac") == 0 then
                        game.set_event_flag("pet_ac",1)
                        game.set_event_flag("pet_kapa",0)
                        game.set_event_flag("pet_event",1)
                        notice_all("Pet Sandığı eventi 2 saat süreyle başlamıştır.")
                    end
                elseif saat == 17 then
                    if game.get_event_flag("pet_kapa") == 0 then
                        game.set_event_flag("pet_ac",0)
                        game.set_event_flag("pet_kapa",1)
                        game.set_event_flag("pet_event",0)
                        notice_all("Pet Sandığı eventi bitmiştir.")
                    end
                end
            elseif gun == "Thursday" then
                if saat == 11 then
                    if __give_empire_priv(0, 4, 400, 1) then
                        __give_empire_priv(0, 4, 400, 1)
                        __give_empire_priv(0, 4, 400, 1)
                        __give_empire_priv(0, 4, 400, 1)
                        notice_all("Exp Bonus Eventi %400 oranında 1 saat süreyle başlamıştır.")
                    end
                elseif saat == 12 then
                    if __give_empire_priv(0, 4, 350, 60*60*24*15) then
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        notice_all("Exp Bonus Eventi %350 oranında tekrar eski haline döndü.")
                    end
                end
            elseif gun == "Thursday" then
                if saat == 20 then
                    if game.get_event_flag("bilgi_ac") == 0 then
                        game.set_event_flag("bilgi_ac",1)
                        game.set_event_flag("bilgi_kapa",0)
                        game.set_event_flag("kids_day_quiz",1)
                        notice_all("Bulmaca Kutusu Eventi 2 saat süreyle başlamıştır.")
                    end
                elseif saat == 21 then
                    if game.get_event_flag("bilgi_kapa") == 0 then
                        game.set_event_flag("bilgi_ac",0)
                        game.set_event_flag("bilgi_kapa",1)
                        game.set_event_flag("kids_day_quiz",0)
                        notice_all("Bulmaca Kutusu Eventi bitmiştir.")
                    end
                end
            end 
        end
    end
end
 
Son düzenleme:
46. satırda şu kod var;
Lua (Quest):
notice_all("Exp eventi 2 saat süreyle başlamıştır.")
Altına end ekleyin. Şu şekilde olması gerek;

Lua (Quest):
                        notice_all("Exp eventi 2 saat süreyle başlamıştır.")
                    end
 
Lua (Quest):
quest event begin
    state start begin
        when letter begin
            send_letter("Etkinlik Takvimi ")
        end
        when info or button begin
            say_title("Etkinlik Takvimi :")
            say("")
            say_altin("Pazartesi: Futbol Topu Eventi 21:00 - 22:00 ")
            say_altin("Salı: Exp Bonus Eventi 21:00 - 23:00 ")
            say_altin("Çarşamba: Ayışığı Eventi 21:00 - 22:00 ")
            say_altin("Perşembe: Simit Eventi 21:00 - 22:00 ")
            say_altin("Cuma: Exp Bonus Eventi  21:00 - 23:00 ")
            say_mavi2("Cumartesi: Futbol Topu Eventi 20:00 - 22:00 ")
            say_mavi2("Pazar: Ayışığı Eventi 20:00 - 22:00 ")
            say("")
            wait()
            send_letter("Etkinlik Takvimi ")
        end
        when login begin
            local saat = tonumber(os.date("%H"))
            local gun = tostring(os.date("%A"))
            if gun == "Monday" then
                if saat == 21 then
                    if game.get_event_flag("futboltopu_ac") == 0 then
                        game.set_event_flag("futboltopu_ac",1)
                        game.set_event_flag("futboltopu_kapa",0)
                        game.set_event_flag("futboltopu",1)
                        biger_all("Futbol Topu eventi 1 saat süreyle başlamıştır.")
                        biger_all("Seviyenize uygun slotlar keserek elde edebilirsiniz.")
                        biger_all("Futbol Topu eventi bitiş saati 22:00'dır. Başarılar...")
                    end
                elseif saat == 23 then
                    if game.get_event_flag("futboltopu_kapa") == 0 then
                        game.set_event_flag("futboltopu_ac",0)
                        game.set_event_flag("futboltopu_kapa",1)
                        game.set_event_flag("futboltopu",0)
                        biger_all("Saat 22:00 Futbol Topu eventi son bulmuştur.")
                        biger_all("Hafta sonu tekrar sizlerle olacağım.")
                    end
                end
            elseif gun == "Tuesday" then
                if saat == 21 then
                    if __give_empire_priv(0, 4, 400, 60*60*24*15) then
                        __give_empire_priv(0, 4, 400, 60*60*24*15)
                        __give_empire_priv(0, 4, 400, 60*60*24*15)
                        __give_empire_priv(0, 4, 400, 60*60*24*15)
                        biger_all("Exp bonus eventi %400 oranında 2 saat süreyle başlamıştır.")
                        biger_all("Saat 23:00 Exp bonus eventi oranları eski haline dönecektir.")
                    end
                elseif saat == 23 then
                    if __give_empire_priv(0, 4, 350, 60*60*24*15) then
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        biger_all("Saat 23:00 Exp bonus eventi oranları %350 eski haline döndü.")
                        biger_all("Cuma günü tekrar sizlerle olacağım.")
                    end
                end
            elseif gun == "Wednesday" then
                if saat == 21 then
                    if game.get_event_flag("ayisigi_ac") == 0 then
                        game.set_event_flag("ayisigi_ac",1)
                        game.set_event_flag("ayisigi_kapa",0)
                        game.set_event_flag("ayisigi",1)
                        biger_all("Ayışığı eventi 1 saat süreyle başlamıştır.")
                        biger_all("Seviyenize uygun slotlar keserek elde edebilirsiniz.")
                        biger_all("Ayışığı eventi bitiş saati 22:00'dır. Başarılar...")
                    end
                elseif saat == 23 then
                    if game.get_event_flag("ayisigi_kapa") == 0 then
                        game.set_event_flag("ayisigi_ac",0)
                        game.set_event_flag("ayisigi_kapa",1)
                        game.set_event_flag("ayisigi",0)
                        biger_all("Saat 22:00 Ayışığı eventi son bulmuştur.")
                        biger_all("Hafta sonu tekrar sizlerle olacağım.")
                    end
                end
            elseif gun == "Thursday" then
                if saat == 21 then
                    if game.get_event_flag("ramazan_ac") == 0 then
                        game.set_event_flag("ramazan_ac",1)
                        game.set_event_flag("ramazan_kapa",0)
                        game.set_event_flag("ramazan",1)
                        biger_all("Ramazan eventi 1 saat süreyle başlamıştır.")
                        biger_all("Seviyenize uygun slotlar keserek elde edebilirsiniz.")
                        biger_all("Ramazan eventi bitiş saati 22:00'dır. Başarılar...")
                    end
                elseif saat == 23 then
                    if game.get_event_flag("ramazan_kapa") == 0 then
                        game.set_event_flag("ramazan_ac",0)
                        game.set_event_flag("ramazan_kapa",1)
                        game.set_event_flag("ramazan",0)
                        biger_all("Saat 22:00 Ramazan eventi son bulmuştur.")
                        biger_all("Hafta'ya tekrar sizlerle olacağım.")
                    end
                end
            elseif gun == "Friday" then
                if saat == 21 then
                    if __give_empire_priv(0, 4, 400, 60*60*24*15) then
                        __give_empire_priv(0, 4, 400, 60*60*24*15)
                        __give_empire_priv(0, 4, 400, 60*60*24*15)
                        __give_empire_priv(0, 4, 400, 60*60*24*15)
                        biger_all("Exp bonus eventi %400 oranında 2 saat süreyle başlamıştır.")
                        biger_all("Saat 23:00 Exp bonus eventi oranları eski haline dönecektir.")
                    end
                elseif saat == 23 then
                    if __give_empire_priv(0, 4, 350, 60*60*24*15) then
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        __give_empire_priv(0, 4, 350, 60*60*24*15)                                              
                        biger_all("Saat 23:00 Exp bonus eventi oranları %350 eski haline döndü.")
                        biger_all("Salı günü tekrar sizlerle olacağım.")
                    end
                end
            elseif gun == "Saturday" then
                if saat == 21 then
                    if game.get_event_flag("futboltopu_ac") == 0 then
                        game.set_event_flag("futboltopu_ac",1)
                        game.set_event_flag("futboltopu_kapa",0)
                        game.set_event_flag("futboltopu",1)
                        biger_all("Futbol Topu eventi 1 saat süreyle başlamıştır.")
                        biger_all("Seviyenize uygun slotlar keserek elde edebilirsiniz.")
                        biger_all("Futbol Topu eventi bitiş saati 22:00'dır. Başarılar...")
                    end
                elseif saat == 23 then
                    if game.get_event_flag("futboltopu_kapa") == 0 then
                        game.set_event_flag("futboltopu_ac",0)
                        game.set_event_flag("futboltopu_kapa",1)
                        game.set_event_flag("futboltopu",0)
                        biger_all("Saat 22:00 Futbol Topu eventi son bulmuştur.")
                        biger_all("Pazartesi tekrar sizlerle olacağım.")
                    end
                end  
            elseif gun == "Sunday" then
                if saat == 21 then
                    if game.get_event_flag("ayisigi_ac") == 0 then
                        game.set_event_flag("ayisigi_ac",1)
                        game.set_event_flag("ayisigi_kapa",0)
                        game.set_event_flag("ayisigi",1)
                        biger_all("Ayışığı eventi 1 saat süreyle başlamıştır.")
                        biger_all("Seviyenize uygun slotlar keserek elde edebilirsiniz.")
                        biger_all("Ayışığı eventi bitiş saati 22:00'dır. Başarılar...")
                    end
                elseif saat == 23 then
                    if game.get_event_flag("ayisigi_kapa") == 0 then
                        game.set_event_flag("ayisigi_ac",0)
                        game.set_event_flag("ayisigi_kapa",1)
                        game.set_event_flag("ayisigi",0)
                        biger_all("Saat 22:00 Ayışığı eventi son bulmuştur.")
                        biger_all("Çarşamba tekrar sizlerle olacağım.")
                    end
                end
            end
        end
    end
end


etkinlik başlıyor duyuru geçmiyor @Whistle
 
biger_all fonksiyonunu notice_all olarak yapıp denermisiniz
 
Ben sadece gözüme çarpan bir tanesini söyledim. Kodları tek tek analiz ederek hataları bulabilirsiniz
 
Kullandıgınız fonksiyon quest_funcitons üzerinde ekli degilse komut çalışmaz bi kontrol edermisiniz

notice_big
big_notice
notice
notice_all
 
@Whistle herşeyi denedim fakat olmadı sizce neyden kaynaklı bu durum benim gözüme çarpan yer
Lua (Quest):
           elseif gun == "Tuesday" then
                if saat == 21 then
                    if __give_empire_priv(0, 4, 400, 60*60*24*15) then
                        __give_empire_priv(0, 4, 400, 60*60*24*15)
                        __give_empire_priv(0, 4, 400, 60*60*24*15)
                        __give_empire_priv(0, 4, 400, 60*60*24*15)
                        biger_all("Exp bonus eventi %400 oranında 2 saat süreyle başlamıştır.")
                        biger_all("Saat 23:00 Exp bonus eventi oranları eski haline dönecektir.")
                    end
                elseif saat == 23 then
                    if __give_empire_priv(0, 4, 350, 60*60*24*15) then
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        __give_empire_priv(0, 4, 350, 60*60*24*15)
                        biger_all("Saat 23:00 Exp bonus eventi oranları %350 eski haline döndü.")
                        biger_all("Cuma günü tekrar sizlerle olacağım.")
                    end
                end
 
biger_all fonksiyonunu ilk defa görüyorum. Sizde böyle bir şey ekli mi?
 
bunları yaparken eski questi kaldırdıgınızdan emin olun bir çok kullanıcı quest kodlarını degistirirken eski questi kaldırmıyor
 
Kod:
root@test:/usr/game/share/locale/turkey/quest # ./qc event.lua
QUEST : event
STATE : start
WHEN  : letter
WHEN  : info or
WHEN  : button
WHEN  : login
root@test:/usr/game/share/locale/turkey/quest # ./qc ayisigi_duyuru.lua
QUEST : ayisigi_duyuru
STATE : start
WHEN  : login
        with game . get_event_flag ( "ayisigi" ) > 0
WHEN  : button or
WHEN  : info
        with game . get_event_flag ( "ayisigi" ) == 1
root@test:/usr/game/share/locale/turkey/quest # ./qc ayisigi_event.lua
QUEST : ayisigi_event
STATE : start
WHEN  : kill
        with not npc . is_pc ( )
Lua (Quest):
quest ayisigi_event begin
    state start begin
        when kill with not npc.is_pc() begin
            if game.get_event_flag("ayisigi_event") == 1 then
                local blackwidow = number(1, 250)
                if 3 == blackwidow then
                    game.drop_item_with_ownership("50011",1)
                    notice("Bir Adet Ayışığı Sandığı Buldun.")
                end
            end
        end
    end
end

Kod:
quest ayisigi_duyuru begin
    state start begin
        when login with game.get_event_flag("ayisigi") > 0 begin
           send_letter("Ayışığı Eventi ")
        notice("Ay Işığı Eventi şuanda aktif!")
        notice("Ay Işığı Eventini seviyenize uygun slotlardan ele edebilirsiniz!")
        end
        when button or info with game.get_event_flag("ayisigi") == 1 begin
            say_title("Ayışığı Eventi ")
            say("Sadece bügüne özel bir event!")
            say("Ayışığı define sandığı kazanabilirsin.")
            say_item_vnum(50011)
            say("Seviyenize uygun canavarlardan ayışığını ele edebilirsiniz.")
            say("")
       
        end
    end
end
Lua (Quest):
            elseif gun == "Wednesday" then
                if saat == 21 then
                    if game.get_event_flag("ay_ac") == 0 then
                        game.set_event_flag("ay_ac",1)
                        game.set_event_flag("ay_kapa",0)
                        game.set_event_flag("ayisigi",1)
                        notice_all("Ayışığı Eventi 1 saat süreyle başlamıştır.")
                    end
                elseif saat == 22 then
                    if game.get_event_flag("ay_kapa") == 0 then
                        game.set_event_flag("ay_ac",0)
                        game.set_event_flag("ay_kapa",1)
                        game.set_event_flag("ayisigi",0)
                        notice_all("Ayışığı Eventi bitmiştir.")
                    end
                end



3 quest yazdım fakat duyuru luası zamanlamasını yapmadı etkinlik başma saatinde aktif değilde bağımsız olarak çalışıyor etkinlik başlmadan etkinliğe aktif diyor makine date ayarlı quest kalıntıları notarget temizlendi fakat dediğim gibi bu sistem etkinlik başladığı zaman oyuncuya görevden bildirim yapıyor oyuna yeni giren birisi ise eventin aktif olarak duyuruyor @Whistle
 
Geri
Üst