romegames 1
romegames
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Bvural41 1
Bvural41
NovaLst 1
NovaLst
bikral 1
bikral
ShadowFon 1
ShadowFon
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[C++] Bir Hesapta 8 Karakter Açma

  • Konuyu başlatan Konuyu başlatan MAREK38
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 82
  • Görüntüleme Görüntüleme 20K

MAREK38

Level 5
TM Üye
Katılım
26 Ocak 2011
Konular
33
Mesajlar
606
Reaksiyon Skoru
138
Altın Konu
0
TM Yaşı
15 Yıl 4 Ay 19 Gün
Başarım Puanı
95
MmoLira
8
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Herkese Selamun Aleyküm arkadaşlar iyi forumlar uzatmadan direkt geçiyorum

Common/length.h Açılır

Aratılır

Kod:
	PLAYER_PER_ACCOUNT		= 4,

Değiştirilir

Kod:
	PLAYER_PER_ACCOUNT		= 8,

Game/src/locale_service.cpp Açılır

Aratılır

Kod:
static void __CheckPlayerSlot(const std::string& service_name)
{
	if (PLAYER_PER_ACCOUNT != 4)
	{
		printf("<ERROR> PLAYER_PER_ACCOUNT = %d\n", PLAYER_PER_ACCOUNT);
		exit(0);
	}
}

Değiştirilir

Kod:
static void __CheckPlayerSlot(const std::string& service_name)
{
	if (PLAYER_PER_ACCOUNT != 8)
	{
		printf("<ERROR> PLAYER_PER_ACCOUNT = %d\n", PLAYER_PER_ACCOUNT);
		exit(0);
	}
}

Game/src/char_change_empire.cpp Açılır

Aratılır

Kod:
		snprintf(szQuery, sizeof(szQuery), 
				"SELECT id, pid1, pid2, pid3, pid4 FROM player_index%s WHERE pid1=%u OR pid2=%u OR pid3=%u OR pid4=%u AND empire=%u", 
				get_table_postfix(), GetPlayerID(), GetPlayerID(), GetPlayerID(), GetPlayerID(), GetEmpire());

		std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery(szQuery));

Ve değiştirilir



Aratılır

Kod:
		MYSQL_ROW row = mysql_fetch_row(msg->Get()->pSQLResult);

		str_to_number(dwAID, row[0]);
		str_to_number(dwPID[0], row[1]);
		str_to_number(dwPID[1], row[2]);
		str_to_number(dwPID[2], row[3]);
		str_to_number(dwPID[3], row[4]);

Değiştirilir



Tekrar aratılır

Kod:
		snprintf(szQuery, sizeof(szQuery), "UPDATE player_index%s SET empire=%u WHERE pid1=%u OR pid2=%u OR pid3=%u OR pid4=%u AND empire=%u", 
				get_table_postfix(), empire, GetPlayerID(), GetPlayerID(), GetPlayerID(), GetPlayerID(), GetEmpire());

		std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery(szQuery));

Değiştirilir



Aratılır

Kod:
DWORD CHARACTER::GetAID() const
{
	char szQuery[1024+1];
	DWORD dwAID = 0;

	snprintf(szQuery, sizeof(szQuery), "SELECT id FROM player_index%s WHERE pid1=%u OR pid2=%u OR pid3=%u OR pid4=%u AND empire=%u", 
			get_table_postfix(), GetPlayerID(), GetPlayerID(), GetPlayerID(), GetPlayerID(), GetEmpire());

	SQLMsg* pMsg = DBManager::instance().DirectQuery(szQuery);

Değiştirilir



Db/src/ClientManager.cpp Açılır

Aratılır

Kod:
void CClientManager::QUERY_EMPIRE_SELECT(CPeer * pkPeer, DWORD dwHandle, TEmpireSelectPacket * p)
{
	char szQuery[QUERY_MAX_LEN];

	snprintf(szQuery, sizeof(szQuery), "UPDATE player_index%s SET empire=%u WHERE id=%u", GetTablePostfix(), p->bEmpire, p->dwAccountID);
	delete CDBManager::instance().DirectQuery(szQuery);

	sys_log(0, "EmpireSelect: %s", szQuery);
	{
		snprintf(szQuery, sizeof(szQuery),
				"SELECT pid1, pid2, pid3, pid4 FROM player_index%s WHERE id=%u", GetTablePostfix(), p->dwAccountID);

		std::auto_ptr<SQLMsg> pmsg(CDBManager::instance().DirectQuery(szQuery));

		SQLResult * pRes = pmsg->Get();

Değiştirilir



Aratılır

Kod:
void CClientManager::ChangeMonarchLord(CPeer * peer, DWORD dwHandle, TPacketChangeMonarchLord* info)
{
	char szQuery[1024];
	snprintf(szQuery, sizeof(szQuery), 
			"SELECT a.name, NOW() FROM player%s AS a, player_index%s AS b WHERE (a.account_id=b.id AND a.id=%u AND b.empire=%u) AND "
		    "(b.pid1=%u OR b.pid2=%u OR b.pid3=%u OR b.pid4=%u)", 
			GetTablePostfix(), GetTablePostfix(), info->dwPID, info->bEmpire,
		   	info->dwPID, info->dwPID, info->dwPID, info->dwPID);

	SQLMsg * pMsg = CDBManager::instance().DirectQuery(szQuery, SQL_PLAYER);

Değiştirilir



Db/src/ClientManagerLogin.cpp Açılır

Aratılır

Kod:
void CClientManager::QUERY_LOGIN_BY_KEY(CPeer * pkPeer, DWORD dwHandle, TPacketGDLoginByKey * p)

Kod satırının en altında tekrar aratılır

Kod:
	sys_log(0, "LOGIN_BY_KEY success %s %lu %s", r.login, p->dwLoginKey, info->ip);
	char szQuery[QUERY_MAX_LEN];
	snprintf(szQuery, sizeof(szQuery), "SELECT pid1, pid2, pid3, pid4, empire FROM player_index%s WHERE id=%u", GetTablePostfix(), r.id);
	CDBManager::instance().ReturnQuery(szQuery, QID_LOGIN_BY_KEY, pkPeer->GetHandle(), info);

Değiştirilir



Aratılır

Kod:
void CClientManager::RESULT_LOGIN_BY_KEY(CPeer * peer, SQLMsg * msg)

Kod satırında aratılır

Kod:
	if (msg->Get()->uiNumRows == 0)
	{
		DWORD account_id = info->pAccountTable->id;
		char szQuery[QUERY_MAX_LEN];
		snprintf(szQuery, sizeof(szQuery), "SELECT pid1, pid2, pid3, pid4, empire FROM player_index%s WHERE id=%u", GetTablePostfix(), account_id);
		std::auto_ptr<SQLMsg> pMsg(CDBManager::instance().DirectQuery(szQuery, SQL_PLAYER));

Değiştirilir



Aratılır

Kod:
void CClientManager::RESULT_PLAYER_INDEX_CREATE(CPeer * pkPeer, SQLMsg * msg)

Kod satırında aratılır

Kod:
	char szQuery[QUERY_MAX_LEN];
	snprintf(szQuery, sizeof(szQuery), "SELECT pid1, pid2, pid3, pid4, empire FROM player_index%s WHERE id=%u", GetTablePostfix(), info->pAccountTable->id);
	CDBManager::instance().ReturnQuery(szQuery, QID_LOGIN_BY_KEY, pkPeer->GetHandle(), info);

Değiştirilir




Şimdi Client'e geçelim...

Client/UserInterface/Packet.h Açılır

Aratılır

Kod:
	PLAYER_PER_ACCOUNT3 = 3,
	PLAYER_PER_ACCOUNT4 = 4,

Değiştirilir

Kod:
	PLAYER_PER_ACCOUNT3 = 7,
	PLAYER_PER_ACCOUNT4 = 8,

Pack/root/introselect.py Açılır

Aratılır

Kod:
	SLOT_COUNT = 4

Değiştirilir

Kod:
	SLOT_COUNT = 8

Aratılır

Kod:
	SLOT_ROTATION = [135.0, 225.0, 315.0, 45.0]

Değiştirilir

Kod:
	SLOT_ROTATION = [135.0, 180.0, 225.0, 270.0, 315.0, 360.0, 45.0, 90.0]

Aratılır

Kod:
		chr.DeleteInstance(0)
		chr.DeleteInstance(1)
		chr.DeleteInstance(2)
		chr.DeleteInstance(3)

Değiştirilir



Aratılır

Kod:
indexArray = (3, 2, 1, 0)

Değiştirilir

Kod:
indexArray = (8, 7, 6, 5, 4, 3, 2, 1, 0)

Aratılır

Kod:
	def OnKeyDown(self, key):

		if 1 == key:
			self.ExitSelect()
		if 2 == key:
			self.SelectSlot(0)
		if 3 == key:
			self.SelectSlot(1)
		if 4 == key:
			self.SelectSlot(2)
		if 5 == key:
			self.SelectSlot(3)

Değiştirilir



Mysql

Player/Player_index

Kod:
  `id` int(11) NOT NULL DEFAULT '0',
  `pid1` int(11) NOT NULL DEFAULT '0',
  `pid2` int(11) NOT NULL DEFAULT '0',
  `pid3` int(11) NOT NULL DEFAULT '0',
  `pid4` int(11) NOT NULL DEFAULT '0',
  `empire` tinyint(4) NOT NULL DEFAULT '0',

Değiştirilir

Kod:
  `id` int(11) NOT NULL DEFAULT '0',
  `pid1` int(11) NOT NULL DEFAULT '0',
  `pid2` int(11) NOT NULL DEFAULT '0',
  `pid3` int(11) NOT NULL DEFAULT '0',
  `pid4` int(11) NOT NULL DEFAULT '0',
  `pid5` int(11) NOT NULL DEFAULT '0',
  `pid6` int(11) NOT NULL DEFAULT '0',
  `pid7` int(11) NOT NULL DEFAULT '0',
  `pid8` int(11) NOT NULL DEFAULT '0',
  `empire` tinyint(4) NOT NULL DEFAULT '0',





 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

iyisin barmen
sabitlik
 
Fotoğraflara forum logosunuda eklersen sabitlenebilir :)
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst