Jump to content

[not working] Outdoor Pvp


Recommended Posts

i updated outdoor_0.12.. i changed a wrong mysql statement and then merged with newest mangos-0.12, while merging there were some conflicts - and if i made something wrong the worldstates won't work correctly after this.. but i think i made everything right :) - and it compiles at least^^

edit: i haven't fixed the eventai.sql - maybe someone here can suggest a working one - i realy never looked at eventai yet (:

@ragnababy:

i think you need to run git commit -a or git checkout -f to tell git, what to do with your uncommitted stuff

Link to comment
Share on other sites

  • Replies 621
  • Created
  • Last Reply

Top Posters In This Topic

Hallo,

i have some error in my Server.log. Can anyone help me to fix the errors?

I using Mangos rev 7966 + SD2 rev. 1123 + ACID 0.1.0 + GMDB + PSDB (WotLK)

My problem is for exemple in hellfire penisula there can i only 2 of 3 occupy and that is in every land.

ERROR:CreatureEventAI: Creature 18225 are using timed event(3257604) with param2 < param1 (InitialMax < InitialMin). Event will never repeat.

and

6-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1075254642

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1930892659

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1947669876

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1964447093

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1981224310

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 18290041

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find creature guid: 2500679893

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find creature guid: 2215467222

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 4195816823

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 4212594040

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1511462269

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1377244540

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1511462267

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1360467322

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1511462271

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1343690110

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 1511462273

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 2333545856

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 3658945900

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 2669090155

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 4246148462

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 2652312941

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 3675723120

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 2635535727

2009-06-06 00:09:32 ERROR:OutdoorPvPObjective: Can't find gobject guid: 3256292721

sorry for bad english

Link to comment
Share on other sites

merged with mangos-0.12

also i have two small questions, maybe someone knows this :)

the server where i play, now also has the outdoor-patch running, but there cam lags with stealth-remove from players..

arrai suggested this fix but we are not 100% sure, if it's ok to just remove those lines or if we would cut off some functionality..

but maybe those lines got only accidential inside and we can realy remove them

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index b7229a9..5935ab0 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -3359,7 +3359,8 @@ void Aura::HandleModStealth(bool apply, bool Real)
                {
                    if(OutdoorPvP * pvp = ((Player*)pTarget)->GetOutdoorPvP())
                        pvp->HandlePlayerActivityChanged((Player*)pTarget);
-                    pTarget->SendUpdateToPlayer((Player*)pTarget);
+                    // by openpvp-patch introduced -> produced lags
+                    // pTarget->SendUpdateToPlayer((Player*)pTarget);
                }
            }

@@ -3432,7 +3433,8 @@ void Aura::HandleInvisibility(bool apply, bool Real)
                    if(OutdoorPvP * pvp = ((Player*)m_target)->GetOutdoorPvP())
                        pvp->HandlePlayerActivityChanged((Player*)m_target);

-                    m_target->SendUpdateToPlayer((Player*)m_target);
+                    // by openpvp-patch introduced -> produced lags
+                    // m_target->SendUpdateToPlayer((Player*)m_target);
                }
            }
        }

next thing:

can someone update the eventai.sql in outdoor_0.12?

i know to less about eventai to do this, and i think someone else here can do it in a few minutes too :)

@bison: sorry, i can't help with it.. i think psdb has different flags for some creatures/objects than udb.. maybe you try exporting all needed objects/creatures

from udb and apply it to the psdb (if it then will work, you can post your sql here and we can include it in the repo)

Link to comment
Share on other sites

had the following bug:

Terokkar: spirit towers didn't reset after the six hours where up. All towers belonged to the old faction and the next player triggering the update-function recaptured the whole zone.

MaNGOS/0.12.0 r7907

ScriptDev2 for MaNGOS 7871+

minor custom patches, so i'm not entirely sure, whether its the openPvP-Patchs fault or not.

Link to comment
Share on other sites

for outdor(master) i also had mergeconflicts, so i updated that too.. also i removed some wrong things from this branch (charlie changed with the last merge accidently very much - and i removed most of those changes except:

 contrib/extractor/debug/zlib.lib            |  Bin 198300 -> 0 bytes
contrib/extractor/release/zlib.lib          |  Bin 212284 -> 0 bytes

(if somebody knows how to fix it, please tell me)

also i cleaned up this patch a bit (just removing tabs for spaces, some intendentaion)

then i tried to fix the bug sarjuuk mentioned, it's about setting the tower-owners in terrokar after 6h back to neutral - i hope this patch works, cause i currently have no client to test

also i fixed the bug, that the banner-gameobject of the nortwest-tower had a wrong rotation

(this is done through the line:

-    AddCapturePoint(TFCapturePoints[type].entry,TFCapturePoints[type].map,TFCapturePoints[type].x,TFCapturePoints[type].y,TFCapturePoints[type].z,TFCapturePoints[type].o,TFCapturePoints[type].rot0,TFCapturePoints[type].rot1,TFCapturePoints[type].rot2,TFCapturePoints[type].rot3);
+    AddCapturePoint(TFCapturePoints[type].entry,TFCapturePoints[type].map,TFCapturePoints[type].x,TFCapturePoints[type].y,TFCapturePoints[type].z,TFCapturePoints[type].o,TFCapturePoints[type].rot0,TFCapturePoints[type].rot1, sin(TFCapturePoints[type].o / 2), cos(TFCapturePoints[type].o / 2));

the whole patch can be found here - it would be nice if someone can test it

http://uploaded.to/file/axewey

Link to comment
Share on other sites

@bison: sorry, i can't help with it.. i think psdb has different flags for some creatures/objects than udb.. maybe you try exporting all needed objects/creatures

from udb and apply it to the psdb (if it then will work, you can post your sql here and we can include it in the repo)

I got the same problem.. but im using UDB :confused:

Using MaNGOS 8066 SD2 1155, UDB 381

Link to comment
Share on other sites

Hello. In this patch many places with same code like this function:

bool OutdoorPvPSI::HandleAreaTrigger(Player *plr, uint32 trigger)
{
   switch(trigger)
   {
   case SI_AREATRIGGER_A:
       if(plr->GetTeam() == ALLIANCE && plr->HasAura(SI_SILITHYST_FLAG,0))
       {
           // remove aura
           plr->RemoveAurasDueToSpell(SI_SILITHYST_FLAG);
           ++ m_Gathered_A;
           if(m_Gathered_A >= SI_MAX_RESOURCES)
           {
               BuffTeam(ALLIANCE);
               sWorld.SendZoneText(OutdoorPvPSIBuffZones[0],objmgr.GetMangosString(LANG_OPVP_SI_CAPTURE_A,-1));
               m_LastController = ALLIANCE;
               m_Gathered_A = 0;
               m_Gathered_H = 0;
           }
           UpdateWorldState();
           // reward player
           plr->CastSpell(plr,SI_TRACES_OF_SILITHYST,true);
           // add 19 honor
           plr->RewardHonor(NULL,1,19);
           // add 20 cenarion circle repus 
           plr->GetReputationMgr().ModifyReputation(sFactionStore.LookupEntry(609), 20);
           // complete quest
           plr->KilledMonster(SI_TURNIN_QUEST_CM_A,0);
       }
       return true;
   case SI_AREATRIGGER_H:
       if(plr->GetTeam() == HORDE && plr->HasAura(SI_SILITHYST_FLAG,0))
       {
           // remove aura
           plr->RemoveAurasDueToSpell(SI_SILITHYST_FLAG);
           ++ m_Gathered_H;
           if(m_Gathered_H >= SI_MAX_RESOURCES)
           {
               BuffTeam(HORDE);
               sWorld.SendZoneText(OutdoorPvPSIBuffZones[0],objmgr.GetMangosString(LANG_OPVP_SI_CAPTURE_H,-1));
               m_LastController = HORDE;
               m_Gathered_A = 0;
               m_Gathered_H = 0;
           }
           UpdateWorldState();
           // reward player
           plr->CastSpell(plr,SI_TRACES_OF_SILITHYST,true);
           // add 19 honor
           plr->RewardHonor(NULL,1,19);
           // add 20 cenarion circle repu
           plr->GetReputationMgr().ModifyReputation(sFactionStore.LookupEntry(609), 20);

           // complete quest
           plr->KilledMonster(SI_TURNIN_QUEST_CM_H,0);
       }
       return true;
   }
   return false;
}

Maybe better something like this (cause smaller)? :

bool OutdoorPvPSI::HandleAreaTrigger(Player *plr, uint32 trigger)
{
   if(!trigger)
           return false;

   if(plr->GetTeam() && plr->HasAura(SI_SILITHYST_FLAG,0))
   {
       // remove aura
       plr->RemoveAurasDueToSpell(SI_SILITHYST_FLAG);
       plr->GetTeam() == ALLIANCE ? ++m_Gathered_A : ++m_Gathered_H;
       if(m_Gathered_A >= SI_MAX_RESOURCES || m_Gathered_H >= SI_MAX_RESOURCES)
       {
           BuffTeam(plr->GetTeam());
           sWorld.SendZoneText(OutdoorPvPSIBuffZones[0],objmgr.GetMangosString((plr->GetTeam() == ALLIANCE) ? LANG_OPVP_SI_CAPTURE_A : LANG_OPVP_SI_CAPTURE_H, -1));
           m_LastController = plr->GetTeam();
           m_Gathered_A = 0;
           m_Gathered_H = 0;
       }
       UpdateWorldState();
       // reward player
       plr->CastSpell(plr,SI_TRACES_OF_SILITHYST,true);
       // add 19 honor
       plr->RewardHonor(NULL,1,19);
       // add 20 cenarion circle repus 
       plr->GetReputationMgr().ModifyReputation(sFactionStore.LookupEntry(609), 20);
       // complete quest
       plr->KilledMonster((plr->GetTeam() == ALLIANCE) ? SI_TURNIN_QUEST_CM_A : SI_TURNIN_QUEST_CM_H,0);
               return true;
   }
   return false;
}

Link to comment
Share on other sites

@thyros: thx it's corrected

@cybermonk: maybe you forgot the outdoorpvp.sql (in the folder sql/outdoor/)

@splinterc:

yes, i think this suggestion will improve code readability - but your idea is currently wrong (as it seems to me) cause you don't do any checks about which team can use which trigger

i mean something like this:

if(plr->GetTeam() == ALLIANCE and trigger != SI_AREATRIGGER_A)
// aliance player on alliance-trigger shouldn't be handled
return false;

(and same for horde)

if you want, you can create a patch for it then i can include it.. else i will just keep it in mind and will do this next time when i review this patch

edit: another thing:

you don't need to check

if(plr->GetTeam())

i think this would never fail :)

maybe you add this in the top part of the function those should be all cases when this function can return false

if !player->hasaura(...)
return false
if trigger==bla and plr->getteam=xyz
return false
if trigger==blub and plr->getteam=zyx
return false

and then for checking the win_condition this can be used for alliance and horde

if team==ally
{ m_gathered_a++;
if m_gathered_a>123)
{
...
..
}
}

Link to comment
Share on other sites

merged with mangos-0.12

the server where i play, now also has the outdoor-patch running, but there cam lags with stealth-remove from players..

arrai suggested this fix but we are not 100% sure, if it's ok to just remove those lines or if we would cut off some functionality..

but maybe those lines got only accidential inside and we can realy remove them

I can tell that lag occur only with Outdoor. I will give a try to posted fix tonight.

Link to comment
Share on other sites

I justed wanted to inform all users, using outdoorpvp , I will not be longer updating outdoorpvp, I'm leaving mangos, world of warcraft, my "illegal" free server and this online playing rpg from personals reasons, I hope that there will be someone like balrok or someone else, who can finish outdoorpvp, review and commit and in future add Wintergrasp... Thanks ,

Charlie2025

Link to comment
Share on other sites

thank you for all your work so far and good luck on your future paths

i will update this patch (but until alterac-valley is in master i won't actively do something here) - also a friend, who's developing on wintergrasp may get writeaccess then too (i don't know yet, if it's better to create a new branch for wintergrasp or not.. - currently i think it's ok to have it inside this patch too)

if someone is interested in contributing to this branch, you can pm me then and i will add you to my repository as collaborator

in future this patch can be found at:

http://github.com/balrok/mangos/tree/outdoor

http://github.com/balrok/mangos/tree/outdoor-0.12

--

@andriuspel:

you're right this is realy offtopic - but you just need to go in a library or bookstore - there you'll find what you're searching..

also i guess somewhere in this forum is actually a thread about this

so please search this thread or open a new thread somewhere else

Link to comment
Share on other sites

@@ -6300,11 +6310,11 @@ void Player::CheckDuelDistance(time_t currTime)
    }
}

bool Player::IsOutdoorPvPActive()
{
-    return (isAlive() && !HasInvisibilityAura() && !HasStealthAura() && (HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP) || sWorld.IsPvPRealm())  && !HasUnitMovementFlag(MOVEMENTFLAG_FLYING2) && !isInFlight());
+    return (isAlive() && !HasInvisibilityAura() && !HasStealthAura() && (HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP) || sWorld.IsPvPRealm())  && !m_movementInfo.HasMovementFlag(MOVEMENTFLAG_FLYING2) && !isInFlight());
}

void Player::DuelComplete(DuelCompleteType type)
{
    // duel not requested

Little fix for 8077+

Link to comment
Share on other sites

merged with mangos-0.12

also i have two small questions, maybe someone knows this :)

the server where i play, now also has the outdoor-patch running, but there cam lags with stealth-remove from players..

arrai suggested this fix but we are not 100% sure, if it's ok to just remove those lines or if we would cut off some functionality..

but maybe those lines got only accidential inside and we can realy remove them

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index b7229a9..5935ab0 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -3359,7 +3359,8 @@ void Aura::HandleModStealth(bool apply, bool Real)
                {
                    if(OutdoorPvP * pvp = ((Player*)pTarget)->GetOutdoorPvP())
                        pvp->HandlePlayerActivityChanged((Player*)pTarget);
-                    pTarget->SendUpdateToPlayer((Player*)pTarget);
+                    // by openpvp-patch introduced -> produced lags
+                    // pTarget->SendUpdateToPlayer((Player*)pTarget);
                }
            }

@@ -3432,7 +3433,8 @@ void Aura::HandleInvisibility(bool apply, bool Real)
                    if(OutdoorPvP * pvp = ((Player*)m_target)->GetOutdoorPvP())
                        pvp->HandlePlayerActivityChanged((Player*)m_target);

-                    m_target->SendUpdateToPlayer((Player*)m_target);
+                    // by openpvp-patch introduced -> produced lags
+                    // m_target->SendUpdateToPlayer((Player*)m_target);
                }
            }
        }

next thing:

can someone update the eventai.sql in outdoor_0.12?

i know to less about eventai to do this, and i think someone else here can do it in a few minutes too :)

@bison: sorry, i can't help with it.. i think psdb has different flags for some creatures/objects than udb.. maybe you try exporting all needed objects/creatures

from udb and apply it to the psdb (if it then will work, you can post your sql here and we can include it in the repo)

working as intended (anyway in -0.12) can it be added to gitbranch?

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