• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Как изменить в патче подарки за отыгранное время.
ockap
Сержант
В общем есть патч на подарки за отыгранное время. Выдается  голд , хонор и арена так вот можете мне помочь, я хочу заменить арену на эмблемы доблести. буду благодарен за помощь.

Прошу прощения за ошибки! С русским не дружу(
Сообщение # 1 написано 04.04.2016 в 01:53
r0m1ntik
Центурион
ockap, Держи

Код
From 7945bad99138b51122a4952f4677407d3646fb74 Mon Sep 17 00:00:00 2001
From: LordPsyan <realmsofwarcraft@gmail.com>
Date: Mon, 29 Feb 2016 08:45:14 -0600
Subject:  [PATCH]2016_02_29-PlayedTime

---
src/server/game/Entities/Player/Player.cpp | 21 +++++++++++++++++++++
src/server/game/Entities/Player/Player.h | 6 ++++++
src/server/worldserver/worldserver.conf.dist | 9 +++++++++
3 files changed, 36 insertions(+)

diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 7190a80..b4d0f05 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -418,6 +418,12 @@ Player::Player(WorldSession* session): Unit(true)
m_bgBattlegroundQueueID[j].invitedToInstance = 0;
}

+ // PlayedTimeReward
+ ptr_Interval = sConfigMgr->GetIntDefault("PlayedTimeReward.Interval", 0);
+ ptr_Money = sConfigMgr->GetIntDefault("PlayedTimeReward.Money", 0);
+ ptr_Honor = sConfigMgr->GetIntDefault("PlayedTimeReward.Honor", 0);
+ ptr_Token = sConfigMgr->GetIntDefault("PlayedTimeReward.Token", 0);
+ TokenID = sConfigMgr->GetIntDefault("PlayedTimeReward.TokenID", 0);
+
m_logintime = time(NULL);
m_Last_tick = m_logintime;
m_Played_time[PLAYED_TIME_TOTAL] = 0;
@@ -1290,6 +1296,21 @@ void Player::Update(uint32 p_time)
LoginDatabase.Execute(stmt);
}

+ // PlayedTimeReward
+ if (ptr_Interval > 0)
+ {
+ if (ptr_Interval <= p_time)
+ {
+ GetSession()->SendAreaTriggerMessage("Bonus for played time.");
+ ModifyMoney(ptr_Money);
+ ModifyHonorPoints(ptr_Honor);
+ AddItem(TokenID,ptr_Token);
+ ptr_Interval = sConfigMgr->GetIntDefault("PlayedTimeReward.Interval", 0);
+ }
+ else
+ ptr_Interval -= p_time;
+ }
+
if (!m_timedquests.empty())
{
QuestSet::iterator iter = m_timedquests.begin();
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index f59994d..9a3a865 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1113,6 +1113,12 @@ class Player : public Unit, public GridObject<Player>
void SetCommandStatusOn(uint32 command) { _activeCheats |= command; }
void SetCommandStatusOff(uint32 command) { _activeCheats &= ~command; }

+ // PlayedTimeReward
+ uint32 ptr_Interval;
+ uint32 ptr_Money;
+ uint32 ptr_Honor;
+ uint32 ptr_Token;
+ uint32 TokenID;
+
// Played Time Stuff
time_t m_logintime;
time_t m_Last_tick;
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 4837a24..1dbcccf 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -3565,6 +3565,15 @@ PacketSpoof.BanDuration = 86400

#
###################################################################################################
+#
+
+PlayedTimeReward.Interval = 0
+PlayedTimeReward.Money = 0
+PlayedTimeReward.Honor = 0
+PlayedTimeReward.TokenID = 0
+PlayedTimeReward.Token = 0
+
+#
+###################################################################################################

#
# Prepatch by LordPsyan.
--
2.1.4

+PlayedTimeReward.TokenID = 0 Тут ид токена
+PlayedTimeReward.Token = 0 Тут количество
Сообщение # 2 отредактировано r0m1ntik - Понедельник, 04.04.2016, 03:01
ockap
Сержант
У меня ошибка, использую последние исходы.
Прошу прощения за ошибки! С русским не дружу(
Сообщение # 3 написано 04.04.2016 в 12:51
r0m1ntik
Центурион
sConfigMgr->GetIntDefault замени на sWorld->getIntConfig
Сообщение # 4 отредактировано r0m1ntik - Понедельник, 04.04.2016, 13:22
ockap
Сержант
Стало больше ошибок 
Прошу прощения за ошибки! С русским не дружу(
Сообщение # 5 написано 04.04.2016 в 13:52
Прокурор
Пробуйте таким образом:


Код
ptr_Interval = uint32(sConfigMgr->GetIntDefault("PlayedTimeReward.Interval", 0));
Работаю в программах, таких как: 4D Cinema, Autodesk, 3D Max, Photoshop, InDesing, Illustrator
C# and C++ Developer.
Сообщение # 6 отредактировано Прокурор - Понедельник, 04.04.2016, 14:53
ockap
Сержант
Цитата Прокурор ()
Пробуйте таким образом:


Код
ptr_Interval = uint32(sConfigMgr->GetIntDefault("PlayedTimeReward.Interval", 0));


Пробую как ты написал 1 сообщения!

Добавлено (04.04.2016, 15:48)
---------------------------------------------
Всё та же ошибка(

Прошу прощения за ошибки! С русским не дружу(
Сообщение # 7 написано 04.04.2016 в 15:48
r0m1ntik
Центурион
ockap, в скайп добавь меня: dev-diversant
Сообщение # 8 написано 04.04.2016 в 16:36
ockap
Сержант
Всем спасибо, все сделали.
Прошу прощения за ошибки! С русским не дружу(
Сообщение # 9 написано 04.04.2016 в 17:58
  • Страница 1 из 1
  • 1
Поиск: