Hızlı Konu Açma

Hızlı Konu Açmak için tıklayınız.

Son Mesajlar

Konulardaki Son Mesajlar

Reklam

Forumda Reklam Vermek İçin Bize Ulaşın

Oyun İçi Ep Market Sistemi Detaylı Ve Kullanışlı ;

CinayeTR

Aktif Üye
Kayıtlı Üye
Katılım
5 Ocak 2014
Mesajlar
63
Tepkime puanı
0
Puanları
0
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 filezilladanHTML-Kodu:

/usr/game/share/locale/turkey/quest

bölümüne bu market.luayı atın ardından puttyeHTML-Kodu:

cd /usr/game/share/locale/turkey/quest

yazıp enterleyin veHTML-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ştaHTML-Kodu:

cd /usr/game/share/locale/turkey/quest

daha sonraHTML-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 utf8mb3 NOT NULL,
`
category_itemvnum` int(255) NOT NULL,
`
category_itemcount` int(255) NOT NULL,
`
category_ep` int(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- ----------------------------
--
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=utf8mb3;

-- ----------------------------
--
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=utf8mb3;

-- ----------------------------
--
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
 

SlymnGlc

Üye
Fahri Üye
Galatasaray
Beşiktaş
Katılım
4 Ocak 2014
Mesajlar
111
Tepkime puanı
0
Puanları
104
Teşekkürler. Bi Ara Deneyeceğim.
 

Users Who Are Viewing This Konu (Users: 0, Guests: 1)

Üst