Çözüldü Bakım Modu Quest

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ı.

benghostman

Üye
Üye
Mesaj
67
Çözümler
1
Beğeni
20
Puan
414
Ticaret Puanı
0
Merhaba. Alttaki questle bakım modu yapmak istiyorum. Süreyi girdikten sonra alttan duyuru geçiyor fakat Etkinleştirmek istiyor musunuz kısmı gelmiyor hiç. Bakıma girmiyor. Yardımcı olabilecek var mı?

Lua (Quest):
quest Bakım_quest begin
    state start begin
        when 20095.chat."GM:Bakım Modu" with pc.is_gm() begin
            if game.get_event_flag("login") == 0 then
                say('Oyun Kac Dakika Bakımda Kalsın? (En Az 10 Dakika)')
                local a = tonumber(input())
                if a == nil then
                    say('Sadece Sayı Girmeniz Gerek!')
                    return
                elseif  a <= 10 then
                    return
                end
                minutes = a
                notice_all(' Tum Oyuncularımızın Dikkatine!')
                notice_all(' '..minutes..' Dakika Serverde Bakım Yapılıcaktır.')
                notice_all(' Bakım Suresince Oyuna Girisiniz Bloklanıcaktır.')
                notice_all(' Verdigimiz Rahatsızlıktan Dolayı Ozur Dileriz..')
                notice_all(' Bakım Bittiğinde Oyunda Oynamaya Devam Edebilirsiniz..')
                server_loop_timer('reboot_time',60*5,(os.time()+minutes*60));
            else
                say("Etkinlestirmek Istiyormusunuz??")
                    local f = select ("Evet" , "Hayır")
                        if f == 1 then
                            mysql_query("UPDATE account.account SET account.status = 'OK' WHERE status = 'BAKIM' and account.login NOT IN (SELECT mAccount FROM common.gmlist);")
                            game.set_event_flag("login", 0)
                        elseif f == 2 then
                            return
                        end
            end
        end
        when reboot_time.server_timer begin
            if os.time() < get_server_timer_arg() then
                notice_all('UYARI: Server '..tostring(math.floor((get_server_timer_arg()-os.time())/60))..' Dakika Daha Bakımda!')
            else
                mysql_query("UPDATE account.account SET account.status = 'BAKIM' WHERE status = 'OK' and account.login NOT IN (SELECT mAccount FROM common.gmlist);")
                cmdchat("exit")
                game.set_event_flag("login", 1)
            end
        end
    end
end
 
Çözüm
Merhaba @benghostman Paylaşmış olduğunuz quest'de sıkıntı görünmüyor. Bu quest işinizi görür sanırım.
bakimvar :
quest bakimvar begin
    state start begin
        when login with game.get_event_flag("bakim_var") == 1 and not pc.is_gm() and game.get_event_flag(pc.get_name()) != 1 begin
        loop_timer("bakimvar",10)
        notice("Şu anda bakım var. Oyuna giremezsin!")
        
        say_title("Bilgi:")
        say("")
        say("Oyunumuz şu an bakımda. Aşağıdaki linklerden")
        say("oyun durumunu takip edebilirsin. Yetkili oyun")
        say("açıldı demeden oyuna giremezsin.")
        say("")
        say_reward("https://www.mmotutkunlari.com")
        say_reward("https://www.mmotutkunlari.com/uye/quaftar.16233")...
Questlerle ilgili bi sorun olduğunda hangi kanala bağlıysanız syserr ve syslog kaydı giriyor. Buradan bakabilirsiniz
 
Merhaba @benghostman Paylaşmış olduğunuz quest'de sıkıntı görünmüyor. Bu quest işinizi görür sanırım.
bakimvar :
quest bakimvar begin
    state start begin
        when login with game.get_event_flag("bakim_var") == 1 and not pc.is_gm() and game.get_event_flag(pc.get_name()) != 1 begin
        loop_timer("bakimvar",10)
        notice("Şu anda bakım var. Oyuna giremezsin!")
        
        say_title("Bilgi:")
        say("")
        say("Oyunumuz şu an bakımda. Aşağıdaki linklerden")
        say("oyun durumunu takip edebilirsin. Yetkili oyun")
        say("açıldı demeden oyuna giremezsin.")
        say("")
        say_reward("https://www.mmotutkunlari.com")
        say_reward("https://www.mmotutkunlari.com/uye/quaftar.16233")
        say("")
        command("quit")
        end

        when bakimvar.timer begin
        syschat("Eşya kaybı olmaması için lütfen oyundan çıkın.")
        command("quit")
        end
    end
end
Filezilladan :
/usr/game/share/locale/turkey/quest kısmına bakimvar.quest'i atıyoruz.
Daha Sonra Putty'e Girip
cd /usr/game/share/locale/turkey/quest [ENTER]
./qc bakimvar.quest [Enter]
Daha Sonra Yetkili Hesap İle Oyunda /reload q Yazıp Enter'e Basın
NOT : Oyuncu Sayısı 5-10 Arası İse Değilse Reboot Atın, işlem bukadar.

Kod:
Bu kodu yazarsanız oyuna sadece gm'ler girebilir.
Bu kodu yazarsanız oyuna herkes girebilir.
Bunu yazarsanız oyuna gm'ler ve nick'ini yazdığınız kişi girebilir.
 
Çözüm
Merhaba @benghostman Paylaşmış olduğunuz quest'de sıkıntı görünmüyor. Bu quest işinizi görür sanırım.
bakimvar :
quest bakimvar begin
    state start begin
        when login with game.get_event_flag("bakim_var") == 1 and not pc.is_gm() and game.get_event_flag(pc.get_name()) != 1 begin
        loop_timer("bakimvar",10)
        notice("Şu anda bakım var. Oyuna giremezsin!")
       
        say_title("Bilgi:")
        say("")
        say("Oyunumuz şu an bakımda. Aşağıdaki linklerden")
        say("oyun durumunu takip edebilirsin. Yetkili oyun")
        say("açıldı demeden oyuna giremezsin.")
        say("")
        say_reward("https://www.mmotutkunlari.com")
        say_reward("https://www.mmotutkunlari.com/uye/quaftar.16233")
        say("")
        command("quit")
        end

        when bakimvar.timer begin
        syschat("Eşya kaybı olmaması için lütfen oyundan çıkın.")
        command("quit")
        end
    end
end
Filezilladan :

Daha Sonra Putty'e Girip


Daha Sonra Yetkili Hesap İle Oyunda /reload q Yazıp Enter'e Basın
NOT : Oyuncu Sayısı 5-10 Arası İse Değilse Reboot Atın, işlem bukadar.

Kod:

Bu kodu yazarsanız oyuna sadece gm'ler girebilir.

Bu kodu yazarsanız oyuna herkes girebilir.

Bunu yazarsanız oyuna gm'ler ve nick'ini yazdığınız kişi girebilir.
Verdiğiniz quest'i kullanıyorum şuan teşekkür ederim. Paylaştığım quest'te mysql_query fonksiyonuyla ilgili bir syserr veriyordu. questlib.lua'da eksikmiş sanırım ama pek anlamadığım ve bir şeyleri de bozmak istemediğim için uğraşmak da istemedim açıkçası. Sizin paylaştığınız quest için tüm oyuncuları oyundan attırmak için ne yapabilirim? /shutdown komutunu kullanmadan. Veya /shutdown komutundan sonra reboot atmadan tekrar girişleri açamıyor muyuz? İhtiyacım olan tek şey reboot atmadan oyundakilere dc attırmak.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst