DEVLOPER 1
DEVLOPER
noisiv 1
noisiv
Manwe Work 1
Manwe Work
mavzermete 1
mavzermete
darkbey42 1
darkbey42
xranzei 1
xranzei
Bvural41 1
Bvural41
PrimeAC 1
PrimeAC
Payidar2 1
Payidar2
Fethi Polat 1
Fethi Polat
Wizard' 1
Wizard'
shrpnl 1
shrpnl
Hikaye Ekle

Otomatik Loto Sistemi[LUA]

  • Konuyu başlatan Konuyu başlatan thenemne0032
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 26
  • Görüntüleme Görüntüleme 4K

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:
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:

vEXnA6.jpg


1yVMap.jpg


7k7MWW.jpg


LaZ18G.jpg


rQ6ZXN.jpg


PqnP2N.jpg


qYjPQD.jpg


QAvZ83.jpg


b5kJZd.jpg


Amn58p.jpg


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.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst