MMOwned - World of Warcraft Exploits, Hacks, Bots and Guides

Homepage Register FAQ Members Mark Forums Read Advertise Marketplace FPSowned


Go Back   MMOwned - World of Warcraft Exploits, Hacks, Bots and Guides > WoW Emulator Server > Emulator Server Discussion
Reload this Page Random C++ boss[Dark Knight]
Emulator Server Discussion World of Warcraft Emulator Server general chat .
[NO Questions here]

Reply
 
LinkBack Thread Tools
Random C++ boss[Dark Knight]
(#1)
Old
mager1794's Avatar
mager1794 is Offline
Contributor
Rep Power: 1
Reputation: 125
mager1794 will become famous soon enoughmager1794 will become famous soon enough
 
Posts: 313
Join Date: Feb 2008
Random C++ boss[Dark Knight] - 07-06-2008

this is a boss script i made im studyin C++ and this is my work [some of what i dont understand i had to take from moon++ so creds there XD]

Code:
#include "StdAfx.h"
#include "Setup.h"
/************************************************************************/
/* DarkKnight.cpp Script                                       */
/************************************************************************/
#define NPCID [your NPC ID]
 
#define DARK_DECAY 33129
#define SHADOW_BLAST 41078
 
class DARKKNIGHTAI : public CreatureAIScript
{
public:
    ADD_CREATURE_FACTORY_FUNCTION(DARKKNIGHTAI);
   SP_AI_Spell spells[2];
   bool m_spellcheck[2];
     CHRONOLORDDEJAAI(Creature* pCreature) : CreatureAIScript(pCreature)
    {
      nrspells = 2;
      for(int i=0;i<nrspells;i++)
      {
         m_spellcheck[i] = false;
      }
        spells[0].info = dbcSpell.LookupEntry(DARK_DECAY);
      spells[0].targettype = TARGET_ATTACKING;
      spells[0].instant = true;
      spells[0].cooldown = 10;
      spells[0].perctrigger = 0.0f;
      spells[0].attackstoptimer = 1000;
 
      spells[1].info = dbcSpell.LookupEntry(SHADOW_BLAST);
      spells[1].targettype = TARGET_ATTACKING;
      spells[1].instant = false;
      spells[1].cooldown = 14;
      spells[1].perctrigger = 0.0f;
      spells[1].attackstoptimer = 1000;
    }
    void OnCombatStart(Unit* mTarget)
    {
      CastTime();
      _unit->SendChatMessage(CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "Prepare to taste the wrath of the night");
      RegisterAIUpdateEvent(_unit->GetUInt32Value(UNIT_FIELD_BASEATTACKTIME));
    }
  void CastTime()
   {
      for(int i=0;i<nrspells;i++)
         spells[i].casttime = spells[i].cooldown;
   }
   void OnTargetDied(Unit* mTarget)
    {
      if(_unit->GetHealthPct() > 0)
      {
         uint32 sound = 0;
         char *text;
         switch(RandomUInt(1))
         {
         case 0:
            text = "AHAHAHAHA NONE CAN AMOUNT TO MY POWER!!!!!";
            break;
         case 1:
            text = "Fool you honestly thought you could defeat me ahahaha!";
            break;
         }
         _unit->SendChatMessage(CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, text);
      }
    }
    void OnCombatStop(Unit *mTarget)
    {
      CastTime();
        _unit->GetAIInterface()->setCurrentAgent(AGENT_NULL);
        _unit->GetAIInterface()->SetAIState(STATE_IDLE);
        RemoveAIUpdateEvent();
    }
   void OnDied(Unit * mKiller)
    {
      CastTime();
      _unit->SendChatMessage(CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "H..ho..how did you...");
       RemoveAIUpdateEvent();
    }
    void AIUpdate()
   {
      float val = (float)RandomFloat(100.0f);
      SpellCast(val);
    }
   void SpellCast(float val)
   {
        if(_unit->GetCurrentSpell() == NULL && _unit->GetAIInterface()->GetNextTarget())
        {
         float comulativeperc = 0;
          Unit *target = NULL;
         for(int i=0;i<nrspells;i++)
         {
            spells[i].casttime--;
 
            if (m_spellcheck[i])
            {               
               spells[i].casttime = spells[i].cooldown;
               target = _unit->GetAIInterface()->GetNextTarget();
               switch(spells[i].targettype)
               {
                  case TARGET_SELF:
                  case TARGET_VARIOUS:
                     _unit->CastSpell(_unit, spells[i].info, spells[i].instant); break;
                  case TARGET_ATTACKING:
                     _unit->CastSpell(target, spells[i].info, spells[i].instant); break;
                  case TARGET_DESTINATION:
                     _unit->CastSpellAoF(target->GetPositionX(),target->GetPositionY(),target->GetPositionZ(), spells[i].info, spells[i].instant); break;
               }
 
               m_spellcheck[i] = false;
               return;
            }
            if ((val > comulativeperc && val <= (comulativeperc + spells[i].perctrigger)) || !spells[i].casttime)
            {
               _unit->setAttackTimer(spells[i].attackstoptimer, false);
               m_spellcheck[i] = true;
            }
            comulativeperc += spells[i].perctrigger;
         }
      }
   }
protected:
   int nrspells;
};
void SetupMagerScript(ScriptMgr * mgr)
{
   mgr->register_creature_script(NPCID, &DARKKNIGHTAI::Create);
}
its not tested sorry but i dont have visual C++ on this comp so anyone mind runnin a test of it for me and telling me if it works



Last edited by mager1794; 07-06-2008 at 05:00 PM.
Reply With Quote

Donate to remove ads.
(#2)
Old
Arthas117's Avatar
Arthas117 is Offline
Contributor
Rep Power: 2
Reputation: 133
Arthas117 will become famous soon enoughArthas117 will become famous soon enough
 
Posts: 415
Join Date: Mar 2007
07-06-2008

nvm, was just trying to make people happy lol

Quote:
cody says:
Dude you even realise you will look like a moron when people see that?
Quote:
arthas117(knarkfarfar) says:
Gosh thank you, another guy to remove from my msn



World best PvP Paladin=Me? GG ;D


Last edited by Arthas117; 07-06-2008 at 04:48 PM.
Reply With Quote
(#3)
Old
mager1794's Avatar
mager1794 is Offline
Contributor
Rep Power: 1
Reputation: 125
mager1794 will become famous soon enoughmager1794 will become famous soon enough
 
Posts: 313
Join Date: Feb 2008
07-06-2008

dude....im not even close lol im just learning it


Reply With Quote
(#4)
Old
2dgreengiant's Avatar
2dgreengiant is Offline
Is very sad atm.

Rep Power: 9
Reputation: 927
2dgreengiant is a splendid one to behold2dgreengiant is a splendid one to behold2dgreengiant is a splendid one to behold2dgreengiant is a splendid one to behold2dgreengiant is a splendid one to behold2dgreengiant is a splendid one to behold2dgreengiant is a splendid one to behold2dgreengiant is a splendid one to behold
 
Posts: 3,701
Join Date: Feb 2007
Location: MMowned
07-06-2008

Very nice indeed +rep






[Only registered and activated users can see links. ]
Reply With Quote
(#5)
Old
mager1794's Avatar
mager1794 is Offline
Contributor
Rep Power: 1
Reputation: 125
mager1794 will become famous soon enoughmager1794 will become famous soon enough
 
Posts: 313
Join Date: Feb 2008
07-06-2008

im sorry arthas



Last edited by mager1794; 07-06-2008 at 05:10 PM.
Reply With Quote
(#6)
Old
Gastricpenguin's Avatar
Gastricpenguin is Offline
Why so serious...?
Legendary User

Rep Power: 6
Reputation: 716
Gastricpenguin is a splendid one to beholdGastricpenguin is a splendid one to beholdGastricpenguin is a splendid one to beholdGastricpenguin is a splendid one to beholdGastricpenguin is a splendid one to beholdGastricpenguin is a splendid one to beholdGastricpenguin is a splendid one to behold
 
Posts: 1,575
Join Date: Feb 2007
Location: 4Chan
07-06-2008

[/code]#define NPCID [your NPC ID][/code]

I would define that first if i were you.


And the emulators shall tremble.
[Only registered and activated users can see links. ]
You are responsible for any broken rule, regardless if you "didn't know" or not.
Reply With Quote
(#7)
Old
mager1794's Avatar
mager1794 is Offline
Contributor
Rep Power: 1
Reputation: 125
mager1794 will become famous soon enoughmager1794 will become famous soon enough
 
Posts: 313
Join Date: Feb 2008
07-06-2008

its asking you to define it i didn't make the npc so i let oyu choose the NPC ID
look at it
Code:
 
#define NPCID [your NPC ID]
then when registering it

Code:
mgr->register_creature_script(NPCID, &DARKKNIGHTAI::Create);
it says NPCID so that way you only have to edit the top little part instead of finding the part at the bottom
i planned it out Gastric XD


Reply With Quote
(#8)
Old
doublehex's Avatar
doublehex is Offline
Knight-Lieutenant
Rep Power: 2
Reputation: 31
doublehex is on a distinguished road
 
Posts: 341
Join Date: Mar 2007
07-06-2008

its a good start. +rep


Reply With Quote
(#9)
Old
jay08's Avatar
jay08 is Offline
Site Donator
Rep Power: 1
Reputation: 4
jay08 is an unknown quantity at this point
 
Posts: 40
Join Date: Jun 2008
07-06-2008

nice Arthas


(\_/) Give to people who have been helpfull!
(O.o) This is Bunny. Copy Bunny into your signature.
(> <) to help him on his way to world domination.
Reply With Quote
(#10)
Old
BrantX's Avatar
BrantX is Offline
Contributor
Rep Power: 3
Reputation: 167
BrantX has a spectacular aura aboutBrantX has a spectacular aura about
 
Posts: 783
Join Date: Jul 2007
07-06-2008

Hmm seems i should start on C++ T_T. Everyone noz lua!


Leader of Blua. Scripter of Blua. BrantX... The one and only.

Reply With Quote
(#11)
Old
mager1794's Avatar
mager1794 is Offline
Contributor
Rep Power: 1
Reputation: 125
mager1794 will become famous soon enoughmager1794 will become famous soon enough
 
Posts: 313
Join Date: Feb 2008
07-07-2008

i advise you learn it brant its twice as fun as LUA and like 100x as powerful


Reply With Quote
(#12)
Old
Kiyoshi's Avatar
Kiyoshi is Offline
Knight
Rep Power: 1
Reputation: 28
Kiyoshi is on a distinguished road
 
Posts: 191
Join Date: Jun 2008
Location: Black Temple
07-07-2008

Yeah I got a C++ book but mager here says that that isn't the way to start =/ Now I'm confused...
Reply With Quote
(#13)
Old
doublehex's Avatar
doublehex is Offline
Knight-Lieutenant
Rep Power: 2
Reputation: 31
doublehex is on a distinguished road
 
Posts: 341
Join Date: Mar 2007
07-07-2008

lol cloud, you gotta learn the basics first, like with everything else, your not gonna join in some soccer team and play a game with out practicing and learning the basics.


Reply With Quote
(#14)
Old
Kiyoshi's Avatar
Kiyoshi is Offline
Knight
Rep Power: 1
Reputation: 28
Kiyoshi is on a distinguished road
 
Posts: 191
Join Date: Jun 2008
Location: Black Temple
07-07-2008

So I should read some books on C++ first then learn the WoW scripting branch of it right?
Reply With Quote
(#15)
Old
mager1794's Avatar
mager1794 is Offline
Contributor
Rep Power: 1
Reputation: 125
mager1794 will become famous soon enoughmager1794 will become famous soon enough
 
Posts: 313
Join Date: Feb 2008
07-07-2008

thanks for all of zee comments guys XD


Reply With Quote
Reply

Donate to remove ads.

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On




Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
vBulletin Skin developed by: vBStyles.com


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327