Guten Tag
Ich habe vor mir eine Custom Instance zu erstellen…
Nun meine Frage, gibt es hier irgend wo eine C++ Vorlage für ein ein Boss Script?
MFG
Guten Tag
Ich habe vor mir eine Custom Instance zu erstellen…
Nun meine Frage, gibt es hier irgend wo eine C++ Vorlage für ein ein Boss Script?
MFG
example_*.cpp
https://github.com/TrinityCore/TrinityCore/tree/master/src/server/scripts/Examples
http://www.trinitycore.org/f/index.php?/topic/6-trinitycore-developing-standards/
Hätte sonst evt jemand für mich Zeit für ein Privat Gespräch in ICQ oder Skype?
Hab gerade etwas Schwierigkeiten…
http://www.ac-web.org/forums/showthread.php?t=92997
Das ist ein bisschen alt aber wenn du dir aktuelle Boss Scripts ansiehst kannst du die Fehler ganz einfach ändern
Danke dir… Nur naja… Bin etwas schwer von Begriff.
Ambesten wäre schon ein Normaler Boss Script mit Spell Text und fertig, eine kleine Anleitung was wie wo wirkt und das reicht mir dann auch =)
Darum halt fals jmd Zeit hätte für ICQ oder Skypen,…
Max hat mit gerade etwas gehofeln… Jedoch geht hier Spell Cast usw nicht so richtig und den Boss Spricht auch nicht… Why?
[CODE]#include “ScriptPCH.h”
enum eNums
{
SPELL_WEIHE = 71122,
SPELL_LICHTBLITZ = 19750,
SPELL_HDG = 66007,
SPELL_GOTTESSCHILD = 642
};
class boss_juke : public CreatureScript
{
public:
boss_juke() : CreatureScript("boss_juke") { }
struct boss_jukeAI : public ScriptedAI
{
boss_jukeAI(Creature *c) : ScriptedAI(c) {}
uint32 Weihe_Timer;
uint32 Lichtblitz_Timer;
uint32 Hdg_Timer;
uint32 Gottesschild_Timer;
uint32 Weihe_Phase;
uint32 Lichtblitz_Phase;
uint32 Hdg_Phase;
uint32 Gottesschild_Phase;
void Reset()
{
Weihe_Timer = 1000;
Lichtblitz_Timer = 1000;
Hdg_Timer = 1000;
Gottesschild_Timer = 1000;
Weihe_Phase = 1;
Lichtblitz_Phase = 1;
Hdg_Phase = 1;
Gottesschild_Phase = 1;
}
void KilledUnit(Unit * /*victim*/)
{
// Optional falls der Boss etwas schreien soll wenn er jmd. killt
me->MonsterYell("Du nichtsnutz! Hast du wirklich gedacht du hättest eine Chance", LANG_UNIVERSAL, NULL);
}
void JustDied(Unit * /*victim*/)
{
// Optional falls der Boss etwas schreien soll wenn er Stirbt
me->MonsterYell("Nein...Nein!! Wie ist das nur möglich?!", LANG_UNIVERSAL, NULL);
}
void EnterCombat(Unit * /*who*/)
{
// Optional falls der Boss etwas schreien soll wenn er InFight geht
me->MonsterYell("Und ein weiterer Kampf beginnt wo für euch der Letzte sein wird!", LANG_UNIVERSAL, NULL);
}
void UpdateAI(const uint32 uiDiff)
{
if(!me->getVictim())
{
}
if(!UpdateVictim())
return;
{
// Life Berechnung (in dem Fall 90% Life)
if(!HealthAbovePct(90))
{
if(Hdg_Timer <= uiDiff)
{
// Hammer der Gerechtigkeit auf den Main Tank
DoCast(me->getVictim(), SPELL_HDG);
Hdg_Phase = 2;
}
else
Hdg_Timer -= uiDiff;
}
if(!HealthAbovePct(75))
{
if(Lichtblitz_Timer <= uiDiff)
{ // Heilt sich selbst mit Lichtblitz
DoCast(me, SPELL_LICHTBLITZ);
Lichtblitz_Phase = 2;
}
else
Lichtblitz_Timer -= uiDiff;
}
if(!HealthAbovePct(50))
{
if((Lichtblitz_Timer <= uiDiff) && (Lichtblitz_Phase == 2))
{
DoCast(me, SPELL_LICHTBLITZ);
Lichtblitz_Phase = 3;
}
else
Lichtblitz_Timer -= uiDiff;
}
if(!HealthAbovePct(10))
{
if(Gottesschild_Timer <= uiDiff)
{
DoCast(me, SPELL_GOTTESSCHILD);
}
else
{
Gottesschild_Timer -= uiDiff;
}
if((Lichtblitz_Timer <= uiDiff) && (Lichtblitz_Phase == 3))
{
DoCast(me, SPELL_LICHTBLITZ);
Lichtblitz_Phase = 4;
}
else
{
Lichtblitz_Timer -= uiDiff;
}
}
if(!HealthAbovePct(10))
{
if(Gottesschild_Timer <= uiDiff)
{
DoCast(me, SPELL_GOTTESSCHILD);
}
else
{
Gottesschild_Timer -= uiDiff;
}
if((Lichtblitz_Timer <= uiDiff) && (Lichtblitz_Phase == 4))
{
DoCast(me, SPELL_LICHTBLITZ);
Lichtblitz_Phase = 5;
}
else
{
Lichtblitz_Timer -= uiDiff;
}
}
if(!HealthAbovePct(10))
{
if(Gottesschild_Timer <= uiDiff)
{
DoCast(me, SPELL_GOTTESSCHILD);
}
else
{
Gottesschild_Timer -= uiDiff;
}
if((Lichtblitz_Timer <= uiDiff) && (Lichtblitz_Phase == 5))
{
DoCast(me, SPELL_LICHTBLITZ);
Lichtblitz_Phase = 6;
}
else
{
Lichtblitz_Timer -= uiDiff;
}
}
}
// Melee Attack
DoMeleeAttackIfReady();
}
};
CreatureAI *GetAI(Creature *creature) const
{
return new boss_jukeAI(creature);
}
};
void AddSC_boss_juke()
{
new boss_juke();
}[/CODE]
Versuchs mal so. Was ich gemacht habe:
Bei me->MonsterYell muss als letzter Parameter eine GUID von der Kreatur die den Text schreien soll angegeben sein. Wenn du das auf NULL setzt soll guid 0 schreien, gibts logischerweise nicht also schreit keiner.
UpdateAI schaust dir am besten selbst an was ich gemacht habe, zT einfach nur Strukturänderungen ums auf die Trinity standarts anzupassen, aber auch das {} bei UpdateVictim raus genommen weil das return; einfach reicht.
Kleiner Tipp: Statt die Phase auf = 2 zu setzen kannste auch ++Lichtblitz_Phase; nehmen, setzt dann einfach die derzeitige Zahl + 1. Das gleiche geht auch umgekehrt mit --Lichtblitz_Phase;
Edit: typo
Edit²: Die Funktion geht nun so: “UpdateAI(uint32 const diff)”
Edit3: DoCast(me->getVictim(), SPELL); wird nun so benutzt: DoCastVictim(SPELL);
Edit4: typo -.-
Edit5: Timer fix
Na dan… Hab es mal eingebaut jedoch geht es immer noch nicht…
Und die Spells macht er auch nicht mehr nur noch den ab 10%
Nimm mal das aktuelle, hab n paar mal editiert. nimm mal äöü aus den MonsterYells, vllt liegts daran. (Wenns daran liegt machs via DB und Talk(dbentry)/emoticons/default_wink.png
Ansonsten sitz ich grad am Laptop, ohne vc++ isses immer schwierig so scripts gescheit durchzuschauen…
Ahh hab den spell fehler, Timer wird nicht nachgesetzt. In 2 Minuten update ich den post oben, nimm das dann mal.
Edit: Updated…ka obs funktioniert muss jetzt erstmal afk, nacher schau ich nochmal drauf.
Geht immer noch nicht =(
Spells macht er immer noch nicht nur noch ab 10% und da macht er NUR Gottesschild obwohl er noch Lichtbliz chmachen sollte.
/Edit
Wen der Stirbt sagt er was… Kann mir evt jmd sagen was die NPC faction oder flag ist für aggro damit er mich angfreift?
Das meint ich mit Editor scheiße, pass auf ich lass es jetzt und post dir nacher wenn ich an meinen Rechner komm ne richtige Version dann sollts auch gehn.
Faction 16 war glaub feindlich. Not Attackable flag ist 2, falls du das gesetzt hast einfach derzeitige unit_flags-2
Okay danke =)
So
es geht langsam… Nur hab nun nur noch das Problem das er wen er sich bei 75% heil das kein Ende mehr hat da heilt und heilt er sich nur noch Unterbrechnung!
/push
Immer noch Fehlerhaft =(
Sorry habs gestern nicht mehr geschafft (war aufm b-day, ich glaub ich hät mehr Fehler eingebaut als ausgebessert wenn du verstehst was ich meine /emoticons/default_tongue.png )
Post mal das aktuelle oder hast das 1. editiert?
blub???
Geht immer noch nicht =(
/push