Best Studio 1
Best Studio
TuZaKK 1
TuZaKK
Mt2Hizmet 1
Mt2Hizmet
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
kaptanmikro1 1
kaptanmikro1
R 1
Roksam
[DEV]AB 1
[DEV]AB
Sevdamsın 1
Sevdamsın
farkmt2official 1
farkmt2official
emirhanHCL 1
emirhanHCL
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
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.
Yine sen yine çok güzel bir paylaşım npc değilde pythonla bağlantı kurdurabilirsen çok güzel olurdu
 

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

Geri
Üst