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- Kodu:
----------------------------------------------------------------------
--- 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-Kodu:
/usr/game/share/locale/turkey/quest
bölümüne bu market.luayı atın ardından puttye
HTML-Kodu:
cd /usr/game/share/locale/turkey/quest
yazıp enterleyin ve
HTML-Kodu:
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-Kodu:
cd /usr/game/share/locale/turkey/quest
daha sonra
HTML-Kodu:
./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- Kodu:
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