Jump to content

Schmoozerd

Members
  • Posts

    1078
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by Schmoozerd

  1. I suspect you will have to MovePoint after the mob is summoned (ie in JustSummoned)
  2. if you want to use spells of the creature_template, you will have to add ScriptName='generic_creature' for this mob. This ScriptName however requires SD2 installed. Another, and way better approach to get mobs spelling is to use EventAI: http://udbwiki.webhop.net/index.php/Event_AI (remember to set AIName='EventAI' for the mob) another documentation can be found in the /doc dir of mangos-tree Examples can be found in latest ACID release file, and in the acid forum, found at scriptdev2.com (scroll down)
  3. Are you entirely sure, that this extention is needed - that is that it is impossible to get these quests working with scripts and/ or phase-masks?
  4. Hi guys, unfortunately, I am unable to solve this problem myself, so I hope for your help Mangos Version: ~10050 (was broken quite some time earlier) Custom Patches: none SD2 Version: 1715 Database Name and Version : UDB 391 How it SHOULD work: using a soul charge should consume (at most!) one charge How it DOES work: depending on the colors, see below(1) - some unleash spells consumes too much This is a forward bug-report from SD2-forum, http://www.scriptdev2.com/project.php?issueid=962 started by Forusim, and clearly(2) a mangos bug. Related spells: http://www.wowhead.com/spell=32052 (red aura) used by http://www.wowhead.com/spell=32053 http://www.wowhead.com/spell=32045 (yellow) used by http://www.wowhead.com/spell=32054 http://www.wowhead.com/spell=32051 (green) used by http://www.wowhead.com/spell=32057 (1) What is happening: if archi uses red (32053) this spell consumes _all_ soul charges (also yellow and green) if archi uses yellow (32054) this spell consumes the whole yellow stack (instead of only one charge) if archi uses green (32057) this spell consumes no charge at all What should happen: I think all three spells should have the same behaviour, and this should be: * Consume exactly one charge (of the right color) * or consume no charge at all (then the consuming would have to be scripted) (2) simple script to test, and also proof that this is clearly a mangos-related problem http://paste2.org/p/851381 (just copy&paste over the (test-servers) archimonde file in the SD2 directory
  5. the heroic achievements can be hacked with setting killcredit=normal_entry for heroic entries. mal'Ganis is a bit more complicated, because he is not to be killed, so most likely he will need something in his script like ACTION_T_KILLED_MONSTER
  6. atm there is the interpretation of unit_flags | 32768 means swimming the height: I think you should try to use: if (water_height > model_height) swimming=true; and you asked for different types of liquid, I think there should be nothing special: If a mob can walk over fire, and this mob can swim, he will be able to swim through lava. Perhaps (till talked with a mangos-dev) the simpliest way is to just implement a new function bool CanTraverse(LiquidType type) because I think these questions are not mmaps
  7. perhaps you should rather try to help the maintainers here to review and rewrite the code... Wojta, tassadar, All the others who started to implement this feature and all those who are atm working on it and I didn't mention - they do a great job, keeping this project on track, improving where they see mistakes, and also taking care for those who cannot help themselves But before such a huge project is fit for master, it most likely will need a complete rewrite (I read zergtmn started this) and most likely a few things in addition - but this is serious work, and surely not to be done 'en passent' or quickly. And before this is not done, there is no use to submit this to review. (the goal is to submit good code, and not only working code)
  8. What bug does the patch fix? What features does the patch add? Make it possible to use the casters target for spells with targettype TARGET_SCRIPT(38) which have multiple entries in the DB. (atm the selected target is depending on order of DB entries and range rather than the caster's target) For which repository revision was the patch created? 10064 Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. no (przemratajczak emphasized the problem at http://www.scriptdev2.com/project.php?issueid=992) Who has been writing this patch? Please include either forum user names or email addresses. me This is how it should work: if the caster has a target valid to any of the DB-entries, this target shall be taken, otherwise we take target depending on range diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 6597d88..009b2de 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -4486,6 +4486,7 @@ SpellCastResult Spell::CheckCast(bool strict) Creature* creatureScriptTarget = NULL; GameObject* goScriptTarget = NULL; + bool isCastersTargetTarget = false; for(SpellScriptTarget::const_iterator i_spellST = bounds.first; i_spellST != bounds.second; ++i_spellST) { @@ -4534,12 +4535,12 @@ SpellCastResult Spell::CheckCast(bool strict) { if (i_spellST->second.type == SPELL_TARGET_TYPE_DEAD && pTarget->isDead()) { - if (pTarget->IsWithinDistInMap(m_caster, range)) + if (pTarget->IsWithinDistInMap(m_caster, GetSpellMaxRange(srange))) p_Creature = (Creature*)pTarget; } else if (i_spellST->second.type == SPELL_TARGET_TYPE_CREATURE && pTarget->isAlive()) { - if (pTarget->IsWithinDistInMap(m_caster, range)) + if (pTarget->IsWithinDistInMap(m_caster, GetSpellMaxRange(srange))) p_Creature = (Creature*)pTarget; } } @@ -4556,10 +4557,16 @@ SpellCastResult Spell::CheckCast(bool strict) range = u_check.GetLastRange(); } + else + { // our target was a valid target + isCastersTargetTarget = true; + creatureScriptTarget = p_Creature; + } if (p_Creature) { - creatureScriptTarget = p_Creature; + if (!isCastersTargetTarget) + creatureScriptTarget = p_Creature; goScriptTarget = NULL; }
  9. this is a very nice file-hoster you used (working without clicking etc) - but many users won't download a file, so usally it is best to upload your code to pastebin.com or (better) paste2.org first look: I think there is a Player.GetTeam() function - this should be easier then
  10. # != ++ (message too short)
  11. always recompile SD2 after mangos >>> Scripts Library mangosscript.dll was successfully loaded. MMM MMM MM M MM M M M M MM M M M MMM M M M MM M M MMMM MM M M M MMM MMM [url]http://www.scriptdev2.com[/url] SD2: Using configuration file scriptdev2.conf Connected to MySQL database at 127.0.0.1 MySQL client library: 5.0.56 MySQL server ver: 5.1.32-community AUTOCOMMIT SUCCESSFULLY SET TO 1 SD2: ScriptDev2 database at 127.0.0.1;3306;***;***;scriptdev2act initialized. [47 ms] SQL: SELECT version FROM sd2_db_version LIMIT 1 Loading ScriptDev2 (for MaNGOS 9641+)
  12. Linker fix for vmap_assembler (win32-Debug) change Project->Properties->C++->Code generation->RuntimeLibrary to Multithreaded Debug DLL (/MDd) diff --git a/contrib/vmap_assembler/VC90/vmap_assembler.vcproj b/contrib/vmap_assembler/VC90/vmap_assembler.vcproj index 41cc29d..378d4b9 100644 --- a/contrib/vmap_assembler/VC90/vmap_assembler.vcproj +++ b/contrib/vmap_assembler/VC90/vmap_assembler.vcproj @@ -46,7 +46,7 @@ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" MinimalRebuild="true" BasicRuntimeChecks="3" - RuntimeLibrary="1" + RuntimeLibrary="3" EnableEnhancedInstructionSet="1" UsePrecompiledHeader="0" WarningLevel="3" then it compiles, extracts and assembles (but I don't know enough of C++ to say if this is the right change) PS: Thanks for the bars!
  13. It would most likely have better been suited to General Discussion At topic: If this is so at blizz, is it possible, that this "slightly before they reach a wp" is related to lack, that is, that on the blizz server the mob already is at the waypoint, only you get the information for you only later;
  14. yes - but there are two problems: 1) what will happen if blizz changes the faction-unfriendlyness even more in the client? 2) is this acceptable in terms of hacks or not (the general idea about spoofing the IDs of the other players in a group is I think not to be considered a hack But I too would love such a feature in the main-branch, but well, that's the devs choice!
  15. No problems for me on Win32-Debug for 10048 (nearly clean sources)
  16. IF you know anything about functional programming, then you should know that every new (yeah, they are in) functional language tries to be like apl, but to not look like apl ^^ Most likely some guys here will know about the power of functional programming, but it is just not reasonable to rewrite this project to another language (especially as it is not likely that devs will be good in this language) Also functional written code is not really good to maintain - that is, it is often quite difficult to read and comprehend. And mixing the languages in one project is -- I think -- no good idea. However, as you are willing to actual do some work for mangos with your prefered language, I am very sure you will find usefull things which can be started as contributed things - and then in your language iE as of the new rewrites of maps there was sometimes need for a test-suite By the way: no language is better than another language - there are advantages and disadvantages in every language btw2: C++ has this template-thingy, which makes the sorting of a list so simple: myList.sort(); (but ofc the template in C++ becomes a bit ugly to read if used in more complex ways)
  17. I actually think, that it would be better to also move the BG's code to SD2 (for style reasons)
  18. if you have a problem, don't start with the coding, but start with thinking: Flags mean: if you have a few values, which can be 1 or 0, then each combination of these possibilites (given a defined order for the values) are equivalent to an unique number: example: Values A_4, A_3, A_2, A_1, A_0 (nightelf, drainei, human, dwarf, gnome in example) then the bit pattern 10101 represents for example the number:1*2^4 + 0*2^3+1*2^2+0*2^1+1*2^0 = 21 So you could encode every possible Allowed (1) denied(0) combination for allieance with a number <= 31. Just as a remark on the idea behind flags An hint for the implementation: A number n "has" a flag f if (n & f)
  19. reset spells means all spells - so this is very unwise! you can start to look for outdated spells and collect them, such that other admins may also clean-up their chars (and also add a few spells) And char-stats are since 9830~ auto recalculated, and hence should be correct in any case!
  20. if you use something without source, you are not allowed to ask questions here this only wastes the dev's time If you modified your sources, then at least also provide every possible related change, such that everyone knows that helping you is just kindness, but not really helping the project.
  21. yes, gossip menu options. UDB is waiting for a generic support for trainers (to get it without too much overhead work) see the related thread there, I think there are hints how to set up a workaround
  22. What bug does the patch fix? What features does the patch add? a possibilty to put the right gossip menu text if many conditions match For which repository revision was the patch created? 10043 Is there a thread in the bug report section or at lighthouse? none Who has been writing thisfix? Please include either forum user names or email addresses. Me Patch: http://paste2.org/p/868753 Needed SQL change: ALTER TABLE gossip_menu ADD COLUMN priority TINYINT(0) UNSIGNED NOT NULL DEFAULT 0 AFTER text_id; Remark: It might be an idea to put this priority column also as key - this would give the possibilty to model OR checks for the conditions Example where it is used: (working very lovely except closing of the gossip-dialogue) http://paste2.org/p/868755 Description why it is needed: In this example, we have three text_IDs: text1: used for all players text2: players who could take the quest and don't have the quest-starting item text3: players who have the item (or perhaps always after this quest, don't know for sure) Abstract: text3: condition A text2: condition B && C text1: condition ~A && (~B || ~C) this is not possible to modell with momentarily system. And I think a similar situation might happen for other Gossip-menus as well. Atm the choice which menu text is displayed is random (that is, depending on the text_id) So, I had the idea instead of providing support for very complex condition-checks, to just use simple conditions, and a priority - such that the default text can be used without condition, but with the lowest priority Edit: Reject this now, as of a few conditions that were added since this patch, my original example doesn't hold any more.
  23. Bratek169: .gm off .gm visi on
  24. non-complex can ofc be quite complex - and most likely good enough for any custom boss
×
×
  • 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