Jump to content

Wyk3d

Members
  • Posts

    183
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Wyk3d's Achievements

Advanced Member

Advanced Member (3/3)

0

Reputation

  1. Yes but keep in mind that no matter where you put the terrain data load/unload code, it may be called from two maps, hence threads, at the same time since one of the main points of this system is not to have duplicate terrain data for each instance of the maps. So you definitely need a proper locked reference count at load/unload but multiple threads should still be able to read the data without any locking while it's loaded.
  2. Actually there are legitimate reasons to have anti-cheat. Software that does not resist invalid input is bad software .. and we just want to make good software. For this reason you will find several anti-cheat features already in mangos. Most of the stuff that you get from patches were not added either because they were too slow, too ugly, not split up into smaller parts or just nobody was interested ..
  3. That means that was the last update you already applied and it's not letting you apply it again (to prevent you from causing damage in some cases), it means you can only update your DB any further with the next update, the one which requires your current one.
  4. Read the GDB guide in the stickies on how to provide good logs, it's good if you also provide the server log, but without gdb in this case it's useless ..
  5. Skirnir, I did change the repo link after I talked to freghar and found that this one is much better done but I tested the original one and it worked just fine. I did test exactly what I wrote and it gave me exactly what I wanted immediately. EDIT: ok the new one does work but is set up a bit differently atm, you need to run gitk with "gitk --all" .. after that it's the same, enter it in the search field and it's not at all unfair because you find what you want immediately, and you don't have to copy paste the SHA, you can do what you want, reset to it, by right clicking on it as i wrote above. So doing it with git is very fast and works just fine. You have an initial download of ~35MB (which at this new link can come with over 2 MB/s) and you have every single revision since the project was created on your hard drive. You will especially feel the difference when you later want to change to other revisions, which is practically instant in GIT but can take a lot of time on svn because you need to do more downloading. EDIT: remember you need to search for @3000 not 3000 ! ofcourse there are many revs with the number 3000 in the message, but only one with @3000.
  6. Your "deep searching" is just .. start gitk, type "@3000" in the search field, hit enter, right click the commit, select "Reset .. branch to here".Or you can use "git log --grep=@3000" to find the SHA then "git reset --hard SHA"
  7. No he meant really old revisions. The normal repository that you get does not contain revisions before ~7000. You do what pelle told you but you first need to clone from freghar's archive: git clone git://repo.or.cz/mangos-git.git
  8. Maybe he's not talking about mobs which don't always drop something, but about mobs which never drop anything. That particular bug was fixed recently.
  9. @power12: that is a lot more complicated than necessary .. Fatty is doing it right (with the exception that you don't need to clone again to get new changes), you should stop thinking in the old svn way of getting a patch that you can apply and learn how to pull/fetch+merge from remote branches.
  10. No, advertising in signatures is not ok. I would edit your username too if I had the right. We definitely will not accept any patch with server advertising anywhere in the files. Author names, maybe but it's generally accepted that we don't change the copyright notice just set the user as the author of the commit. If multiple users need to be thanked they are listed additionally in the commit message.
  11. The low level socket stuff is managed by the ACE library in its own way on separate threads but on the higher level the incoming messages (WorldPackets) are queued and processed on world update, outgoing ones are not.The world is split into many "grids" and each grid into cells. Only the cells near the player are checked for creature visibility. When something moves, everything in range (visibility distance) gets notified. Only the grids near any active objects (players + some special creatures) are updated. If grid unloading is enabled or at the beginning, only those are loaded too (with terrain info + creature spawns). Creature position can be given by its current position and/or its destination(s). When a creature is moving you just send a destination, set its speed and the client interpolates the rest.
  12. That particular case can still be solved by determining that trash mob when entering the instance and storing that information without generating any other loot and then use it later, though one could imagine more complicated situations ..
  13. For some creatures whether it drops anything is random so you cannot determine it in advance without actually generating the loot or at least storing the result of the rand()s and it's probably not worth optimizing for only those where you can. It is only faster if the creature is not looted and i think the creature is more likely to be looted if it always drops something.
  14. I see .. then indeed it should be moved to creature death.
  15. Why ? It makes perfect sense to only load the loot when really needed i.e when someone actually clicks to loot. There's no reason to follow the way it's done on official when you can do it better ..
×
×
  • 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