Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
Vip-аккаунт

Упомянутые в теме пользователи:

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 12 из 15

Тема: Vip-аккаунт

  1. #1
    Старожил Аватар для Nightker
    Регистрация
    05.01.2012
    Адрес
    UA
    Сообщений
    119
    Поблагодарил(а)
    26
    Получено благодарностей: 13 (сообщений: 9).
    Репутация: 10

    Post Vip-аккаунт

    предложение:
    создать услугу, эдакий vip-аккаунт, дающий право зайти на рилм не отсиживая очередь.

  2. 1 пользователь сказал cпасибо Nightker за это полезное сообщение:

    Фириус (29.01.2012)

  3. #2
    Новичок
    Регистрация
    25.01.2012
    Сообщений
    17
    Поблагодарил(а)
    0
    Получено благодарностей: 1 (сообщений: 1).
    Репутация: 0
    ну эт очень трудно будет написать. лутше уже этот.
    Код:
    VIP Account from KimBerOK post on trinity-core.ru for Rev 8702
    diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
    --- a/sql/CMakeLists.txt
    +++ b/sql/CMakeLists.txt
    @@ -1,3 +1,4 @@
    +add_subdirectory(VIPAccounts)
     add_subdirectory(updates)
     add_subdirectory(scripts)
     add_subdirectory(base)
    diff --git a/sql/VIPAccounts/CMakeLists.txt b/sql/VIPAccounts/CMakeLists.txt
    new file mode 100644
    --- /dev/null
    +++ b/sql/VIPAccounts/CMakeLists.txt
    @@ -0,0 +1,3 @@
    +INSTALL(FILES
    +character_VIPAccount.sql
    +DESTINATION share/trinity/sql/VIPAccounts)
    diff --git a/sql/VIPAccounts/character_VIPAccount.sql b/sql/VIPAccounts/character_VIPAccount.sql
    new file mode 100644
    --- /dev/null
    +++ b/sql/VIPAccounts/character_VIPAccount.sql
    @@ -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 06dff18c14c6 src/server/game/AuctionHouse/AuctionHouseBot/AuctionHouseBot.cpp
    --- a/src/server/game/AuctionHouse/AuctionHouseBot/AuctionHouseBot.cpp	Sat Mar 20 14:23:18 2010 +0600
    +++ b/src/server/game/AuctionHouse/AuctionHouseBot/AuctionHouseBot.cpp	Thu Jun 24 11:25:32 2010 +0600
    @@ -690,7 +690,7 @@
         if ((!AHBSeller) && (!AHBBuyer))
             return;
     
    -    WorldSession _session(AHBplayerAccount, NULL, SEC_PLAYER, true, 0, LOCALE_enUS);
    +    WorldSession _session(AHBplayerAccount, NULL, SEC_PLAYER, false, true, 0, LOCALE_enUS);
         Player _AHBplayer(&_session);
         _AHBplayer.Initialize(AHBplayerGUID);
         ObjectAccessor::Instance().AddObject(&_AHBplayer);
    diff -r 06dff18c14c6 src/server/game/Miscellaneous/Formulas.h
    --- a/src/server/game/Miscellaneous/Formulas.h	Sat Mar 20 14:23:18 2010 +0600
    +++ b/src/server/game/Miscellaneous/Formulas.h	Thu Jun 24 11:25:32 2010 +0600
    @@ -130,7 +130,10 @@
                         xp_gain *= 2;
                 }
     
    -            return uint32(xp_gain*sWorld.getRate(RATE_XP_KILL));
    +	    float premium_rate = pl->GetSession()->IsPremium() ? sWorld.getRate(RATE_XP_KILL_PREMIUM) : 1.0f;
    +
    +            return uint32(xp_gain*sWorld.getRate(RATE_XP_KILL)*premium_rate);
    +
             }
     
             inline float xp_in_group_rate(uint32 count, bool isRaid)
    diff -r 06dff18c14c6 src/server/game/Entities/Player/Player.cpp
    --- a/src/server/game/Entities/Player/Player.cpp	Sat Mar 20 14:23:18 2010 +0600
    +++ b/src/server/game/Entities/Player/Player.cpp	Thu Jun 24 11:25:32 2010 +0600
    @@ -6270,7 +6270,8 @@
                     {
                         XP = uint32(objmgr.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);
                 }
    @@ -14267,6 +14268,9 @@
         for (Unit::AuraEffectList::const_iterator i = ModXPPctAuras.begin(); i != ModXPPctAuras.end(); ++i)
             XP = uint32(XP*(1.0f + (*i)->GetAmount() / 100.0f));
     
    +    if (GetSession()->IsPremium())
    +        XP *= sWorld.getRate(RATE_XP_QUEST_PREMIUM);
    +
         if (getLevel() < sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL))
             GiveXP(XP, NULL);
         else
    diff -r 06dff18c14c6 src/server/game/World/World.cpp
    --- asrc/server/game/World/World.cpp	Sat Mar 20 14:23:18 2010 +0600
    +++ b/src/server/game/World/World.cpp	Thu Jun 24 11:25:32 2010 +0600
    @@ -493,9 +493,13 @@
         rate_values[RATE_DROP_ITEM_ARTIFACT]   = sConfig.GetFloatDefault("Rate.Drop.Item.Artifact", 1.0f);
         rate_values[RATE_DROP_ITEM_REFERENCED] = sConfig.GetFloatDefault("Rate.Drop.Item.Referenced", 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 06dff18c14c6 src/server/game/World/World.h
    --- a/src/server/game/World/World.h	Sat Mar 20 14:23:18 2010 +0600
    +++ b/src/server/game/World/World.h	Thu Jun 24 11:25:32 2010 +0600
    @@ -304,8 +304,11 @@
         RATE_DROP_ITEM_REFERENCED,
         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 06dff18c14c6 src/server/game/Server/WorldSession.cpp
    --- a/src/server/game/Server/WorldSession.cpp	Sat Mar 20 14:23:18 2010 +0600
    +++ b/src/server/game/Server/WorldSession.cpp	Thu Jun 24 11:25:32 2010 +0600
    @@ -45,9 +45,9 @@
     #include "LFGMgr.h"
     
     /// WorldSession constructor
    -WorldSession::WorldSession(uint32 id, WorldSocket *sock, AccountTypes sec, uint8 expansion, time_t mute_time, LocaleConstant locale) :
    +WorldSession::WorldSession(uint32 id, WorldSocket *sock, AccountTypes sec, bool ispremium, uint8 expansion, time_t mute_time, LocaleConstant locale) :
     LookingForGroup_auto_join(false), LookingForGroup_auto_add(false), m_muteTime(mute_time),
    -_player(NULL), m_Socket(sock),_security(sec), _accountId(id), m_expansion(expansion),
    +_player(NULL), m_Socket(sock),_security(sec), _ispremium(ispremium), _accountId(id), m_expansion(expansion),
     m_sessionDbcLocale(sWorld.GetAvailableDbcLocale(locale)), m_sessionDbLocaleIndex(objmgr.GetIndexForLocale(locale)),
     _logoutTime(0), m_inQueue(false), m_playerLoading(false), m_playerLogout(false), m_playerRecentlyLogout(false), m_playerSave(false),
     m_latency(0), m_TutorialsChanged(false), m_timeOutTime(0)
    diff -r 06dff18c14c6 src/server/game/Server/WorldSession.h
    --- a/src/server/game/Server/WorldSession.h	Sat Mar 20 14:23:18 2010 +0600
    +++ b/src/server/game/Server/WorldSession.h	Thu Jun 24 11:25:32 2010 +0600
    @@ -128,7 +128,7 @@
     {
         friend class CharacterHandler;
         public:
    -        WorldSession(uint32 id, WorldSocket *sock, AccountTypes sec, uint8 expansion, time_t mute_time, LocaleConstant locale);
    +        WorldSession(uint32 id, WorldSocket *sock, AccountTypes sec, bool ispremium, uint8 expansion, time_t mute_time, LocaleConstant locale);
             ~WorldSession();
     
             bool PlayerLoading() const { return m_playerLoading; }
    @@ -153,6 +153,7 @@
             void SendQueryTimeResponse();
     
             AccountTypes GetSecurity() const { return _security; }
    +        bool IsPremium() const { return _ispremium; }
             uint32 GetAccountId() const { return _accountId; }
             Player* GetPlayer() const { return _player; }
             char const* GetPlayerName() const;
    @@ -809,6 +810,7 @@
             AccountTypes _security;
             uint32 _accountId;
             uint8 m_expansion;
    +        bool _ispremium;
     
             time_t _logoutTime;
             bool m_inQueue;                                     // session wait in auth.queue
    diff -r 06dff18c14c6 src/server/game/Server/WorldSocket.cpp
    --- a/src/server/game/Server/WorldSocket.cpp	Sat Mar 20 14:23:18 2010 +0600
    +++ b/src/server/game/Server/WorldSocket.cpp	Thu Jun 24 11:25:32 2010 +0600
    @@ -775,6 +775,7 @@
         //uint8 expansion = 0;
         LocaleConstant locale;
         std::string account;
    +    bool isPremium = false;
         Sha1Hash sha1;
         BigNumber v, s, g, N;
         WorldPacket packet, SendAddonPacked;
    @@ -926,6 +927,16 @@
             return -1;
         }
     
    +    QueryResult_AutoPtr 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
         sWorld.UpdateAllowedSecurity();
         AccountTypes allowedAccountType = sWorld.GetPlayerSecurityLimit();
    @@ -982,7 +993,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), -1);
    +    ACE_NEW_RETURN (m_Session, WorldSession (id, this, AccountTypes(security), isPremium, expansion, mutetime, locale), -1);
     
         m_Crypt.Init(&K);
     
    diff -r 06dff18c14c6 src/server/worldserver/worldserver.conf.dist
    --- a/src/server/worldserver/worldserver.conf.dist	Sat Mar 20 14:23:18 2010 +0600
    +++ b/src/server/worldserver/worldserver.conf.dist	Thu Jun 24 11:25:32 2010 +0600
    @@ -1452,6 +1452,11 @@
     #    Rate.Reputation.LowLevel.Quest
     #        Reputation Gain rate
     #        Default: 1
    +#    Rate.XP.Kill.Premium
    +#    Rate.XP.Quest.Premium
    +#    Rate.XP.Explore.Premium
    +#        XP rates Premium modifier
    +#        Default: 1
     #
     #    Rate.MoveSpeed
     #        Multiply the default movement speed for players
    @@ -1567,6 +1572,9 @@
     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 = 1
     Rate.Rest.InGame = 1
     Rate.Rest.Offline.InTavernOrCity = 1
    diff -r 06dff18c14c6 src/server/authserver/Server/AuthSocket.cpp
    --- a/src/server/authserver/Server/AuthSocket.cpp	Sat Mar 20 14:23:18 2010 +0600
    +++ b/src/server/authserver/Server/AuthSocket.cpp	Thu Jun 24 11:25:32 2010 +0600
    @@ -406,6 +406,8 @@
                 {
                     //set expired bans to inactive
                     LoginDatabase.Execute("UPDATE account_banned SET active = 0 WHERE unbandate<=UNIX_TIMESTAMP() AND unbandate<>bandate");
    +                LoginDatabase.Execute("UPDATE account_premium SET active = 0 WHERE unsetdate<=UNIX_TIMESTAMP() AND unsetdate<>setdate");
    +
                     ///- If the account is banned, reject the logon attempt
                     QueryResult_AutoPtr banresult = LoginDatabase.PQuery("SELECT bandate,unbandate FROM account_banned WHERE id = %u AND active = 1", (*result)[1].GetUInt32());
                     if (banresult)

  4. #3
    Наш человек Аватар для NaGaT
    Регистрация
    07.01.2012
    Адрес
    Ростов-на-Дону
    Сообщений
    871
    Поблагодарил(а)
    375
    Получено благодарностей: 274 (сообщений: 149).
    Репутация: 319
    ага,И еще когда никто не выходит то оно кикает рандом чела и пускает тебя

    Лол это сарказм были бичи.
    Последний раз редактировалось NaGaT; 29.01.2012 в 15:20.
    Возвращение к истокам...

  5. #4
    Старожил Аватар для kamisado
    Регистрация
    14.01.2012
    Сообщений
    190
    Поблагодарил(а)
    119
    Получено благодарностей: 35 (сообщений: 25).
    Репутация: 8
    Ага,еще чтобы ролл не ниже 90 всегда выпадал, чтобы на бг все подбегая сразу умирали лишь от сет фокуса на тебя. Чтобы кач моментальный и квесты сразу выполнялись.

  6. #5
    Активист Аватар для DYou
    Регистрация
    04.01.2012
    Адрес
    Москва
    Сообщений
    89
    Поблагодарил(а)
    24
    Получено благодарностей: 7 (сообщений: 6).
    Репутация: 28
    Поддерживаю. Единственный выход в данной ситуации.

  7. #6
    Ветеран форума Аватар для Deablock
    Регистрация
    05.01.2012
    Адрес
    Россия
    Сообщений
    1,343
    Поблагодарил(а)
    7
    Получено благодарностей: 1,313 (сообщений: 620).
    Репутация: -60
    лол))))))а выкидывать оно будет рандом да?)брееед
    пример:добивают лича 25гер...и тут лолпро с вип акком заходит на серв)а танк который танчит лича вылетает из серва)ваще шикарно :d

  8. #7
    Активист Аватар для DYou
    Регистрация
    04.01.2012
    Адрес
    Москва
    Сообщений
    89
    Поблагодарил(а)
    24
    Получено благодарностей: 7 (сообщений: 6).
    Репутация: 28
    Зачем выкидывать то? Зайдет 6001вый, а очередь не будет двигаться пока из мира не выйдет 2 чел-ка...

  9. #8
    Старожил Аватар для Flecko
    Регистрация
    05.01.2012
    Адрес
    где то там
    Сообщений
    101
    Поблагодарил(а)
    17
    Получено благодарностей: 3 (сообщений: 3).
    Репутация: 4
    Автор, на самом деле без очереди можно спокойно зайти и без всяких бредовых вип-аккаунтов, просто получи права гма, делов то...
    I'm Ockelf

  10. #9
    Новичок
    Регистрация
    08.01.2012
    Сообщений
    7
    Поблагодарил(а)
    2
    Получено благодарностей: 0 (сообщений: 0).
    Репутация: -1
    Цитата Сообщение от Nightker Посмотреть сообщение
    предложение:
    создать услугу, эдакий vip-аккаунт, дающий право зайти на рилм не отсиживая очередь.
    Поддерживаю..Тоже создал такую тему))не увидел что таковая имеется))

  11. #10
    Lasandr
    Гость
    У нас blizz-like , такого не будет.

  12. #11
    Новичок
    Регистрация
    08.01.2012
    Сообщений
    7
    Поблагодарил(а)
    2
    Получено благодарностей: 0 (сообщений: 0).
    Репутация: -1
    Цитата Сообщение от Deablock Посмотреть сообщение
    лол))))))а выкидывать оно будет рандом да?)брееед
    пример:добивают лича 25гер...и тут лолпро с вип акком заходит на серв)а танк который танчит лича вылетает из серва)ваще шикарно :d
    Уважаемый на множестве серверов стоит такая система и некого рандом выкидывать не будет..Очередь будет формироваться к примеру с 4000 онлайна...Вип будет 4001..

    ---------- Добавлено в 15:16 ---------- Предыдущее сообщение было размещено в 15:13 ----------

    Цитата Сообщение от Lathandr Посмотреть сообщение
    У нас blizz-like , такого не будет.
    Как я понимаю это определенная версия ядра где внедрение такового скрипта невозможно??

  13. #12
    Наш человек Аватар для NaGaT
    Регистрация
    07.01.2012
    Адрес
    Ростов-на-Дону
    Сообщений
    871
    Поблагодарил(а)
    375
    Получено благодарностей: 274 (сообщений: 149).
    Репутация: 319
    Цитата Сообщение от Lathandr Посмотреть сообщение
    У нас blizz-like , такого не будет.
    На близзлайке есть заход на серв после дискона без очереди,ок да?
    Возвращение к истокам...

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •