Jump to content

Wojta

Members
  • Posts

    244
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by Wojta

  1. Not really, player movement is (mostly) handled by client and it only sends updates to server so other players can see that you are moving. But I guess you could implement some ".jump" command which will knock you up or something like that.

  2. It just shows other players joined for raids and their roles(and comments). It will not port into instance, it will not create raid, Raid leader must do that by himself. Its just place where you get players for pug, pretty much like old Looking for Dungeon. So it should be done separately I think. Anyway, its not really much popular on official servers...

  3. He means low guid part.

    From ObjectMgr.h:

    Player* GetPlayer(const char* name) const { return ObjectAccessor::FindPlayerByName(name);}

    Player* GetPlayer(ObjectGuid guid) const { return ObjectAccessor::FindPlayer(guid); }

    So no, you cant use low guid from database. But you can generate full guid from it, or you can use player name, which you can get from database.

    By the way, this is wrong section for questions like that :)

  4. soo lezz revive it.

    There are few things I don't quite understand in all dungeon finder implementations:

    - why there are different queues for players and groups ?

    - why looking for raid feature tends to be mixed with dungeon finder - I mean if they should be entirely different things or LFR just displays "hidden" in LFD info in different way (i.e. players/groups queued for specific instance)

    discuss ^_^

    1. I prefer to have only groups in queue - look at eye icon near minimap, it shows which roles are already in, so it seems logical. Yes, I have my own implementation of Dungeon finder, but its written by teenage guy who wants to know "how the hell it works", and it looks by it. But I'll help with everything I can.

    2. Well, It uses same packets for instance. LFR is just another category of Dungeon finder, although it works differently. (I am not really sure I properly understand your question, sorry if I am answering to different thing Oo)

  5. Well, I guess blizz has source code of warden since its their creation, so they can compile it for whatever they like. And they do not need to load it, neo2003 is loading the modules because its the easiest way to get hash/crypted something - forgot what already, but tom_rus explained it here a few posts ago - i think blizz is doing it entirely different way.

  6. WMOs seems to be positioned correctly, but walkable areas are generated little bit off the map (or map is bit misplaced), not sure if its because i only took "+ Change in WMO rotation matrix. Should fix couple issues. " and not "+ MMAP Extractor: ..." commit. Will do some more testing tomorrow, need to sleep, good night.

  7. I tried to read most of this thread and I didnt see this one noticed: http://valhalla-team.com/snap4.png http://valhalla-team.com/WoWScrnShot_072911_162911.jpg - the whole wmo is misplaced in mmap mesh, but vmaps are all right. Same thing happened for bridge on the other side of EoS.

    But I have slightly modified and most likely little outdated version of mmap patch, can someone test this please?

    EDIT: It seems like it is just rotated by 180 or the rotation wrong, because bridge is too low on one side and too high on the other: http://valhalla-team.com/snap5.png http://valhalla-team.com/snap6.png

    EDIT2: Now when I look more closely, I think the left and right bridge is just swapped, lol Oo

    EDIT3: No, they are not, more like rotated by 180 degrees.

    EDIT4: By the way, the bridges are on two tiles at once: for example the one between mage tower and fel reaver ruins is on both tile 566 28 28 and 566 27 28

  8. I just found some knockback packet:

    Spell 49722

    Effect 1: Id 98 (SPELL_EFFECT_KNOCK_BACK)

    BasePoints = 113 to 188

    Targets (22, 15) (TARGET_CASTER_COORDINATES, TARGET_ALL_ENEMY_IN_AREA)

    EffectMiscValueA = 75

    Radius (Id 13) 10,00

    SMSG_MONSTER_MOVE

    Monster GUID: 0xF1405F23F700005A

    Monster unk byte: 0

    Current Position: 358.0004 148.3053 30.75061

    Ticks Count: 0x0004AF05

    SplineType: Normal

    Spline Flags: TRAJECTORY, WALKMODE, KNOCKBACK

    Spline Time: 0x0000070C

    SplineFlags 0x800: float 19,2911 and int 0x00000000

    Splines Count: 1

    Dest position: 353.6245 161.1077 30.75402 (distance: 13,529551058001

  9. - LFG Group

    I don't understaind "LFG_STATUS" of the group. Actualy status "LFG_STATUS_NOT_SAVED" do the job but when i must modify this value?

    The group are now completly independant when it will be created. All the needed objects are declared in the Group Class but i must verify if it's enought.

    Some new object will be needed in the future in group class but i am focused to an light working patch for now.

    This changes when you get instance bind and on reward. I think LFG_STATUS_NOT_SAVED do the thing right now, no need to change it.

  10. no, my idea should be basicly working as follows:

    DungeonEncounter lists every "important" encounter of any instance.

    every encounter (independend from difficulty) has a unique key (map, encounter-position)

    In SD2 we store (some) encounters in an array, which is saved to a string like

    "v_1 v_2 .. v_n" where each value of v_i represents the state of the encounter (usally 3=finished)

    so, if we would change sd2 to represent (and in order) every encounter of DungeonEncounter.dbc then this instance string would be a valid representation of finished encounter.

    The key (mapId, difficulty, position) identifies any encounter - I don't know if there is anymore information needed then.

    But well, that is just an idea

    Yes, that is good idea, but do not forget to bosses without SD2 script, for example Krystalus in Halls of Stone, you need some generic solution for them, too (although that could be done by some EventAI action, but kill credits usually have not any script). As you say, your way would also require lot of work in sd2. That is why I think some more flexible solution, at least partly via DB, is better.

    BTW, LfgDungeons.dbc has field, in which is some string ID of dungeon (maybe because dungeons has no id like creature or so), maybe thats the way offi recognize in which dungeon you are...

    //char* unk3; // 29

    BTW2: Yes, all you need to complete DF is to kill last boss, not all, confirmed from offi :)

  11. I had the idea to use the SD2 part where we write an instance-string to be used for DF (finished encounters)

    This has the _big_ disadvantage that we would have to change most sd2 instance scripts (though not complicated) - but the advantage that it would be easy to check ;)

    But I doubt that NoFantasy as chief sd2 dev will be happy with this idea.

    The best way to implement this would be to add an event-based system (killing a boss throws an event) which would solve other problems as well, but unfortunately it seems impossible to find "real" event-ids for most bosses (infact our way sd2 uses SetData calls is similar in concept- but only used within sd2)

    A new table with end boss id and some method for extra-special encounters where no end boss nor kill credit is used seems best to me right now. You need to store entry coordinates somewhere, too, because "sObjectMgr.GetMapEntranceTrigger(dungeon->map);" cant do anything good for scarlet monastery, since there are three dungeons on one map, or for event bosses.

    I can imagine it like when you kill any creature in dungeon, some method in (Lfg)Group class would be called, which would check if creature binds you tu instance (->change group status) and for creature id from that table. You could also search here for entry from DungeonsEncounter.dbc by creature name, which could give like 70% results...

    Yes, implemetation of DungeonEncounter.dbc-like way would be great, but again, I cant imagine anything other than new field in creature(_template)_addon table with ID from this dbc and some method for special encounter, which can be called from SD2.

  12. I just found something interesting. When first ready check fails because some players are afk or leaves, second one is sent as "silent" - Enter Dungeon/Leave queue does not pop up, you have to click on eye-icon at minimap.

    So i tried few things and found this: In SMSG_LFG_PROPOSAL_UPDATE, group id is sent. Client expect something special or on offi the group is destroyed after failed ready check, but you have to generate new group id. I wish I'd have some sniffs about this :/

×
×
  • 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