Yönetici Eşya Kontrol Sistemi[LUA][Anlık eşya silme,Efsun güncelleme]

MBayraktar

Yasaklanmış Üye
Cezalı
Mesaj
225
Çözümler
2
Beğeni
181
Puan
731
Ticaret Puanı
0
Merhabalar,

Yöneticiler için bir sistem hazırladım. Sistem hakkında bilgi vereyim:


Yönetici Eşya Kontrol Sistemi nedir?


Yönetici Eşya Kontrol Sistemi, oyun yöneticilerinin oyuncuların eşyalarını kontrol edebileceği sistemdir. Yani oyun yöneticisi dilediği oyuncunun çantasındaki eşyayı anlık olarak silebilir yada oyuncunun eşyasında bulunan efsunları düzenleyebilir.

Sistemin kullanımını video üzerinden anlatacağım.

Ek bilgi: Bu şekilde bir sistemi hiçbir yerde görmedim, o nedenden kendim kodlamaya karar verdim.



Yönetici Eşya Kontrol Sistemi - Tanıtım

B0ZprM.jpg


Yönetici Eşya Kontrol Sistemi - Dosyalar
Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.

Yönetici Eşya Kontrol Sistemi - Kurulum


1-) Rar'ın içindeki yonetici_esya_kontrol.lua dosyasını: /usr/game/share/locale/turkey/quest bölümüne atınız.

2-) Attıktan sonra Putty'ye gelerek şu kodları yazınız: cd /usr/game/share/locale/turkey/quest bunu yazdıktan sonra entere basarak şu kodu yazınız: ./qc yonetici_esya_kontrol.lua bunu da yazıp entere bastıktan sonra sistem kurulmuştur. 40004 NO'lu yüzükten sistemi kontrol edebilirsiniz.

Kodları kontrol etmek isteyenler için:
Lua (Quest):
quest yonetici_esya_kontrol begin
    state start begin
 
        when 40004.use begin
            yonetici_isim = pc.get_name()
            yaziBaslikO= "Bilgilendirme:"
            yaziBaslikOL = "Uyarı:"
            if not pc.is_gm() then
                verilecekUyari = "Sistem: Bu yüzük yöneticilere özeldir."
                syschat(verilecekUyari)
                return
            elseif pc.getqf("yonetici_izin") == 0 then
                say_title(yaziBaslikO)
                say("")
                say("Merhaba yönetici, "..yonetici_isim)
                say("Bu sistemi ilk kullanışın ve güvenlik açısından dolayı[ENTER]kendine özel bir şifre ve gizli cevap belirlemen gerekiyor.")
                say("")
                say_reward("Şifrenizi giriniz: (En az 4 en fazla 8 haneden ve rakamlardan oluşmalı)")
                yonetici_Sifrem = tonumber(input())
                if string.len(yonetici_Sifrem) < 4 or string.len(yonetici_Sifrem) > 8 or yonetici_Sifrem == nil then
                    say_title(yaziBaslikOL)
                    say("")
                    say_reward("Şifreniz en az 4 en fazla 8 haneden ve rakamlardan oluşmalı! Tekrar deneyin.")
                    say("")
                    return
                end
                say_title(yaziBaslikO)
                say("")
                say("Yönetici şifreniz: "..yonetici_Sifrem)
                say("")
                say_reward("Şifrenizi onaylıyor musunuz?")
                say("")
                yoneticiSifreOnay = select("Evet","Hayır")
                if yoneticiSifreOnay ==    1 then
                    say_title(yaziBaslikO)
                    say("")
                    say("Şifrenizi unuttuğunuzda sıfırlayabilmeniz için gizli sorunuz ve cevabınız.")
                    say("")
                    say_reward("Okul numaranızı giriniz: ")
                    gizliCevap = tonumber(input())
                    if gizliCevap == nil then
                        say_title(yaziBaslikOL)
                        say("")
                        say_reward("Okul numaranız sadece rakamlardan oluşmalı! Tekrar deneyin!")
                        say("")
                        return
                    end
                    say_title(yaziBaslikO)
                    say("")
                    say("Sistem şifreniz: "..yonetici_Sifrem)
                    say("Okul Numaram: "..gizliCevap)
                    say("")
                    say("Bilgileriniz başarı ile kayıt edilmiştir.")
                    say("")
                    pc.setqf("yonetici_izin",1)
                    pc.setqf("yonetici_sifrem",yonetici_Sifrem)
                    pc.setqf("gizli_cevap",gizliCevap)
                end
                return
            end -- if not gm end
         
            sistemSecim = select("Sisteme Giriş Yap","Şifremi Unuttum","Kapat")
            if sistemSecim == 2 then
                say_title(yaziBaslikO)
                say("")
                say("Merhaba yönetici, "..yonetici_isim)
                say("Demek şifreni unuttun? Gizli sorunun cevabı karşılığında[ENTER]şifreni sıfırlayabilirim.")
                say("")
                say_reward("Okul numaranızı girin: ")
                sifreKurtar = tonumber(input())
                gizliCevapDeger = pc.getqf("gizli_cevap")
                if sifreKurtar != gizliCevapDeger then
                    say_title(yaziBaslikOL)
                    say("")
                    say_reward("Girdiğiniz bilgiler uyuşmuyor. Tekrar deneyin!")
                    say("")
                    return
                else
                    say_title(yaziBaslikO)
                    say("")
                    say("Şifreniz sıfırlanmıştır.[ENTER]Şifrenizi tekrardan oluşturabilirsiniz.")
                    say("")
                    pc.setqf("yonetici_izin",0)
                    return
                end
            elseif sistemSecim == 3 then
                return
            end
         
         
            say_title(yaziBaslikO)
            say("")
            say("Merhaba yönetici, "..yonetici_isim)
            say("Güvenlik açısından sistemi kullanabilmek için belirlemiş[ENTER]olduğun şifreyi girmen gerekiyor.")
            say("Eğer şifreni hatırlamıyorsan sisteme giriş yapmadan önce[ENTER]sıfırlayabilirsin.")
            say("")
            say_reward("Sistem şifresini giriniz: ")
            sistemeGirisSifre = tonumber(input())
            yoneticiGirisSifre = pc.getqf("yonetici_sifrem")
            if sistemeGirisSifre != yoneticiGirisSifre then
                say_title(yaziBaslikOL)
                say("")
                say_reward("Girdiğiniz bilgiler uyuşmuyor. Lütfen tekrar deneyin!")
                say("")
                return
            end
         
            say_title(yaziBaslikO)
            say("")
            say("Merhaba yönetici, "..yonetici_isim)
            say("Bu sistem ile dilediğin oyuncunun eşyasını kontrol[ENTER]edebilirsin.")
            say("")
            say_reward("Sistemi kullanmak istiyor musun?")
            say("")
            yoneticiSecimYap = select("Evet","Hayır")
            if yoneticiSecimYap == 1 then
                say_title(yaziBaslikO)
                say("")
                say_reward("Eşyalarını kontrol etmek istediğin oyuncunun ismini gir:")
                oyuncu_isim = string.format(input())
                isimDurum = yonetici_esya_kontrol.isim_kontrol(oyuncu_isim)
             
                if not isimDurum then
                    say_title(yaziBaslikOL)
                    say("")
                    say_reward("Geçersiz giriş. Tekrar deneyin.")
                    say("")
                    return
                end
             
             
                oyuncuAra = find_pc_by_name(oyuncu_isim)
                o_id = pc.select(oyuncuAra)
                    oyuncu_hesap_id = pc.get_account_id()
                    oyuncu_karakter_id = pc.get_player_id()
                    oyuncu_isim = pc.get_name()
                pc.select(o_id)
             
                if oyuncuAra == 0 then
                    say_title(yaziBaslikOL)
                    say("")
                    say_reward("Böyle bir oyuncu yok yada oyunda değil.")
                    say("")
                    return
                end
             
                say_title("Arama Tipi Seçiniz:")
                say("")
                aramaTipi = select("Depo-Nesne Market Ara","Çanta Ara","Kapat")
             
                if aramaTipi == 1 then
                    y=1
                    while y==1 do
                        esyaKodlari = {}
                        esyaAdeti = {}
                        esya_isimleri= {}
                        esya_idler = {}
                        esyaKonum = {}
                        efsunlar_isim = {}
                        efsunlar_deger = {}
                        tipSirasi = {}
                        efsun_tipi = {}
                        efsunTipSirasi = {}
                        efsun_tipi_y = {}
                        efsun_tipi_d_y = {}
                        esya_isimDizi = {}
                        esyaAraDepoNesne = mysql_query10("select * from player.item where owner_id='"..oyuncu_hesap_id.."' ")                 
                        esyaAraDepoNesneSay = tonumber(table.getn(esyaAraDepoNesne))
                        if esyaAraDepoNesneSay < 1 then
                            say_title(yaziBaslikOL)
                            say("")
                            say_reward("Depoda yada Nesne Markette hiç eşya bulunamadı.")
                            say("")
                            return
                        end
                        for i=1,esyaAraDepoNesneSay,1 do
                            esyaKodlari[i] = esyaAraDepoNesne.vnum[i]
                            esyaAdeti[i] = esyaAraDepoNesne.count[i]
                            esya_idler[i] = esyaAraDepoNesne.id[i]
                            esyaKonum[i] = esyaAraDepoNesne.pos[i]
                        end
                        for i=1,esyaAraDepoNesneSay,1 do
                            local esyaKodu = esyaKodlari[i]
                            esya_isimAra = mysql_query10("select * from player.item_proto where vnum='"..esyaKodu.."' ")
                            esyaKonumD = esyaKonum[i]
                            esya_isim = esya_isimAra.locale_name[1]
                            esya_isimDizi[i] = esya_isimAra.locale_name[1]
                            esya_isimleri[i] = esya_isim.."("..oyuncu_isim..")Pos("..esyaKonumD..")"
                        end
                        esya_isimleri[esyaAraDepoNesneSay+1] = "Kapat"
                        yoneticiEsyaSec = select_table(esya_isimleri)
                     
                        for i=1,esyaAraDepoNesneSay,1 do
                            if yoneticiEsyaSec == esyaAraDepoNesneSay + 1 then
                                return
                            end
                            if i==yoneticiEsyaSec then
                            say_title("Eşya Bilgileri:")
                            esya = esyaKodlari[i]
                            say_item_vnum(esya)
                            esyaKimlik = esya_idler[i]
                            esyaSorgula = mysql_query10("select * from player.item where id='"..esyaKimlik.."' and owner_id='"..oyuncu_hesap_id.."' ")
                            say_reward("[WINDOW_SIZE width;350|height;500]EFSUNLAR")
                            m = 0
                            for i=13,21,2 do
                                --esyaEfsunBilgi = yonetici_esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))
                                if tonumber(esyaSorgula[1][i]) != 0 then
                                    say(yonetici_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(yonetici_esya_kontrol.tas(tonumber(esyaSorgula[1][i])))
                            end
                            say("")
                            say("")
                            say("")
                            say("")
                            say("")
                            esyaSecimYap = select("Sil","Efsun Düzenle","Kapat")
                            if esyaSecimYap == 1 then
                                say_title(yaziBaslikO)
                                say("")
                                say("Eşyayı gerçekten silmek istiyor musunuz?")
                                say("")
                                esya_islemYap = select("Evet","Hayır")
                                if esya_islemYap == 2 then
                                    return
                                end
                                esya_isimY = esya_isimDizi[i]
                                esya_id = esya_idler[i]
                                esyaVarmi = mysql_query10("select * from player.item where id='"..esya_id.."' and owner_id='"..oyuncu_hesap_id.."' ")
                                esyaVarmiSay = tonumber(table.getn(esyaVarmi))
                                if esyaVarmiSay < 1 then
                                    say_title(yaziBaslikOL)
                                    say("")
                                    say_reward("Silinemedi! Eşya depodan yada Nesne Marketten alınmış.")
                                    say("")
                                    return
                                end
                                mysql_query10("delete from player.item where id='"..esya_id.."' and owner_id='"..oyuncu_hesap_id.."' ")
                                m_id = pc.select(oyuncuAra)
                                    syschat("Sistem: Eşyanız yönetici tarafından silinmiştir. Silinen eşya adı: "..esya_isimY)
                                pc.select(m_id)
                                say_title(yaziBaslikO)
                                say("")
                                say("Seçtiğiniz eşya başarı ile silinmiştir.")
                                say("")
                                silSecimYap = select("Geri Dön","Kapat")
                                if silSecimYap == 2 then
                                    y=0
                                end
                            elseif esyaSecimYap == 2 then
                                if m==0 then
                                    say_title(yaziBaslikOL)
                                    say("")
                                    say_reward("Bu eşyada düzenlenecek efsun yok.")
                                    say("")
                                    y=0
                                elseif m==1 then
                                     z = 1
                                    while z == 1 do
                                        say_title("Bilgilendirme:")
                                        say("")
                                        efsunSecim = select("Efsun Tipi Düzenle","Efsun Değeri Düzenle","Kapat")
                                        if efsunSecim == 1 then
                                            esyaSorgula = mysql_query10("select * from player.item where id='"..esyaKimlik.."' and owner_id='"..oyuncu_hesap_id.."' ")
                                            u = 1
                                            for i=13,21,2 do
                                                --esyaEfsunBilgi = yonetici_esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))
                                                if tonumber(esyaSorgula[1][i]) != 0 then
                                                    efsun_tipi[u] = yonetici_esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))
                                                    efsunTipSirasi[u] = i
                                                    u = u + 1
                                                end
                                            end
                                                efsunlar_tipY = {}
                                                efsunTipSirasiY = {}
                                                efsunlar_tipSay = tonumber(table.getn(efsun_tipi))
                                                for i=1,efsunlar_tipSay,1 do
                                                    efsunlar_tipY[i] = efsun_tipi[i]
                                                    efsunTipSirasiY[i] = efsunTipSirasi[i]
                                                end
                                                efsunlar_tipY[efsunlar_tipSay+1] = "Kapat"
                                                efsunlar_tipYSecim = select_table(efsunlar_tipY)
                                                for i=1,efsunlar_tipSay,1 do
                                                    if efsunlar_tipYSecim == efsunlar_tipSay + 1 then
                                                        return
                                                    end
                                                    if efsunlar_tipYSecim == i then
                                                        say_title(yaziBaslikO)
                                                        say("")
                                                        say_reward("Yeni efsun tipi kodunu giriniz:")
                                                        yeniEfsunTipi = input_number()
                                                        yeniEfsunTipiKontrol = yonetici_esya_kontrol.yeniEfsunTipKontrol(yeniEfsunTipi)
                                                        if not yeniEfsunTipiKontrol then
                                                            say_title(yaziBaslikOL)
                                                            say("")
                                                            say_reward("Girdiğiniz efsun tipi hatalıdır!")
                                                            say("")
                                                            return
                                                        end
                                                        esyaTipKonum = efsunTipSirasiY[i]
                                                        esyaTipSirasi = yonetici_esya_kontrol.efsunDegerSirasi(tonumber(esyaTipKonum))
                                                        efsunTipDegistir = mysql_query10("UPDATE player.item SET  "..esyaTipSirasi.."="..yeniEfsunTipi.." where owner_id='"..oyuncu_hesap_id.."' and id='"..esyaKimlik.."' ")
                                                        if efsunTipDegistir then
                                                            say_title(yaziBaslikO)
                                                            say("")
                                                            say("Efsun tipi başarı ile değiştirildi.")
                                                            say("")
                                                            neYapacaksinSec = select("Efsuna Dön","Eşyalara Dön","Kapat")
                                                            if neYapacaksinSec == 2 then
                                                                z=0
                                                            elseif neYapacaksinSec == 3 then
                                                                z=0
                                                                y=0
                                                            end
                                                        end
                                                    end
                                                end
                                             
                                        elseif efsunSecim == 2 then
                                                esyaSorgula = mysql_query10("select * from player.item where id='"..esyaKimlik.."' and owner_id='"..oyuncu_hesap_id.."' ")
                                                p = 1
                                                for i=13,21,2 do
                                                    --esyaEfsunBilgi = yonetici_esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))
                                                    if tonumber(esyaSorgula[1][i]) != 0 then
                                                        efsunlar_isim[p] = yonetici_esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))
                                                        efsunlar_deger[p] = tonumber(esyaSorgula[1][i+1])
                                                        tipSirasi[p] = i
                                                        p = p + 1
                                                    end
                                                end
                                                efsunlar_isimDegerY = {}
                                                efsunlarDegerY = {}
                                                tipSirasiY = {}
                                                efsunlar_isimSay = tonumber(table.getn(efsunlar_isim))
                                                for i=1,efsunlar_isimSay,1 do
                                                    efsunlar_isimDegerY[i] = efsunlar_isim[i].." "..efsunlar_deger[i]
                                                    efsunlarDegerY[i] = efsunlar_deger[i]
                                                    tipSirasiY[i] = tipSirasi[i]
                                                end
                                                efsunlar_isimDegerY[efsunlar_isimSay+1] = "Kapat"
                                                efsunDuzenleSec = select_table(efsunlar_isimDegerY)
                                                for i=1,efsunlar_isimSay,1 do
                                                    if efsunDuzenleSec == efsunlar_isimSay + 1 then
                                                        return
                                                    end
                                                    if i == efsunDuzenleSec then
                                                        esyaTip = tipSirasiY[i]
                                                        esyaTipSirasi = yonetici_esya_kontrol.efsunTipi(tonumber(esyaTip))
                                                        say_title(yaziBaslikO)
                                                        say("")
                                                        say_reward("Yeni değerini girin:")
                                                        yeniEfsunDegeri = input_number()
                                                        yeniEfsunDegeriK = yonetici_esya_kontrol.yeniEfsunKontrol(yeniEfsunDegeri)
                                                        if not yeniEfsunDegeriK then
                                                            say_title(yaziBaslikOL)
                                                            say("")
                                                            say_reward("Geçersiz giriş yaptınız. Tekrar deneyin.")
                                                            say("")
                                                            return
                                                        end
                                                     
                                                        mysql_query10("UPDATE player.item SET  "..esyaTipSirasi.."="..yeniEfsunDegeri.." where owner_id='"..oyuncu_hesap_id.."' and id='"..esyaKimlik.."' ")
                                                        say_title(yaziBaslikO)
                                                        say("")
                                                        say("Efsun başarıyla güncellendi.")
                                                        say("")
                                                        y_secim = select("Efsuna Geri Dön","Eşyalara Geri Dön","Kapat")
                                                        if y_secim == 2 then
                                                            z=0
                                                        elseif y_secim == 3 then
                                                            y=0
                                                            z=0
                                                        end -- ,if y_secim
                                                    end -- for endi
                                                end --  for endi
                                            elseif efsunSecim == 3 then
                                                y=0
                                                z=0
                                            end -- elseif efsunSecim endi
                                        end -- m secim     
                                end                 
                             
                            elseif esyaSecimYap == 3 then
                                y = 0
                            end -- esyasecimyap endi
                         
                        end
                 
                    end
                end
                 
                 
                 
                elseif aramaTipi == 2 then
                    y=1
                    while y==1 do
                        esyaKodlari = {}
                        esyaAdeti = {}
                        esya_isimleri= {}
                        esya_idler = {}
                        esyaKonum = {}
                        efsunlar_isim = {}
                        efsunlar_deger = {}
                        tipSirasi = {}
                        efsun_tipi = {}
                        efsunTipSirasi = {}
                        efsun_tipi_y = {}
                        efsun_tipi_d_y = {}
                        esya_isimDizi = {}
                        esyaAraDepoNesne = mysql_query10("select * from player.item where owner_id='"..oyuncu_karakter_id.."' ")                 
                        esyaAraDepoNesneSay = tonumber(table.getn(esyaAraDepoNesne))
                        if esyaAraDepoNesneSay < 1 then
                            say_title(yaziBaslikOL)
                            say("")
                            say_reward("Depoda yada Nesne Markette hiç eşya bulunamadı.")
                            say("")
                            return
                        end
                        for i=1,esyaAraDepoNesneSay,1 do
                            esyaKodlari[i] = esyaAraDepoNesne.vnum[i]
                            esyaAdeti[i] = esyaAraDepoNesne.count[i]
                            esya_idler[i] = esyaAraDepoNesne.id[i]
                            esyaKonum[i] = esyaAraDepoNesne.pos[i]
                        end
                        for i=1,esyaAraDepoNesneSay,1 do
                            local esyaKodu = esyaKodlari[i]
                            esya_isimAra = mysql_query10("select * from player.item_proto where vnum='"..esyaKodu.."' ")
                            esyaKonumD = esyaKonum[i]
                            esya_isim = esya_isimAra.locale_name[1]
                            esya_isimDizi[i] = esya_isimAra.locale_name[1]
                            esya_isimleri[i] = esya_isim.."("..oyuncu_isim..")Pos("..esyaKonumD..")"
                        end
                        esya_isimleri[esyaAraDepoNesneSay+1] = "Kapat"
                        yoneticiEsyaSec = select_table(esya_isimleri)
                     
                        for i=1,esyaAraDepoNesneSay,1 do
                            if yoneticiEsyaSec == esyaAraDepoNesneSay + 1 then
                                return
                            end
                            if i==yoneticiEsyaSec then
                            say_title("Eşya Bilgileri:")
                            esya = esyaKodlari[i]
                            say_item_vnum(esya)
                            esyaKimlik = esya_idler[i]
                            esya_isimY =  esya_isimDizi[i]
                            esyaSorgula = mysql_query10("select * from player.item where id='"..esyaKimlik.."' and owner_id='"..oyuncu_karakter_id.."' ")
                            say_reward("[WINDOW_SIZE width;350|height;500]EFSUNLAR")
                            m = 0
                            for i=13,21,2 do
                                --esyaEfsunBilgi = yonetici_esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))
                                if tonumber(esyaSorgula[1][i]) != 0 then
                                    say(yonetici_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(yonetici_esya_kontrol.tas(tonumber(esyaSorgula[1][i])))
                            end
                            say("")
                            say("")
                            say("")
                            say("")
                            say("")
                            esyaSecimYap = select("Sil","Efsun Düzenle","Kapat")
                            if esyaSecimYap == 1 then
                                say_title(yaziBaslikO)
                                say("")
                                say("Eşyayı gerçekten silmek istiyor musunuz?")
                                say("")
                                esya_islemYap = select("Evet","Hayır")
                                if esya_islemYap == 2 then
                                    return
                                end
                            esya_id = esya_idler[i]
                            esyaKodu = esyaKodlari[i]
                            esyaAdeti = esyaAdeti[i]
                            esyaGiyilimiKontrolEt = mysql_query10("select * from player.item where id='"..esya_id.."' and owner_id='"..oyuncu_karakter_id.."' ")
                            esyaGiyilimiKontrolEtSay = tonumber(table.getn(esyaGiyilimiKontrolEt))
                            if esyaGiyilimiKontrolEtSay < 1 then
                                say_title(yaziBaslikOL)
                                say("")
                                say_reward("Silinemedi! Eşya depoya aktarılmış yada atılmış.")
                                say("")
                                return
                            else
                                esyaGiyilimiDurum = tostring(esyaGiyilimiKontrolEt.window[1])
                                esyaWindowG = "EQUIPMENT"
                                if esyaWindowG == esyaGiyilimiDurum then
                                    say_title(yaziBaslikOL)
                                    say("")
                                    say_reward("Giyilen eşyayı silemezsiniz!")
                                    say("")
                                    return
                                end
                            end
                             
                            k_id = pc.select(oyuncuAra)
                                pc.remove_item(esyaKodu,esyaAdeti)
                                syschat("Sistem: Eşyanız yönetici tarafından silinmiştir. Silinen eşya adı: "..esya_isimY)
                            pc.select(k_id)
                            say_title(yaziBaslikO)
                            say("")
                            say("Seçtiğiniz eşya başarı ile silinmiştir.")
                            say("")
                                silSecimYap = select("Geri Dön","Kapat")
                                if silSecimYap == 2 then
                                    y=0
                                end
                            elseif esyaSecimYap == 2 then
                                if m==0 then
                                    say_title(yaziBaslikOL)
                                    say("")
                                    say_reward("Bu eşyada düzenlenecek efsun yok.")
                                    say("")
                                    y=0
                                elseif m==1 then
                                     z = 1
                                    while z == 1 do
                                        say_title("Bilgilendirme:")
                                        say("")
                                        efsunSecim = select("Efsun Tipi Düzenle","Efsun Değeri Düzenle","Kapat")
                                        if efsunSecim == 1 then
                                            esyaSorgula = mysql_query10("select * from player.item where id='"..esyaKimlik.."' and owner_id='"..oyuncu_karakter_id.."' ")
                                            u = 1
                                            for i=13,21,2 do
                                                --esyaEfsunBilgi = yonetici_esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))
                                                if tonumber(esyaSorgula[1][i]) != 0 then
                                                    efsun_tipi[u] = yonetici_esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))
                                                    efsunTipSirasi[u] = i
                                                    u = u + 1
                                                end
                                            end
                                                efsunlar_tipY = {}
                                                efsunTipSirasiY = {}
                                                efsunlar_tipSay = tonumber(table.getn(efsun_tipi))
                                                for i=1,efsunlar_tipSay,1 do
                                                    efsunlar_tipY[i] = efsun_tipi[i]
                                                    efsunTipSirasiY[i] = efsunTipSirasi[i]
                                                end
                                                efsunlar_tipY[efsunlar_tipSay+1] = "Kapat"
                                                efsunlar_tipYSecim = select_table(efsunlar_tipY)
                                                for i=1,efsunlar_tipSay,1 do
                                                    if efsunlar_tipYSecim == efsunlar_tipSay + 1 then
                                                        return
                                                    end
                                                    if efsunlar_tipYSecim == i then
                                                        say_title(yaziBaslikO)
                                                        say("")
                                                        say_reward("Yeni efsun tipi kodunu giriniz:")
                                                        yeniEfsunTipi = input_number()
                                                        yeniEfsunTipiKontrol = yonetici_esya_kontrol.yeniEfsunTipKontrol(yeniEfsunTipi)
                                                        if not yeniEfsunTipiKontrol then
                                                            say_title(yaziBaslikOL)
                                                            say("")
                                                            say_reward("Girdiğiniz efsun tipi hatalıdır!")
                                                            say("")
                                                            return
                                                        end
                                                        esyaTipKonum = efsunTipSirasiY[i]
                                                        esyaTipSirasi = yonetici_esya_kontrol.efsunDegerSirasi(tonumber(esyaTipKonum))
                                                        efsunTipDegistir = mysql_query10("UPDATE player.item SET  "..esyaTipSirasi.."="..yeniEfsunTipi.." where owner_id='"..oyuncu_karakter_id.."' and id='"..esyaKimlik.."' ")
                                                        if efsunTipDegistir then
                                                            say_title(yaziBaslikO)
                                                            say("")
                                                            say("Efsun tipi başarı ile değiştirildi.")
                                                            say("")
                                                            neYapacaksinSec = select("Efsuna Dön","Eşyalara Dön","Kapat")
                                                            if neYapacaksinSec == 2 then
                                                                z=0
                                                            elseif neYapacaksinSec == 3 then
                                                                z=0
                                                                y=0
                                                            end
                                                        end
                                                    end
                                                end
                                             
                                        elseif efsunSecim == 2 then
                                                esyaSorgula = mysql_query10("select * from player.item where id='"..esyaKimlik.."' and owner_id='"..oyuncu_karakter_id.."' ")
                                                p = 1
                                                for i=13,21,2 do
                                                    --esyaEfsunBilgi = yonetici_esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))
                                                    if tonumber(esyaSorgula[1][i]) != 0 then
                                                        efsunlar_isim[p] = yonetici_esya_kontrol.efsun(tonumber(esyaSorgula[1][i]))
                                                        efsunlar_deger[p] = tonumber(esyaSorgula[1][i+1])
                                                        tipSirasi[p] = i
                                                        p = p + 1
                                                    end
                                                end
                                                efsunlar_isimDegerY = {}
                                                efsunlarDegerY = {}
                                                tipSirasiY = {}
                                                efsunlar_isimSay = tonumber(table.getn(efsunlar_isim))
                                                for i=1,efsunlar_isimSay,1 do
                                                    efsunlar_isimDegerY[i] = efsunlar_isim[i].." "..efsunlar_deger[i]
                                                    efsunlarDegerY[i] = efsunlar_deger[i]
                                                    tipSirasiY[i] = tipSirasi[i]
                                                end
                                                efsunlar_isimDegerY[efsunlar_isimSay+1] = "Kapat"
                                                efsunDuzenleSec = select_table(efsunlar_isimDegerY)
                                                for i=1,efsunlar_isimSay,1 do
                                                    if efsunDuzenleSec == efsunlar_isimSay + 1 then
                                                        return
                                                    end
                                                    if i == efsunDuzenleSec then
                                                        esyaTip = tipSirasiY[i]
                                                        esyaTipSirasi = yonetici_esya_kontrol.efsunTipi(tonumber(esyaTip))
                                                        say_title(yaziBaslikO)
                                                        say("")
                                                        say_reward("Yeni değerini girin:")
                                                        yeniEfsunDegeri = input_number()
                                                        yeniEfsunDegeriK = yonetici_esya_kontrol.yeniEfsunKontrol(yeniEfsunDegeri)
                                                        if not yeniEfsunDegeriK then
                                                            say_title(yaziBaslikOL)
                                                            say("")
                                                            say_reward("Geçersiz giriş yaptınız. Tekrar deneyin.")
                                                            say("")
                                                            return
                                                        end
                                                     
                                                        mysql_query10("UPDATE player.item SET  "..esyaTipSirasi.."="..yeniEfsunDegeri.." where owner_id='"..oyuncu_karakter_id.."' and id='"..esyaKimlik.."' ")
                                                        say_title(yaziBaslikO)
                                                        say("")
                                                        say("Efsun başarıyla güncellendi.")
                                                        say("")
                                                        y_secim = select("Efsuna Geri Dön","Eşyalara Geri Dön","Kapat")
                                                        if y_secim == 2 then
                                                            z=0
                                                        elseif y_secim == 3 then
                                                            y=0
                                                            z=0
                                                        end -- ,if y_secim
                                                    end -- for endi
                                                end --  for endi
                                            elseif efsunSecim == 3 then
                                                y=0
                                                z=0
                                            end -- elseif efsunSecim endi
                                        end -- m secim     
                                end                 
                             
                            elseif esyaSecimYap == 3 then
                                y = 0
                            end -- esyasecimyap endi
                         
                        end
                 
                    end
                end
            end -- Evet - HAYIR endi
             
            elseif yoneticiSecimYap == 2 then
                return
            end
         
        end -- when end
     
     
        function isim_kontrol(gelen_isim) -- isim kontrol etme
            oyuncu_isim = gelen_isim
            if oyuncu_isim == yonetici_isim then
                return false
            elseif oyuncu_isim == "" or oyuncu_isim == nil then
                return false
            end
            return true
        end
     
        function tas(vnum) -- taşlar
            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
     
        function efsunTipi(gelen_tip) -- efsun tipi kontrol
            local tip =
            {
                [13] = {"attrvalue0"},
                [15] = {"attrvalue1"},
                [17] = {"attrvalue2"},
                [19] = {"attrvalue3"},
                [21] = {"attrvalue4"}
            }
            return tip[gelen_tip][1]
        end
     
        function efsunDegerSirasi(gelen_deger)
            local tip =
            {
                [13] = {"attrtype0"},
                [15] = {"attrtype1"},
                [17] = {"attrtype2"},
                [19] = {"attrtype3"},
                [21] = {"attrtype4"}
            }
            return tip[gelen_deger][1]
        end
     
        function yeniEfsunKontrol(gelen_efsun_degeri) -- yeni efsun değeri kontrol
     
            yeni_gelen_efsunDegeri = gelen_efsun_degeri
         
            if yeni_gelen_efsunDegeri < 1 then
                return false
            end
            return true
        end
     
        function yeniEfsunTipKontrol(gelen_tip)
            esyaTipY = gelen_tip
            engelliEfsunlar = {46,50,51,52,57,67,68,69,70,73,74,75,76,77}
            for p=1,tonumber(table.getn(engelliEfsunlar)),1 do
                if esyaTipY == engelliEfsunlar[p] then
                    return false
                elseif esyaTipY < 1 or esyaTipY > 81 then
                    return false
                end
            end
            return true
        end
     
    end -- state end
end -- quest end
 

Dosya Eklentileri

  • yonetici_esya_kontrol_sistemi.rar
    6,3 KB · Gösterim: 118
  • B0ZprM.jpg
    B0ZprM.jpg
    9,1 KB · Gösterim: 552
En son bir moderatör tarafından düzenlenmiş:
Paylaşımınız için teşekkür ederim. Lua sistem, çok detaylıymış. :) Server yöneticilerin işini kolaylaştırabilir.

Ek olarak dosya.tc linkleri çabuk kırıldığı lütfen dosyaları forum kurallarımızda belirttiğimiz yükleme sitelerine yükleyiniz. mega.co.nz, yandex.disk, google drive vb.
 
Paylaşımınız için teşekkür ederim. Lua sistem, çok detaylıymış. :) Server yöneticilerin işini kolaylaştırabilir.

Ek olarak dosya.tc linkleri çabuk kırıldığı lütfen dosyaları forum kurallarımızda belirttiğimiz yükleme sitelerine yükleyiniz. mega.co.nz, yandex.disk, google drive vb.
Alternatif link olarak eklendi.
 
Bu da üzerinde yoğun emek verdiğim sistemlerdendi. Paylaşmışsınız, tekrar paylaşmama gerek yok. Teşekkürler. :)
 
Bu da üzerinde yoğun emek verdiğim sistemlerdendi. Paylaşmışsınız, tekrar paylaşmama gerek yok. Teşekkürler. :)
Sistemi yapan siz misiniz? Forum kurallarımız gereğinde eğer bir proje birisine aitse ve paylaşılmasını istemiyorsa bunu kaldırtma yetkiniz var. Dilerseniz konuyu sizin üzerinize de aktarabiliriz. Eğer benim için sorun yok diyorsanız bu şekilde kalabilir. :)
 
Teşekkürler bilgilendirme için. Kaldırılmasına gerek yok. Önemli olan insanların buna ulaşabilmesi. :)
 
Teşekkürler bilgilendirme için. Kaldırılmasına gerek yok. Önemli olan insanların buna ulaşabilmesi. :)
Herkes sizin gibi düşünemiyor ne yazık ki. Forum olarak proje sahiplerine biz bu garantiyi veriyoruz. Normalde paylaşmak serbest ama şikayet gelirse durum değişir. :)
 
Dosya foruma yüklendi..
 

Dosya Eklentileri

  • yonetici_esya_kontrol_sistemi.rar
    6,3 KB · Gösterim: 113
Bu tür sistemler için sunucunun sağlam olması gerekiyor. Sunucunu özellikleri düşük olan kullanıcıların bunu kurmasını önermem.
Bu quest gmlerin işini kolayca gerçekleştireceği için konuyu sabitliyorum.
 
Dosya konuya entegre edilmiş olup konu düzenlenmiştir.
Ek olarakta konuda yer alan resimler konuya eklenmiştir.

Not: Bu sistem sunucuyu çok yorabilir. Bu yüzden bu tür kontrol için kaynak kodunu tercih edebilirsiniz. Biz yine quest alternatifini sitemizde bulunduruyoruz.
 
Geri
Üst