Jump to content

[dev] Dalaran Arena (dalaran sewers)


Guest KAPATEJIb

Recommended Posts

  • Replies 50
  • Created
  • Last Reply

Top Posters In This Topic

Any progress on this now that you have the dynamic GO patch?

I had a thought for pushing the players outside the sewer pipe... Couldn't you add an invisible NPC that can't be targeted or attacked and have them cast the 'pushback' or 'knockback' effect on the players, that's used by some creatures (those big, ugly undead in Plaguelands come to mind)?

Link to comment
Share on other sites

  • 3 weeks later...

here is my dalaran sewers patch

http://pastebin.com/f36dd7188

i come out of KAPATEJIb's patch (thx ;-) )

i add a new Unit::KnockBackWithAngle for knock players out of tube (and as a check if players not knocked out, 5 sec later he will be teleported on the ground)

i edit a liitle bit door size a position (in KAPATEJIb's you can walk around doors :-))

this is just for testing it should be possible to join into dalaran sewers with in skirmish battle

Link to comment
Share on other sites

here is my dalaran sewers patch

http://pastebin.com/f36dd7188

i come out of KAPATEJIb's patch (thx ;-) )

i add a new Unit::KnockBackWithAngle for knock players out of tube (and as a check if players not knocked out, 5 sec later he will be teleported on the ground)

i edit a liitle bit door size a position (in KAPATEJIb's you can walk around doors :-))

this is just for testing it should be possible to join into dalaran sewers with in skirmish battle

Can you put it under git, so we can pull easily any modifications ? thanks in advance

Link to comment
Share on other sites

  • 2 weeks later...

error in debian

g++ -DHAVE_CONFIG_H -I. -I../../../src/game -I../..  -I/usr/include/mysql    -I../../src/shared -I../../../src/game -I../../../src/game/../../dep/include -I../../../src/game/../framework -I../../../src/game/../shared -I../../../src/game/../shared/vmap -I../../../src/game/../realmd -DSYSCONFDIR=\\"/home/karlos/mangos_test/etc/\\"   -DDO_MYSQL -march=native -pipe -g -ggdb -O0 -DFD_SETSIZE=10240 -m64 -msahf -mfpmath=sse -mmmx -mssse3 -MT BattleGroundDS.o -MD -MP -MF .deps/BattleGroundDS.Tpo -c -o BattleGroundDS.o ../../../src/game/BattleGroundDS.cpp
In file included from ../../../src/game/BattleGroundDS.cpp:19:
../../../src/game/BattleGround.h:300: error: 'BattleGroundBracketId' does not name a type
../../../src/game/BattleGround.h:572: error: 'BattleGroundBracketId' does not name a type

Link to comment
Share on other sites

  • 1 month later...

Mmm... I'm trying to use this patch, from frcoun branch, but I have a compilation error due to changes on bytebuffer.h, on line 498, here, because now this:

private:
       // limited for internal use because can "append" any unexpected type (like pointer and etc) with hard detection problem
       template <typename T> void append(T value)
       {
           EndianConvert(value);
           append((uint8 *)&value, sizeof(value));
       }

is private. In the patch, this

void Player::KnockWithAngle(float angle, float horizontalSpeed, float verticalSpeed)
{
   float vsin = sin(angle);
   float vcos = cos(angle);

   WorldPacket data(SMSG_MOVE_KNOCK_BACK, 8+4+4+4+4+4);
   data.append(GetPackGUID());
   data << uint32(0);                                  // Sequence
   data << float(vcos);                                // x direction
   data << float(vsin);                                // y direction
   data << float(horizontalSpeed);                     // Horizontal speed
   data << float(-verticalSpeed);                      // Z Movement speed (vertical)
   ((Player*)this)->GetSession()->SendPacket(&data);
}

is the function that causes the problem, could anyone help me to solve this? I'm not very acquainted with public/private/protected classes ^^

Link to comment
Share on other sites

patch updated in first post. Now players are pushed from spawning sewers after five seconds, also prevent from abusing of this - anyone who want to get back into spawning severs will be pushed again (with Demonic Circle for example). This will not work as should if you turn off vmaps

i also added this to my repo http://github.com/insider42/mangos/commit/734d4dd7f112e079c8e3a79320586e9c17d1a824

Link to comment
Share on other sites

KAPATEJIb, u need to force the pillars (And Pulleys) to move, they won't move all alone. Need to call DoorOpen with a 25s interval

Known bug, Pillars don't block LoS, even tried to use the Collision pillars but couldn't make them work when i implemented this arena in trinitycore (3.1.3).

Link to comment
Share on other sites

KAPATEJIb, u need to force the pillars (And Pulleys) to move, they won't move all alone. Need to call DoorOpen with a 25s interval

Known bug, Pillars don't block LoS, even tried to use the Collision pillars but couldn't make them work when i implemented this arena in trinitycore (3.1.3).

but idk how to get acces to all objects at instance map :/ if i will find how to do this - i will try to make them work, it's no really hard, just need to find how

Link to comment
Share on other sites

U only need the guid of the GO

void BattleGround::DoorOpen(uint64 const& guid)

+ u are providing the guid of the GO in the db. if u don't wanna do it guid dependent u can use this code

GameObject* WorldObject::FindNearestGameObject(uint32 entry, float range)
{
   GameObject *go = NULL;
   MaNGOS::NearestGameObjectEntryInObjectRangeCheck checker(*this, entry, range);
   MaNGOS::GameObjectLastSearcher<MaNGOS::NearestGameObjectEntryInObjectRangeCheck> searcher(this, go, checker);
   Cell::VisitGridObjects(this, checker, range);
   return go;
}

But u will need to have an object... and u only will have players asap they join, so u can get pointers to all GO's asap 1 player joins the server. It's nasty but won't make u depend on guids

Note: The above comment is done without knowing Mangos functions. Maybe there's a better way to do it.

Link to comment
Share on other sites

  • 3 weeks later...
×
×
  • 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