Merhabalar, iyi bayramlar. Bir kaç soru sorabilir miyim acaba?
iKarus market sistemini, yalnızca 9.2 derlenebilen sunucumun kaynak dosyalarının bulunduğu FreeBSD sürümüyle derliyorum ancak teorik olarak başlıca bazı hatalar ile karşılaşıyorum.
1. Hata; Maalesef, iKarus pazar sisteminin new_offlineshop.h dosyasında ve bazı cmd_gm.cpp bölümlerinde, ch->ChatInfoTrans ile ilgili bir arz/talep oluşuyor ancak benim kaynağımda ve hatta piyasada ki hiç bir SDK kaynağında bu kod mevcut değil ve uyarlayamıyorum.
Söz konusu kod bloğu aşağıdadır;
Şahsi çözümüm ise şu şekilde oluyor ve derleniyor;
Derlenmiş olan game ve db dosyalarını (MySQL 5.5 - FreeBSD 11.4) oyun sunucusuna atıp çalıştırmaya çalıştığım da markete eşya ekleyebiliyorum, ancak pazarı kapattığım zaman market kasasındaki eşyayı almak istediğimde, eşyayı veritabanında bulunan tabloya yazıyor ancak OYUN GENEL SOHBETİNDE o eşyayı almak için tıkladığım da locale_string.txt eklenen şu mesajı çeviriyor. Buna ek olarak herhangi bir şekilde market içerisindeki eşyayı düzenleyemiyor, fiyat bilgilerini ayarlayamıyor, açık arttırma sistemini de kullanamıyorum.Pazar sistemim piyasada bulunan warez sistemlerden değil.
Oyunda çevirilen hata mesajı; *CHAT_PACKET_CANNOT_SAFEBOX_GET_ITEM* YANİ > Bu eşyayı market kasasından alamazsınız!
- İkarus market sistemi hangi SQL veritabanı motoru ile çalışıyor?
Bir de şu aşağıda paylaştığım kodda bulunan .sql uzantılı dosya hangi veritabanı motoru ile uyumlu ?
Lütfen bana şu kod bloğuna ait sistemin çözümünü veya artık her neyse çözümünü paylaşabilir misiniz?
Buna ek olarak, MyISAM ile MariaDB arasındaki temel fark nedir?
@Whistle
Forumunuza yeni yeni katılıyorum, hatalar var (ise) mazur görün lütfen.
Keyifli forumlar.
iKarus market sistemini, yalnızca 9.2 derlenebilen sunucumun kaynak dosyalarının bulunduğu FreeBSD sürümüyle derliyorum ancak teorik olarak başlıca bazı hatalar ile karşılaşıyorum.
1. Hata; Maalesef, iKarus pazar sisteminin new_offlineshop.h dosyasında ve bazı cmd_gm.cpp bölümlerinde, ch->ChatInfoTrans ile ilgili bir arz/talep oluşuyor ancak benim kaynağımda ve hatta piyasada ki hiç bir SDK kaynağında bu kod mevcut değil ve uyarlayamıyorum.
Söz konusu kod bloğu aşağıdadır;
Kaynağımda ChatTransInfo talebi:
#define CASESEND(var) case var: ch->ChatInfoTrans((#var)); break;
switch (type)
{
CASESEND(CHAT_PACKET_CANNOT_CREATE_SHOP)
CASESEND(CHAT_PACKET_CANNOT_CHANGE_NAME)
CASESEND(CHAT_PACKET_CANNOT_FORCE_CLOSE)
CASESEND(CHAT_PACKET_CANNOT_OPEN_SHOP)
CASESEND(CHAT_PACKET_CANNOT_OPEN_SHOP_OWNER)
CASESEND(CHAT_PACKET_CANNOT_ADD_ITEM)
CASESEND(CHAT_PACKET_CANNOT_BUY_ITEM)
CASESEND(CHAT_PACKET_CANNOT_REMOVE_ITEM)
CASESEND(CHAT_PACKET_CANNOT_EDIT_ITEM)
CASESEND(CHAT_PACKET_CANNOT_REMOVE_LAST_ITEM)
CASESEND(CHAT_PACKET_CANNOT_FILTER)
CASESEND(CHAT_PACKET_CANNOT_SEARCH_YET)
CASESEND(CHAT_PACKET_OFFER_CREATE)
CASESEND(CHAT_PACKET_CANNOT_CREATE_OFFER)
CASESEND(CHAT_PACKET_CANNOT_ACCEPT_OFFER)
CASESEND(CHAT_PACKET_CANNOT_OPEN_SAFEBOX)
CASESEND(CHAT_PACKET_CANNOT_SAFEBOX_GET_ITEM)
CASESEND(CHAT_PACKET_CANNOT_SAFEBOX_GET_VALUTES)
CASESEND(CHAT_PACKET_CANNOT_SAFEBOX_CLOSE)
CASESEND(CHAT_PACKET_RECV_ITEM_SAFEBOX)
CASESEND(CHAT_PACKET_AUCTION_CANNOT_SEND_LIST)
CASESEND(CHAT_PACKET_AUCTION_CANNOT_OPEN_AUCTION)
CASESEND(CHAT_PACKET_AUCTION_CANNOT_CREATE_AUCTION)
CASESEND(CHAT_PACKET_AUCTION_CANNOT_ADD_OFFER)
CASESEND(CHAT_PACKET_CANNOT_DO_NOW)
default:
sys_err("unknown chat packet %d",type);
break;
}
}
Şahsi çözümüm ise şu şekilde oluyor ve derleniyor;
C++:
#ifdef __ENABLE_NEW_OFFLINESHOP__
#define CASESEND(var) case var: ch->ChatPacket(CHAT_TYPE_INFO, #var); break;
#else
#define CASESEND(var) case var: ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT(#var)); break;
#endif
switch (type)
{
CASESEND(CHAT_PACKET_CANNOT_CREATE_SHOP)
CASESEND(CHAT_PACKET_CANNOT_CHANGE_NAME)
CASESEND(CHAT_PACKET_CANNOT_FORCE_CLOSE)
CASESEND(CHAT_PACKET_CANNOT_OPEN_SHOP)
CASESEND(CHAT_PACKET_CANNOT_OPEN_SHOP_OWNER)
CASESEND(CHAT_PACKET_CANNOT_ADD_ITEM)
CASESEND(CHAT_PACKET_CANNOT_BUY_ITEM)
CASESEND(CHAT_PACKET_CANNOT_REMOVE_ITEM)
CASESEND(CHAT_PACKET_CANNOT_EDIT_ITEM)
CASESEND(CHAT_PACKET_CANNOT_REMOVE_LAST_ITEM)
CASESEND(CHAT_PACKET_CANNOT_FILTER)
CASESEND(CHAT_PACKET_CANNOT_SEARCH_YET)
CASESEND(CHAT_PACKET_OFFER_CREATE)
CASESEND(CHAT_PACKET_CANNOT_CREATE_OFFER)
CASESEND(CHAT_PACKET_CANNOT_ACCEPT_OFFER)
CASESEND(CHAT_PACKET_CANNOT_OPEN_SAFEBOX)
CASESEND(CHAT_PACKET_CANNOT_SAFEBOX_GET_ITEM)
CASESEND(CHAT_PACKET_CANNOT_SAFEBOX_GET_VALUTES)
CASESEND(CHAT_PACKET_CANNOT_SAFEBOX_CLOSE)
CASESEND(CHAT_PACKET_RECV_ITEM_SAFEBOX)
CASESEND(CHAT_PACKET_AUCTION_CANNOT_SEND_LIST)
CASESEND(CHAT_PACKET_AUCTION_CANNOT_OPEN_AUCTION)
CASESEND(CHAT_PACKET_AUCTION_CANNOT_CREATE_AUCTION)
CASESEND(CHAT_PACKET_AUCTION_CANNOT_ADD_OFFER)
CASESEND(CHAT_PACKET_CANNOT_DO_NOW)
default:
sys_err("unknown chat packet %d",type);
break;
}
}
Derlenmiş olan game ve db dosyalarını (MySQL 5.5 - FreeBSD 11.4) oyun sunucusuna atıp çalıştırmaya çalıştığım da markete eşya ekleyebiliyorum, ancak pazarı kapattığım zaman market kasasındaki eşyayı almak istediğimde, eşyayı veritabanında bulunan tabloya yazıyor ancak OYUN GENEL SOHBETİNDE o eşyayı almak için tıkladığım da locale_string.txt eklenen şu mesajı çeviriyor. Buna ek olarak herhangi bir şekilde market içerisindeki eşyayı düzenleyemiyor, fiyat bilgilerini ayarlayamıyor, açık arttırma sistemini de kullanamıyorum.Pazar sistemim piyasada bulunan warez sistemlerden değil.
Oyunda çevirilen hata mesajı; *CHAT_PACKET_CANNOT_SAFEBOX_GET_ITEM* YANİ > Bu eşyayı market kasasından alamazsınız!
- İkarus market sistemi hangi SQL veritabanı motoru ile çalışıyor?
Kod:
MySQL ise, hangi sürüm?
MariaDB ise hangi versiyon?
Bir de şu aşağıda paylaştığım kodda bulunan .sql uzantılı dosya hangi veritabanı motoru ile uyumlu ?
SQL:
DROP TABLE IF EXISTS `offlineshop_auctions`;
CREATE TABLE `offlineshop_auctions` (
`owner_id` bigint(20) unsigned NOT NULL,
`duration` bigint(20) unsigned NOT NULL DEFAULT '0',
`init_yang` bigint(255) unsigned DEFAULT NULL,
`name` varchar(255) NOT NULL,
`vnum` bigint(20) unsigned NOT NULL,
`count` int(10) unsigned NOT NULL,
`socket0` int(10) unsigned NOT NULL,
`socket1` int(10) unsigned NOT NULL,
`socket2` int(10) unsigned NOT NULL,
`attr0` int(10) unsigned NOT NULL,
`attrval0` int(10) NOT NULL,
`attr1` int(10) unsigned NOT NULL,
`attrval1` int(10) NOT NULL,
`attr2` int(10) unsigned NOT NULL,
`attrval2` int(10) NOT NULL,
`attr3` int(10) unsigned NOT NULL,
`attrval3` int(10) NOT NULL,
`attr4` int(10) unsigned NOT NULL,
`attrval4` int(10) NOT NULL,
`attr5` int(10) unsigned NOT NULL,
`attrval5` int(10) NOT NULL,
`attr6` int(10) unsigned NOT NULL,
`attrval6` int(10) NOT NULL,
`expiration` tinyint(11) DEFAULT '0',
PRIMARY KEY (`owner_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
Lütfen bana şu kod bloğuna ait sistemin çözümünü veya artık her neyse çözümünü paylaşabilir misiniz?
C++:
ch->ChatInfoTrans
Buna ek olarak, MyISAM ile MariaDB arasındaki temel fark nedir?
@Whistle
Forumunuza yeni yeni katılıyorum, hatalar var (ise) mazur görün lütfen.
Keyifli forumlar.