HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
Merhabalar,
Şimdi sizinle Loto Sistemini paylaşacağız. Öncelikle kullanımdan bahsedelim daha sonra kurulumuna geçelim.
Kullanımı:
Loto Sistemi, bir defaya mahsus yönetici tarafından başlatılır. Daha sonra sistem kendisini haftada bir tekrar eder. Oynayış şekli de son derece basittir: Loto Sistemi başladıktan sonra kayıtlar açılır. Kayıt süresi 1 saattir. 1 saat sonra lotoya kayıtlar kapanır. Kayıtlar kapandıktan 1 gün sonra sonuçlar açıklanır. Sonuçlar açıklandığında kazanan numara genelden duyurulur ve sonuçları kontrol edip kazanıp kazanmadığınızı kontrol etmek için 1 gününüz vardır. Daha sonra ödül alımları da kapanır. Lotoda gireceğiniz sayı 1000-5000 arasında bir sayı olmalıdır.(1000 ve 5000 de dahil ). Eğer o hafta Lotoyu kimse kazanamazsa, Loto katılan kişi sayısı ile 1.000.000'nu çarpar ve haftaya devreder. Haftaya lotoyu kazanan olursa devredilen para ile o hafta katılanların para miktarını toplar ve kişiye verir. Sistemde herhangi bir açık(bug) yoktur.
NOT: 1000-5000 arası sayı girmezseniz lotoyu hiçbir zaman kazanamazsınız. Çünkü loto sistemi 1000 ile 5000 arası sayı atar.( Oyuncuların sadece 1000-5000 arası sayı girmelerini zorunlu yapan bir fonksiyon yazmıştık fakat yedeğini alamadan silmiştik unutup. O nedenden tekrardan kodlamadık. Eğer bu sıkıntı çıkaracak olursa tekrardan kodlayabiliriz. İhtiyaca göre değişir.)
Kurulumu:
Evet şimdi nasıl kullanılacağını göstereceğim:
1-) usr/game/share/locale/turkey/quest bölümüne "lotosistemi.lua" adinda bir lua dosyası açalım. Daha sonra içine aşağıdaki kodları yazalım:
LOTO SİSTEMİ LUA KODU:
Bunu kaydedip çıkıyoruz.
2-)Putty'e geliyoruz.
cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.
./qc lotosistemi.lua
Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Reload q çektikten sonra karakter atmanız gerekmekte. Sol tarafa görev şeklinde "GM: Loto Sistemi" gelecek. Oradan 1 defaya mahsus başlatacaksınız. Tekrardan bir şey yapmanıza gerek yok.
NOT: Yapamayan arkadaşlar olurlarsa yardımcı olmaya çalışırım. Anlamadığınız, takıldığınız bir yer varsa sorabilirsiniz.
NOT: Lütfen başka yerde paylaşacaklar kaynak belirtirlerse sevinirim.
NOT: Zamanla diğer sistemleri de paylaşacağım.
Şimdi sizinle Loto Sistemini paylaşacağız. Öncelikle kullanımdan bahsedelim daha sonra kurulumuna geçelim.
Kullanımı:
Loto Sistemi, bir defaya mahsus yönetici tarafından başlatılır. Daha sonra sistem kendisini haftada bir tekrar eder. Oynayış şekli de son derece basittir: Loto Sistemi başladıktan sonra kayıtlar açılır. Kayıt süresi 1 saattir. 1 saat sonra lotoya kayıtlar kapanır. Kayıtlar kapandıktan 1 gün sonra sonuçlar açıklanır. Sonuçlar açıklandığında kazanan numara genelden duyurulur ve sonuçları kontrol edip kazanıp kazanmadığınızı kontrol etmek için 1 gününüz vardır. Daha sonra ödül alımları da kapanır. Lotoda gireceğiniz sayı 1000-5000 arasında bir sayı olmalıdır.(1000 ve 5000 de dahil ). Eğer o hafta Lotoyu kimse kazanamazsa, Loto katılan kişi sayısı ile 1.000.000'nu çarpar ve haftaya devreder. Haftaya lotoyu kazanan olursa devredilen para ile o hafta katılanların para miktarını toplar ve kişiye verir. Sistemde herhangi bir açık(bug) yoktur.
NOT: 1000-5000 arası sayı girmezseniz lotoyu hiçbir zaman kazanamazsınız. Çünkü loto sistemi 1000 ile 5000 arası sayı atar.( Oyuncuların sadece 1000-5000 arası sayı girmelerini zorunlu yapan bir fonksiyon yazmıştık fakat yedeğini alamadan silmiştik unutup. O nedenden tekrardan kodlamadık. Eğer bu sıkıntı çıkaracak olursa tekrardan kodlayabiliriz. İhtiyaca göre değişir.)
Kurulumu:
Evet şimdi nasıl kullanılacağını göstereceğim:
1-) usr/game/share/locale/turkey/quest bölümüne "lotosistemi.lua" adinda bir lua dosyası açalım. Daha sonra içine aşağıdaki kodları yazalım:
LOTO SİSTEMİ LUA KODU:
PHP:
quest imploto begin
state start begin
---------------------------------------------
when letter with pc.is_gm() begin
send_letter("GM: Loto Sistemi")
end
when loto_zmndongux.server_timer begin
game.set_event_flag("loto",1)
notice_all("Etkinlik: Loto aktif olmuştur.")
notice_all("Etkinlik: Loto kayıtları 1 saat sonra kapanacaktır.")
notice_all("Etkinlik: Haftada 1 kere Loto oynayabileceğinizi unutmayın! İyi şanlar.")
game.set_event_flag("imploto_sure",get_time())
local loto2 = game.get_event_flag("loto_2")
game.set_event_flag("loto_2",loto2 + 1)
server_timer("loto_kapat",3600,get_server_timer_arg())
server_timer("loto_kontrol",3601,get_server_timer_arg())
end
---------------------------------------------
when info or button with pc.is_gm() begin
local event_sec = select("Loto","Kapat")
if event_sec == 1 then
local event_sec_loto = select("Ac","Durdur","Kapat")
if event_sec_loto == 1 then
game.set_event_flag("loto",1)
game.set_event_flag("loto_baslangic_kontrol",1)
notice_all("Etkinlik: Loto aktif olmuştur.")
notice_all("Etkinlik: Loto kayıtları 1 saat sonra kapanacaktır.")
notice_all("Etkinlik: Haftada 1 kere Loto oynayabileceğinizi unutmayın! İyi şanlar.")
game.set_event_flag("imploto_sure",get_time())
local loto2 = game.get_event_flag("loto_2")
game.set_event_flag("loto_2",loto2 + 1)
server_loop_timer("loto_zmndongux",604800,get_server_timer_arg())
server_timer("loto_kapat",3600,get_server_timer_arg())
server_timer("loto_kontrol",3601,get_server_timer_arg())
send_letter("GM: Imp-Etkinlik")
elseif event_sec_loto == 2 then
game.set_event_flag("loto_baslangic_kontrol",0)
clear_server_timer("loto_zmndongux",get_server_timer_arg())
send_letter("GM: Imp-Etkinlik")
end
end
end
---------------------------------------------
when loto_kapat.server_timer begin
game.set_event_flag("loto",0)
end
---------------------------------------------
when loto_kontrol.server_timer begin
if game.get_event_flag("loto") == 0 then
notice_all("Loto kayıtları kapanmıştır.")
notice_all("Loto sonuçları 1 gün sonra açıklanacaktır.")
server_timer("sonuc",86400,get_server_timer_arg())
end
end
when sonuc.server_timer begin
local lsonuc = math.random(1000,5000)
game.set_event_flag("loto_sonuc",lsonuc)
server_timer("sonuc1",5,get_server_timer_arg())
end
when sonuc1.server_timer begin
notice_all("Loto sonuçları açıklandı!")
notice_all("Lotuyu kazanan numara: "..game.get_event_flag("loto_sonuc"))
notice_all("Ödülünüzü 1 gün içerisinde almalısınız.")
notice_all("Bir dahaki Loto'da görüşmek üzere!")
game.set_event_flag("loto_sonucc",1)
server_timer("sonuc2",86400,get_server_timer_arg())
end
when sonuc2.server_timer begin
game.set_event_flag("loto_sonucc",0)
game.set_event_flag("loto_sonuc",0)
local loto_22 = game.get_event_flag("loto_2")
game.set_event_flag("loto_2", loto_22 + 1)
if game.get_event_flag("yeni_bir_kontrol") == 1 then
game.set_event_flag("yeni_devir_para",0)
end
if game.get_event_flag("katilim") > 0 then -- and game.get_event_flag("yeni_devir_para_kontrol") == 1
if game.get_event_flag("para_devir") == 1 then
notice_all("Loto ödül alımı kapandı.")
notice_all("Haftaya tekrardan Loto oynayabilirsiniz.")
notice_all("Loto kazanıldığı için para devredilmedi.")
game.set_event_flag("para_devir",0)
game.set_event_flag("katilim",0)
game.set_event_flag("yeni_bir_kontrol",0)
else
notice_all("Loto ödül alımı kapandı.")
notice_all("Haftaya tekrardan Loto oynayabilirsiniz.")
notice_all("Lotoyu kazanan olmadığı için devredildi!")
local devir_para = game.get_event_flag("katilim")
game.set_event_flag("katilim",0)
local devir_para1 = devir_para * 1000000
local yeni_devir_para1 = game.get_event_flag("yeni_devir_para") --0
game.set_event_flag("yeni_devir_para",devir_para1 + yeni_devir_para1)
game.set_event_flag("para_devir",0)
game.set_event_flag("yeni_bir_kontrol",0)
--notice_all("Devredilen para: "..game.get_event_flag("yeni_devir_para").." milyon.")
end
else
notice_all("Loto ödül alımı kapandı.")
notice_all("Haftaya tekrardan Loto oynayabilirsiniz.")
notice_all("Lotoya katılım olmadığı için para olduğu gibi devredildi!")
game.set_event_flag("katilim",0)
game.set_event_flag("yeni_bir_kontrol",0)
end
game.set_event_flag("yeni_bir_kontrol",0)
end
when 20095.chat."Loto Sonuclari" with game.get_event_flag("loto_sonucc") == 1 begin
local kisi_loto = pc.getqf("loto_y")
local oyun_loto = game.get_event_flag("loto_sonuc")
say_title("Bilgi:")
say("")
say("Hoş geldin "..pc.get_name())
say("Buradan Loto sonuçlarını öğrenebilirsin.")
say("Kazanıp Kazanmadığını görmek için Devam Et butonuna tıkla.")
wait()
if pc.getqf("loto_yeni_1") == game.get_event_flag("loto_2") then
if kisi_loto == oyun_loto then
if game.get_event_flag("loto_sonucc") == 1 then
if pc.getqf("kazanan_kontrol") == 0 then
say_title("Bilgi:")
say("")
say("Merhaba, "..pc.get_name())
say("Loto kazanan numara: "..oyun_loto)
say("Sizin numaranız: "..kisi_loto)
say("")
say_reward("Tebrikler! Lotoyu kazandınız!")
say_reward("Loto'ya katılan kişi sayısı: "..game.get_event_flag("katilim"))
local kazanilan_para = game.get_event_flag("katilim")
local kazanilan_para1 = (kazanilan_para * 1000000) + game.get_event_flag("yeni_devir_para")
local kazanilan_para2 = kazanilan_para * 1000000
local t_devir = game.get_event_flag("yeni_devir_para")
say_reward("Toplam devir edilen para: "..t_devir)
say_reward("Lotodan kazanılan para: "..kazanilan_para2)
say_reward("Kazanılan toplam para: "..kazanilan_para1)
say_reward("Paranızı veriyorum, iyi günlerde harcayın!")
pc.change_money(kazanilan_para1)
game.set_event_flag("para_devir",1)
pc.setqf("loto_y",0)
pc.setqf("kazanan_kontrol",1)
game.set_event_flag("yeni_bir_kontrol",1)
--game.set_event_flag("yeni_devir_para_kontrol",1)
wait()
else
say_title("Bilgi:")
say("")
say_reward("Merhaba, "..pc.get_name())
say_reward("Sonuçları zaten kontrol ettin, tekrar edemezsin.")
pc.setqf("loto_y",0)
pc.setqf("kazanan_kontrol",1)
end
else
say_title("Bilgi:")
say("")
say_reward("Merhaba, "..pc.get_name())
say_reward("Maalesef sonuçları kontrol kapandı.")
pc.setqf("loto_y",0)
pc.setqf("kazanan_kontrol",1)
end
else
if game.get_event_flag("loto_sonucc") == 1 then
if pc.getqf("kazanan_kontrol") == 0 then
say_title("Bilgi:")
say("")
say("Merhaba, "..pc.get_name())
say("Loto kazanan numara: "..oyun_loto)
say("Sizin numaranız: "..kisi_loto)
say("")
say_reward("Maalesef Loto'yu kazanamadınız.")
pc.setqf("loto_y",0)
pc.setqf("kazanan_kontrol",1)
--game.set_event_flag("yeni_devir_para_kontrol",1)
--game.set_event_flag("para_devir",1)
else
say_title("Bilgi:")
say("")
say_reward("Merhaba, "..pc.get_name())
say_reward("Sonuçları zaten kontrol ettin, tekrar edemezsin.")
pc.setqf("loto_y",0)
pc.setqf("kazanan_kontrol",1)
end
else
say_title("Bilgi:")
say("")
say_reward("Merhaba, "..pc.get_name())
say_reward("Maalesef sonuçları kontrol kapandı.")
pc.setqf("loto_y",0)
pc.setqf("kazanan_kontrol",1)
end
end
else
say_title("Uyarı:")
say("")
say_reward("Lotoya katılmadığınız için sonuçları kontrol edemezsiniz!")
say("")
end
end
when 20095.chat."Loto Oyna" begin
if game.get_event_flag("loto_baslangic_kontrol") == 0 then
say_title("Bilgi:")
say("")
say("Loto daha önce hiç aktif edilmedi.")
say("Loto aktif edildiğinde, her hafta kendini yenileyecektir.")
say("Şuanda Loto sistemi kapalıdır.")
say("")
else
if pc.get_level() > 59 then
if game.get_event_flag("loto") == 0 then
say_title("Uyarı:")
say("")
say_reward("Loto haftada bir oynanır!")
say_reward("Şuan da Loto oynayamazsın.")
say_reward("1 hafta geçene kadar beklemen gerekiyor.")
say_reward("Süre dolunca tekrar gel!")
say("")
say_reward("Numaranız: "..pc.getqf("loto_y"))
say("")
say_title("Kalan Süre:")
local suremmis = 604800-(get_time()-game.get_event_flag("imploto_sure"))
local loto_gnsure = 0
local loto_stsure = 0
local loto_dksure = 0
while suremmis > 86400 do
loto_gnsure = loto_gnsure+1
suremmis=suremmis-86400
end
while suremmis > 3600 do
loto_stsure = loto_stsure+1
suremmis=suremmis-3600
end
while suremmis > 60 do
loto_dksure=loto_dksure+1
suremmis=suremmis-60
end
say_reward(loto_gnsure.." Gün "..loto_stsure.." Saat "..loto_dksure.." Dakika Kaldı.")
say_reward("Devredilen toplam para: "..game.get_event_flag("yeni_devir_para"))
say("")
elseif game.get_event_flag("loto") == 1 then
say_title("Bilgi:")
say("")
say("Demek Loto oynamak istiyorsun? Güzel.")
say("Fakat Loto oynamadan önce bilmen gereken bazı şeyler var.")
say("Loto oynayabilmen için 1.000.000(1m) yang ödemen gerekli.")
say("Loto oynayan her oyuncu bu parayı öder.")
say("Eğer kazanan olursa tüm paralar o oyuncuya verilir.")
say("Kimse kazanamazsa, para bir sonraki haftaya devreder.")
say("")
say_reward("Hâlâ oynamak istiyor musun?")
local o_sec = select("Evet","Hayır")
if o_sec == 1 then
-- seçimin ifi
if pc.get_money() < 100000 then
-- yang kontrol ifi
say_title("Uyarı:")
say("")
say_reward("Üzgünüm, Loto oynayabilmen için 100.000(100k) yanga ihtiyacın var.")
else
if pc.getqf("loto_k") == game.get_event_flag("loto_2") then
say_title("Uyarı:")
say("")
say_reward("Zaten Lotu oynamışsın.")
say_reward("Bir sonrakine kadar beklemek zorundasın.")
else
say_title("Bilgi:")
say("")
say("Peki, aşağıdaki kutuya 4 haneli bir sayı gir.")
say("Girdiğin değer harf içermemeli ve 4 haneli olmalı.")
say("")
local loto_sayi = input_number()
if game.get_event_flag("loto") == 0 then
say_title("Uyarı:")
say("")
say_reward("Loto haftada bir oynanır!")
say_reward("Şuan da Loto oynayamazsın.")
say_reward("1 hafta geçene kadar beklemen gerekiyor.")
say_reward("Süre dolunca tekrar gel!")
say_title("Bilgi:")
-- say_reward("Loto'ya katılan kişi sayısı: "..game.get_event_flag("katilim")) -- hatalı kısım.
say("")
say_reward("Numaranız: "..pc.getqf("loto_y"))
say("")
say_title("Kalan Süre:")
local suremmis = 604800-(get_time()-game.get_event_flag("imploto_sure"))
local loto_gnsure = 0
local loto_stsure = 0
local loto_dksure = 0
while suremmis > 86400 do
loto_gnsure = loto_gnsure+1
suremmis=suremmis-86400
end
while suremmis > 3600 do
loto_stsure = loto_stsure+1
suremmis=suremmis-3600
end
while suremmis > 60 do
loto_dksure=loto_dksure+1
suremmis=suremmis-60
end
say_reward(loto_gnsure.." Gün "..loto_stsure.." Saat "..loto_dksure.." Dakika Kaldı.")
say("Devredilen toplam para:"..game.get_event_flag("yeni_devir_para"))
say("")
else
say("")
pc.setqf("loto_y",loto_sayi)
local katilim = game.get_event_flag("katilim")
game.set_event_flag("katilim", katilim +1)
pc.change_money(-1000000)
say_title("Bilgi:")
say("Girdiğin "..loto_sayi.." sayısı başarı ile kayıt edildi!")
say("Hesabından 1m(yang) alındı!")
say("Sonuçlar 1 gün sonra açıklanacak.")
say("O zamana kadar hoşçakal.")
say("")
local loto_yenii = game.get_event_flag("loto_2")
pc.setqf("loto_yeni_1",loto_yenii)
pc.setqf("kazanan_kontrol",0)
local loto_veri_yeni = game.get_event_flag("loto_2")
pc.setqf("loto_k",loto_veri_yeni)
end -- bugu engelleyecek ifin endi
end -- getqf nin endi
end -- yang kontrol ifinin bitişi
end -- seçim ifinin bitişi
end -- loto eventinin aktif olup olmadığını kontrol eden ifin endi
else
say_title("Uyarı:")
say("")
say_reward("Loto oynayabilmek için en az 60 seviye olmanız gerekiyor!")
say("")
end-- loto oynamak için gerekli olan seviyeyi kontrol eden ifin endi
end
end -- when in endi
end -- ilk state nin endi
end-- questin endi
Bunu kaydedip çıkıyoruz.
2-)Putty'e geliyoruz.
cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.
./qc lotosistemi.lua
Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Reload q çektikten sonra karakter atmanız gerekmekte. Sol tarafa görev şeklinde "GM: Loto Sistemi" gelecek. Oradan 1 defaya mahsus başlatacaksınız. Tekrardan bir şey yapmanıza gerek yok.
Oyun içi görüntüler:
NOT: Yapamayan arkadaşlar olurlarsa yardımcı olmaya çalışırım. Anlamadığınız, takıldığınız bir yer varsa sorabilirsiniz.
NOT: Lütfen başka yerde paylaşacaklar kaynak belirtirlerse sevinirim.
NOT: Zamanla diğer sistemleri de paylaşacağım.
1000 5000 arası numara girmeyi zorunlu tutmak lazım, yoksa çemkirenler olur okumadım etmedim diye
1000 5000 arası numara girmeyi zorunlu tutmak lazım, yoksa çemkirenler olur okumadım etmedim diye
Haklısınız. Teşekkür ederim. En kısa zamanda ilgileneceğim.
