Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!
Eline saglık..
Yine sen yine çok güzel bir paylaşım npc değilde pythonla bağlantı kurdurabilirsen çok güzel olurduMerhabalar,
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:
![]()
![]()
![]()
![]()
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.
Yine sen yine çok güzel bir paylaşım npc değilde pythonla bağlantı kurdurabilirsen çok güzel olurdu
Python bilmiyorum maalesef ama bu gidişle Python'a da el atacağım gibi.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 2
- Görüntüleme
- 58
- Cevaplar
- 6
- Görüntüleme
- 126
