Jump to content

[not working] Outdoor Pvp


Recommended Posts

First post updated. (nty)

changes:

- for rev 5915

- fixed the mounted check

- fixed the tf tower display when locked

@deleteme: the trigger visibility is DB problem, zanga works for me, though I haven't tried what happens if a field scout is killed and then respawned. Adding zone-wide messages is easy, but gives even more possibility for incompatibilites when updating revs, and boring to write. Dunno when will I decide to do it.

@yiuu: the quest prob is with the db (at least imo), try this: <div class='sqltop'>SQL</div><div class='sqlmain'>update quest_template set reqspellcast1 = 0, reqspellcast2 = 0, reqspellcast3 = 0, reqspellcast4 = 0 where entry in(9664,9665); </div> (nty)

Link to comment
Share on other sites

  • Replies 621
  • Created
  • Last Reply

Top Posters In This Topic

Thanks for the update. Going to implement it right away.

Edit:

Tested abit and the problems remain.

1 I deleted all spawns of both field scouts and double-checked the npcflags. Still no gossip visible after taking both areas.

In addition casting the spell manually and capturing the graveyard did not cast the buff onto players of the faction. --> Seems like when the grid gets unloaded + reloaded the buff will be casted correctly.

2 It's still not possible to take areas when mounted. Only dismounting + moving starts the progress.

3 Auchindoun's tower displays are removed right after taking the last one but as soon as you move the display is there again. sad.gif

+ Got a little suggestion: The Halaa guard counter could be dependant by the actual number of guards spawned. ^^ That came to my mind when i used .respawn in that area. *shame*

Link to comment
Share on other sites

<div class='quotetop'>QUOTE (deleteme @ May 16 2008, 08:30 PM) <{POST_SNAPBACK}></div>

Really cool patch. I tested outlands PVP a bit and the basics are working really good. Just found some things that could be improved or adjusted to what i remember from offics.

this applies to patch v0.21

- Zangarmarsh: Field Scout had no gossip to cast spell on player when both areas are taken (32430 for allie, 32431 for horde).

!! Tested with alliance. I just reapplied all sql patches because of the last posts in here and will test it again. Maybe i talked to the wrong one.

- Terokkar Forest: When one faction controls all towers the display for who has what towers should be removed. Only the counter (6 hours down to zero) should remain until the time is up and all are neutral again

general:

- Taking areas (not flags sry tongue.gif) should be also possible when mounted. Right now, you have to unmount before it starts to display the bar. Ofc you are not allowed to fly. ^^

- Zone-wide messages for capturing towers/flags/areas are missing for all outland regions.

All in all i am really happy about how many things are working at this point of development. Keep up the good work. =)

Edit: Little addition: The triggers in Hellfire Peninsula are all visible.[/b]

Same Problem with Zanarmarsh and the Ally Field Scout

Link to comment
Share on other sites

<div class='quotetop'>QUOTE (w12x @ May 22 2008, 05:12 PM) <{POST_SNAPBACK}></div>

First post updated.

changes:

- rev 5921.

- really fixed the gossip option, mounted capture and tf worldstateui display

- fixed the buff in zanga not being added when capturing the gy[/b]

I compiled it right away and i will start to test =) Thanks for the fast fix again.

Only thing i can say right now is that the mounted problem is gone for sure. /cheer

Link to comment
Share on other sites

Zangarmarsh pvp looks great as it is right now and it works as intended for both factions now. Also Auchindoun looks perfect. =)

/paranoid mode on

"Capturing sites map changes" from conquered to neutral is really slow updated sometimes even though the bar pointer is already in the grey area. There is no specific point but it takes definitly longer than it should. LAN latency is between 4 ms and 10 ms. I don't know how updates internally are handled so I mention this even if it is no bug. It just feels slow. ^^

Link to comment
Share on other sites

<div class='quotetop'>QUOTE (deleteme @ May 22 2008, 10:21 PM) <{POST_SNAPBACK}></div>

"Capturing sites map changes" from conquered to neutral is really slow updated sometimes even though the bar pointer is already in the grey area. There is no specific point but it takes definitly longer than it should. LAN latency is between 4 ms and 10 ms. I don't know how updates internally are handled so I mention this even if it is no bug. It just feels slow. ^^[/b]

Well, the time to capture is given in DB, gameobject_template table. For GAMEOBJECT_TYPE_CAPTUREPOINT gameobjects data16 is the min, data17 is the max time needed to capture in seconds. I don't have information about how this time varies based on the number of players inside the objective, so I just made it a linear dependency between the given limits. I took the given values as time needed to capture from neutral state, though it might be that it's time needed to capture from enemy controlled.

Anyway, it can be easily modified from DB if you feel that it should change faster.

Link to comment
Share on other sites

Im getting conflicts with rev5949 in the spellffects.cpp

@@ -4370,6 +4375,9 @@
        if(pTarget->isInFlight())
                return;

+        if(pTarget->InBattleGround())
+                pTarget->LeaveBattleground();
+
        //homebind location is loaded always
        pTarget->TeleportTo(pTarget->m_homebindMapId,pTarget->m_homebindX,pTarget->m_homebindY,pTarget->m_homebindZ,pTarget->GetOrientation());

Ive tried to manually fix but with no luck.

Any advise on this would be much appreciated.

Edit: NVM it was something stupid on my part works fine tongue.gif

        if(pTarget->isInFlight())
               return;

       if(pTarget->InBattleGround())
               pTarget->LeaveBattleground();

       // homebind location is loaded always
       pTarget->TeleportTo(pTarget->m_homebindMapId,pTarget->m_homebindX,pTarget->m_homebindY,pTarget->m_homebindZ,pTarget->GetOrientation());

Link to comment
Share on other sites

First post updated.

changes:

- for rev 5987

- fixed a bug when player could get battle token for his own death (spirit of redemption, last stand etc.)

- finally fixed the tower flags in hellfire peninsula (GameObjectArtKit.dbc actually has a raison d'être, to tell me what artkit values to use smile.gif)

- merged the mangos db sqls into one (no new sql queries added)

Could this be moved to under review section, please? Thanks in advance.

Link to comment
Share on other sites

Patched revision 5979. Not sure if this issue OPvP related but any advice please. After patching with this patch I have the following SQL errors. Anyway how to safely clean it up?

SQL: INSERT INTO gameobject VALUES
( 60839, 182106, 0, 1, 2569.6, -4772.93, 115.399, 2.72271, 0, 0, 0.978148, 0.207912, 0, 100, 1, 0)
SQL ERROR: Duplicate entry '182106-0-2569.6--4772.93-115.399' for key 2
SQL: INSERT INTO gameobject VALUES
( 60841, 182106, 0, 1, 2992.63, -3022.95, 125.593, 3.03687, 0, 0, 0.99863, 0.052336, 0, 100, 1, 0)
SQL ERROR: Duplicate entry '182106-0-2992.63--3022.95-125.593' for key 2
SQL: INSERT INTO gameobject VALUES
( 60843, 182106, 0, 1, 1838.42, -3703.56, 167.713, 0.890118, 0, 0, 0.430511, 0.902585, 0, 100, 1, 0)
SQL ERROR: Duplicate entry '182106-0-1838.42--3703.56-167.713' for key 2
SQL: INSERT INTO gameobject VALUES
( 60845, 182106, 0, 1, 3148.17, -4365.51, 145.029, 1.53589, 0, 0, 0.694658, 0.71934, 0, 100, 1, 0)
SQL ERROR: Duplicate entry '182106-0-3148.17--4365.51-145.029' for key 2

Link to comment
Share on other sites

<div class='quotetop'>QUOTE (redcore @ May 29 2008, 10:31 AM) <{POST_SNAPBACK}></div>

Patched revision 5979. Not sure if this issue OPvP related but any advice please. After patching with this patch I have the following SQL errors. Anyway how to safely clean it up?

SQL: INSERT INTO gameobject VALUES
( 60839, 182106, 0, 1, 2569.6, -4772.93, 115.399, 2.72271, 0, 0, 0.978148, 0.207912, 0, 100, 1, 0)
SQL ERROR: Duplicate entry '182106-0-2569.6--4772.93-115.399' for key 2
SQL: INSERT INTO gameobject VALUES
( 60841, 182106, 0, 1, 2992.63, -3022.95, 125.593, 3.03687, 0, 0, 0.99863, 0.052336, 0, 100, 1, 0)
SQL ERROR: Duplicate entry '182106-0-2992.63--3022.95-125.593' for key 2
SQL: INSERT INTO gameobject VALUES
( 60843, 182106, 0, 1, 1838.42, -3703.56, 167.713, 0.890118, 0, 0, 0.430511, 0.902585, 0, 100, 1, 0)
SQL ERROR: Duplicate entry '182106-0-1838.42--3703.56-167.713' for key 2
SQL: INSERT INTO gameobject VALUES
( 60845, 182106, 0, 1, 3148.17, -4365.51, 145.029, 1.53589, 0, 0, 0.694658, 0.71934, 0, 100, 1, 0)
SQL ERROR: Duplicate entry '182106-0-3148.17--4365.51-145.029' for key 2

[/b]

You have a strange gameobject table structure (at least key). Seems to me that your secondary key prevents spawning in the same place the same entry twice, and seems like I forgot to add a delete to the sql part to remove the initially spawned GOs. <div class='sqltop'>SQL</div><div class='sqlmain'>DELETE FROM gameobject WHERE id = 182106 and position_x IN (2569.6,2992.63,1838.42,3148.17); </div> should solve this.

Link to comment
Share on other sites

<div class='quotetop'>QUOTE (redcore @ May 29 2008, 01:23 PM) <{POST_SNAPBACK}></div>

Solved by deleting conflicting records. Thank you.

Any updates for 5990+ (got some conflicts while merging)?

Merge conflicts caused recent updates in BattleGround.cpp: http://www.mangosproject.org/forum/index.php?showtopic=24286[/b]

For me the conflict was in SpellAuras.cpp :S

Anyway, first post updated for rev 5991, no further changes.

Link to comment
Share on other sites

5992 still conflicting. Here is update:

Index: src/game/SpellAuras.cpp
===================================================================
--- src/game/SpellAuras.cpp         (revision 5992)
+++ src/game/SpellAuras.cpp         (working copy)
@@ -42,6 +42,8 @@
#include "TargetedMovementGenerator.h"
#include "Formulas.h"
#include "BattleGround.h"
+#include "OutdoorPvP.h"
+#include "OutdoorPvPMgr.h"
#include "CreatureAI.h"

#define NULL_AURA_SLOT 0xFF
@@ -3175,10 +3177,18 @@
{
        if(apply)
        {
-                // drop flag at stealth in bg
-                if(Real && m_target->GetTypeId()==TYPEID_PLAYER && ((Player*)m_target)->InBattleGround())
-                        if(BattleGround *bg = ((Player*)m_target)->GetBattleGround())
-                                bg->EventPlayerDroppedFlag((Player*)m_target);
+                if(Real && m_target->GetTypeId()==TYPEID_PLAYER)
+                {
+                        // drop flag at stealth in bg
+                        if(((Player*)m_target)->InBattleGround())
+                        {
+                                if(BattleGround *bg = ((Player*)m_target)->GetBattleGround())
+                                        bg->EventPlayerDroppedFlag((Player*)m_target);
+                        }
+                        // remove player from the objective's active player count at stealth
+                        if(OutdoorPvP * pvp = ((Player*)m_target)->GetOutdoorPvP())
+                                pvp->HandlePlayerActivityChanged((Player*)m_target);
+                }

                // only at real aura add
                if(Real)
@@ -3219,7 +3229,11 @@

                                m_target->SetVisibility(VISIBILITY_ON);
                                if(m_target->GetTypeId() == TYPEID_PLAYER)
+                                {
+                                        if(OutdoorPvP * pvp = ((Player*)m_target)->GetOutdoorPvP())
+                                                pvp->HandlePlayerActivityChanged((Player*)m_target);
                                        m_target->SendUpdateToPlayer((Player*)m_target);
+                                }
                        }
                }
        }
@@ -3252,6 +3266,9 @@
                {
                        // apply glow vision
                        m_target->SetFlag(PLAYER_FIELD_BYTES2,PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW);
+                        // remove player from the objective's active player count at invisibility
+                        if(OutdoorPvP * pvp = ((Player*)m_target)->GetOutdoorPvP())
+                                pvp->HandlePlayerActivityChanged((Player*)m_target);

                        // drop flag at invisible in bg
                        if(((Player*)m_target)->InBattleGround())
@@ -3289,7 +3306,12 @@
                        {
                                m_target->SetVisibility(VISIBILITY_ON);
                                if(m_target->GetTypeId() == TYPEID_PLAYER)
+                                {
+                                        if(OutdoorPvP * pvp = ((Player*)m_target)->GetOutdoorPvP())
+                                                pvp->HandlePlayerActivityChanged((Player*)m_target);
+
                                        m_target->SendUpdateToPlayer((Player*)m_target);
+                                }
                        }
                }
        }
@@ -3631,6 +3653,8 @@
                                        }
                                }
                        }
+                        else
+                                sOutdoorPvPMgr.HandleDropFlag((Player*)m_target,GetSpellProto()->Id);
                }
        }

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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