HelloMyNameIs
04-29-2009, 06:37 PM
Alright so this would be my first lua script so it probably wont be perfect. Feedback would be nice.:D I haven't got a chance to test him so tell me if he has any problems
One problems is I cant figure out how to get his spawns to cast chain heal on him.
This is his and his totem's sql.
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `leader`, `entry`) VALUES ('Healing Totem', '', '', '0', '0', '1', '4588', '0', '0', '0', '0', NULL, '87010');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('83', '83', '168', '50000', '50000', '50000', '1', '0', '1500', '-1', '0', '0', '0', '0', '0', '36000', '5000', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '87010');
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `leader`, `entry`) VALUES ('Vekjik', '', '', '7', '0', '3', '25381', '0', '0', '0', '0', NULL, '87011');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('83', '83', '168', '8500000', '10000000', '21000000', '3', '0', '1600', '0', '15500', '20129', '68', '477', '0', '360000', '10000', '20', '20', '20', '20', '20', '20', '1', '3', '0', '1', '0', '0', '0', '2.5', '8', '14', '87011');
Vekjik's Lua
function Vekjik_OnCombat(pUnit, Event)
pUnit:SendChatMessage(14, 0, "You dare challenge me?")
pUnit:RegisterEvent("Vekjik_ArcLightning", 2000, 0)
pUnit:RegisterEvent("Phase2", 1000, 0)
end
function Phase2(pUnit, Event)
if pUnit:GetHealthPct() < 90 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Vekjik_ArcLightning", 2000, 0)
pUnit:RegisterEvent("Vekjik_EnvelopingWinds", 60000, 0)
pUnit:RegisterEvent("Vekjik_RainofFire", 30000, 0)
pUnit:RegisterEvent("Phase3", 1000, 0)
end
end
function Phase3(pUnit, Event)
if pUnit:GetHealthPct() < 75 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Vekjik_Domination", 120000, 0)
pUnit:RegisterEvent("Vekjik_Thunder", 25000, 0)
pUnit:RegisterEvent("Vekjik_Moonfire", 2000, 0)
pUnit:RegisterEvent("Vekjik_ArcLightning", 2000, 0)
pUnit:SendChatMessage(14, 0, "Your fate is sealed!")
pUnit:RegisterEvent("Phase4", 1000, 0)
end
end
function Phase4(pUnit, Event)
if pUnit:GetHealthPct() < 50 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Vekjik_ArcLightning", 2000, 0)
pUnit:RegisterEvent("Vekjik_EnvelopingWinds", 60000, 0)
pUnit:RegisterEvent("Vekjik_RainofFire", 30000, 0)
pUnit:RegisterEvent("Vekjik_EarthShock", 45000, 0)
pUnit:RegisterEvent("Vekjik_WaterBlast", 90000, 0)
pUnit:SendChatMessage(14, 0, "You will not kill me!")
pUnit:RegisterEvent("Phase5", 1000, 0)
end
end
function Phase5(pUnit, Event)
if pUnit:GetHealthPct() < 21 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Vekjik_Domination", 120000, 0)
pUnit:RegisterEvent("Vekjik_WindFury", 15000, 0)
pUnit:RegisterEvent("Vekjik_EarthShock", 45000, 0)
pUnit:RegisterEvent("Vekjik_RockShield", 2000, 0)
pUnit:RegisterEvent("Vekjik_Thunder", 25000, 0)
pUnit:RegisterEvent("Vekjik_WaterBolt", 30000, 0)
pUnit:RegisterEvent("Vekjik_Totems", 60000, 0)
end
end
RegisterUnitEvent(87011, 1, "Vekjik_OnCombat")
RegisterUnitEvent(87011, 2, "Vekjik_OnLeaveCombat")
RegisterUnitEvent(87011, 3, "Vekjik_OnKilledTarget")
RegisterUnitEvent(87011, 4, "Vekjik_OnDied")
function Vekjik_ArcLightning(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(52921,Unit:GetRandomPla yer(0))
end
function Vekjik_Domination(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(36866,Unit:GetRandomPla yer(0))
end
function Vekjik_EarthShock(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(43305,Unit:GetRandomPla yer(0))
end
function Vekjik_EnvelopingWinds(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(25189,Unit:GetRandomPla yer(4))
end
function Vekjik_Moonfire(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(47072,Unit:GetRandomPla yer(0))
end
function Vekjik_RainofFire(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(34435,Unit:GetRandomPla yer(0))
end
function Vekjik_RockShield(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(50363,Unit:GetRandomPla yer(0))
end
function Vekjik_Thunder(Unit, event, miscunit, misc)
Unit:CastSpell(53630)
end
function Vekjik_WaterBlast(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(59520,Unit:GetRandomPla yer(0))
end
function Vekjik_WaterBolt(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(37138,Unit:GetRandomPla yer(0))
end
function Vekjik_WindFury(Unit, event, miscunit, misc)
Unit:CastSpell(38229)
end
function Vekjik_Totems(pUnit, Event)
x = pUnit:GetX()
y = pUnit:GetY()
z = pUnit:GetZ()
o = pUnit:GetO()
pUnit:SpawnCreature(87010, x+5, y, z, o, 14, 60000)
pUnit:SpawnCreature(87010, x+10, y, z, o, 14, 60000)
pUnit:SpawnCreature(87010, x-5, y, z, o, 14, 60000)
pUnit:SpawnCreature(87010, x-10, y, z, o, 14, 60000)
function Vekjik_OnDied(pUnit, Event)
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Tonight the blood runs from my veins and I join the Gods.")
end
function Vekjik_OnKilledTarget(pUnit, Event)
pUnit:CastSpell(55948)
pUnit:SendChatMessage(14, 0, "Your friend has fallen. His spirit is mine!")
end
His totem's lua (only up in hopes someone can fix it)
function Totems_OnCombat(Unit, Event)
Unit:RegisterEvent("Totems_ChainHeal", 1000, 0)
end
function Totems_ChainHeal(pUnit, Event)
pUnit:FullCastSpellOnTarget(54481, pUnit:GetName(Vekjik))
end
function Totems_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents();
end
function Totems_OnDied(Unit, Event)
Unit:RemoveEvents();
end
RegisterUnitEvent(87010, 1, "Totems_OnCombat")
RegisterUnitEvent(87010, 2, "Totems_OnLeaveCombat")
RegisterUnitEvent(87010, 4, "Totems_OnDied")
Vekjik's Picture (Dont he look pretty)
http://i634.photobucket.com/albums/uu64/Hellomynameislimegreen/WoWScrnShot_042809_172002-1.jpg
One problems is I cant figure out how to get his spawns to cast chain heal on him.
This is his and his totem's sql.
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `leader`, `entry`) VALUES ('Healing Totem', '', '', '0', '0', '1', '4588', '0', '0', '0', '0', NULL, '87010');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('83', '83', '168', '50000', '50000', '50000', '1', '0', '1500', '-1', '0', '0', '0', '0', '0', '36000', '5000', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '87010');
INSERT INTO `creature_names` (`name`, `subname`, `info_str`, `type`, `family`, `rank`, `male_displayid`, `female_displayid`, `male_displayid2`, `female_displayid2`, `civilian`, `leader`, `entry`) VALUES ('Vekjik', '', '', '7', '0', '3', '25381', '0', '0', '0', '0', NULL, '87011');
INSERT INTO `creature_proto` (`minlevel`, `maxlevel`, `faction`, `minhealth`, `maxhealth`, `mana`, `scale`, `npcflags`, `attacktime`, `attacktype`, `mindamage`, `maxdamage`, `rangedattacktime`, `rangedmindamage`, `rangedmaxdamage`, `respawntime`, `armor`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `combat_reach`, `bounding_radius`, `auras`, `boss`, `money`, `invisibility_type`, `death_state`, `walk_speed`, `run_speed`, `fly_speed`, `entry`) VALUES ('83', '83', '168', '8500000', '10000000', '21000000', '3', '0', '1600', '0', '15500', '20129', '68', '477', '0', '360000', '10000', '20', '20', '20', '20', '20', '20', '1', '3', '0', '1', '0', '0', '0', '2.5', '8', '14', '87011');
Vekjik's Lua
function Vekjik_OnCombat(pUnit, Event)
pUnit:SendChatMessage(14, 0, "You dare challenge me?")
pUnit:RegisterEvent("Vekjik_ArcLightning", 2000, 0)
pUnit:RegisterEvent("Phase2", 1000, 0)
end
function Phase2(pUnit, Event)
if pUnit:GetHealthPct() < 90 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Vekjik_ArcLightning", 2000, 0)
pUnit:RegisterEvent("Vekjik_EnvelopingWinds", 60000, 0)
pUnit:RegisterEvent("Vekjik_RainofFire", 30000, 0)
pUnit:RegisterEvent("Phase3", 1000, 0)
end
end
function Phase3(pUnit, Event)
if pUnit:GetHealthPct() < 75 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Vekjik_Domination", 120000, 0)
pUnit:RegisterEvent("Vekjik_Thunder", 25000, 0)
pUnit:RegisterEvent("Vekjik_Moonfire", 2000, 0)
pUnit:RegisterEvent("Vekjik_ArcLightning", 2000, 0)
pUnit:SendChatMessage(14, 0, "Your fate is sealed!")
pUnit:RegisterEvent("Phase4", 1000, 0)
end
end
function Phase4(pUnit, Event)
if pUnit:GetHealthPct() < 50 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Vekjik_ArcLightning", 2000, 0)
pUnit:RegisterEvent("Vekjik_EnvelopingWinds", 60000, 0)
pUnit:RegisterEvent("Vekjik_RainofFire", 30000, 0)
pUnit:RegisterEvent("Vekjik_EarthShock", 45000, 0)
pUnit:RegisterEvent("Vekjik_WaterBlast", 90000, 0)
pUnit:SendChatMessage(14, 0, "You will not kill me!")
pUnit:RegisterEvent("Phase5", 1000, 0)
end
end
function Phase5(pUnit, Event)
if pUnit:GetHealthPct() < 21 then
pUnit:RemoveEvents();
pUnit:RegisterEvent("Vekjik_Domination", 120000, 0)
pUnit:RegisterEvent("Vekjik_WindFury", 15000, 0)
pUnit:RegisterEvent("Vekjik_EarthShock", 45000, 0)
pUnit:RegisterEvent("Vekjik_RockShield", 2000, 0)
pUnit:RegisterEvent("Vekjik_Thunder", 25000, 0)
pUnit:RegisterEvent("Vekjik_WaterBolt", 30000, 0)
pUnit:RegisterEvent("Vekjik_Totems", 60000, 0)
end
end
RegisterUnitEvent(87011, 1, "Vekjik_OnCombat")
RegisterUnitEvent(87011, 2, "Vekjik_OnLeaveCombat")
RegisterUnitEvent(87011, 3, "Vekjik_OnKilledTarget")
RegisterUnitEvent(87011, 4, "Vekjik_OnDied")
function Vekjik_ArcLightning(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(52921,Unit:GetRandomPla yer(0))
end
function Vekjik_Domination(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(36866,Unit:GetRandomPla yer(0))
end
function Vekjik_EarthShock(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(43305,Unit:GetRandomPla yer(0))
end
function Vekjik_EnvelopingWinds(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(25189,Unit:GetRandomPla yer(4))
end
function Vekjik_Moonfire(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(47072,Unit:GetRandomPla yer(0))
end
function Vekjik_RainofFire(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(34435,Unit:GetRandomPla yer(0))
end
function Vekjik_RockShield(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(50363,Unit:GetRandomPla yer(0))
end
function Vekjik_Thunder(Unit, event, miscunit, misc)
Unit:CastSpell(53630)
end
function Vekjik_WaterBlast(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(59520,Unit:GetRandomPla yer(0))
end
function Vekjik_WaterBolt(Unit, event, miscunit, misc)
Unit:FullCastSpellOnTarget(37138,Unit:GetRandomPla yer(0))
end
function Vekjik_WindFury(Unit, event, miscunit, misc)
Unit:CastSpell(38229)
end
function Vekjik_Totems(pUnit, Event)
x = pUnit:GetX()
y = pUnit:GetY()
z = pUnit:GetZ()
o = pUnit:GetO()
pUnit:SpawnCreature(87010, x+5, y, z, o, 14, 60000)
pUnit:SpawnCreature(87010, x+10, y, z, o, 14, 60000)
pUnit:SpawnCreature(87010, x-5, y, z, o, 14, 60000)
pUnit:SpawnCreature(87010, x-10, y, z, o, 14, 60000)
function Vekjik_OnDied(pUnit, Event)
pUnit:RemoveEvents();
pUnit:SendChatMessage(14, 0, "Tonight the blood runs from my veins and I join the Gods.")
end
function Vekjik_OnKilledTarget(pUnit, Event)
pUnit:CastSpell(55948)
pUnit:SendChatMessage(14, 0, "Your friend has fallen. His spirit is mine!")
end
His totem's lua (only up in hopes someone can fix it)
function Totems_OnCombat(Unit, Event)
Unit:RegisterEvent("Totems_ChainHeal", 1000, 0)
end
function Totems_ChainHeal(pUnit, Event)
pUnit:FullCastSpellOnTarget(54481, pUnit:GetName(Vekjik))
end
function Totems_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents();
end
function Totems_OnDied(Unit, Event)
Unit:RemoveEvents();
end
RegisterUnitEvent(87010, 1, "Totems_OnCombat")
RegisterUnitEvent(87010, 2, "Totems_OnLeaveCombat")
RegisterUnitEvent(87010, 4, "Totems_OnDied")
Vekjik's Picture (Dont he look pretty)
http://i634.photobucket.com/albums/uu64/Hellomynameislimegreen/WoWScrnShot_042809_172002-1.jpg