• Serverınızın epinlerini tamamen Turkmmo güvencesiyle satın. Kredi kartı, mobil ödeme, havale/eft ve uygun komisyon oranıyla. Hemen mağaza başvurunuzu yapın. Oyunalisveris.com





Sitemize reklam vermek için [email protected] adresine mail atabilirsiniz
For Advertising Contact [email protected]


Edit Eşya Kontrol Sistemi[LUA]

WhiterNEGRO

(Mavi Ruh) & TheHectoR <3
Uzman
Katılım
20 Tem 2018
Konular
76
Mesajlar
1,248
Reaksiyon Skoru
246
Online Süresi
9g 19s 46d
Başarım Puanı
107
MmoLira
457
DevLira
0
En İyi Cevap Puanı
0
Takipçiler
2
Paylaşım İçin Teşekkürler.
 

anuluygar06

Level 2
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
VIP Üye
Üye
Katılım
22 Tem 2009
Konular
5
Mesajlar
62
Reaksiyon Skoru
10
Online Süresi
5g 9s 51d
Başarım Puanı
77
MmoLira
55
DevLira
0
En İyi Cevap Puanı
0
Takipçiler
1
Paylaşım İçin Teşekkürler.
 

LGX

Level 4
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
TM Üye
Katılım
30 Haz 2019
Konular
16
Mesajlar
378
Reaksiyon Skoru
89
Başarım Puanı
61
MmoLira
316
DevLira
9
En İyi Cevap Puanı
8
Takipçiler
2
Merhabalar,

@ ; arkadaşımın isteği üzerine Edit Eşya Kontrol Sistemini kodladım.

Peki nedir Edit Eşya Kontrol Sistemi?

Bu sistem oyunculardaki tüm eşyaları tek tek efsunlarıyla birlikte kontrol eder ve oyunun efsun düzeninden farklı bir şey algıladığında o eşyayı siler. Kontrol işlemini item_attr.sql dosyasından yani sizin oyununuzun efsun ayarlarının olduğu dosyadan yapar. Bu nedenden oyunun efsunlarından 1 puan fazla dâhi olsa hesabı kapatır ve eşyayı siler. Aynı şekilde aynı tip efsuna sahip bir eşya algıladığında da yada item_attr.sql de olmayan bir efsun algıladığında da sistem hesabı kapatır ve eşyayı siler.

Sistem nasıl işler?

40004 kodlu yüzüğe tıklanıp sistem açılabilir ya da kapatılabilir. Sistem açıkken her 1 saatte oyundaki tüm eşyaları tarar ve oyunun efsun ayarlarından farklı bir edit durumu algıladığı an hesabı kapatır, eşyayı siler. Sistemi kapatırsanız tarama da durur. Dilediğiniz zaman taramayı açıp kapatabilirsiniz.

Not: Bu sistemden edit olan hiçbir oyuncu kaçamaz. Her ne kadar eşya envanterdeyken hemen silinmiyor olsa dâhi o eşyaya sahip olan hesaplar kapatılacağı için, kişi o eşyayı kullanmaya fırsat dâhi bulamaz ve eşyayı verdiği her hesap kapanır. Ayrıca IP adresinden tespit edip diğer hesaplarını da kapatabilirsiniz.








Dilerseniz sistemin nasıl işlediği ile ilgili ayrıntılı bir video paylaşayım:




Tabii ki doğal olarak bu sistem MySQL veritabanı üzerinden işleyecek. İlk olarak MySQL kodları sunucumuzda çalışmıyorsa aşağıdaki işlemleri yapalım:

"quetlib.lua" dosyasını açıyor ve en altına aşağıdaki fonksiyonu ekliyoruz:



MYSQL FONKSİYONU:
PHP:
mysql_query10 = function(query)
    if not pre then
        local rt = io.open('CONFIG','r'):read('*all')
        pre,_= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)  %s(%S+).+','-h%1 -u%2 -p%3 -D%4')
    end
    math.randomseed(os.time())
    local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2  ^10),{},{}
    --os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi) -- für MySQL51
    os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi) -- für MySQL55
    for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi);
    for i = 2, table.getn(t) do table.foreach(t[i],function(a,b)
        out[i-1]               = out[i-1] or {}
        out[i-1][a]            = tostring(b) or b or 'NULL'
        out[t[1][a]]           = out[t[1][a]] or {}
        out[t[1][a]][i-1]      = tostring(b) or b or 'NULL'
    end) end
    return out
end

Şimdi "quest_functions" dosyamızı açalım ve "mysql_query10" var mı yok mu kontrol edelim. Eğer yoksa en alta "mysql_query10" kodunu ekleyelim. Burası ile de işimiz bitti.



Şimdi gelelim yapmamızın gereken son ayara daha sonra yeni dosyayı indirmeniz için vereceğim:

* Veritabanını açıyoruz Account veritabanından Account tablosuna sağ tıklıyoruz ve yeni bir sütun ekliyoruz aşağıdaki gibi ve default değerini 0 yapıyoruz. Mutlaka default değerini 0 yapın!







İşimiz bitti burası ile artık dosyamızı verebilirim dilerseniz aşağıdaki kodla kendiniz oluşturabilir yada buradaki linkten hazır halini indirebilirsiniz.

Hazır indirmek isteyenler için:




Teşekkürler.
 

dormammu

Level 2
Üye
Katılım
6 Eyl 2017
Konular
8
Mesajlar
74
Reaksiyon Skoru
13
Online Süresi
2g 18s 38d
Başarım Puanı
40
Yaş
26
MmoLira
144
DevLira
0
En İyi Cevap Puanı
0
Takipçiler
0
Tamamen saçmalık böyle belirli aralıklar ile sistemde tarama yapan fonksiyonlar oyunun işlem gücünü zayıflatır. Bunun yerine c++ tarafında create item kısmında veya moveitem kısmında sorgulama yapılarak kontrol ettirilebilir. Koca bi tabloyu taramakmi mantıklı tek bir itemi denetlemek mı? Kesinlikle tavsiye etmiyorum.
 

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

Üst