Jump to content
TrinityCore

kageboshi

Plebs
  • Posts

    9
  • Joined

  • Last visited

Posts posted by kageboshi

  1. Doing some testing, it appears the event gets hung up if the first wave of mobs are killed before the gate closes. I added some logging to each of the switch case statements for EventPhase and waypointID. 

    Here's logging for the hung up event

    npc_grimstone: Eventphase  0.
    EscortAI::Start: (script: npc_grimstone) started with 6 waypoints. ActiveAttacker = 0, Run = 0, Player = GUID Full: 0x0000000000000000 Type: None Low: 0 (GUID Full: 0xf1300027700003f7 Type: Creature Entry: 10096  Low: 1015)
    npc_grimstone: Eventphase  increment.
    npc_grimstone: waypoint 0
    npc_grimstone: Eventphase  1.
    npc_grimstone: Eventphase  increment.
    npc_grimstone: waypoint 1
    npc_grimstone: Eventphase  2.
    npc_grimstone: Eventphase  increment.
    npc_grimstone: Eventphase  3.
    npc_grimstone: Eventphase  increment.
    npc_grimstone: waypoint 2.
    npc_grimstone: Eventphase  4.
    SmartScript::ProcessAction: Invoker: High Justice Grimstone GUID Full: 0xf1300027700003f7 Type: Creature Entry: 10096  Low: 1015
    npc_grimstone: Eventphase  increment.
    npc_grimstone: waypoint 3.
    npc_grimstone: Eventphase  5.
    SmartScript::ProcessAction: Invoker: High Justice Grimstone GUID Full: 0xf1300027700003f7 Type: Creature Entry: 10096  Low: 1015
    SmartScript::ProcessAction: Invoker: High Justice Grimstone GUID Full: 0xf1300027700003f7 Type: Creature Entry: 10096  Low: 1015
    npc_grimstone: Eventphase  increment.
    npc_grimstone: Eventphase  6.
    SmartScript::ProcessAction: Invoker: High Justice Grimstone GUID Full: 0xf1300027700003f7 Type: Creature Entry: 10096  Low: 1015
    npc_grimstone: Eventphase  increment.
    npc_grimstone: waypoint 4.
    npc_grimstone: Eventphase  7.
    npc_grimstone: Eventphase  increment.
    npc_grimstone: event reached end and set complete waypoint 5.

     

    and here's logging for a completed event

    npc_grimstone: Eventphase  0.
    EscortAI::Start: (script: npc_grimstone) started with 6 waypoints. ActiveAttacker = 0, Run = 0, Player = GUID Full: 0x0000000000000000 Type: None Low: 0 (GUID Full: 0xf130002770000402 Type: Creature Entry: 10096  Low: 1026)
    npc_grimstone: Eventphase  increment.
    npc_grimstone: waypoint 0
    npc_grimstone: Eventphase  1.
    npc_grimstone: Eventphase  increment.
    npc_grimstone: waypoint 1
    npc_grimstone: Eventphase  2.
    npc_grimstone: Eventphase  increment.
    npc_grimstone: Eventphase  3.
    npc_grimstone: Eventphase  increment.
    npc_grimstone: waypoint 2.
    npc_grimstone: Eventphase  4.
    SmartScript::ProcessAction: Invoker: High Justice Grimstone GUID Full: 0xf130002770000402 Type: Creature Entry: 10096  Low: 1026
    npc_grimstone: Eventphase  increment.
    npc_grimstone: waypoint 3.
    npc_grimstone: Eventphase  5.
    SmartScript::ProcessAction: Invoker: High Justice Grimstone GUID Full: 0xf130002770000402 Type: Creature Entry: 10096  Low: 1026
    SmartScript::ProcessAction: Invoker: High Justice Grimstone GUID Full: 0xf130002770000402 Type: Creature Entry: 10096  Low: 1026
    npc_grimstone: Eventphase  increment.
    npc_grimstone: Eventphase  6.
    SmartScript::ProcessAction: Invoker: High Justice Grimstone GUID Full: 0xf130002770000402 Type: Creature Entry: 10096  Low: 1026
    npc_grimstone: Eventphase  increment.
    npc_grimstone: Eventphase  7.
    npc_grimstone: Eventphase  increment.
    npc_grimstone: waypoint 4.
    npc_grimstone: Eventphase  8.
    npc_grimstone: Eventphase  increment.
    npc_grimstone: event reached end and set complete waypoint 5.
    npc_grimstone: Eventphase  9.
    SmartScript::ProcessAction: Invoker: High Justice Grimstone GUID Full: 0xf130002770000402 Type: Creature Entry: 10096  Low: 1026
    npc_grimstone: Eventphase  increment.
    npc_grimstone: Eventphase  10.
    npc_grimstone: Eventphase  increment.

     

  2. Going through BRD Ring of Law Event, after the first wave the event does not progress and the party is stuck in the ring.

    This is on rev. 615877598c24+

    I found issue https://github.com/TrinityCore/TrinityCore/issues/20499 refers to case 7 within the event timer logic and removing it to advance through the event, however guess there hasn't been worked on much.

     

    Thanks for any insight.

     

            void UpdateAI(uint32 diff) override
            {
                if (MobDeath_Timer)
                {
                    if (MobDeath_Timer <= diff)
                    {
                        MobDeath_Timer = 2500;

                        if (RingBossGUID)
                        {
                            Creature* boss = ObjectAccessor::GetCreature(*me, RingBossGUID);
                            if (boss && !boss->IsAlive() && boss->isDead())
                            {
                                RingBossGUID.Clear();
                                Event_Timer = 5000;
                                MobDeath_Timer = 0;
                                return;
                            }
                            return;
                        }

                        for (uint8 i = 0; i < MAX_NPC_AMOUNT; ++i)
                        {
                            Creature* mob = ObjectAccessor::GetCreature(*me, RingMobGUID);
                            if (mob && !mob->IsAlive() && mob->isDead())
                            {
                                RingMobGUID.Clear();
                                --MobCount;

                                //seems all are gone, so set timer to continue and discontinue this
                                if (!MobCount)
                                {
                                    Event_Timer = 5000;
                                    MobDeath_Timer = 0;
                                }
                            }
                        }
                    } else MobDeath_Timer -= diff;
                }

                if (Event_Timer)
                {
                    if (Event_Timer <= diff)
                    {
                        switch (EventPhase)
                        {
                        case 0:
                            Talk(SAY_TEXT5);
                            HandleGameObject(DATA_ARENA4, false);
                            Start(false, false);
                            CanWalk = true;
                            Event_Timer = 0;
                            break;
                        case 1:
                            CanWalk = true;
                            Event_Timer = 0;
                            break;
                        case 2:
                            Event_Timer = 2000;
                            break;
                        case 3:
                            HandleGameObject(DATA_ARENA1, true);
                            Event_Timer = 3000;
                            break;
                        case 4:
                            CanWalk = true;
                            me->SetVisible(false);
                            SummonRingMob();
                            Event_Timer = 8000;
                            break;
                        case 5:
                            SummonRingMob();
                            SummonRingMob();
                            Event_Timer = 8000;
                            break;
                        case 6:
                            SummonRingMob();
                            Event_Timer = 5000;
                            break;
                        case 7:
                            me->SetVisible(true);
                            HandleGameObject(DATA_ARENA1, false);
                            Talk(SAY_TEXT6);
                            CanWalk = true;
                            Event_Timer = 5000;
                            break;
                        case 8:
                            HandleGameObject(DATA_ARENA2, true);
                            Event_Timer = 5000;
                            break;
                        case 9:
                            me->SetVisible(false);
                            SummonRingBoss();
                            Event_Timer = 0;
                            break;
                        case 10:
                            //if quest, complete
                            HandleGameObject(DATA_ARENA2, false);
                            HandleGameObject(DATA_ARENA3, true);
                            HandleGameObject(DATA_ARENA4, true);
                            CanWalk = true;
                            Event_Timer = 0;
                            break;
                        }
                        ++EventPhase;
                    } else Event_Timer -= diff;
                }

                if (CanWalk)
                    EscortAI::UpdateAI(diff);
               }
        };

  3. In the folder /TrinityCore-3.3.5/sql/create you'll find a file create_mysql.sql

    With the command line you'll want to go to this directory then perform  the following command

    >mysql -u root -p < create_mysql.sql

    the -u means user and -p means password. You will have to set the user (root or another user) up after you install mariadb. There's a script that comes with ariadb for initial setup.

     

  4. I've had TC 3.3.5 branch running on CentOS 8, now I'm currently compiling on 8 Stream (after compiling Boost 1.71). Is there any downside to continued use of CentOS 8 or should I start to look toward CentOS 9? I know 8 will be EOL in 2024. Will TrinityCore eventually go beyond the minimum dependency versions? This server isn't on any net connected to the Internet so updates aren't easy as I have to lug it into work.

    Thanks for any insight.

    Oh for reference, since the RHEL deriv compile is outdated, here's my command history. Not sure if all the pckg install were required

        2  dnf install epel-release
         4  dnf -y install git cmake3 make clang mariadb-devel openssl-devel bzip2-devel readline-devel ncurses-devel gcc-c++
         6  dnf -y install libquadmath-devel vim wget mariadb-server p7zip
       12  mkdir /trinity
       13  adduser trinity
       15  passwd trinity
       20  chown trinity:trinity /trinity -R
       23  usermod -d /trinity trinity
       28  wget https://boostorg.jfrog.io/artifactory/main/release/1.71.0/source/boost_1_71_0.tar.gz
       47  tar -xvf boost_1_71_0.tar.gz
       49  cd boost_1_71_0
       54  ./bootstrap.sh
       55  ./b2
       57  ./b2 header
       58  ./b2 install
       59  cd /trinity
       61  mkdir bin
       62  git clone -b 3.3.5 https://github.com/TrinityCore/TrinityCore.git
       62  cd /trinity/TrinityCore
       63  mkdir build
       64  cd build
       65  cmake ../ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/trinity/beta/bin
       64  make install

     

  5. So I made progress. I dumped my character db then dropped it, had Trinitycore recreate it. Edited my dump file to add item_index column to the item_loot_items table then imported the dump file. Restarted worldserver but it complained on .../src/TrinityCore/sql/old/3.3.5a/characters/21071_2021_08_15/2021_07_18_00_characters.sql, where the item_index is added. I moved that update file to a different location. Restarted worldserver and it came up without any problems.

     

    I had debug level logging set but it wasn't explicit on where exactly it was getting hung up on mysql_stmt_prepare() id: 433. or why the Auto Updater wasn't applying the old sql update.

  6. After tc update, getting error on starting worldserver.

    Google reveals this forum thread https://community.trinitycore.org/topic/14160-could-not-prepare-statements-of-the-character-database/, bit I'm speculating there's not much I can do. I tried a clean build and reinstalled world db, but no help.

    TrinityCore rev. 2cb970c66387 2022-02-09 15:13:12 +0200 (3.3.5 branch) (Unix, RelWithDebInfo, Static) (worldserver-daemon)
    ...
    Applying update "2022_02_09_04_world.sql" 'FB5008D'...
    Applied 37 queries. Containing 0 new and 6101 archived updates.
    In mysql_stmt_prepare() id: 433, sql: "DELETE FROM item_loot_items WHERE container_id = ? AND item_id = ? AND item_count = ? AND item_index = ?"
    Unknown column 'item_index' in 'where clause'
    In mysql_stmt_prepare() id: 434, sql: "INSERT INTO item_loot_items (container_id, item_id, item_count, item_index, follow_rules, ffa, blocked, counted, under_threshold, needs_quest, rnd_prop, rnd_suffix) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
    Unknown column 'item_index' in 'field list'
    Could not prepare statements of the Character database,


    tc-wotlk bin]# ldd worldserver
            linux-vdso.so.1 (0x00007ffd8f9fb000)
            libncurses.so.6 => /lib64/libncurses.so.6 (0x00007f3350c50000)
            libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f3350a20000)
            libmysqlclient.so.21 => /usr/lib64/mysql/libmysqlclient.so.21 (0x00007f3350130000)
            libboost_system.so.1.74.0 => /opt/boost/lib/libboost_system.so.1.74.0 (0x00007f334ff28000)
            libboost_filesystem.so.1.74.0 => /opt/boost/lib/libboost_filesystem.so.1.74.0 (0x00007f334fd08000)
            libboost_program_options.so.1.74.0 => /opt/boost/lib/libboost_program_options.so.1.74.0 (0x00007f334faa0000)
            libboost_iostreams.so.1.74.0 => /opt/boost/lib/libboost_iostreams.so.1.74.0 (0x00007f334f888000)
            libboost_regex.so.1.74.0 => /opt/boost/lib/libboost_regex.so.1.74.0 (0x00007f334f5b0000)
            libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f334f318000)
            libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f334ee30000)
            libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f334ec10000)
            libdl.so.2 => /lib64/libdl.so.2 (0x00007f334ea08000)
            libz.so.1 => /lib64/libz.so.1 (0x00007f334e7f0000)
            libreadline.so.7 => /lib64/libreadline.so.7 (0x00007f334e5a0000)
            libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f334e208000)
            libm.so.6 => /lib64/libm.so.6 (0x00007f334de80000)
            libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f334dc68000)
            libc.so.6 => /lib64/libc.so.6 (0x00007f334d8a0000)
            librt.so.1 => /lib64/librt.so.1 (0x00007f334d690000)
            libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f334d478000)
            libicudata.so.60 => /lib64/libicudata.so.60 (0x00007f334b8c8000)
            libicui18n.so.60 => /lib64/libicui18n.so.60 (0x00007f334b400000)
            libicuuc.so.60 => /lib64/libicuuc.so.60 (0x00007f334b038000)
            /lib64/ld-linux-x86-64.so.2 (0x00007f3350e80000)

    [root@tc-wotlk bin]# uname -a
    Linux tc-wotlk 4.18.0-193.28.1.el8_2.x86_64 #1 SMP Thu Oct 22 00:20:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

    CentOS Linux release 8.2.2004 (Core)

     

×
×
  • Create New...