Fethi Polat 1
Fethi Polat
InfernoShade 1
InfernoShade
farkmt2official 1
farkmt2official
romegames 1
romegames
bikral 1
bikral
PrimeAC 1
PrimeAC
shrpnl 1
shrpnl
Agora Metin2 1
Agora Metin2
xranzei 1
xranzei
Bvural41 1
Bvural41
Hikaye Ekle

Oyuncu Eşyasını Kontrol Etme Sistemi[LUA]

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

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 12 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 sistemin Python haliyle yapılmış halini biliyorsunuzdur. Rakibin onayı ile giydiği eşyaları kontrol edebilirsiniz. Bunu LUA halinde yaptım kullanmak isteyenler için.


Sistemden görüntüler:​


d5rW9Q.jpg


XvGDZO.jpg


QA54jr.jpg


qY0mzV.jpg


KURULUM:

1-) usr/game/share/locale/turkey/quest bölümüne "esya_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_kontrol begin
	state start begin
		when 20087.chat."Oyuncu Eşya Kontrol" begin
			karakter_isim = pc.get_name()
			say_title("Bilgilendirme:")
			say("")
			say("Merhaba, "..karakter_isim)
			say("Sana istediğin oyuncunun üzerindeki eşyaları gösterebilirim.")
			say("Kimin eşyalarını görmek istiyorsan onun adını gir.")
			say("Ama unutma o kişi onay verirse eşyalarına bakabilirsin.")
			say("")
			say_reward("Oyuncu adı:")
			esyasinaBakilacakOyuncuAdi = string.format(input())
			oyuncuAra = find_pc_by_name(esyasinaBakilacakOyuncuAdi)
			if esyasinaBakilacakOyuncuAdi == "" or esyasinaBakilacakOyuncuAdi == nil then
				say_title("Uyarı:")
				say("")
				say_reward("Boş bırakamazsınız!")
				say("")
				return
			elseif esyasinaBakilacakOyuncuAdi == karakter_isim then
				say_title("Uyarı:")
				say("")
				say_reward("Kendi isminizi giremezsiniz!")
				say("")
				return
			elseif oyuncuAra == 0 then
				say_title("Uyarı:")
				say("")
				say_reward("Aradığınız oyuncu oyunda değil yada böyle biri yok.")
				say("")
				return
			else
				if not pc.is_near_vid(oyuncuAra,10) then
					say_title("Uyarı:")
					say("")
					say_reward("Oyuncuya çok uzaksınız!")
					say("")
				else
					esyaBakmaDavetiYolla = confirm(oyuncuAra,karakter_isim.." Giydiğiniz eşyaları görmek istiyor?",30)
					if esyaBakmaDavetiYolla == CONFIRM_OK then
						---- oyuncu bilgileri
						o_id = pc.select(oyuncuAra)
							oyuncu_id = pc.get_player_id()
							oyuncu_isim = pc.get_name()
						pc.select(o_id)
						---- end
						esyaKodları = {}
						esyaAdlari = {}
						esyaKimlik = {}
						window  = "EQUIPMENT"
						esyayiKontrolEt = mysql_query10("select * from player.item where owner_id='"..oyuncu_id.."' and window='"..window.."' ")
						esyayiKontrolEtSay = tonumber(table.getn(esyayiKontrolEt))
						if esyayiKontrolEtSay > 0 then
							for i=1,esyayiKontrolEtSay,1 do
								esyaKodları[i] = esyayiKontrolEt.vnum[i]
								esyaKimlik[i] = esyayiKontrolEt.id[i]
							end
							esyaKodlarıSay = tonumber(table.getn(esyaKodları))
							for m=1,esyaKodlarıSay,1 do
								esyaKodu = esyaKodları[m]
								esyaAdKontrol = mysql_query10("select * from player.item_proto where vnum='"..esyaKodu.."' ")
								esyaAdlari[m] = esyaAdKontrol.locale_name[1]
							end
							esyaAdlariSay = tonumber(table.getn(esyaAdlari))
							esyaAdlari[esyaAdlariSay + 1] = "Kapat"
							uzerindekiEsyalarSec = select_table(esyaAdlari)
							for k=1,esyaAdlariSay,1 do
								if uzerindekiEsyalarSec == esyaAdlariSay + 1 then
									return
								end
								if uzerindekiEsyalarSec == k then
								esyaKimlik = esyaKimlik[k]
								esyaKodu = esyaKodları[k]
								esyaSorgula = mysql_query10("select * from player.item where id='"..esyaKimlik.."' and owner_id='"..oyuncu_id.."' ")
								m=0
								say_title("Eşya Bilgileri:")
								say_item_vnum(esyaKodu)
								say_reward("[WINDOW_SIZE width;350|height;400]EFSUNLAR") 
									for i=13,21,2 do
										if tonumber(esyaSorgula[1][i]) != 0 then
											say(esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))..tostring(esyaSorgula[1][i+1]))
											m = 1
										end
									end
									if m == 0 then
									say("")
									say_title("Eşyada herhangi bir efsun ekli değildir.")
									end
									say("")
									say_reward("TAŞLAR")
									for i=7,9,1 do
										say(esya_kontrol.tas(tonumber(esyaSorgula[1][i]))) 
									end
									say("")
								end
							end
						else
							say_title("Uyarı:")
							say("")
							say_reward("Oyuncunun üzerinde giyili eşya bulunamadı.")
							say("")
						end
					else
						say_title("Uyarı:")
						say("")
						say_reward("Oyuncu eşyalarına bakma isteğinizi reddetti.")
						say("")
						return
					end -- CONFIRM_OK endi
				end -- uzaklık kontrol endi
			end -- kontrol if endi 
		end -- when endi

	function tas(vnum) 
            local tas =   
            {   
                [0] = {"Bu Nesneye Taş Eklenemez "}, 
                [1] = {"Taş eklenmemiş "}, 
                [28430] = {"Kavrama Taşı +4"},  
                [28431] = {"Öldürücü Darbe Taşı +4"},  
                [28432] = {"Soğutma Taşı +4"},  
                [28433] = {"Savaşçıdan Koruyan Taş +4"},  
                [28434] = {"Ninjadan Koruyan Taş +4"},  
                [28435] = {"Suradan Koruyan Taş +4"},  
                [28436] = {"Şamandan Koruyan Taş +4"},  
                [28437] = {"Canavardan Koruyan Taş +4"},  
                [28438] = {"Korunma Taşı +4"},  
                [28439] = {"Kurnazlık Taşı +4"},  
                [28440] = {"Sihir Taşı +4"}, 
                [28441] = {"Yaşam Taşı +4"}, 
                [28442] = {"Savunma Taşı +4"}, 
                [28443] = {"Hız Taşı +4"}, 
                [28960] = {"Kırık Taş Parçası "}, 
            }  
            return tas[vnum][1]  
            end 
             
            function efsun(vnum) 
            local efsun =   
            {  
                [0] = {"Efsun Yok "}, 
                [1] = {"Max HP +"}, 
                [2] = {"Max SP +"}, 
                [3] = {"Yaşam Enerjisi +"}, 
                [4] = {"Zeka +"}, 
                [5] = {"Güç +"}, 
                [6] = {"Çeviklik +"}, 
                [7] = {"Saldırı Hızı +"}, 
                [8] = {"Hareket Hızı +"}, 
                [9] = {"Büyü Hızı +"}, 
                [10] = {"HP Üretimi %"}, 
                [11] = {"SP Üretimi %"}, 
                [12] = {"Zehirleme Değişimi %"}, 
                [13] = {"Sersemletme Değişimi %"}, 
                [14] = {"Yavaşlık Değişimi %"}, 
                [15] = {"Kritik Vuruş Şansı %"}, 
                [16] = {"Delici Vuruş Şansı %"}, 
                [17] = {"Yarı İnsanlara Karşı Güçlü %"}, 
                [18] = {"Hayvanlara Karşı Güçlü %"}, 
                [19] = {"Orklara Karşı Güçlü %"}, 
                [20] = {"Mistiklere Karşı Güçlü %"}, 
                [21] = {"Ölümsüzlere Karşı Güçlü %"}, 
                [22] = {"Şeytanlara Karşı Güçlü %"}, 
                [23] = {"Hasar HP Tarafından Emilicek %"}, 
                [24] = {"Hasar SP Tarafından Emilicek %"}, 
                [25] = {"Düşmanın Spsini Çalma Sansi %"}, 
                [26] = {"Vuruş Yapıldığında Spyi geri Çalma %"}, 
                [27] = {"Beden Karşısındaki Atakların Bloklanması %"}, 
                [28] = {"Oklardan Korunma Şansı %"}, 
                [29] = {"Kılıç Savunması %"}, 
                [30] = {"Çift-El Savunması %"}, 
                [31] = {"Bıçak Savunması %"}, 
                [32] = {"Çan Savunması %"}, 
                [33] = {"Yelpaze Savunması %"}, 
                [34] = {"Oka Karşı Dayanıklılık %"}, 
                [35] = {"Ateşe Karşı Dayanıklılık %"}, 
                [36] = {"Simgeye Karşı Dayanıklılık %"}, 
                [37] = {"Büyüye Karşı Dayanıklılık %"}, 
                [38] = {"Rüzgar Dayanıklılığı %"}, 
                [39] = {"Vücut Darbesini Yansıtma Şansı %"}, 
                [40] = {"Lanet Yansıtılması %"}, 
                [41] = {"Zehre Karşı Koyma %"}, 
                [42] = {"Sp Yüklenmesi Değişti"}, 
                [43] = {"Yang Düşme Şansı %"}, 
                [44] = {"Yang Düşme Şansı %"}, 
                [45] = {"Eşya Düşme Şansı %"}, 
                [46] = {"Trank effekt zuwachs %"}, 
                [47] = {"HP Yüklenmesi Değişti %"}, 
                [48] = {"Sersemletme Karşısında Bağışıklık %"}, 
                [49] = {"Yavaşlatma Karşısında Bağışıklık %"}, 
                [50] = {"Imun gegen Stürzen "}, 
                [51] = {" "}, 
                [52] = {"Bogenreichweite +"}, 
                [53] = {"Saldırı Değeri +"}, 
                [54] = {"Savunma +"}, 
                [55] = {"Büyülü Saldırı Değeri +"}, 
                [56] = {"Büyülü Savunma +"}, 
                [57] = {" "}, 
                [58] = {"Max Dayanıklılık +"}, 
                [59] = {"Savaşçılara Karşı Güçlü %"}, 
                [60] = {"Ninjalara Karşı Güçlü %"}, 
                [61] = {"Suralara Karşı Güçlü %"}, 
                [62] = {"Şamanlara Karşı Güçlü %"}, 
                [63] = {"Yaratıklara Karşı Güçlü %"}, 
                [64] = {"Saldırı Değeri +"}, 
                [65] = {"Savunma +"}, 
                [66] = {"EXP +?%"}, 
                [67] = {"Dropchance [Gegenstände] "}, 
                [68] = {"Dropchance [Gold] "}, 
                [69] = {" "}, 
                [70] = {" "}, 
                [71] = {"Beceri Hasarı %"}, 
                [72] = {"Ortalama Zarar %"}, 
                [73] = {"Widerstand gegen Fertigkeitsschaden "}, 
                [74] = {"durchschn. Schadenswiderstand "}, 
                [75] = {" "}, 
                [76] = {"iCafe exp-bonus "}, 
                [77] = {"iCafe Chance auf erbeuten von gegenständen "}, 
                [78] = {"Savaşçı Saldırılarına Karşı Savunma %"}, 
                [79] = {"Ninja Saldırılarına Karşı Savunma %"}, 
                [80] = {"Sura Saldırılarına Karşı Savunma %"}, 
                [81] = {"Şaman Saldırılarına Karşı Savunma %"}, 
            }   
            return efsun[vnum][1]  
        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_kontrol.lua

Putty ile de işimiz bitti.

3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra 20087 kodlu NPC'den sistemi deneyebilirsiniz.
 

En Çok Reaksiyon Alan Mesajlar

@thenemne0032;

hacı gm ye özel bi quest yazabilirmisin sağ köşede seçenek veya herhangi bi npc de olabilir oyuncunun ismini yazarak depodaki itemlerini listeliyebilirmiyiz bunun yanında direk oyuncunun envanterinide göstericek bi sistem olsa fena olmazdı
Sevdimm Güzelmiş :D Teşekkür Ederim
 
Teşekkürler kardeşim paylaştığın tüm çalışmalar sabitlenmeyi hak ediyor bence başarılarının devamını dilerim
 
Tebrikler hocam güzel olmuş :)
 

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

Geri
Üst