hi all.
ia hve not been able to add patches im geting this error:
http://puu.sh/6cxVk.png
thx for you help^^
ia hve not been able to add patches im geting this error:
http://puu.sh/6cxVk.png
thx for you help^^
"C:\Program Files (x86)\Git\bin\git.exe" am --3way --signoff "E:/BotCore-master/Latest_Patches/VIPS_accounts.patch"
Patch format detection failed.
Done
# User M.hack3r@yahoo.com
# Date 1303860119 -14400
# Node ID a7316466a49285bdcf6a36f89e5055a080f1b204
# Parent d4cdfd0078ddb4e42d12034048b6d7166537b473
diff -r d4cdfd0078dd -r a7316466a492 sql/extras/auth_VIPAccount.sql
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/extras/auth_VIPAccount.sql Wed Apr 27 03:21:59 2011 +0400
@@ -0,0 +1,8 @@
+CREATE TABLE IF NOT EXISTS `account_premium` (
+ `id` int(11) NOT NULL default '0' COMMENT 'Account id',
+ `setdate` bigint(40) NOT NULL default '0',
+ `unsetdate` bigint(40) NOT NULL default '0',
+ `premium_type` tinyint(4) unsigned NOT NULL default '1',
+ `active` tinyint(4) NOT NULL default '1',
+ PRIMARY KEY (`id`,`setdate`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Premium Accounts';
\ No newline at end of file
diff -r d4cdfd0078dd -r a7316466a492 src/server/authserver/Server/AuthSocket.cpp
--- a/src/server/authserver/Server/AuthSocket.cpp Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/authserver/Server/AuthSocket.cpp Wed Apr 27 03:21:59 2011 +0400
@@ -349,6 +349,9 @@
// Verify that this IP is not in the ip_banned table
LoginDatabase.Execute(LoginDatabase.GetPreparedStatement(LOGIN_SET_EXPIREDIPBANS));
+ LoginDatabase.Execute(
+ LoginDatabase.GetPreparedStatement(LOGIN_SET_ACCOUNT_PREMIUM)
+ );
const std::string& ip_address = socket().get_remote_address();
PreparedStatement *stmt = LoginDatabase.GetPreparedStatement(LOGIN_GET_IPBANNED);
stmt->setString(0, ip_address);
diff -r d4cdfd0078dd -r a7316466a492 src/server/game/Entities/Player/Player.cpp
--- a/src/server/game/Entities/Player/Player.cpp Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/game/Entities/Player/Player.cpp Wed Apr 27 03:21:59 2011 +0400
@@ -7125,7 +7125,8 @@
{
XP = uint32(sObjectMgr->GetBaseXP(p->area_level)*sWorld->getRate(RATE_XP_EXPLORE));
}
-
+ if(GetSession()->IsPremium())
+ XP *= sWorld->getRate(RATE_XP_EXPLORE_PREMIUM);
GiveXP(XP, NULL);
SendExplorationExperience(area,XP);
}
@@ -15195,6 +15196,9 @@
for (Unit::AuraEffectList::const_iterator i = ModXPPctAuras.begin(); i != ModXPPctAuras.end(); ++i)
AddPctN(XP, (*i)->GetAmount());
+ if (GetSession()->IsPremium())
+ XP *= sWorld->getRate(RATE_XP_QUEST_PREMIUM);
+
int32 moneyRew = 0;
if (getLevel() < sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL))
GiveXP(XP, NULL);
diff -r d4cdfd0078dd -r a7316466a492 src/server/game/Miscellaneous/Formulas.h
--- a/src/server/game/Miscellaneous/Formulas.h Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/game/Miscellaneous/Formulas.h Wed Apr 27 03:21:59 2011 +0400
@@ -178,7 +178,9 @@
gain *= 2;
}
- gain = uint32(gain * sWorld->getRate(RATE_XP_KILL));
+ float premium_rate = pl->GetSession()->IsPremium() ? sWorld->getRate(RATE_XP_KILL_PREMIUM) : 1.0f;
+
+ return uint32(gain*sWorld->getRate(RATE_XP_KILL)*premium_rate);
}
sScriptMgr->OnGainCalculation(gain, pl, u);
diff -r d4cdfd0078dd -r a7316466a492 src/server/game/Server/WorldSession.cpp
--- a/src/server/game/Server/WorldSession.cpp Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/game/Server/WorldSession.cpp Wed Apr 27 03:21:59 2011 +0400
@@ -88,9 +88,9 @@
}
/// WorldSession constructor
-WorldSession::WorldSession(uint32 id, WorldSocket *sock, AccountTypes sec, uint8 expansion, time_t mute_time, LocaleConstant locale, uint32 recruiter):
+WorldSession::WorldSession(uint32 id, WorldSocket *sock, AccountTypes sec, bool ispremium, uint8 expansion, time_t mute_time, LocaleConstant locale, uint32 recruiter):
m_muteTime(mute_time), m_timeOutTime(0), _player(NULL), m_Socket(sock),
-_security(sec), _accountId(id), m_expansion(expansion), _logoutTime(0),
+_security(sec), _ispremium(ispremium), _accountId(id), m_expansion(expansion), _logoutTime(0),
m_inQueue(false), m_playerLoading(false), m_playerLogout(false),
m_playerRecentlyLogout(false), m_playerSave(false),
m_sessionDbcLocale(sWorld->GetAvailableDbcLocale(locale)),
diff -r d4cdfd0078dd -r a7316466a492 src/server/game/Server/WorldSession.h
--- a/src/server/game/Server/WorldSession.h Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/game/Server/WorldSession.h Wed Apr 27 03:21:59 2011 +0400
@@ -182,7 +182,7 @@
{
friend class CharacterHandler;
public:
- WorldSession(uint32 id, WorldSocket *sock, AccountTypes sec, uint8 expansion, time_t mute_time, LocaleConstant locale, uint32 recruiter);
+ WorldSession(uint32 id, WorldSocket *sock, AccountTypes sec, bool ispremium, uint8 expansion, time_t mute_time, LocaleConstant locale, uint32 recruiter);
~WorldSession();
//Playerbot mod
void AddPlayerBot(uint64 guid);
@@ -217,6 +217,7 @@
void SendClientCacheVersion(uint32 version);
AccountTypes GetSecurity() const { return _security; }
+ bool IsPremium() const { return _ispremium; }
uint32 GetAccountId() const { return _accountId; }
Player* GetPlayer() const { return _player; }
char const* GetPlayerName() const;
@@ -909,6 +910,7 @@
AccountTypes _security;
uint32 _accountId;
uint8 m_expansion;
+ bool _ispremium;
time_t _logoutTime;
bool m_inQueue; // session wait in auth.queue
diff -r d4cdfd0078dd -r a7316466a492 src/server/game/Server/WorldSocket.cpp
--- a/src/server/game/Server/WorldSocket.cpp Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/game/Server/WorldSocket.cpp Wed Apr 27 03:21:59 2011 +0400
@@ -777,6 +777,7 @@
//uint8 expansion = 0;
LocaleConstant locale;
std::string account;
+ bool isPremium = false;
SHA1Hash sha1;
BigNumber v, s, g, N;
WorldPacket packet, SendAddonPacked;
@@ -932,6 +933,16 @@
return -1;
}
+ QueryResult premresult =
+ LoginDatabase.PQuery ("SELECT 1 "
+ "FROM account_premium "
+ "WHERE id = '%u' "
+ "AND active = 1",
+ id);
+ if (premresult) // if account premium
+ {
+ isPremium = true;
+ }
// Check locked state for server
AccountTypes allowedAccountType = sWorld->GetPlayerSecurityLimit();
sLog->outDebug(LOG_FILTER_NETWORKIO, "Allowed Level: %u Player Level %u", allowedAccountType, AccountTypes(security));
@@ -987,7 +998,7 @@
safe_account.c_str());
// NOTE ATM the socket is single-threaded, have this in mind ...
- ACE_NEW_RETURN (m_Session, WorldSession (id, this, AccountTypes(security), expansion, mutetime, locale, recruiter), -1);
+ ACE_NEW_RETURN (m_Session, WorldSession (id, this, AccountTypes(security), isPremium, expansion, mutetime, locale, recruiter), -1);
m_Crypt.Init(&K);
diff -r d4cdfd0078dd -r a7316466a492 src/server/game/World/World.cpp
--- a/src/server/game/World/World.cpp Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/game/World/World.cpp Wed Apr 27 03:21:59 2011 +0400
@@ -452,9 +452,13 @@
rate_values[RATE_DROP_ITEM_REFERENCED] = sConfig->GetFloatDefault("Rate.Drop.Item.Referenced", 1.0f);
rate_values[RATE_DROP_ITEM_REFERENCED_AMOUNT] = sConfig->GetFloatDefault("Rate.Drop.Item.ReferencedAmount", 1.0f);
rate_values[RATE_DROP_MONEY] = sConfig->GetFloatDefault("Rate.Drop.Money", 1.0f);
- rate_values[RATE_XP_KILL] = sConfig->GetFloatDefault("Rate.XP.Kill", 1.0f);
- rate_values[RATE_XP_QUEST] = sConfig->GetFloatDefault("Rate.XP.Quest", 1.0f);
- rate_values[RATE_XP_EXPLORE] = sConfig->GetFloatDefault("Rate.XP.Explore", 1.0f);
+ rate_values[RATE_XP_KILL] = sConfig->GetFloatDefault("Rate.XP.Kill", 1.0f);
+ rate_values[RATE_XP_KILL_PREMIUM] = sConfig->GetFloatDefault("Rate.XP.Kill.Premium", 1.0f);
+ rate_values[RATE_XP_QUEST] = sConfig->GetFloatDefault("Rate.XP.Quest", 1.0f);
+ rate_values[RATE_XP_QUEST_PREMIUM] = sConfig->GetFloatDefault("Rate.XP.Quest.Premium", 1.0f);
+ rate_values[RATE_XP_EXPLORE] = sConfig->GetFloatDefault("Rate.XP.Explore", 1.0f);
+ rate_values[RATE_XP_EXPLORE_PREMIUM] = sConfig->GetFloatDefault("Rate.XP.Explore.Premium", 1.0f);
+
rate_values[RATE_REPAIRCOST] = sConfig->GetFloatDefault("Rate.RepairCost", 1.0f);
if (rate_values[RATE_REPAIRCOST] < 0.0f)
{
diff -r d4cdfd0078dd -r a7316466a492 src/server/game/World/World.h
--- a/src/server/game/World/World.h Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/game/World/World.h Wed Apr 27 03:21:59 2011 +0400
@@ -333,8 +333,11 @@
RATE_DROP_ITEM_REFERENCED_AMOUNT,
RATE_DROP_MONEY,
RATE_XP_KILL,
+ RATE_XP_KILL_PREMIUM,
RATE_XP_QUEST,
+ RATE_XP_QUEST_PREMIUM,
RATE_XP_EXPLORE,
+ RATE_XP_EXPLORE_PREMIUM,
RATE_REPAIRCOST,
RATE_REPUTATION_GAIN,
RATE_REPUTATION_LOWLEVEL_KILL,
diff -r d4cdfd0078dd -r a7316466a492 src/server/shared/Database/Implementation/LoginDatabase.cpp
--- a/src/server/shared/Database/Implementation/LoginDatabase.cpp Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/shared/Database/Implementation/LoginDatabase.cpp Wed Apr 27 03:21:59 2011 +0400
@@ -42,4 +42,5 @@
PREPARE_STATEMENT(LOGIN_SET_IP_NOT_BANNED, "DELETE FROM ip_banned WHERE ip = ?", CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_SET_ACCOUNT_BANNED, "INSERT INTO account_banned VALUES (?, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()+?, ?, ?, 1)", CONNECTION_ASYNC)
PREPARE_STATEMENT(LOGIN_SET_ACCOUNT_NOT_BANNED, "UPDATE account_banned SET active = 0 WHERE id = ? AND active != 0", CONNECTION_ASYNC)
+ PREPARE_STATEMENT(LOGIN_SET_ACCOUNT_PREMIUM, "UPDATE account_premium SET active = 0 WHERE unsetdate<=UNIX_TIMESTAMP() AND unsetdate<>setdate", CONNECTION_ASYNC)
}
diff -r d4cdfd0078dd -r a7316466a492 src/server/shared/Database/Implementation/LoginDatabase.h
--- a/src/server/shared/Database/Implementation/LoginDatabase.h Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/shared/Database/Implementation/LoginDatabase.h Wed Apr 27 03:21:59 2011 +0400
@@ -62,6 +62,7 @@
LOGIN_SET_IP_NOT_BANNED,
LOGIN_SET_ACCOUNT_BANNED,
LOGIN_SET_ACCOUNT_NOT_BANNED,
+ LOGIN_SET_ACCOUNT_PREMIUM,
MAX_LOGINDATABASE_STATEMENTS,
};
diff -r d4cdfd0078dd -r a7316466a492 src/server/worldserver/worldserver.conf.dist
--- a/src/server/worldserver/worldserver.conf.dist Wed Apr 27 02:46:43 2011 +0400
+++ b/src/server/worldserver/worldserver.conf.dist Wed Apr 27 03:21:59 2011 +0400
@@ -2232,10 +2232,18 @@
# Default: 1 - (Rate.XP.Kill)
# 1 - (Rate.XP.Quest)
# 1 - ( Rate.XP.Explore)
+# Rate.XP.Kill.Premium
+# Rate.XP.Quest.Premium
+# Rate.XP.Explore.Premium
+# XP rates Premium modifier
+# Default: 1
Rate.XP.Kill = 1
Rate.XP.Quest = 1
Rate.XP.Explore = 1
+Rate.XP.Kill.Premium = 1
+Rate.XP.Quest.Premium = 1
+Rate.XP.Explore.Premium = 1
#
# Rate.RepairCost
CREATE TABLE IF NOT EXISTS `account_premium` (
`id` int(11) NOT NULL default '0' COMMENT 'Account id',
`setdate` bigint(40) NOT NULL default '0',
`unsetdate` bigint(40) NOT NULL default '0',
`premium_type` tinyint(4) unsigned NOT NULL default '1',
`active` tinyint(4) NOT NULL default '1',
PRIMARY KEY (`id`,`setdate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Premium Accounts';
Rate.XP.Kill.Premium = 1
Rate.XP.Quest.Premium = 1
Rate.XP.Explore.Premium = 1
RATE_XP_KILL_PREMIUM,
RATE_XP_QUEST_PREMIUM,
RATE_XP_EXPLORE_PREMIUM,
rate_values[RATE_XP_KILL_PREMIUM] = sConfig->GetFloatDefault("Rate.XP.Kill.Premium", 1.0f);
rate_values[RATE_XP_QUEST_PREMIUM] = sConfig->GetFloatDefault("Rate.XP.Quest.Premium", 1.0f);
rate_values[RATE_XP_EXPLORE_PREMIUM] = sConfig->GetFloatDefault("Rate.XP.Explore.Premium", 1.0f);
LOGIN_SET_ACCOUNT_PREMIUM,
PREPARE_STATEMENT(LOGIN_SET_ACCOUNT_PREMIUM, "UPDATE account_premium SET active = 0 WHERE unsetdate<=UNIX_TIMESTAMP() AND unsetdate<>setdate", CONNECTION_ASYNC)
LoginDatabase.Execute(LoginDatabase.GetPreparedStatement(LOGIN_SET_ACCOUNT_PREMIUM));
if(GetSession()->IsPremium())
XP *= sWorld->getRate(RATE_XP_EXPLORE_PREMIUM);
if (GetSession()->IsPremium())
XP *= sWorld->getRate(RATE_XP_QUEST_PREMIUM);
bool isPremium = false;
QueryResult premresult = LoginDatabase.PQuery ("SELECT 1 FROM account_premium WHERE id = '%u' AND active = 1", id);
if (premresult) // if account premium
isPremium = true;
ACE_NEW_RETURN (m_Session, WorldSession (id, this, AccountTypes(security), expansion, mutetime, locale, recruiter), -1);
ACE_NEW_RETURN (m_Session, WorldSession (id, this, AccountTypes(security), isPremium, expansion, mutetime, locale, recruiter), -1);