Jump to content

Schmoozerd

Members
  • Posts

    1078
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by Schmoozerd

  1. haha, change a huge project from a imperative up to a functional programming language - nice joke btw: use APL - the rest hasn't enough style!
  2. after a bit more thinking whether or not to go for a generic DB - based approach, I rewrote my script completely, and so it is atm working The code is at many places hard to read, and I am sure someone who knows C will have good suggestions how to improve this Thanks TGM for the idea with the corpse-table, that infact was a big help for a direction to get something with these instances done
  3. * SD2 related, * Don't use pointers * assign to list in JustSummoned * count killed in SummonedCreatureJustDied
  4. most likely the players using a hack, rarely in the two Kael'thas encounters there sometimes happen a fly-bug to players.
  5. Are there Timers shich infact shall reset every update? another idea could be, to reimplement a Hook there for checking
  6. ok, in this case: (present switch to generic NOT-conditions, no deletion of old ones yet) http://paste2.org/p/854423 this patch changes the Loot Conditions to allow generic Not-Conditions. To fully test it, modify the columns in the related databases (iE Gossip) such that condition type is signed. With these sql-statements you won't use the NoAura or NoItem Conditions any more (for gossips) but you can play with any condition you want -- NoAura (11) to NOT Aura (-1) UPDATE gossip_menu SET cond_1= -1 WHERE cond_1 = 11; UPDATE gossip_menu SET cond_2= -1 WHERE cond_2 = 11; UPDATE gossip_menu_option SET cond_1= -1 WHERE cond_1 = 11; UPDATE gossip_menu_option SET cond_2= -1 WHERE cond_2 = 11; UPDATE gossip_menu_option SET cond_3= -1 WHERE cond_3 = 11; -- NoItem (16) to NOT Item (-2) UPDATE gossip_menu SET cond_1= -2 WHERE cond_1 = 16; UPDATE gossip_menu SET cond_2= -2 WHERE cond_2 = 16; To restore your DB just change -2 -> 16 and -1 -> 11
  7. The change enum-> int8 was the idea to get the additional information without adding another collumn. the idea is: negative value means Not Condition, ie -2 means NOT (Condition) 2 that means, if int8 < 0 bIsNotCondition = true; so, there are I think two ways to check if a (not)condition is Meet: use a bool result in the function, and at the end use return bIsNotCondition ? !result : result or my way: Meets(player) { bIsNotCondition? return !MeetsConditon(player) : MeetsConditon(player) } and most likely this could be done somehow better with some C++ coding technique Edit: @UnkleNuke thanks for your suggested help, but this patch needs absolutely no testing; there is a possible conflict with Acid (but this is minor) and there are style problems. And the discussion whether this direction is ok - I even wouldn't know if (if accepted) such SQL-Update Statements would be delivered with mangos
  8. because everyone who needs this function will have the entries by hand, and it is most likely easier to get stable
  9. Hi folks, You all know these CoreHounds in MC - which shouldn't respawn any more after the Big-Dog has been killed. Motivation for the intention to also implement instance-Data Access is Culling of Stratholme, which should event-driven spawn many mobs. Fresh patch http://paste2.org/p/960983 For Rev ~10380 (untested in-game) This here is a start to get this problem done What is already possible: - Not Respawning if a boss is dead / Spawning only if a mob is dead - works with Instance Check, little test: http://paste2.org/p/898550 - Spawn/ Despawn with .debug specialspawn command - Spawn/ Despawn depending on entry, map - Spawn/ Despawn of mobs by id and guid - Spawn/ Despawn of GOs (by id) The Flag: There can be 3 flags set: SPAWN (if boss is dead - only has meaning for boss_id) IMMIDIATE (that means, despawn if needed by update is forced), only for mobs FORCE (is for possible (re)spawn - that Ignores remaining respawntime of mobs) (think of boss adds - you wouldn't want them to respawn a few minutes after the boss respawned) so if we have the entry: mob, IMMIDIATE, boss then this means, that the mob will immidiate despawn if the boss dies. mob, SPAWN, boss, then this means, that the mob will spawn if the boss dies (depending on his remaining respawn time) IMMIDIATE+SPAWN means, that the mob will spawn if the boss dies (depending on his respawn time), and will despawn IMMIDIATE if the boss respawns FORCE+SPAWN means, that the mob will spawn if the boss dies (independent of his respawn time) FORCE means, that the mob will spawn, if the boss respawns (independent of his respawn time) Still TODO: I am rather finished, I have proof that mobs are needed by guid and entry, for bosses I have none, so it is 'minimal' Description of momentarily design: I use 2 main classes and 2 helper classes; * SpawnSpecialMgr is the main class, containing all the static information (and loads these from DB) Hold by Singleton. * SpawnSpecialHolder holds the dynamic spawn information for the mobs Hold by every Map * sSpawnSpecialGroup holds the guids of all Mobs/ GOs for one condition Hold by SpawnSpecialHolder * sSpawnSpecialCondition is used to check the conditions Hold by SpawnSpecialMgr, used by Holder If a Mob/ GO is LoadedFromDB, the static information is used to check, whether it's SpawnSpecial, and if it is, it is added to the Holder of the map. If a Boss dies or by .debug command or by InstanceUpdate the information in the corresponding Holder is updated and the object is handled depending on its flags. to speed things up, the shallSpawn Information is only a lookup information in maps, but to check it every tick -- patch history: first attempt, not working in instances (by principle) http://paste2.org/p/852915 second: solution to put all the work to SD2: http://paste2.org/p/854342 a bit stupid way: http://paste2.org/p/857081 http://paste2.org/p/871190 http://paste2.org/p/896140 http://paste2.org/p/900399 http://paste2.org/p/900917(for 335, small cleanup)This patch needs the hotfix (initialize Condition Value in Creature and GameObject) http://paste2.org/p/913476 For Rev 10185 http://paste2.org/p/921297 For Rev 10233
  10. Hi folks, I am writing the instance script for Blackrock Spire, and also wanted to support the Leeeeroy Achievement http://www.wowhead.com/achievement=2188 The Criteria Data from dbc: 7622,2188,0,10161,50,0,0,0,0,0.000000,0.000000,0.000000,"Kill within 15 sec. 50 Rookery Whelps",0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,16712190,1,7,10161,15,1, The problem is: This criteria is a progress - having a (client based?) 15s countdown and a counter for killed mobs. If I (by removing DB restrains, or with a bool for CheckInstanceAchievementRequirement) enable that the kill of a mob counts, the timer is also updated. Hence you are able to get the progress to 50/50 if you kill in 15sec at least one whelp. And the instance Requirement is not yet able (or I didn't see how) to only avoid resetting the timer Hope for help
  11. if it is the right thing to do this in this table, or another table, you will have to discuss; to your third point: It would be possible, to iterate through all the available profession spells of a player, and look which fits; or to iterate once through all profession skills, to create a table item <-> spell from which the information is taken (might have some problems with special spells), or it would be possible to load this information from the DB table - which is safest, yet doubled information; The first way has a high cpu-load - the other two (minor) memory load, so if you would implement it with a table, you just have to look: item->spell->hasSpell before applying the bonuses
  12. This is DB related, an idea to check additionly: do you already have this quest (.lookup <questname> with target yourself) and also: do you have the PrevQuest - and do you not have the follow-quest
  13. thanks for your reply do you have any pointed lines which are strange? (and if you really had much time also some suggestions in which directions to modify) It is very hard to see which code is good and bad, because I totally lack the experience (or serious c++ learning)
  14. I might be wrong: http://github.com/mangos/mangos/commit/ae67f55f163e63baa054d33786282f799fbd93a4 There was once a commit with a missing ) - so perhaps this is your problem ^^ If you are at Rev 9927 update at least to 9928
  15. along wowhead I would read the glyph that it should only affect on melee attack, and hence I think the code should be put to GetMeleeCritChanceReduction()
  16. Can be moved to rejected, as implemented ProcessEvent which can be used in most cases where this was thought for What bug does the patch fix? What features does the patch add? Implements new Command for Scripts (SCRIPT_COMMAND_SEND_EVENT_TO) For which repository revision was the patch created? 9941 (requires 9890 I think) - New Version 10155 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. No (new feature) Who has been writing this patch? Please include either forum user names or email addresses. me, Schmoozerd -- This patch is obsolete by now, as long as we don't change the way events are handled seriously -- Description of the new feature with this feature it is possible, to Send Information from DB-Scripts up to a CreatureAI or ScriptedInstance. Usally this is useful for Spells with SendEvent - which should do something to an existing creature (which might not be the target of the spell) Also this can be used to control Instance behaviour from Gossip or similar, because InstanceData::ReceiveEvent has arguments for additionly information Description of the fields dataint is used to determine if the information shall be passed to CreatureAI or to InstanceData; in Case of Creature: * if in datalong is given an additional entry the script will search in range(datalong3) for the closest creature with entry) * if not, the script will try to access the target/ source depending on data_flags (0 => target, 1 => source) might be useful for quest_accept and gossip selects in Case of InstanceData: * datalong is the mapId (additional check), datalong2 is the additional transported data A few examples * http://www.wowhead.com/spell=23054 There is a Kroshius lying around, so I think this one should react to the Event, and not just having a new one spawned. * http://www.wowhead.com/spell=16533 This should start a complete Event - So I think the instance-hook is useful * http://www.wowhead.com/spell=28374 should have effect on the zombies of the Gluth encounter - I think this can be best done via instance_ script. Patch: http://paste2.org/p/840944 http://paste2.org/p/906821 - For Rev 10155 http://paste2.org/p/918083 - For Rev 10209 (also corrected small typo in my changes) http://paste2.org/p/932210 - For Ref 10285 (also added additionalData to CreatureAI::ReceiveEvent) hope for comments! Edit: small adjustment, to also get source for ReceiveEvent without using a GridSearcher with data_flags Test for CreatureAI - Receive Event (Kroshius quest): http://paste2.org/p/906826
  17. bump I know that this patch version is atm outdated, but I would like to get a simple [] yes, great idea [] good idea, stupid code [] bad idea reply from a dev such that I can decide whether to script the mentioned gossip dialog in SD2 or not.
  18. SQL: SELECT required_9826_01_mangos_spell_script_target FROM db_version LIMIT 1 query ERROR: Unknown column 'required_9826_01_mangos_spell_script_target' in 'field list' [1 ms] SQL: SELECT * FROM db_version LIMIT 1 Table `db_version` have field `required_9539_01_mangos_spell_bonus_data` but expected `required_9826_01_mangos_spell_script_target`! Not all sql updates applied? you are at DB revision 9539_01 - you need 9826_01 so either update a good part of the needed revisions by DB updates from your DB provider, or apply all mangos_ updates >= 9539_02 till 9826_01.
  19. I never said it was a fix; I only suggested that I had big problems with these event-spawned eggs and Pools; however, 2-3 weeks ago, when I cried along in some IRC channels, no one could give me some hints of me doing stupid things with my custom pools, so I dropped this issue But regarding fishing event, next years event, it is a nice thing that you managed to get a way to reproduce the crash! I was not able to get this and hence no suitable bug-report
  20. ah - is this the mysterious bug I encountered (wiith custom spawn-points)? - was though unable t reproduce it; But for me, the crashes got away on removing the Eggs from the pools.. perhaps this is worth a try for you as well
  21. so, just specify your problem, like: on Mangos XXXX with SD2 YYYY and <Your DB Provider> ZZZ Custom Patches: ,.., my Char: lvl 80, rogue, bloodelf raid difficulty: 25 Players (heroic) What I do: I try to Enter Naxxramas What happens: I get this error-msg: "type your text here" What should happen: I should get the error-msg "Naxxramas 25 heroic does not exist" This problem also is related to: All Inis, everything is broken, plzzz fixx (I exagerate of course) The better information you provide, the easier it is, to say anything about it; iE I could tell you, that with both UDB and YTDB (quite new) and Mangos 9670 SD2 1670 everything is working as it should for me
  22. notepad++ the other things I had never needed Edit: You most likely think of quice DBs: UDB very correct, a bit slower than YTDB YTDB very much doable, but more weaknesses than UDB SQL Parser: some php script, I think you should look around in the DB forums for such thing
  23. perhaps we would need a new SD2 hook - OnSendEvent (not only usable in instances)
  24. I doubt this; the other decimate spell has no send-event effect So I think the SpellEffect is to handle the Dmg to the targets (as original patch) and the SendEvent effect for the Gluth spell to change the threatmanagement for the Gluth-Adds
×
×
  • 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