- Katılım
- 6 Haz 2015
- Konular
- 2
- Mesajlar
- 136
- Online süresi
- 25d 3h
- Reaksiyon Skoru
- 65
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 12 Gün
- Başarım Puanı
- 97
- MmoLira
- 238
- DevLira
- 3
HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
Bu aslında pek sorun sayılmaz gm ler için Adamım ve ben yeni sistemleri görmeyi sabırsızlıkla bkliyoruz 34k ya uyumlu olmaları için az biraz daha güzellik yaparsan seviniriz 

- 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 11 Gün
- Başarım Puanı
- 188
- MmoLira
- 264
- DevLira
- 0
Bu aslında pek sorun sayılmaz gm ler için Adamım ve ben yeni sistemleri görmeyi sabırsızlıkla bkliyoruz 34k ya uyumlu olmaları için az biraz daha güzellik yaparsan seviniriz
![]()
Geceye doğru tamamlayıp 1 saate 1 sistemi otomatik tarayıp editlileri banlayan ve eşyalarını silen sistemi paylaşacağım. Efsun değerleri item_attr'den çekilecek ve item_attr de olmayan bir efsuna sahip bir eşya bulursa ya da aynı efsun tipine sahip eşya onları da otomatik bulup hesabı kapatacak ve eşyayı silecek.
- Katılım
- 6 Haz 2015
- Konular
- 2
- Mesajlar
- 136
- Online süresi
- 25d 3h
- Reaksiyon Skoru
- 65
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 12 Gün
- Başarım Puanı
- 97
- MmoLira
- 238
- DevLira
- 3
Geceye doğru tamamlayıp 1 saate 1 sistemi otomatik tarayıp editlileri banlayan ve eşyalarını silen sistemi paylaşacağım. Efsun değerleri item_attr'den çekilecek ve item_attr de olmayan bir efsuna sahip bir eşya bulursa ya da aynı efsun tipine sahip eşya onları da otomatik bulup hesabı kapatacak ve eşyayı silecek.
- Katılım
- 24 Mar 2011
- Konular
- 86
- Mesajlar
- 1,234
- Reaksiyon Skoru
- 109
- Altın Konu
- 0
- TM Yaşı
- 15 Yıl 2 Ay 26 Gün
- Başarım Puanı
- 112
- MmoLira
- 4
- DevLira
- 0
Merhabalar,
Bir arkadaşın önerisi üzerine bu sistemi hazırlamaya karar verdim. Umarım beğenirsiniz ve kullanılırsınız. Öncelikle sistemde herhangi bir bug olduğunu düşünmüyorum. En azından kontrol ettiğim kadarı ile olabilecek her türlü bugu engellemeye çalıştım. Eğer herhangi bir bug ile karşılaşırsanız lütfen bildirin. Kısa sürede düzeltir yenisini yayınlarım. Buna ek olarak sistemi biraz aceleye getirdiğim için kodlamada acemilik yapmış olabilirim. Fonksiyonları kullanarak yapacaktım fakat aceleye getirdiğim için bu şekilde oldu. Yinede kullanışlı ve herhangi bir sorun görünmüyor.
Peki nedir Offline Alışveriş Sistemi?
Oyuncuların oyunda olmasalar dahi eşyalarını satabilecekleri bir sistemdir.
Sistem nasıl işler?
Oyuncular satmak istedikleri eşyayı NPC'nin üzerine atarlar. Daha sonra karşılarına fiyat, ne kadar süre satışta kalacağı ve hangi kategoriye eklemek istediği bilgileri gelir. Gerekli seçimi yaptıktan sonra eşya alışverişe ekler. Oyuncu dilerse eşyasını geri çekebilir ve eşyasının fiyatını güncelleyebilir. Oyuncunun eşyasının süresi dolarsa o eşyanın satışı engellenir ve süresi bittikten sonra herhangi bir oyuna çıkış-giriş durumunda eşya oyuncunun kasasına yollanır ve alışveriş listesinden silinir. Eğer oyuncunun eşyası satılırsa, Alışveriş Kasasına parası kayıt edilir. Satılan tüm eşyaların parası orada tutulur ve oyuncu dilerse parasını çekebilir.
Dilerseniz sistemin nasıl işlediği ile ilgili ayrıntılı bir video paylaşayım:
LUA DOSYASI:
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
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:
"questing.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.
Daha sonra kullanacağımız veritabanı dosyasını indiriyoruz.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
MySQL dosyasını "player" veritabanına ekliyoruz. Herhangi bir işlem yapmanıza gerek yok. (REBOOT atmanıza gerek yok eklemeyi yaptıktan sonra)
Şimdi bir işlem daha yapmamız gerekiyor. "Player" tablosuna aşağıdaki gibi sağ tıklayıp "Design Table" diyoruz.
![]()
Daha sonra "alisveris_param" adında sütun ekliyoruz veritabanımıza.
ÖNEMLİ UYARI: Default değerini mutlaka 0 yapın! Çok önemli.
![]()
PARA MİKTARI ARASINA .(NOKTA) KOYMA:
Şimdi para tutarlarının arasına .(nokta) koyma fonksiyonuna geldik. Bu fonksiyonu da eklemeniz gerekiyor. Eğer bu fonksiyonu eklemezseniz sistem çalışmaz. Ona göre kodlandı. Şimdi o fonksiyonu eklemeyi göstereceğim:
"questlib.lua" dosyasını açıyoruz ve en alta aşağıdaki kodları ekleyip kapatıyoruz. Reboot atmanıza gerek yok. Başka işlem yapmanıza da gerek yok. "questlib.lua" nın en altına aşağıdaki vermiş olduğum kodu eklemeniz yeterli.
Fonksiyon kodu:
PHP:function genel_veri(gelen_miktar) gelen2 = tostring(gelen_miktar) local gelen = gelen_miktar local sayac = 10 local basamak = 1 local ilkhal = basamak while true do if gelen / sayac >= 1 then basamak = basamak + 1 sayac = sayac * 10 else break end end t = {} sonucText = "" for i=1, string.len(gelen2) do t[i]= (string.sub(gelen2,i,i)) end for k , v in pairs(t) do--1324 if (basamak == 9 or basamak == 6 or basamak == 3) and sonucText != "" then sonucText = sonucText.."." sonucText = sonucText..v else sonucText = sonucText..v end basamak = basamak - 1 end return sonucText end
Bu işlem de bittikten sonra "quest_functions" dosyasını açıyor ve en alta "genel_veri" fonksiyonunu ekliyoruz. Bura ile de işimiz bitti.
LUA dosyasını okutma:
1-) usr/game/share/locale/turkey/quest bölümüne "alisveris_sistemi.lua" dosyasını atıyoruz. Daha sonra;
2-)Putty'e geliyoruz.
cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.
./qc alisveris_sistemi.lua
Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra Offline Alışveriş Sistemini kullanmaya başlayabilirsiniz.
Kardeş sistemini kötülemek gibi olmasın kusura bakma gerçekten iyi bi iş becermişsin fakat geçengün forumda bitane adam gördüm ondaki daha iyiydi yabancı biri sanırım ama questi bizle paylaşmadı sadece tanıtımını yaptı sanırım
ona benzer birşey yaparsanız daha iyi olur metin2dev offline shop sistemi yazarsan zaten çıkıyo ordada videolu yapmış çok kaliteli bir iş becermişsin emeğine saygı duyuyorum 
- 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 11 Gün
- Başarım Puanı
- 188
- MmoLira
- 264
- DevLira
- 0
Kardeş sistemini kötülemek gibi olmasın kusura bakma gerçekten iyi bi iş becermişsin fakat geçengün forumda bitane adam gördüm ondaki daha iyiydi yabancı biri sanırım ama questi bizle paylaşmadı sadece tanıtımını yaptı sanırımona benzer birşey yaparsanız daha iyi olur metin2dev offline shop sistemi yazarsan zaten çıkıyo ordada videolu yapmış çok kaliteli bir iş becermişsin emeğine saygı duyuyorum
![]()
Yorumun, görüşlerin için teşekkür ederim.
Sanırım Python ile yapılmış olan sistemi diyorsun çünkü ben LUA ile yapılmış Offline Market sistemi görmedim ve bana göre LUA ile yapılabilecek yani en iyi demek doğru olmaz da, iyi kullanılabilir bir şekilde yapılacak bu şekilde olur sanırım. Ek olarak Python bilsem tabii ki daha gelişmişini, daha iyisini yapmak isterim ama maalesef bilgim LUA ile sınırlı. Elimden geleni yapabildim.
Son düzenleme:
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 2
- Görüntüleme
- 72


