Advertisement
Guest User

Untitled

a guest
Mar 8th, 2011
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2. #include "blue.h" // EZT MAJD LÉTRE KELL HOZNOD ADDIG LESZ 1 ERROR A SCRIPTETBEN.
  3.  
  4. enum Spells
  5. {
  6. SPELL_SHADOW_BOLT = 71254, // Itt ugye megadtuk a spell Id-ket. Egyébként ez a rész nem fontos csak azért írjuk ide hogy tudjuk mi-milyen spell amit később használunk.
  7. SPELL_FLAME = 71393,
  8. };
  9.  
  10. enum eYells
  11. {
  12. SAY_AGGRO = -9000002, // RANDOM ID igazábol kurvára mind1 mit írok ide.
  13. };
  14.  
  15. class boss_test : public CreatureScript
  16. {
  17. public:
  18. boss_test() : CreatureScript("boss_test") { }
  19.  
  20. CreatureAI* GetAI(Creature* pCreature) const
  21. {
  22. return new boss_testAI (pCreature); // Ezek a kötelező részek igazábol enélkül nem fog működni a script.
  23. }
  24.  
  25. struct boss_testAI : public BossAI
  26. {
  27. boss_testAI(Creature *c) : BossAI(c, BOSS_TEST) {}
  28.  
  29. //--- Big Comment Here
  30. // Tehát itt megadtuk hogy az NPC mostantól egy scriptelt creature és a pointer mostantól az "me" tehát a gossipban ugye _Creaure-t használtál ezt felváltja a "me".
  31.  
  32. // Timerek jönnek ide
  33. uint32 m_uiFlameTimer;
  34. uint32 m_uiShadowTimer; // igy kell kinézzen: uint32 m_uixyzTimer; ";"-- Fontos!
  35.  
  36. void Reset() // Megadjuk hogy 1-1 timer mennyit fog számítani
  37. {
  38. m_uiFlameTimer = 10000; // 10 sec
  39. m_uiShadowTimer = 20000; //20 sec
  40. }
  41.  
  42. void EnterCombat(Unit* /*who*/) // Amikor belép combatba
  43. {
  44. DoScriptText(SAY_AGGRO, me); // Aggronál ellövi a mondanivalóját. az "me" pedig azt mutatja hogy melyik source(élőlény, npc fogja ellőni) jelen esetben a scriptelt npc vagyis "ME"
  45. }
  46.  
  47. void UpdateAI(const uint32 diff) // Itt megadjuk mi fog történni ha 1-1 timer ideje lejár.
  48. {
  49. if (m_uiFlameTimer <= diff) // ha kisebb mint diff vagyis a megadott érték akkor ...
  50. {
  51. DoCast(me, SPELL_FLAME); // Elcastolja a spellt
  52. } else m_uiFlameTimer -= diff; // ELSE vagyis ha még nem járt le a timer akkor az érték kisebb vagy nagyobb mint a megadott vagyis nem fog megtörténni a spellcast.
  53.  
  54. // Ez ugyanaz lesz mint az előző
  55.  
  56. if (m_uiShadowTimer <= diff)
  57. {
  58. DoCast(me, SPELL_SHADOW_BOLT);
  59. } else m_uiShadowTimer;
  60. }
  61. };
  62. }; // LEZÁRUNK MINDENT
  63.  
  64. // break
  65.  
  66. void AddSC_boss_test()
  67. {
  68. new boss_test();
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement