Yönetici Eşya Kontrol Lua

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 45

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Kod:
quest yonetici_esya_kontrol begin     state start begin         when letter with pc.is_gm() begin             send_letter("GM: Eşya Arama")             end         when button or info with pc.is_gm() begin         yonetici_isim = pc.get_name()             yaziBaslikO= "Bilgilendirme:"             yaziBaslikOL = "Uyarı:"             if not pc.is_gm() then                 verilecekUyari = "Sistem: Bu sistem 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)                     send_letter("GM: Eşya Arama")                 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("")                     send_letter("GM: Eşya Arama")                     return                 else                     say_title(yaziBaslikO)                     say("")                     say("Şifreniz sıfırlanmıştır.[ENTER]Şifrenizi tekrardan oluşturabilirsiniz.")                     say("")                     pc.setqf("yonetici_izin",0)                     send_letter("GM: Eşya Arama")                     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("")                 send_letter("GM: Eşya Arama")                 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("")                     send_letter("GM: Eşya Arama")                     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("")                     send_letter("GM: Eşya Arama")                     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("")                             send_letter("GM: Eşya Arama")                             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.")                                 send_letter("GM: Eşya Arama")                             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("")                                     send_letter("GM: Eşya Arama")                                     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         end

Metin2 oyununda gelişmiş yönetim sistemleri kurmak isteyen sunucu sahipleri için 'Yönetici Eşya Kontrol Lua' betiği büyük önem taşır. Bu betik, Metin2 sunucusunda bulunan eşyaların kontrolünü sağlayarak hem güvenlik hem de deneyim açısından önemli avantajlar sunar. Özellikle Metin2 quest sistemleriyle entegre çalışan bu tür Lua scriptleri, sunucu yöneticilerinin eşya akışını daha iyi anlamasını ve kontrol edebilmesini sağlar.

Metin2 quest geliştirme sürecinde, eşyaların nerede nasıl üretildiğini, hangi NPC'lerle etkileşime girdiğini ve hangi görevlerde kullanıldığını bilmek oldukça kritiktir. 'Yönetici Eşya Kontrol Lua', bu konuda güçlü bir araçtır. Örneğin, belirli bir eşyanın sadece belirli bir quest tamamlandığında elde edilmesini sağlamak gibi senaryolar oluşturulabilir. Bu da sunucunuzdaki ekonomi dengesini korumanıza yardımcı olur.

Lua quest dosyaları, Metin2 geliştiricileri için oldukça esnek bir yapı sunar. Quest sistemi üzerinde çalışırken, eşya kontrolü yapmak isteyen geliştiriciler için bu betikler, doğrudan sunucu kodlarına müdahale etmeden gerekli kontrolleri yapabilmenizi sağlar. 'Yönetici Eşya Kontrol Lua', aynı zamanda quest chain sistemlerinde de aktif olarak kullanılabilir. Örneğin, bir önceki questte elde edilen eşya bir sonraki questin tetikleyicisi olabilir. Bu tür senaryolar, oyuncuların daha derinlemesine bir deneyim yaşamasını sağlar.

Metin2 quest yazma sürecinde karşılaşılan yaygın sorunlardan biri, eşyaların yanlışlıkla silinmesi veya başka NPC'ler tarafından yanlış kullanımıdır. 'Yönetici Eşya Kontrol Lua', bu tür hataları engellemek için geliştirilmiş bir çözümdür. Betik sayesinde, sadece belirlenen karakterlerin belirli eşyalara erişebilmesi sağlanabilir. Ayrıca, eşyanın hangi questte kullanılacağına dair ayarlamalar yapılabilir. Bu da quest debug süreçlerini kolaylaştırır.

Geliştiriciler için önemli bir konu olan Metin2 quest hata ayıklama (debug) süreçlerinde, bu Lua betiği özellikle değerlidir. Hataların nereden kaynaklandığını anlamak ve onları hızlıca çözmek için eşya kontrol mekanizmaları kullanılır. Quest sistemlerinde timer, flag ve state gibi yapılarla birlikte çalışarak, eşyaların durumlarını kontrol edebilirsiniz. Bu, hem günlük görevler (daily quest) hem de özel görev sistemleri için geçerlidir.

Metin2 quest reward sistemleri, oyuncuların motivasyonunu yüksek tutmak için kritik öneme sahiptir. 'Yönetici Eşya Kontrol Lua', ödül olarak verilen eşyaların güvenliğini artırarak, hileli kullanımın önüne geçer. Aynı zamanda, özel quest sistemlerinde, belirli eşyaların sadece belirli görevlerden sonra oyuncuya verilmesini sağlayarak, daha adil ve dengeli bir oyun deneyimi sunar. Bu betik, Metin2dev quest geliştirme ortamlarında da sıkça tercih edilir.

Martysama gibi profesyonel geliştiriciler tarafından hazırlanan quest sistemlerinde de benzer kontrol mekanizmaları kullanılır. 'Yönetici Eşya Kontrol Lua', bu tür gelişmiş sistemlerin temel taşıdır. Oyun içi görevlerin (quest begin-end) doğru çalışması için bu tür alt yapılar çok önemlidir. Sunucunuzda Metin2 quest server sistemleri kurarken, bu tür kontrol betiklerini mutlaka dikkate almalısınız.

Sonuç olarak, 'Yönetici Eşya Kontrol Lua', Metin2 quest geliştirme, debug ve sunucu yönetimi için vazgeçilmez bir araçtır. Güvenlik, denge ve kullanıcı deneyimi açısından bu betiği kullanmak, profesyonel bir Metin2 sunucusu kurmak isteyen herkes için önerilir.


For server owners who want to establish advanced management systems in the game Metin2, the 'Admin Item Control Lua' script holds great importance. This script provides control over items on the Metin2 server, offering significant advantages both in terms of security and gameplay experience. Particularly integrated with Metin2 quest systems, such Lua scripts help server administrators better understand and manage item flows.

In the process of developing Metin2 quests, knowing where and how items are produced, which NPCs they interact with, and in which quests they are used is highly critical. The 'Admin Item Control Lua' is a powerful tool in this regard. For instance, scenarios can be created where a specific item can only be obtained after completing a certain quest. This helps maintain the economic balance on your server.

Lua quest files offer a highly flexible structure for Metin2 developers. When working on quest systems, these scripts allow you to perform necessary controls without directly modifying server codes. The 'Admin Item Control Lua' can also be actively used within quest chain systems. For example, an item obtained in a previous quest can act as the trigger for the next one. Such scenarios provide players with a deeper gaming experience.

One common issue encountered during the process of writing Metin2 quests is the accidental deletion of items or their misuse by other NPCs. The 'Admin Item Control Lua' is a solution designed to prevent such errors. Through the script, access to specific items can be limited to designated characters. Additionally, settings can be made regarding which quest an item can be used in. This facilitates quest debugging processes.

For developers, the debugging process is crucial, and this Lua script proves valuable here. It helps identify the source of errors and resolve them quickly through item control mechanisms. Working alongside structures like timers, flags, and states within quest systems, you can monitor the status of items. This applies to both daily quests and custom quest systems.

Reward systems in Metin2 quests are critically important for keeping player motivation high. The 'Admin Item Control Lua' enhances the security of rewarded items, preventing fraudulent use. Additionally, in custom quest systems, it ensures that certain items are only given to players after specific quests, providing a fairer and more balanced gaming experience. This script is frequently preferred in development environments like Metin2dev quest systems.

Similar control mechanisms are used in quest systems prepared by professional developers like Martysama. The 'Admin Item Control Lua' serves as a foundational element for such advanced systems. Infrastructure like this is vital for ensuring that in-game quests (quest begin-end) function properly. When setting up Metin2 quest server systems on your server, you should definitely consider incorporating such control scripts.

In conclusion, the 'Admin Item Control Lua' is an indispensable tool for Metin2 quest development, debugging, and server management. Utilizing this script is recommended for anyone looking to build a professional Metin2 server, especially in terms of security, balance, and user experience.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt