Jump to content

presto

Members
  • Posts

    16
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by presto

  1. Thanks again.

    I inserted at the beginning of the code

    diff --git a/sql/broadcast/mangos_mangos_string.sql b/sql/broadcast/mangos_mangos_string.sql

    new file mode 100644

    index 0000000..ff5dc4e

    --- /dev/null

    +++ b/sql/broadcast/mangos_mangos_string.sql

    @@ -0,0 +1 @@

    +INSERT INTO `mangos_string` (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) VALUES

    (11000, '|cffffcc00[server]: |cff00ff00%s|r', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

    \\ No newline at end of file

    diff --git a/sql/broadcast/realmd_broadcast_strings.sql b/sql/broadcast/realmd_broadcast_strings.sql

    new file mode 100644

    index 0000000..37b1813

    --- /dev/null

    +++ b/sql/broadcast/realmd_broadcast_strings.sql

    @@ -0,0 +1,6 @@

    +CREATE TABLE IF NOT EXISTS `broadcast_strings` (

    + `id` int(11) unsigned NOT NULL auto_increment,

    + `text` text NOT NULL,

    + `next` int(11) unsigned NOT NULL,

    + PRIMARY KEY (`id`)

    +) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

    \\ No newline at end of file

    but now it worked perfectly.

    For some reason my old Code "Broadcast" was with the Table (broadcast_realmd) as "Autobroadcast.'' Already changed to" broadcast_strings.

    Very many thanks for your help.

    I hope you understand my translation.

    I'm sorry for bad english

  2. This patch should insert the SQL file and options mangos.config.

    file mangos.config

    Automatic Broadcaster

    +#

    +# Broadcast.Enabled

    +# Enable/Disable the broadcaster

    +# Default: 0 - off

    +# 1 - on

    +#

    +# Broadcast.Position

    +# Where to display the message (Just add the values for multiple)

    +# Default: 1 - In the in-game chat window

    +# 2 - In the top-middle of the screen

    +# 4 - In the announcements IRC channel (if mangchat is installed)

    +#

    +# Broadcast.Interval

    +# Interval at which to broadcast messages in milliseconds

    +#

    +###################################################################################################################

    +

    +Broadcast.Enabled = 1

    +Broadcast.Position = 1

    +Broadcast.Interval = 3600000

    Not inserted! this correct?

  3. Try this one, worked for me with 10018:

    diff --git a/src/game/Language.h b/src/game/Language.h
    index 38ec346..d968239 100644
    --- a/src/game/Language.h
    +++ b/src/game/Language.h
    @@ -853,6 +853,8 @@ enum MangosStrings
        //                                    10000-10999
    
        // Use for custom patches             11000-11999
    +    // Broadcaster
    +    LANG_AUTO_BROADCAST                 = 11000,
    
        // NOT RESERVED IDS                   12000-1999999999
        // `db_script_string` table index     2000000000-2000009999 (MIN_DB_SCRIPT_STRING_ID-MAX_DB_SCRIPT_STRING_ID)
    diff --git a/src/game/World.cpp b/src/game/World.cpp
    index abf273d..28b3d27 100644
    --- a/src/game/World.cpp
    +++ b/src/game/World.cpp
    @@ -61,6 +61,7 @@
    #include "GMTicketMgr.h"
    #include "Util.h"
    #include "CharacterDatabaseCleaner.h"
    +#include "Language.h"
    
    INSTANTIATE_SINGLETON_1( World );
    
    @@ -95,12 +96,15 @@ World::World()
    
        m_defaultDbcLocale = LOCALE_enUS;
        m_availableDbcLocaleMask = 0;
    +  
    +    // Initialize broadcaster nextId
    +    m_nextId = 0;
    
        for(int i = 0; i < CONFIG_UINT32_VALUE_COUNT; ++i)
            m_configUint32Values[i] = 0;
    
        for(int i = 0; i < CONFIG_INT32_VALUE_COUNT; ++i)
    -        m_configInt32Values[i] = 0;
    +        /*m_configInt32Values[i] = 0;*/
    
        for(int i = 0; i < CONFIG_FLOAT_VALUE_COUNT; ++i)
            m_configFloatValues[i] = 0.0f;
    @@ -858,6 +862,11 @@ void World::LoadConfigSettings(bool reload)
        sLog.outString( "WORLD: VMap support included. LineOfSight:%i, getHeight:%i",enableLOS, enableHeight);
        sLog.outString( "WORLD: VMap data directory is: %svmaps",m_dataPath.c_str());
        sLog.outString( "WORLD: VMap config keys are: vmap.enableLOS, vmap.enableHeight, vmap.ignoreMapIds, vmap.ignoreSpellIds");
    +
    +    // Broadcaster
    +    setConfig(CONFIG_BOOL_BROADCAST_ENABLED, "Broadcast.Enabled", true);
    +    setConfig(CONFIG_UINT32_BROADCAST_INTERVAL, "Broadcast.Interval", 150000);
    +    setConfig(CONFIG_UINT32_BROADCAST_POSITION, "Broadcast.Position", 1);
    }
    
    /// Initialize the World
    @@ -1292,6 +1301,9 @@ void World::SetInitialWorldSettings()
        // Delete all characters which have been deleted X days before
        Player::DeleteOldCharacters();
    
    +    sLog.outString("Starting Autobroadcast system..." );
    +    m_timers[WUPDATE_BROADCAST].SetInterval(m_configUint32Values[CONFIG_UINT32_BROADCAST_INTERVAL]);
    +
        sLog.outString( "WORLD: World initialized" );
    
        uint32 uStartInterval = getMSTimeDiff(uStartTime, getMSTime());
    @@ -1458,6 +1470,13 @@ void World::Update(uint32 diff)
            m_timers[WUPDATE_EVENTS].Reset();
        }
    
    +    ///- Process autobroadcaster
    +    if(getConfig(CONFIG_BOOL_BROADCAST_ENABLED) && m_timers[WUPDATE_BROADCAST].Passed())
    +    {
    +        m_timers[WUPDATE_BROADCAST].Reset();
    +        SendBroadcast();
    +    }
    +
        /// [/list]
        ///- Move all creatures with "delayed move" and remove and delete all objects with "delayed remove"
        sMapMgr.RemoveAllObjectsInRemoveList();
    @@ -2193,3 +2212,42 @@ bool World::configNoReload(bool reload, eConfigBoolValues index, char const* fie
    
        return false;
    }
    +
    +/// Broadcast a message
    +void World::SendBroadcast()
    +{
    +    std::string message;
    +
    +    QueryResult *result;
    +    if(m_nextId > 0)
    +        result = loginDatabase.PQuery("SELECT `text`, `next` FROM `broadcast_strings` WHERE `id` = %u;", m_nextId);
    +    else
    +        result = loginDatabase.PQuery("SELECT `text`, `next` FROM `broadcast_strings` ORDER BY RAND();", m_nextId);
    +
    +    if(!result)
    +        return;
    +
    +    Field *fields = result->Fetch();
    +    m_nextId  = fields[1].GetUInt32();
    +    message = fields[0].GetString();
    +
    +    delete result, fields;
    +
    +    if((getConfig(CONFIG_UINT32_BROADCAST_POSITION) & BROADCAST_LOCATION_CHAT) == BROADCAST_LOCATION_CHAT)
    +        sWorld.SendWorldText(LANG_AUTO_BROADCAST, message.c_str());
    +    if((getConfig(CONFIG_UINT32_BROADCAST_POSITION) & BROADCAST_LOCATION_TOP) == BROADCAST_LOCATION_TOP)
    +    {
    +        WorldPacket data(SMSG_NOTIFICATION, (message.size()+1));
    +        data << message;
    +        sWorld.SendGlobalMessage(&data);
    +    }
    +
    +    if((getConfig(CONFIG_UINT32_BROADCAST_POSITION) & BROADCAST_LOCATION_IRC) == BROADCAST_LOCATION_IRC)
    +#ifdef MANGCHAT_INSTALLED
    +        sIRC.Send_IRC_Channel(sIRC._irc_chan[sIRC.anchn].c_str(), "\\00311[server]: " + message);
    +#else
    +        sLog.outError("AutoBroadcaster: You have IRC broadcasting enabled but we couldn't detect mangchat");
    +#endif
    +
    +    sLog.outString("AutoBroadcast: '%s'",message.c_str());
    +}
    \\ No newline at end of file
    diff --git a/src/game/World.h b/src/game/World.h
    index b289b91..26c937c 100644
    --- a/src/game/World.h
    +++ b/src/game/World.h
    @@ -78,7 +78,8 @@ enum WorldTimers
        WUPDATE_CORPSES     = 5,
        WUPDATE_EVENTS      = 6,
        WUPDATE_DELETECHARS = 7,
    -    WUPDATE_COUNT       = 8
    +    WUPDATE_BROADCAST   = 8,
    +    WUPDATE_COUNT       = 9
    };
    
    /// Configuration elements
    @@ -181,6 +182,8 @@ enum eConfigUInt32Values
        CONFIG_UINT32_CHARDELETE_KEEP_DAYS,
        CONFIG_UINT32_CHARDELETE_METHOD,
        CONFIG_UINT32_CHARDELETE_MIN_LEVEL,
    +    CONFIG_UINT32_BROADCAST_INTERVAL,  // Broadcaster
    +    CONFIG_UINT32_BROADCAST_POSITION,  // Broadcaster
        CONFIG_UINT32_VALUE_COUNT
    };
    
    @@ -313,6 +316,7 @@ enum eConfigBoolValues
        CONFIG_BOOL_KICK_PLAYER_ON_BAD_PACKET,
        CONFIG_BOOL_STATS_SAVE_ONLY_ON_LOGOUT,
        CONFIG_BOOL_CLEAN_CHARACTER_DB,
    +    CONFIG_BOOL_BROADCAST_ENABLED, // Broadcaster
        CONFIG_BOOL_VALUE_COUNT
    };
    
    @@ -386,6 +390,13 @@ enum RealmZone
        REALM_ZONE_CN5_8         = 37                           // basic-Latin at create, any at login
    };
    
    +enum BroadcastLocation
    +{
    +    BROADCAST_LOCATION_CHAT = 1,
    +    BROADCAST_LOCATION_TOP = 2,
    +    BROADCAST_LOCATION_IRC = 4,
    +};
    +
    // DB scripting commands
    #define SCRIPT_COMMAND_TALK                  0              // source = WorldObject, target = any/none, datalong (see enum ChatType for supported CHAT_TYPE_'s)
                                                                // datalong2 = creature entry (searching for a buddy, closest to source), datalong3 = creature search radius
    @@ -685,6 +696,10 @@ class World
            std::string m_DBVersion;
            std::string m_CreatureEventAIVersion;
            std::string m_ScriptsVersion;
    +
    +        //Broadcaster
    +        uint32 m_nextId;
    +        void SendBroadcast();
    };
    
    extern uint32 realmID;
    diff --git a/src/mangosd/mangosd.conf.dist.in b/src/mangosd/mangosd.conf.dist.in
    index 673ed2a..31ae633 100644
    --- a/src/mangosd/mangosd.conf.dist.in
    +++ b/src/mangosd/mangosd.conf.dist.in
    @@ -1508,3 +1508,26 @@ SOAP.Port = 7878
    CharDelete.Method = 0
    CharDelete.MinLevel = 0
    CharDelete.KeepDays = 30
    +
    +###################################################################################################################
    +# Automatic Broadcaster
    +#
    +#    Broadcast.Enabled
    +#        Enable/Disable the broadcaster
    +#        Default: 0 - off
    +#                 1 - on
    +#
    +#    Broadcast.Position
    +#        Where to display the message (Just add the values for multiple)
    +#        Default: 1 - In the in-game chat window
    +#                 2 - In the top-middle of the screen
    +#                 4 - In the announcements IRC channel (if mangchat is installed)
    +#
    +#    Broadcast.Interval
    +#        Interval at which to broadcast messages in milliseconds
    +#
    +###################################################################################################################
    +
    +Broadcast.Enabled = 1
    +Broadcast.Position = 1
    +Broadcast.Interval = 3600000
    

    Files were inserted without conflict!

    Now I'll compile them and test.

    I know I'm not in the right place, but someone has mirror image patch that works

    Thank you very much!

    I hope you understand my translation.

    I'm sorry for bad english

  4. Correct! I can not apply the patch in review 9890, so I wonder if it is to be applied without conflict (even if applied manually) or if you like me to explain how to download a review before 9890. Download a review of the core corresponding to the April 1, exactly equal to the last posting of the patch.

    Thanks again.

    sorry for my english.

    I do not understand much of the language and disposal of google translation tools.

    I'm sorry again.

  5. So post your question in that topic. You're more likely to get a proper response if you stick to the forum rules. Creating a new topic for a core mod that already has a topic will get plenty of attention... from a forum moderator locking this topic and telling you the same as I have. Please use some common sense. Read the rules and guidelines for using the MaNGOS forums.

    We'd love to discuss your question, if you'll post it in the right place.

    Sorry, but as I've said before I have difficulty with English.

    with this difficulty, I post in the wrong place, it was not my intention.

    Again personal apology for the mistake OK.

    UnkleNuke understand that you should have more patience, did not want to cause trouble.

    Again sorry for the mistake and for my English

  6. Hello again sorry vladex inconvenience.

    Please take this doubt

    If I have the patch Druid-tree-aura.patch druid.patch saved as c:

    How should I proceed?

    Mangos folder> Git Bash Here> patch-p1 <druid.patch

    This correct? No need to say that the patch is in C:?

    If yes. How would the command?

    patch-p1 <c: \\ druid.patch

    Sorry for English.

    lished in the hope I have understood my english

  7. I added it (manually) and it didnt gave any error.

    Try adding it again.

    ========== Build: 11 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

    luck

    edit: btw, i tested it, it "works" but not like it should be.

    When you enter shadow dance, you are NOT stealthed (which is ok) but you have like... stealth movements, (while walking, etc)

    but yeah, it kinda works.

    As I will add it manually? Can someone guide me? plz

    sorry for English

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use