- Katılım
- 11 Ağu 2010
- Konular
- 67
- Mesajlar
- 1,092
- Online süresi
- 7h 8m
- Reaksiyon Skoru
- 476
- Altın Konu
- 0
- TM Yaşı
- 15 Yıl 10 Ay 8 Gün
- Başarım Puanı
- 188
- MmoLira
- 264
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Merhabalar,
@ZacqooLeaven; 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.
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:
Ş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!
@ZacqooLeaven; 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.
item.sql sinde yklaşık 8.200.000 item olan bi sw de denedim öle bi edit taradıki millet donsuz kaldı
sene sonunda virgülüne kadar detaylandırarak forumda paylaşılan fileslerin hangisinde ne açık var nasıl açık var hepsini konu olarak anlatıcam bu sistem gerçektende eşsiz![]()
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:
Hazır indirmek isteyenler için:
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Moderatör tarafında düzenlendi:
En Çok Reaksiyon Alan Mesajlar
Paylaşım için teşekkürler
pythondan yapın ozaman game.py
serverCommandList={
"exit": self.__ClientKapat,
en altta herhangi biyere
Kod:def __ClientKapat(self, name): import app, player if str(name) == str(player.GetName()) app.Exit()
cmdchat("exit"..player_name.."")
PHP:0607 17:59:25635 :: invalid idx 0 0607 17:59:40073 :: Traceback (most recent call last): 0607 17:59:40073 :: File "networkModule.py", line 245, in SetGamePhase 0607 17:59:40075 :: File "system.py", line 130, in __pack_import 0607 17:59:40076 :: File " 0607 17:59:40076 :: game.py 0607 17:59:40076 :: ", line 0607 17:59:40076 :: 2424 0607 17:59:40076 :: 0607 17:59:40076 :: 0607 17:59:40076 :: if str(name) == str(player.GetName()) 0607 17:59:40076 :: 0607 17:59:40076 :: 0607 17:59:40076 :: 0607 17:59:40076 :: 0607 17:59:40076 :: 0607 17:59:40076 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: 0607 17:59:40077 :: ^ 0607 17:59:40077 :: SyntaxError 0607 17:59:40077 :: : 0607 17:59:40077 :: invalid syntax 0607 17:59:40077 ::
sonuna iki nokta koymayı unutmuşum
if str(name) == str(player.GetName()):
Arkadaşlar efsun kontrolünü veritabanı üzerinden yapmaya çalışıyorum.
Şöyle anlatayım:
Sistem eşyaların efsunlarını item_attr.sql tablosunda kontrol edecek ve oradaki lv5 yani en çok gelen efsun değerinden 1 fazla olsa bile işlem yapıp hesabı kapatacak. Şuan üzerinde uğraşıyorum eğer yapabilirsem konuyu güncelleyeceğim.
Teşekkürler gayet güzel paylaşımlar yapıyorsun , öneri olarak + ban atsın oyuncuya daha iyi olur diye düşünüyorum , sabite aldım konunu , devamını bekliyoruz
- Katılım
- 1 Şub 2012
- Konular
- 58
- Mesajlar
- 1,469
- Reaksiyon Skoru
- 109
- Altın Konu
- 0
- TM Yaşı
- 14 Yıl 4 Ay 13 Gün
- Başarım Puanı
- 107
- MmoLira
- 4
- DevLira
- 0
Güzel Bir Sistem Aslında Hangi Oyuncuda Edit Oldgunuda Yazssa Süper Olurdu.
- Katılım
- 11 Ağu 2010
- Konular
- 67
- Mesajlar
- 1,092
- Online süresi
- 7h 8m
- Reaksiyon Skoru
- 476
- Altın Konu
- 0
- TM Yaşı
- 15 Yıl 10 Ay 8 Gün
- Başarım Puanı
- 188
- MmoLira
- 264
- DevLira
- 0
Güzel Bir Sistem Aslında Hangi Oyuncuda Edit Oldgunuda Yazssa Süper Olurdu.
Teşekkürler söylediğiniz için. Hem ismi söyleyecek hem de edit olan kişinin hesabını kapatacak.
Konu güncellenecektir.
- Katılım
- 1 Şub 2012
- Konular
- 58
- Mesajlar
- 1,469
- Reaksiyon Skoru
- 109
- Altın Konu
- 0
- TM Yaşı
- 14 Yıl 4 Ay 13 Gün
- Başarım Puanı
- 107
- MmoLira
- 4
- DevLira
- 0
hesabını kapatmasına gerek yok editi silsin ve hangi nicli hesabda edit var onu söylesin yeterli.Teşekkürler söylediğiniz için. Hem ismi söyleyecek hem de edit olan kişinin hesabını kapatacak.
Konu güncellenecektir.
- Katılım
- 11 Ağu 2010
- Konular
- 67
- Mesajlar
- 1,092
- Online süresi
- 7h 8m
- Reaksiyon Skoru
- 476
- Altın Konu
- 0
- TM Yaşı
- 15 Yıl 10 Ay 8 Gün
- Başarım Puanı
- 188
- MmoLira
- 264
- DevLira
- 0
hesabını kapatmasına gerek yok editi silsin ve hangi nicli hesabda edit var onu söylesin yeterli.
Tamamdır. Güncelleyeceğim.
Önerisi olan arkadaşlar yazarlarsa geliştirir konuyu güncellerim.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 2
- Görüntüleme
- 70
- Cevaplar
- 2
- Görüntüleme
- 270
- Cevaplar
- 8
- Görüntüleme
- 691




