ShadowFon 1
ShadowFon
bikral 1
bikral
-TuRKuaZ- 1
-TuRKuaZ-
SLyFeLLowTR 1
SLyFeLLowTR
TGamesZeus 1
TGamesZeus
Best Studio 1
Best Studio
berkmenoo 1
berkmenoo
InfernoShade 1
InfernoShade
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
Hikaye Ekle

Eşya Kullanım Kontrolü[LUA]

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

thenemne0032

Level 6
TM Üye
Katılım
11 Ağu 2010
Konular
67
Mesajlar
1,092
Online süresi
7h 8m
Reaksiyon Skoru
476
Altın Konu
0
TM Yaşı
15 Yıl 10 Ay 11 Gün
Başarım Puanı
188
MmoLira
264
DevLira
0
Ticaret - 0%
0   0   0

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,

Bu kez diğer sistemlerden biraz farklı bir sistem paylaşacağım. Bir eşyanın sürekli kullanılmasını istemiyor olabilirsiniz. Yani 200 adet bir sandık var ve bu sandığı açmaya sınır koymak istiyorsunuz. Yani oyuncu belirlediğim süre boyunca 100 tane sandık açabilsin. Şöyle ki: bir sandık düşünün tıklayıp açıyorsunuz eşya kazanıyorsunuz 100 tıklamadan sonra sistem aktif olacak ve 5 dakika boyunca o sandığı açamayacaksınız. Yani bir nevi sürekli kullanılacak bir eşyaya belirli bir süre sınır koymaya yarıyor bu sistem. Aşağıdaki tanıtım videosundan da az-çok anlayacaksınız olayı zaten.




Tanıtım videosu





KURULUM:

1-) usr/game/share/locale/turkey/quest bölümüne "esya_kullanim_kontrol.lua" adında bir lua dosyası açalım. Daha sonra dosyasının içine aşağıdaki kodları yazalım:

PHP:
quest esya_kullanim_kontrol begin
	state start begin
		when login with pc.getqf("uyariyiAldim") == 1 begin
			pc.setqf("sureYenidenKontrol",1)
			kalanSure = pc.getqf("kalanSure")
			syschat("Sistem: Çok fazla kullanılmış eşyanız var. Aktif olmasına kalan süre: "..kalanSure.." saniye.")
			timer("islemleriSifirla",kalanSure)
			loop_timer("sureyiSay",1)
		end
		when login with pc.getqf("ilkKullanim") == 1 begin
			ilkKalanSure = pc.getqf("ilkKalanSure")
			timer("kullanimSifirla",ilkKalanSure)
		end
		when logout with pc.getqf("uyariyiAldim") == 1 begin
			if pc.getqf("sureYenidenKontrol") == 1 then
				kapanmaSuresi = pc.getqf("kalanSure")
				pc.setqf("kalanSure",(kapanmaSuresi-pc.getqf("tplSure")))
				return
			end
			---- BURASI AYARLANACAK
			
				kapanmaSuresi = 300 -- BU KISIM
			
			---- BURASI AYARLANACAK
			
			pc.setqf("kalanSure",(kapanmaSuresi-pc.getqf("tplSure")))
			
		end
		when logout with pc.getqf("ilkKullanim") == 1 begin
			---- BURASI AYARLANACAK
			
				sifirlanmaSuresi = 120 -- BU KISIM -- 120 saniye = 2 dakika
			
			---- BURASI AYARLANACAK
			
			pc.setqf("ilkKalanSure",(sifirlanmaSuresi-pc.getqf("ilkTplSure")))
		end
		when 40004.use begin
		
			---- BURASI AYARLANACAK
			
				tiklanmaSayisiSinir = 11
				kapanmaSuresi = 300
				
			---- BURASI AYARLANACAK
			
			pc.setqf("kullanimSayisi",pc.getqf("kullanimSayisi")+1)
			if pc.getqf("kullanimSayisi") >= tiklanmaSayisiSinir and pc.getqf("uyariyiAldim") == 0 then
				syschat("Sistem: Bu eşya çok fazla kullanıldı. 1 dakika sonra tekrar deneyin.")
				pc.setqf("uyariyiAldim",1)
				timer("esyayiKullanimaAc",kapanmaSuresi)
				loop_timer("sureyiSay",1)
				cleartimer("kullanimSifirla")
			elseif pc.getqf("kullanimSayisi") >= tiklanmaSayisiSinir then
				syschat("Sistem: Bu eşya çok fazla kullanıldığı için kapatılmış. 1 dakikanız henüz dolmadı.")
			else
						if pc.getqf("ilkKullanim") == 0 then
							timer("kullanimSifirla",25)
							loop_timer("ilkSureyiSay",1)
							pc.setqf("ilkKullanim",1)
						end
					--- YÜZÜĞE TIKLAYINCA AKTİFKEN GERÇEKLEŞECEK OLANLAR BU KISMA YAZILACAK
					esyaListesi = {
						30319,
						50300,
						25040,
						25041,
						27992,
						27993,
						27994,
						30019,
						76022,
						70102,
					}
					esyaListesiSay = tonumber(table.getn(esyaListesi))
					rndEsya = math.random(1,esyaListesiSay)
					rndVerilenEsya = esyaListesi[rndEsya]
					pc.give_item2(rndVerilenEsya)
			end
		end
		when sureyiSay.timer with pc.getqf("uyariyiAldim") == 1 begin
			pc.setqf("tplSure",pc.getqf("tplSure")+1)
		end
		when ilkSureyiSay.timer with pc.getqf("ilkKullanim") == 1 begin
			pc.setqf("ilkTplSure",pc.getqf("ilkTplSure")+1)
		end
		when esyayiKullanimaAc.timer with pc.getqf("uyariyiAldim") == 1 begin
			pc.setqf("kullanimSayisi",0)
			pc.setqf("uyariyiAldim",0)
			pc.setqf("tplSure",0)
		end
		when islemleriSifirla.timer with pc.getqf("uyariyiAldim") == 1 begin
			pc.setqf("kullanimSayisi",0)
			pc.setqf("tplSure",0)
			pc.setqf("kalanSure",0)
			pc.setqf("sureYenidenKontrol",0)
			pc.setqf("ilkKullanim",0)
			pc.setqf("uyariyiAldim",0)
		end
		when kullanimSifirla.timer with pc.getqf("ilkKullanim") == 1 begin
			pc.setqf("kullanimSayisi",0)
			pc.setqf("ilkTplSure",0)
			pc.setqf("ilkKullanim",0)
		end
	end
end



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 esya_kullanim_kontrol.lua

Putty ile de işimiz bitti.

3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra 40004 kodlu yüzükten sistemi deneyebilirsiniz.



BİLGİLENDİRME:


Kod:
---- BURASI AYARLANACAK
		
tiklanmaSayisiSinir = 11
kapanmaSuresi = 300
				
---- BURASI AYARLANACAK


Bu kısım genel ayar. Buraya kaç tıklamadan sonra sistemin devreye gireceğini ve ne kadar süre sonra tekrardan aktif olacağını yazacaksınız.



Aynı zamanda buraya yazdığınız "kapanmaSuresi" nin aynısını burayada yazacaksınız:



Kod:
---- BURASI AYARLANACAK
			
kapanmaSuresi = 300 -- BU KISIM
			
---- BURASI AYARLANACAK


Daha sonra oyuncu eşyaya 1 kere tıkladıktan kaç saniye sonra o tıklama sayısı sıfırlansın istiyorsanız onu buraya yazacaksınız:

Kod:
---- BURASI AYARLANACAK
							
sifirlanmaSuresi = 120
							
---- BURASI AYARLANACAK


Aynı şekilde "logout" kısmındaki yere de bu değeri yazacaksınız.


Kod:
---- BURASI AYARLANACAK
			
sifirlanmaSuresi = 120 -- BU KISIM -- 120 saniye = 2 dakika
			
---- BURASI AYARLANACAK


Ve son olarak tıklanılan eşyadan kazanılacak eşyalar da bu kısımdan değiştirilecek. Yada artık kendiniz bu kısmı nasıl değiştirirseniz:


PHP:
--- YÜZÜĞE TIKLAYINCA AKTİFKEN GERÇEKLEŞECEK OLANLAR BU KISMA YAZILACAK
					esyaListesi = {
						30319,
						50300,
						25040,
						25041,
						27992,
						27993,
						27994,
						30019,
						76022,
						70102,
					}
					esyaListesiSay = tonumber(table.getn(esyaListesi))
					rndEsya = math.random(1,esyaListesiSay)
					rndVerilenEsya = esyaListesi[rndEsya]
					pc.give_item2(rndVerilenEsya)
 
Son düzenleme:
Bu adam Lua CODER
 
Kardeşim Sen İnanılmaz Gibisin :D
 
Eline saglık :) Teşekkürler :D
 
Teşekkürler ilginiz için.
 

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

Geri
Üst