TrinityCore / TrinityCore

TrinityCore Open Source MMO Framework (master = 11.0.2.56421, 3.3.5 = 3.3.5a.12340, wotlk_classic = 3.4.3.54261, cata classic = 4.4.0.55262)
http://www.trinitycore.org
GNU General Public License v2.0
9.38k stars 6.03k forks source link

[3.3.5] Deep Run Tram #17204

Open Tauriella opened 8 years ago

Tauriella commented 8 years ago

Description: Trams on one side in Stormwind/Ironforge are missing

https://www.youtube.com/watch?v=3Lo5x1S7s6E

Branch(es): 3.3.5 / 6.x

TC hash/commit:
TC>TrinityCore rev. 80fc9cce81dc 2016-05-28 16:36:41 +0100 (335 branch)

TDB version:
355.61 +all update

Operating system:
Windows 7 64Bit

ghost commented 8 years ago

Please forgive my ignorance, but does this have something to do with a need to have players at both ends of the Deeprun Tram for both tracks to be activated? Or is one of the tracks always empty, even with players at both ends? (I don't know, I haven't tested this.)

Tauriella commented 8 years ago

On live server it is so that the start Position one is in Stormwind and one is in Ironforge Every two Tram drive (start) at the same time away One from Stormwind to Ironforge and one from Ironforge to Stormwind

lyn1337 commented 8 years ago

core_version: TrinityCore rev. 4a074ca 2016-05-26 16:15:27 +0200 (3.3.5 branch) (Unix, Release) db_version: TDB 335.61

Both should be there and running. Just like Tauriella said.

For me, the following occured: When I enter the the deeprun map from Ironforge or via .tele deeprun, the first (near to the exit) tram appears. When I enter from Stormwind, the other one does.

Try this: .go xyz -8354.792969 524.349548 91.798103 0 5.373 .go object 18804 (Stormwind entrace) .go xyz -4838.862793 -1316.950073 501.868225 0 4.590 (Ironforge entrace)

edit: it appears that, after the 120 spawntimesecs of those GOs, the nearest tram spawns, the other one just doesn't.

Tested with: (GO GUIDs taken from .gobject near command) .go object 18804(the one at the back) .go object 18802 (the one at the entrance)

Also: Quoth the Shauren:

TRANSPORT objects (elevators, deeprun) do not change position serverside, client only plays the movement animation (defined in TransportAnimation and TransportRotation dbcs)

IIRC Shauren was working on this.

lyn1337 commented 8 years ago

p.s. all GOs are here: SELECT * FROM world.gameobject WHEREidBETWEEN 176080 AND 176085;

Maybe the client isn't sent the tram spawn because it is too far away, I'm not sure.

Killyana commented 8 years ago

Every thing is fine for me.

Tauriella commented 8 years ago

@Killyana I do not know why, but it now actually works :+1:

lyn1337 commented 8 years ago

core_version: TrinityCore rev. e3aa19281f4d 2016-05-31 22:18:26 +0200 (3.3.5 branch) (Unix, Release) db_version: TDB 335.61

@Tauriella @Killyana The problem persists for me.

Tauriella commented 8 years ago

@lyn1337 Try it with 2 Chars One Char put you in Stormwind and the other Char in Ironforge and wait a few minutes. For me it works.

lyn1337 commented 8 years ago

@Tauriella Yes, I'm aware of that behavior. (see above) Still this isn't how it should be working, that's all I'm saying. :smiley_cat:

Kittnz commented 8 years ago

Indeed, both should be moving, yet another example of an area that should be running all the time. Grid problem?

Rushor commented 8 years ago

the deepram is actually a spawned moving object (e.g. transport) no? setting it active also worked to fix stuff with the gunship in icc sometimes

lyn1337 commented 8 years ago

the deepram is actually a spawned moving object (e.g. transport) no? setting it active also worked to fix stuff with the gunship in icc sometimes

@Rushor I'm not sure if I got you right, but serverside, these GOs aren't moving. The anim is controlled by dbc and after the train departed, the GOs (one per wagon) are still on the same position. Elevators are working the same way, but ships do not.

Treeston commented 8 years ago

Increase visibility distance for the map?

Shauren commented 8 years ago

deeprun tram map is way too large for this

MrSmite commented 8 years ago

This was explained to me by Brian, or perhaps @Shauren a long time ago that it has to do with how the GO is spawned for the Tram. In short, only one is spawned at one time. When you leave the area it despawns and respawns on the other side.

I tried looking on the forums for the thread but it was probably lost years ago in one of the many forum resets. The closese relevant thread I could find is this one which reiterates what lyn1337 said above.

lyn1337 commented 8 years ago

@MrSmite I used the force Trying to figure out and fix the tram

MrSmite commented 8 years ago

Trying to figure out and fix the tram

Hmm, I get "you do not have permission to view this content". I'll have to check my Firefox plugins to see if one of them is blocking it.

ghost commented 8 years ago

That is weird, because you posted the comment before the linked one yourself. From Brian:

SELECT `entry`, `name`, `type` FROM `gameobject_template` WHERE `entry` BETWEEN 176080 AND 176085;
 entry  name      type
------  ------  ------
176080  Subway      11
176081  Subway      11
176082  Subway      11
176083  Subway      11
176084  Subway      11
176085  Subway      11
SELECT `guid`,`id`,`position_x`,`position_y`,`position_z`,`map` FROM `gameobject` WHERE `id` BETWEEN 176080 and 176085;
 guid      id  position_x  position_y  position_z     map
-----  ------  ----------  ----------  ----------  ------
18802  176080     4.58065     28.2097     7.01107     369
18803  176081     4.52807     8.43529     7.01107     369
18804  176082    -45.4005     2492.79      6.9886     369
18805  176083    -45.4007     2512.15      6.9886     369
18806  176084    -45.3934     2472.93      6.9886     369
18807  176085     4.49883    -11.3475     7.01107     369
MrSmite commented 8 years ago

Observations from core: 2db9269ec1c06b5fccc45dc0a5b4f714f9b48804

  1. Start server
  2. Log in Alliance character (no other players on server)
  3. Enter Tram via Dwarven District, Stormwind
  4. The back train is spawned and just arriving
  5. Wait for a few minutes and the back train leaves
  6. Continue to wait several minutes, the front train never arrives but the back train returns
  7. TELE to Tinkertown, Ironforge and enter the Tram
  8. The front train is spawned and just arriving
  9. Wait for a few minutes and the front train leaves
  10. Continue to wait several minutes, the back train never arrives but the front train returns

It would seem that the train spawn is tied to which side you enter the Tram on. Both trains are never spawned at the same time (at least in a single player environment)

Unable to test

  1. Put a player in Tinkertown and a player in Dwarven District
  2. Have the player in Tinkertown wait to enter the tram
  3. Have the player in Dwarven District enter the tram and get on the back train
  4. When the train leaves the station, have the player now enter the tram from Tinkertown

Would this cause the front train to spawn? Would it despawn the back train out from under the other player? Would it simply leave the back train spawned forcing the second player to wait?

I always thought it would be as simple as spawning two trains but IIRC, Brian said it wasn't that easy because the GO is reused or some such.

Treeston commented 8 years ago

It probably just doesn't spawn the other train because the spawn point grid isn't loaded.

MrSmite commented 8 years ago

It probably just doesn't spawn the other train because the spawn point grid isn't loaded.

That's what I thought too, so I forced the grid to load (in code, not another player) and it still didn't seem to spawn two trains.

lyn1337 commented 8 years ago

Maybe the client isn't sent the tram spawn because it is too far away, I'm not sure.

Rushor commented 7 years ago

ehh.. possible fixes in :

https://github.com/mangoszero/server/commit/59156f5ec15d9ab7428afcffe5bb0d5ef800941c https://github.com/mangoszero/server/commit/e803c57c9f436da02b8099122e93d2efc361e4c5 https://github.com/mangoszero/server/commit/9283f4309bec802f477087d2f4d454a55a81de75

?

MrSmite commented 7 years ago

Rushor, thanks for the links. Will be interesting to look at.