İlan
04 Haz 2026 23 çevrimiçi üye Duyurular
Ana Sayfa Quests
Ana Sayfa Forum Quests Oyun İçi Ep Market Sisteminin Gizli Özellikleri!...
İlan Yan banner placeholder

Oyun İçi Ep Market Sisteminin Gizli Özellikleri!

D3veloper 05.04.2026 22:52 718 görüntüleme 29 cevap
Son Mesaj
D3veloper
Üye
Üye
Katılım26 Mar 2026
Konular10
Mesajlar71
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
05.04.2026 22:52 #1
Merhaba Arkadaşlar Bir Çok Kişinin Aradığı Oyun İçin Ep Marketi Questini Paylaşacağım Size. Bu Quest İle Ep Marketinize Yeni İtem Ekleyebilir Onun Kaç Ep'e Satılacağını Belirleyebilirsiniz. Paylaşmadan Önce Belirtiyim Konu Epvp'den Alıntıdır. Ben Sadece O Forumda Olmayan Arkadaşlar İçin Türkçelerştirilmiş Bir Halini Paylaşıyorum. Buyrun quest halinde puttye okutmanız Yeterlidir.
PHP:
----------------------------------------------------------------------
--- Legetman Question
----------------------------------------------------------------------
quest ingameshop begin
    state start begin
        function add_newcategory(name)
            if(name == "" or tostring(name) == nil) then
                return -1
            end
            mysql_query("insert into player.ingameshop_category values ('"..name.."') ")
        end
        function load_category()
            local a = mysql_query("select * from player.ingameshop_category")
            local list = {}
            table.foreachi(a,
                function(n,p)
                    list[n] = a.category_name[n]
            end)
            if(table.getn(a) == 0) then
                return -1
            end
            return list
        end
        function load_items(categoryname)
            local a = mysql_query("select* from player.ingameshop where category_name = '"..categoryname.."'")
            if(table.getn(a) == 0) then
                return -1
            end
            local vnums,names,counts,eps = {},{},{},{}
            table.foreachi(a,
                function(n,p)
                    vnums[n],names[n],counts[n],eps[n] = a.category_itemvnum[n],item_name(a.category_itemvnum[n]),a.category_itemcount[n],a.category_ep[n]
            end)
            return vnums,names,counts,eps
        end
        function check_name(name)
            if(name == "" or tostring(name) == nil) then
                return 0
            end
            local a = mysql_query("select * from player.ingameshop_category where category_name = '"..name.."'")
            if(table.getn(a) == 1) then
                return -1
            end
        end
        function buy(vnum,count,ep)
            mysql_query("update player.ingameshop_player set ep = ep-'"..ep.."' where id = '"..pc.get_player_id().."'")
            pc.give_item2(vnum,count)
        end
        function totalep()
            local a = mysql_query("select * from player.ingameshop_player where id = '"..pc.get_player_id().."'")
            return a.ep[1]
        end
        function add_newitem(categoryname,vnum,count,ep)
            mysql_query("insert into player.ingameshop values ('"..categoryname.."','"..vnum.."','"..count.."','"..ep.."') ")
        end
        when 20354.chat."Yönetim Paneli" with pc.is_gm() begin
            say_title(mob_name(npc.get_race())..":")
            say("")
            ---
            say("Yönetim Paneline hoşgeldiniz, Bay/Bayan."..pc.name)
            say("Ne yapmak istiyorsunuz?")
            say("")
            local s = select("Yeni bir kategori ekle","Yeni obje ekle","Ejderha Markası yükle","Kapat")
            if(s == 1) then
                say_title("Yeni bir kategori ekle:")
                say("")
                ---
                say("Lütfen yeni kategorinin ismini yazın.")
                say("")
                local name = tostring(input())
                local check = ingameshop.check_name(name)
                if(name == "" or name == nil) then
                    say_title("Hata:")
                    say("")
                    ---
                    say_reward("Bir kategori adı gerekiyor.")
                    say_reward("")
                    return;
                elseif(check == -1) then
                    say_title("Hata:")
                    say("")
                    ---
                    say_reward("Zaten böyle bir kategori var.")
                    say_reward("")
                    return;
                end
                say_title("Yeni bir kategori ekle:")
                say("")
                ---
                ingameshop.add_newcategory(name)
                say_reward("Yeni bir kategori ekleme başarılı.")
                say_reward("Teşekkürler!")
                say_reward("")
            elseif(s == 2) then
                say_title("Yeni obje ekle:")
                say("")
                ---
                say("Ekliyeceğiniz obje için bir kategori")
                say("seçin.")
                say("")
                local tables = ingameshop.load_category()
                table.insert(tables,"Kapat")
                local select = select_table(tables)
                if(table.getn(tables) == select) then
                    return;
                end
                say_title(tables[select]..":")
                say("")
                ---
                say("Lütfen vnum'u giriniz.")
                say("")
                local vnum = tonumber(input())
                if(vnum == "" or vnum == nil) then
                    say_title("Hata:")
                    say("")
                    ---
                    say_reward("Bir vnum girmek zorundasın.")
                    say_reward("")
                    return;
                end
                say_title(tables[select]..":")
                say("")
                ---
                say("Lütfen obje adedini yazın.")
                say("")
                local count = tonumber(input())
                if(count == "" or count == nil) then
                    say_title("Hata:")
                    say("")
                    ---
                    say_reward("Bir obje adedi girmelisin.")
                    say_reward("")
                    return;
                end
                say_title(tables[select]..":")
                say("")
                --
                say("Ne kadara satılacak? ")
                say("EP(Ejderha Markası)")
                local ep = tonumber(input())
                if(ep == "" or ep == nil) then
                    say_title("Hata:")
                    say("")
                    ---
                    say_reward("Objeyi kategoriye koyabilmek için EP'i belirtmek zorundasın.")
                    return;
                end
                say_title("Yeni obje ekle:")
                say("")
                ---
                ingameshop.add_newitem(tostring(tables[select]),vnum,count,ep)
                say_reward("Obje adı : "..item_name(vnum))
                say_reward("Obje adedi : "..count)
                say_reward("Satılacak EP miktarı : "..ep)
                say("")
                say_reward("Obje başarıyla eklendi.")
            elseif(s == 3) then
                say_title("EP(Ejderha Markası) Yükle:")
                say("")
                ---
                say("Isim giriniz")
                say("")
                local sname = tostring(input())
                local find = find_pc_by_name(sname)
                if(sname == "" or sname == nil) then
                    say_title("Hata:")
                    say("")
                    ---
                    say_reward("Anlıyorum fakat bir isim olmadan")
                    say_reward("hiçbir şey yapamam.")
                    return;
                elseif(sname == pc.get_name()) then
                    say_title("Hata:")
                    say("")
                    ---
                    say_reward("Neden kendi ismini yazıyorsun?")
                    return;
                elseif(find == 0) then
                    say_title("Hata:")
                    say("")
                    ---
                    say_reward("Böyle birisi yok ya da çevrimdışı.")
                    say_reward("")
                    return ;
                end
                say_title("EP(Ejderha Markası) Yükle:")
                say("")
                ---
                say("Miktar giriniz")
                say("")
                local ep = tonumber(input())
                if(ep == "" or ep == nil) then
                    say_title("Hata:")
                    say("")
                    ---
                    say_reward("Bilmiyor musun?")
                    return;
                end
                local select = pc.select(find)
                mysql_query("update ingameshop_player set ep = ep+'"..ep.."' where id = '"..pc.get_player_id().."'")
                local name = pc.name
                pc.select(select)
                say_reward("Ejderha markası yüklendi. Teşekkürler.")
            end
        end
        when 20354.chat."In-game itemshop system" begin
            say_title(mob_name(npc.get_race())..":")
            say("")
            ---
            if(pc.getf("ingameshop","ep") == 0) then
                pc.setf("ingameshop","ep",1)
                mysql_query("insert into player.ingameshop_player values ('"..pc.get_player_id().."','0')")
            end
            say("Merhaba "..pc.name.." oyun-içi")
            say("alışveriş sistemine hoşgeldin.")
            say("")
            say_reward("Mevcut EP(Ejderha Markası): "..ingameshop.totalep())
            say_reward("Ne yapmak istiyorsun?")
            say("")
            local s = select("Nesne markete giriş yap","Kapat")
            if(s == 1) then
                say_title("Nesne markete giriş yap")
                say("")
                ---
                say("Lütfen bir kategori seçin.")
                say("")
                local tables = ingameshop.load_category()
                table.insert(tables,"Kapat")
                local select = select_table(tables)
                if(table.getn(tables) == select) then
                    return;
                end
                say_title(tables[select])
                say("")
                ---
                local vnums,names,counts,eps = ingameshop.load_items(tostring(tables[select]))
                say("Mevcut nesneler sıralandı.")
                say("")
                table.insert(names,"Hayır")
                local items = select_table(names)
                if(table.getn(names) == items) then
                    return;
                end
                say_title(names[items].." özellikleri:")
                say("")
                ---
                say("Obje adı: "..names[items])
                say("Obje adedi: "..counts[items])
                say("Gerekli EP Miktarı: "..eps[items])
                say("")
                say_item_vnum(vnums[items])
                say("")
                wait()
                say_title("Karar:")
                say("")
                ---
                say_reward("Satın almak istiyor musun?")
                local option = {"Evet","Hayır"}
                local confirms = select_table(option)
                if(confirms == 2) then
                    return
                end
                if(ingameshop.totalep() < eps[items]) then
                    say_title("Hata:")
                    say("")
                    --
                    say_reward(string.format("Bu obje satın almak için %d ep gerekli.",eps[items]))
                    say_reward("")
                    return;
                end
                say_title(names[items].." aldın.")
                say("")
                ---
                say(names[items].." objeyi satın aldın.")
                say("O artık envaterinde!")
                ingameshop.buy(vnums[items],counts[items],eps[items])                
            end
        end
    end
end


Puttye Okutmayı bilmeyenler için basitce anlatıyım. ilk başta klosör seçeneklerinden dosya uzantılarını gösteri ayarlıyacaksınız bunu googleden arayın bulursunuz hemen. sonra yeni metin belgesi olusturun ve adını market yapın uzantısını .txt yerine lua yapın eğer notepad++ varsa onunla yoksa not deftei ile açıp yukarıda paylaştığım questi kopyalayıp yapıştırın ve kaydedin. kodlamayı ansı kodlaması yapın türkçe karekterde sorun yaşamak istemiyorsanız. şimdi filezilladan HTML:
/usr/game/share/locale/turkey/quest
bölümüne bu market.luayı atın ardından puttye HTML:
cd /usr/game/share/locale/turkey/quest
yazıp enterleyin ve HTML:
ee hongkong_list
yazın bi liste açılacak en altına inin market.lua yazıp 1 esc 2 enter yapıyoruz. şimdi sadece tek bi işlem kaldı puttyeilk başta HTML:
cd /usr/game/share/locale/turkey/quest
daha sonra HTML:
./qc market.lua
yazıyoruz ve ardından reboot işlem tamamdır anatım birazcık karısık oldu anlatma yeteneğim fazla iyi değil eğer daha güzel bi anlatım istiyorsanız forumda bulabilirsiniz hepinize teşekkürler
Buyrun Oyun İçi Görüntü:
​ PHP:
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `ingameshop`
-- ----------------------------
DROP TABLE IF EXISTS `ingameshop`;
CREATE TABLE `ingameshop` (
  `category_name` varchar(255) character set latin1 NOT NULL,
  `category_itemvnum` int(255) NOT NULL,
  `category_itemcount` int(255) NOT NULL,
  `category_ep` int(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin5;

-- ----------------------------
-- Records of ingameshop
-- ----------------------------

-- ----------------------------
-- Table structure for `ingameshop_category`
-- ----------------------------
DROP TABLE IF EXISTS `ingameshop_category`;
CREATE TABLE `ingameshop_category` (
  `category_name` varchar(255) NOT NULL,
  PRIMARY KEY  (`category_name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin5;

-- ----------------------------
-- Records of ingameshop_category
-- ----------------------------

-- ----------------------------
-- Table structure for `ingameshop_player`
-- ----------------------------
DROP TABLE IF EXISTS `ingameshop_player`;
CREATE TABLE `ingameshop_player` (
  `id` int(16) NOT NULL,
  `ep` int(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of ingameshop_player
-- ----------------------------

bunu da olusturdugunuz navicat dbsine ekleyeceksiniz. peki bunu nasıl yapacağız masa üstüne market.txt adında bir metin belgesi açıyoruz ardından uzantısı olan txtyi silip sql yapıyoruz. şimdi navicatı açıp serverimize bağlanalım ve player sekmesine sağ tıklayalım orada seçeneklerde execute sql file diye bir seçenek çıkacak ona tıklıyoruz ve düzenlediğimiz market.sql dosyasını seçiyoruz. starta basıyoruz. yükleme işlemi bittikten sonra oyun içi market sistemi hazırlanmış oluyor şimdi tek yapmanız gereken şey bi reboot atıp şehir bekcisine giderek hangi itemi ne kadara satacağınızı ayarlamak
D3veloper
Üye
Üye
Katılım26 Mar 2026
Konular10
Mesajlar71
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
10.04.2026 07:48 #2
güncel herkes faydalansın
projeanka
Üye
Üye
Katılım17 Ara 2025
Konular13
Mesajlar72
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
10.04.2026 22:27 #3
Keşke resimli bi şekilde gosterseydin hoşuma gitti ama nasıl bir şey anlayamadığım için kurmayacağım.
biliniyo
Üye
Üye
Katılım17 Oca 2026
Konular7
Mesajlar47
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
21.04.2026 22:54 #4
24 Saat İçinde Oyundan Görüntü Ekleyiniz.
Muhammed63
Üye
Üye
Katılım04 Nis 2026
Konular11
Mesajlar66
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
30.04.2026 20:33 #5
Teşekkürler yararlı konu
D3veloper
Üye
Üye
Katılım26 Mar 2026
Konular10
Mesajlar71
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
06.05.2026 04:35 #6
tamam hemen resim ekliyorum
D3veloper
Üye
Üye
Katılım26 Mar 2026
Konular10
Mesajlar71
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 05:40 #7
24 Saat İçinde Oyundan Görüntü Ekleyiniz.

resim eklendi
D3veloper
Üye
Üye
Katılım26 Mar 2026
Konular10
Mesajlar71
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:39 #8
Teşekkürler yararlı konu

rica ederim
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
18 cevap
2K görüntüleme
Yeni Fantezi Rölenti Oluşturma Yöntemi
Kirkhammett · 02 Nis 2026
19 cevap
2K görüntüleme
11 cevap
1.9K görüntüleme
Yeni Quest I Kelle Avcısı
EniyiSunucum · 11 Nis 2026
16 cevap
1.9K görüntüleme
65 - 250 Jackpot Sistemi | Quest
Gusav · 28 Mar 2026
6 cevap
1.9K görüntüleme
İlan Yan banner placeholder