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.
