[SQL] Dungeon Helper

edit:

Remade it for dungeon only and renamed it Dungeon Helper because as stated below in the posts, it as nothing to do with player bot at all.

I’ts an NPCbot that will help you out to do dungeon on single player server.

It’s not complete and need alot of work, but it’s just to give an idea on what it should look like.

  • Only one dungeon is made so far but the npc isnt set right now with the good amount of hp/mana/armor or whatever. Just need SAI working properly first.

  • Working on (Utgarde keep - normal) Level 70

Not able just yet to get to the first boss since npc arent all scripted yet.

  • I tested with a level 70 mage with no gear at all and could get pass the big room with big dragon but the fight is taking alot of time.

This is why i made a buffer so he can boost your dps in fight, but he isnt scripted at all yet. He will just follow and melee attack for now.

thats the sql for anyone intersted:

[SPOILER]-- CLEANER-REVERTER (To delete data of this sql from the database.)
SET @MAIN_ENTRY := 92000 ; – (MAIN ENTRY REF)
SET @SUMMONER := @MAIN_ENTRY ; – (NPC Summoner) Dungeon (Utgarde Keep) Level(70)
SET @WARRIOR_00A := @MAIN_ENTRY+1 ; – (WARRIOR AI) Dungeon (Utgarde Keep) Level(70) A
SET @WARRIOR_00H := @MAIN_ENTRY+2 ; – (WARRIOR AI) Dungeon (Utgarde Keep) Level(70) H
SET @MAGE_00A := @MAIN_ENTRY+3 ; – (Mage AI) Dungeon (Utgarde Keep) Level(70) A
SET @MAGE_00H := @MAIN_ENTRY+4 ; – (Mage AI) Dungeon (Utgarde Keep) Level(70) H
SET @PRIEST_00A := @MAIN_ENTRY+5 ; – (Priest AI) Dungeon (Utgarde Keep) Level(70) A
SET @PRIEST_00H := @MAIN_ENTRY+6 ; – (Priest AI) Dungeon (Utgarde Keep) Level(70) H
SET @BUFFER_00A := @MAIN_ENTRY+7 ; – (Buffer AI) Dungeon (Utgarde Keep) Level(70) A
SET @BUFFER_00H := @MAIN_ENTRY+8 ; – (Buffer AI) Dungeon (Utgarde Keep) Level(70) H
SET @GUID := @MAIN_ENTRY10 ; – (GUID)
SET @GOSSIP = 33000 ;
SET @TEXT = 33000 ;
DELETE FROM creature_template WHERE entry IN (@SUMMONER,@WARRIOR_00A,@WARRIOR_00H,@MAGE_00A,@MAGE_00H,@PRIEST_00A,@PRIEST_00H,@BUFFER_00A,@BUFFER_00H);
DELETE FROM creature WHERE guid=@GUID;
DELETE FROM creature_equip_template WHERE entry IN (3333,3334,3335,3336,3337);
DELETE FROM npc_text WHERE ID=@TEXT;
DELETE FROM gossip_menu WHERE entry=@GOSSIP;
DELETE FROM gossip_menu_option WHERE menu_id=@GOSSIP;
DELETE FROM conditions WHERE SourceTypeOrReferenceId=15 AND SourceGroup=@GOSSIP;
DELETE FROM smart_scripts WHERE entryorguid IN (@SUMMONER,@WARRIOR_00A,@WARRIOR_00H,@MAGE_00A,@MAGE_00H,@PRIEST_00A,@PRIEST_00H,@BUFFER_00A,@BUFFER_00H);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@SUMMONER
100,@SUMMONER100+1);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@WARRIOR_00A
100,@WARRIOR_00H100,@WARRIOR_00A100+1,@WARRIOR_00H100+1,@WARRIOR_00A100+2,@WARRIOR_00H100+2,@WARRIOR_00A100+3,@WARRIOR_00H100+3,@WARRIOR_00A100+4,@WARRIOR_00H100+4,@WARRIOR_00A100+5,@WARRIOR_00H100+5,@WARRIOR_00A100+10,@WARRIOR_00H100+10);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@MAGE_00A
100,@MAGE_00H100,@MAGE_00A100+1,@MAGE_00H100+1,@MAGE_00A100+10,@MAGE_00H100+10);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@PRIEST_00A
100+10,@PRIEST_00H100+10);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@BUFFER_00A
100+10,@BUFFER_00H*100+10);
*/

– Need menu for all npc level and all dungeon from one npc
– #===============================================================================================#
– # -= NPC Settings =- #
– #===============================================================================================#
SET @MAIN_ENTRY := 92000 ; – (MAIN ENTRY REF)
SET @SUMMONER := @MAIN_ENTRY ; – (NPC Summoner) Dungeon (Utgarde Keep) Level(70)
SET @WARRIOR_00A := @MAIN_ENTRY+1 ; – (WARRIOR AI) Dungeon (Utgarde Keep) Level(70) A
SET @WARRIOR_00H := @MAIN_ENTRY+2 ; – (WARRIOR AI) Dungeon (Utgarde Keep) Level(70) H
SET @MAGE_00A := @MAIN_ENTRY+3 ; – (Mage AI) Dungeon (Utgarde Keep) Level(70) A
SET @MAGE_00H := @MAIN_ENTRY+4 ; – (Mage AI) Dungeon (Utgarde Keep) Level(70) H
SET @PRIEST_00A := @MAIN_ENTRY+5 ; – (Priest AI) Dungeon (Utgarde Keep) Level(70) A
SET @PRIEST_00H := @MAIN_ENTRY+6 ; – (Priest AI) Dungeon (Utgarde Keep) Level(70) H
SET @BUFFER_00A := @MAIN_ENTRY+7 ; – (Buffer AI) Dungeon (Utgarde Keep) Level(70) A
SET @BUFFER_00H := @MAIN_ENTRY+8 ; – (Buffer AI) Dungeon (Utgarde Keep) Level(70) H

SET @GUID := @MAIN_ENTRY*10 ; – (GUID)
– #===============================================================================================#
– # -= Gossip Settings =- #
– #===============================================================================================#
SET @GOSSIP = 33000 ;
SET @TEXT = 33000 ;
– #===============================================================================================#
– # -= Template & Spawn =- #
– #===============================================================================================#
– Template,GO&Spawn DELETE first
DELETE FROM creature_template WHERE entry IN (@SUMMONER,@WARRIOR_00A,@WARRIOR_00H,@MAGE_00A,@MAGE_00H,@PRIEST_00A,@PRIEST_00H,@BUFFER_00A,@BUFFER_00H);
DELETE FROM creature WHERE guid=@GUID;
DELETE FROM creature_equip_template WHERE entry IN (3333,3334,3335,3336,3337);
– -------------------------------------------- Template -------------------------------------------
– NPC Template
INSERT INTO creature_template (entry,difficulty_entry_1,difficulty_entry_2,difficulty_entry_3,KillCredit1,KillCredit2,modelid1,modelid2,modelid3,modelid4,name,subname,IconName,gossip_menu_id,minlevel,maxlevel,exp,faction_A,faction_H,npcflag,speed_walk,speed_run,scale,rank,mindmg,maxdmg,dmgschool,attackpower,dmg_multiplier,baseattacktime,rangeattacktime,unit_class,unit_flags,dynamicflags,family,trainer_type,trainer_spell,trainer_class,trainer_race,minrangedmg,maxrangedmg,rangedattackpower,type,type_flags,lootid,pickpocketloot,skinloot,resistance1,resistance2,resistance3,resistance4,resistance5,resistance6,spell1,spell2,spell3,spell4,spell5,spell6,spell7,spell8,PetSpellDataId,VehicleId,mingold,maxgold,AIName,MovementType,InhabitType,Health_mod,Mana_mod,Armor_mod,RacialLeader,questItem1,questItem2,questItem3,questItem4,questItem5,questItem6,movementId,RegenHealth,equipment_id,mechanic_immune_mask,flags_extra,ScriptName,WDBVerified) VALUES
(@SUMMONER,0,0,0,0,0,25900,0,0,0,‘Rahzakiel’,‘Summoner’,‘’,@GOSSIP,80,80,0,35,35,1,1.3,1.8,2.5,0,1755,1755,0,1504,1,1500,0,2,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,‘’,0,3,15,15,400,0,0,0,0,0,0,0,0,1,0,0,0,‘’,0),
(@WARRIOR_00A,0,0,0,0,0,22929,0,0,0, ‘Warrior’, ‘Test’, ‘’,0,70,70,0,1,1,0,1.5,1.6,1,0,275,325,0,50,1,1600,1700,2,0,0,0,0,0,0,0,200,245,350,7,4096,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0, ‘’,2,3,6,0,800,0,0,0,0,0,0,0,0,1,3333,2147483647,0, ‘’,0),
(@WARRIOR_00H,0,0,0,0,0,0,0,22929,0, ‘Warrior’, ‘Test’, ‘’,0,70,70,0,2,2,0,1.5,1.6,1,0,275,325,0,50,1,1600,1700,2,0,0,0,0,0,0,0,200,245,350,7,4096,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0, ‘’,2,3,6,0,800,0,0,0,0,0,0,0,0,1,3333,2147483647,0, ‘’,0),
(@MAGE_00A,0,0,0,0,0,28757,0,0,0, ‘Mage’, ‘Test’, ‘’,0,70,70,0,1,1,0,1.5,1.6,1,0,300,350,0,100,1,2700,1700,2,0,0,0,0,0,0,0,200,245,350,7,4096,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0, ‘’,2,3,4,6,200,0,0,0,0,0,0,0,0,1,3335,2147483647,0, ‘’,0),
(@MAGE_00H,0,0,0,0,0,0,0,28757,0, ‘Mage’, ‘Test’, ‘’,0,70,70,0,2,2,0,1.5,1.6,1,0,300,350,0,100,1,2700,1700,2,0,0,0,0,0,0,0,200,245,350,7,4096,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0, ‘’,2,3,4,6,200,0,0,0,0,0,0,0,0,1,3335,2147483647,0, ‘’,0),
(@PRIEST_00A,0,0,0,0,0,22951,0,0,0, ‘Healer’, ‘Test’, ‘’,0,70,70,0,1,1,0,1.5,1.6,1,0,300,350,0,100,1,2700,1700,2,0,0,0,0,0,0,0,200,245,350,7,4096,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0, ‘’,2,3,4,5,1000,0,0,0,0,0,0,0,0,1,3336,2147483647,0, ‘’,0),
(@PRIEST_00H,0,0,0,0,0,0,0,22951,0, ‘Healer’, ‘Test’, ‘’,0,70,70,0,2,2,0,1.5,1.6,1,0,300,350,0,100,1,2700,1700,2,0,0,0,0,0,0,0,200,245,350,7,4096,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0, ‘’,2,3,4,5,1000,0,0,0,0,0,0,0,0,1,3336,2147483647,0, ‘’,0),
(@BUFFER_00A,0,0,0,0,0,28757,0,0,0, ‘Enchanter’, ‘Test’, ‘’,0,70,70,0,1,1,0,1.5,1.6,1,0,300,350,0,100,1,2700,1700,2,0,0,0,0,0,0,0,200,245,350,7,4096,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0, ‘’,2,3,4,5,1000,0,0,0,0,0,0,0,0,1,3337,2147483647,0, ‘’,0),
(@BUFFER_00H,0,0,0,0,0,0,0,28757,0, ‘Enchanter’, ‘Test’, ‘’,0,70,70,0,2,2,0,1.5,1.6,1,0,300,350,0,100,1,2700,1700,2,0,0,0,0,0,0,0,200,245,350,7,4096,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0, ‘’,2,3,4,5,1000,0,0,0,0,0,0,0,0,1,3337,2147483647,0, ‘’,0);
– ---------------------------------------------- Spawn --------------------------------------------
– NPC Spawn
INSERT INTO creature (guid,id,map,spawnMask,phaseMask,modelid,equipment_id,position_x,position_y,position_z,orientation,spawntimesecs,spawndist,currentwaypoint,curhealth,curmana,MovementType) VALUES
(@GUID,@SUMMONER,574,1,1,25900,0,172.057999,-113.158058,12.473219,1.866638,100,0,1,1,0,0); – (Utgarde Keep) Level(70)
– ---------------------------------------- Creature Equipment -------------------------------------
INSERT INTO creature_equip_template (entry,itemEntry1,itemEntry2,itemEntry3) VALUES
(3333,32837,32375,0), – 1H Weapon + Shield (@WARRIOR_00)
(3334,34247,0,0), – 2H Weapon (@WARRIOR_00)
(3335,47968,0,0), – 2H Staff (@MAGE_00)
(3336,47968,0,0), – 2H Staff (@PRIEST_00)
(3337,47968,0,0); – 2H Staff (@BUFFER_00)
– #===============================================================================================#
– # -= Gossip & Text =- #
– #===============================================================================================#
– DELETE
DELETE FROM npc_text WHERE ID=@TEXT;
DELETE FROM gossip_menu WHERE entry=@GOSSIP;
DELETE FROM gossip_menu_option WHERE menu_id=@GOSSIP;
DELETE FROM conditions WHERE SourceTypeOrReferenceId=15 AND SourceGroup=@GOSSIP;
– ----------------------------------------------- Text --------------------------------------------
– NPC_TEXT Menu
INSERT INTO npc_text (ID,text0_0) VALUES
(@TEXT, ‘I was waiting for you…’);
– -------------------------------------------- Gossip Menu ----------------------------------------
– Gossip_Menu
INSERT INTO gossip_menu (entry,text_id) VALUES
(@GOSSIP,@TEXT);
– ---------------------------------------- Gossip Menu Option -------------------------------------
– Gossip_Menu option
INSERT INTO gossip_menu_option (menu_id,id,option_icon,option_text,option_id,npc_option_npcflag,action_menu_id,action_poi_id,box_coded,box_money,box_text) VALUES
(@GOSSIP,0,0, ‘Summoning test A’,1,1,0,0,0,0, ‘’),
(@GOSSIP,1,0, ‘Summoning test H’,1,1,0,0,0,0, ‘’);
– -------------------------------------------- Conditions -----------------------------------------
INSERT INTO conditions (SourceTypeOrReferenceId, SourceGroup, SourceEntry, ElseGroup, ConditionTypeOrReference, ConditionValue1, ConditionValue2, ConditionValue3, ErrorTextId, ScriptName, Comment) VALUES
– Main Menu:
(15,@GOSSIP,0,0,6,469,0,0,0, ‘’, ‘Ally: Summon A’),
(15,@GOSSIP,1,0,6,67,0,0,0, ‘’, ‘Horde: Summon H’);

– #===============================================================================================#
– # -= SAI =- #
– #===============================================================================================#
– DELETE
DELETE FROM smart_scripts WHERE entryorguid IN (@SUMMONER,@WARRIOR_00A,@WARRIOR_00H,@MAGE_00A,@MAGE_00H,@PRIEST_00A,@PRIEST_00H,@BUFFER_00A,@BUFFER_00H);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@SUMMONER100,@SUMMONER100+1);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@WARRIOR_00A100,@WARRIOR_00H100,@WARRIOR_00A100+1,@WARRIOR_00H100+1,@WARRIOR_00A100+2,@WARRIOR_00H100+2,@WARRIOR_00A100+3,@WARRIOR_00H100+3,@WARRIOR_00A100+4,@WARRIOR_00H100+4,@WARRIOR_00A100+5,@WARRIOR_00H100+5,@WARRIOR_00A100+10,@WARRIOR_00H100+10);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@MAGE_00A100,@MAGE_00H100,@MAGE_00A100+1,@MAGE_00H100+1,@MAGE_00A100+10,@MAGE_00H100+10);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@PRIEST_00A100+10,@PRIEST_00H100+10);
DELETE FROM smart_scripts WHERE source_type=9 AND entryorguid IN (@BUFFER_00A100+10,@BUFFER_00H100+10);
UPDATE creature_template SET AIName= ‘SmartAI’ WHERE entry IN (@SUMMONER,@WARRIOR_00A,@WARRIOR_00H,@MAGE_00A,@MAGE_00H,@PRIEST_00A,@PRIEST_00H,@BUFFER_00A,@BUFFER_00H);
– SAI
INSERT INTO smart_scripts (entryorguid,source_type,id,link,event_type,event_phase_mask,event_chance,event_flags,event_param1,event_param2,event_param3,event_param4,action_type,action_param1,action_param2,action_param3,action_param4,action_param5,action_param6,target_type,target_param1,target_param2,target_param3,target_x,target_y,target_z,target_o,comment) VALUES

#---------------------------------------------- SUMMONER ---------------------------------------#
– Phase 0 (Starter SAI)
(@SUMMONER,0,0,1,62,0,100,0,@GOSSIP,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0, ‘SUMMONER - On gossip option select - Close gossip’),
(@SUMMONER,0,1,2,61,0,100,0,0,0,0,0,81,0,10000,0,0,0,0,1,0,0,0,0,0,0,0, ‘SUMMONER - On gossip option select - Set Gossip OFF’),
(@SUMMONER,0,2,0,61,0,100,0,@GOSSIP,0,0,0,80,@SUMMONER100,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘SUMMONER - On gossip option select - Run Script 0’),
(@SUMMONER,0,3,4,62,0,100,0,@GOSSIP,1,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0, ‘SUMMONER - On gossip option select - Close gossip’),
(@SUMMONER,0,4,5,61,0,100,0,0,0,0,0,81,0,10000,0,0,0,0,1,0,0,0,0,0,0,0, ‘SUMMONER - On gossip option select - Set Gossip OFF’),
(@SUMMONER,0,5,0,61,0,100,0,@GOSSIP,1,0,0,80,@SUMMONER
100+1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘SUMMONER - On gossip option select - Run Script 1’),
(@SUMMONER,0,6,0,1,0,100,0,120000,120000,120000,120000,81,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘SUMMONER - OOC - Set Gossip ON’), – (Need better) Will only be able to summon the party once every 120secs. Will need some kind of restriction if summoned the party once because right now if you wait 120secs you can get another party to help every 120sec and make alot of npc.
– Script 0 (Alliance)
(@SUMMONER100,9,0,0,0,0,100,0,250,250,0,0,11,34602,2,0,0,0,0,0,1,0,0,0,0,0,0, ‘SUMMONER - Cast Visual on Self’),
– (Summoning Tank)
(@SUMMONER
100,9,1,0,0,0,100,0,100,100,0,0,12,@WARRIOR_00A,7,0,0,0,0,8,0,0,0,168.81,-104.2,12.5,5.0, ‘SUMMONER - Summon Tank’),
(@SUMMONER100,9,2,0,0,0,100,0,0,0,0,0,11,52052,2,0,0,0,0,11,@WARRIOR_00A,30,0,0.0,0.0,0.0,0.0, ‘SUMMONER - Cast Visual At Target Position’),
– (Summoning Mage)
(@SUMMONER
100,9,3,0,0,0,100,0,100,100,0,0,12,@MAGE_00A,7,0,0,0,0,8,0,0,0,176.30,-109.18,12.47,3.1, ‘SUMMONER - Summon Mage’),
(@SUMMONER100,9,4,0,0,0,100,0,0,0,0,0,11,52052,2,0,0,0,0,11,@MAGE_00A,30,0,0.0,0.0,0.0,0.0, ‘SUMMONER - Cast Visual At Target Position’),
– (Summoning Priest)
(@SUMMONER
100,9,5,0,0,0,100,0,100,100,0,0,12,@PRIEST_00A,7,0,0,0,0,8,0,0,0,165.69,-113.2,12.47,0.63, ‘SUMMONER - Summon Priest’),
(@SUMMONER100,9,6,0,0,0,100,0,0,0,0,0,11,52052,2,0,0,0,0,11,@PRIEST_00A,30,0,0.0,0.0,0.0,0.0, ‘SUMMONER - Cast Visual At Target Position’),
– (Summoning Buffer)
(@SUMMONER
100,9,7,0,0,0,100,0,100,100,0,0,12,@BUFFER_00A,7,0,0,0,0,8,0,0,0,173.90,-119.3,12.47,1.85, ‘SUMMONER - Summon Buffer’),
(@SUMMONER100,9,8,0,0,0,100,0,0,0,0,0,11,52052,2,0,0,0,0,11,@BUFFER_00A,30,0,0.0,0.0,0.0,0.0, ‘SUMMONER - Cast Visual At Target Position’),
– Script 1 (Horde)
(@SUMMONER
100+1,9,0,0,0,0,100,0,250,250,0,0,11,34602,2,0,0,0,0,0,1,0,0,0,0,0,0, ‘SUMMONER - Cast Visual on Self’),
– (Summoning Tank)
(@SUMMONER100+1,9,1,0,0,0,100,0,100,100,0,0,12,@WARRIOR_00H,7,0,0,0,0,8,0,0,0,168.81,-104.2,12.5,5.0, ‘SUMMONER - Summon Tank’),
(@SUMMONER
100+1,9,2,0,0,0,100,0,0,0,0,0,11,52052,2,0,0,0,0,11,@WARRIOR_00H,30,0,0.0,0.0,0.0,0.0, ‘SUMMONER - Cast Visual At Target Position’),
– (Summoning Mage)
(@SUMMONER100+1,9,3,0,0,0,100,0,100,100,0,0,12,@MAGE_00H,7,0,0,0,0,8,0,0,0,176.30,-109.18,12.47,3.1, ‘SUMMONER - Summon Mage’),
(@SUMMONER
100+1,9,4,0,0,0,100,0,0,0,0,0,11,52052,2,0,0,0,0,11,@MAGE_00H,30,0,0.0,0.0,0.0,0.0, ‘SUMMONER - Cast Visual At Target Position’),
– (Summoning Priest)
(@SUMMONER100+1,9,5,0,0,0,100,0,100,100,0,0,12,@PRIEST_00H,7,0,0,0,0,8,0,0,0,165.69,-113.2,12.47,0.63, ‘SUMMONER - Summon Priest’),
(@SUMMONER
100+1,9,6,0,0,0,100,0,0,0,0,0,11,52052,2,0,0,0,0,11,@PRIEST_00H,30,0,0.0,0.0,0.0,0.0, ‘SUMMONER - Cast Visual At Target Position’),
– (Summoning Buffer)
(@SUMMONER100+1,9,7,0,0,0,100,0,100,100,0,0,12,@BUFFER_00H,7,0,0,0,0,8,0,0,0,173.90,-119.3,12.47,1.85, ‘SUMMONER - Summon Buffer’),
(@SUMMONER
100+1,9,8,0,0,0,100,0,0,0,0,0,11,52052,2,0,0,0,0,11,@BUFFER_00H,30,0,0.0,0.0,0.0,0.0, ‘SUMMONER - Cast Visual At Target Position’),

#--------------------------------------------- WARRIOR_00A --------------------------------------#
– Phase 0 (Starter SAI)
(@WARRIOR_00A,0,0,0,11,0,100,0,0,0,0,0,80,@WARRIOR_00A100+10,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - On Spawn - Run Script 10’),
(@WARRIOR_00A,0,1,2,0,0,100,0,6000,6000,6000,6000,13,100,0,0,0,0,0,4,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Update IC - Threat 100% - Last aggro’),
(@WARRIOR_00A,0,2,0,61,0,100,0,0,0,0,0,11,43263,2,0,0,0,0,4,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Update IC - Last Aggro - Cast Taunt’),
(@WARRIOR_00A,0,3,0,9,0,100,0,0,35,0,0,8,2,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - In Range - Set React State 2’),
(@WARRIOR_00A,0,4,5,4,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘WARRIOR_00 - On Aggro - Set Phase 1’),
(@WARRIOR_00A,0,5,6,61,0,100,0,0,0,0,0,71,3333,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - On Aggro - Equip 1H+Shield’),
(@WARRIOR_00A,0,6,0,61,0,100,0,0,0,0,0,11,71,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - On Aggro - Cast Defensive Stance’),
(@WARRIOR_00A,0,7,0,1,0,100,0,3000,30000,30000,30000,11,45517,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘WARRIOR_00 - OOC - Cast Commanding Shout’),
(@WARRIOR_00A,0,8,0,8,0,100,0,49722,0,0,0,46,3,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Spellhit 49722 - Move Forward’), – Utguarde Keep (Tank will move forward 5y after knockback effect so he never stay behind a wall after the knockback and will return mostly to the original position)
– Phase 1 (Defensive SAI)
(@WARRIOR_00A,0,9,0,9,1,100,0,0,4,6200,6200,87,@WARRIOR_00A
100,@WARRIOR_00A100+1,@WARRIOR_00A100+2,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - IN 0_4 yd - RUN_SCRIPT_RANDOM 0-2’), – P1
(@WARRIOR_00A,0,10,0,9,1,100,0,8,30,12000,12000,80,@WARRIOR_00A100+3,0,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - IN 8_30 yd - RUN_SCRIPT 3’),
(@WARRIOR_00A,0,11,12,0,1,100,0,90000,90000,90000,90000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘WARRIOR_00 - Update IC - Set Phase 2 every 90 secs’),
(@WARRIOR_00A,0,12,13,61,1,100,0,0,0,0,0,11,2458,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast Berserker stance’),
(@WARRIOR_00A,0,13,0,61,1,100,0,0,0,0,0,71,3334,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,‘WARRIOR_00 - Equip 2H Weapon’),
– Phase 2 (Offensive SAI)
(@WARRIOR_00A,0,14,0,9,2,100,0,0,4,6000,6000,87,@WARRIOR_00A
100+4,@WARRIOR_00A100+5,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - IN 0_4 yd - RUN_SCRIPT_RANDOM 4-5’), – P2
(@WARRIOR_00A,0,15,0,9,2,100,0,8,30,12000,12000,80,@WARRIOR_00A
100+3,0,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - IN 8_30 yd - RUN_SCRIPT 3’),
(@WARRIOR_00A,0,16,17,0,2,100,0,30000,30000,30000,30000,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘WARRIOR_00 - Update IC - Set Phase 1 every 30 secs’),
(@WARRIOR_00A,0,17,18,61,2,100,0,0,0,0,0,11,71,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast Defensive Stance’),
(@WARRIOR_00A,0,18,0,61,2,100,0,0,0,0,0,71,3333,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Equip 1H+Shield’),
– Script 0 (Defensive Script)
(@WARRIOR_00A100,9,0,0,0,0,100,0,2300,2300,0,0,11,25174,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Sundering Cleave’),
(@WARRIOR_00A
100,9,1,0,0,0,100,0,3100,3100,0,0,11,8147,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Thunderclap’),
– Script 1 (Defensive Script)
(@WARRIOR_00A100+1,9,0,0,0,0,100,0,500,500,0,0,11,2565,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Shield Block’),
(@WARRIOR_00A
100+1,9,1,0,0,0,100,0,3400,3400,0,0,11,8147,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Thunderclap’),
– Script 2 (Defensive Script)
(@WARRIOR_00A100+2,9,0,0,0,0,100,0,2200,2200,0,0,11,23922,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Shield Slam’),
(@WARRIOR_00A
100+2,9,1,0,0,0,100,0,3700,3700,0,0,11,46968,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Shockwave’),
– Script 3 (At Range Script 12-35yard)
(@WARRIOR_00A100+3,9,0,0,0,0,100,0,500,500,0,0,11,20252,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Intercept’),
(@WARRIOR_00A
100+3,9,1,0,0,0,100,0,1100,1100,0,0,11,23920,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Spell Reflection’),
– Script 4 (Offensive Script)
(@WARRIOR_00A100+4,9,0,0,0,0,100,0,700,700,0,0,11,37335,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Mortal Strike’),
(@WARRIOR_00A
100+4,9,1,0,0,0,100,0,2500,2500,0,0,11,1680,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Whirlwind’),
– Script 5 (Offensive Script)
(@WARRIOR_00A100+5,9,0,0,0,0,100,0,2200,2200,0,0,11,12328,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Sweeping Strike’),
(@WARRIOR_00A
100+5,9,1,0,0,0,100,0,3600,3600,0,0,11,69652,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Bladestorm’),
– Script 10
(@WARRIOR_00A*100+10,9,0,0,0,0,100,0,4000,4000,0,0,29,2,0,0,0,0,0,17,0,10,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - On Spawn - Follow Player’),

#--------------------------------------------- WARRIOR_00H --------------------------------------#
– Phase 0 (Starter SAI)
(@WARRIOR_00H,0,0,0,11,0,100,0,0,0,0,0,80,@WARRIOR_00H100+10,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - On Spawn - Run Script 10’),
(@WARRIOR_00H,0,1,2,0,0,100,0,6000,6000,6000,6000,13,100,0,0,0,0,0,4,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Update IC - Threat 100% - Last aggro’),
(@WARRIOR_00H,0,2,0,61,0,100,0,0,0,0,0,11,43263,2,0,0,0,0,4,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Update IC - Last Aggro - Cast Taunt’),
(@WARRIOR_00H,0,3,0,9,0,100,0,0,35,0,0,8,2,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - In Range - Set React State 2’),
(@WARRIOR_00H,0,4,5,4,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘WARRIOR_00 - On Aggro - Set Phase 1’),
(@WARRIOR_00H,0,5,6,61,0,100,0,0,0,0,0,71,3333,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - On Aggro - Equip 1H+Shield’),
(@WARRIOR_00H,0,6,0,61,0,100,0,0,0,0,0,11,71,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - On Aggro - Cast Defensive Stance’),
(@WARRIOR_00H,0,7,0,1,0,100,0,3000,30000,30000,30000,11,45517,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘WARRIOR_00 - OOC - Cast Commanding Shout’),
(@WARRIOR_00H,0,8,0,8,0,100,0,49722,0,0,0,46,3,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Spellhit 49722 - Move Forward’), – Utguarde Keep (Tank will move forward 5y after knockback effect so he never stay behind a wall after the knockback and will return mostly to the original position)
– Phase 1 (Defensive SAI)
(@WARRIOR_00H,0,9,0,9,1,100,0,0,4,6200,6200,87,@WARRIOR_00H
100,@WARRIOR_00H100+1,@WARRIOR_00H100+2,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - IN 0_4 yd - RUN_SCRIPT_RANDOM 0-2’), – P1
(@WARRIOR_00H,0,10,0,9,1,100,0,8,30,12000,12000,80,@WARRIOR_00H100+3,0,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - IN 8_30 yd - RUN_SCRIPT 3’),
(@WARRIOR_00H,0,11,12,0,1,100,0,90000,90000,90000,90000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘WARRIOR_00 - Update IC - Set Phase 2 every 90 secs’),
(@WARRIOR_00H,0,12,13,61,1,100,0,0,0,0,0,11,2458,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast Berserker stance’),
(@WARRIOR_00H,0,13,0,61,1,100,0,0,0,0,0,71,3334,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0,‘WARRIOR_00 - Equip 2H Weapon’),
– Phase 2 (Offensive SAI)
(@WARRIOR_00H,0,14,0,9,2,100,0,0,4,6000,6000,87,@WARRIOR_00H
100+4,@WARRIOR_00H100+5,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - IN 0_4 yd - RUN_SCRIPT_RANDOM 4-5’), – P2
(@WARRIOR_00H,0,15,0,9,2,100,0,8,30,12000,12000,80,@WARRIOR_00H
100+3,0,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - IN 8_30 yd - RUN_SCRIPT 3’),
(@WARRIOR_00H,0,16,17,0,2,100,0,30000,30000,30000,30000,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘WARRIOR_00 - Update IC - Set Phase 1 every 30 secs’),
(@WARRIOR_00H,0,17,18,61,2,100,0,0,0,0,0,11,71,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast Defensive Stance’),
(@WARRIOR_00H,0,18,0,61,2,100,0,0,0,0,0,71,3333,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Equip 1H+Shield’),
– Script 0 (Defensive Script)
(@WARRIOR_00H100,9,0,0,0,0,100,0,2300,2300,0,0,11,25174,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Sundering Cleave’),
(@WARRIOR_00H
100,9,1,0,0,0,100,0,3100,3100,0,0,11,8147,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Thunderclap’),
– Script 1 (Defensive Script)
(@WARRIOR_00H100+1,9,0,0,0,0,100,0,500,500,0,0,11,2565,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Shield Block’),
(@WARRIOR_00H
100+1,9,1,0,0,0,100,0,3400,3400,0,0,11,8147,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Thunderclap’),
– Script 2 (Defensive Script)
(@WARRIOR_00H100+2,9,0,0,0,0,100,0,2200,2200,0,0,11,23922,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Shield Slam’),
(@WARRIOR_00H
100+2,9,1,0,0,0,100,0,3700,3700,0,0,11,46968,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Shockwave’),
– Script 3 (At Range Script 12-35yard)
(@WARRIOR_00H100+3,9,0,0,0,0,100,0,500,500,0,0,11,20252,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Intercept’),
(@WARRIOR_00H
100+3,9,1,0,0,0,100,0,1100,1100,0,0,11,23920,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Spell Reflection’),
– Script 4 (Offensive Script)
(@WARRIOR_00H100+4,9,0,0,0,0,100,0,700,700,0,0,11,37335,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Mortal Strike’),
(@WARRIOR_00H
100+4,9,1,0,0,0,100,0,2500,2500,0,0,11,1680,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Whirlwind’),
– Script 5 (Offensive Script)
(@WARRIOR_00H100+5,9,0,0,0,0,100,0,2200,2200,0,0,11,12328,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Sweeping Strike’),
(@WARRIOR_00H
100+5,9,1,0,0,0,100,0,3600,3600,0,0,11,69652,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - Cast - Bladestorm’),
– Script 10
(@WARRIOR_00H*100+10,9,0,0,0,0,100,0,4000,4000,0,0,29,2,0,0,0,0,0,17,0,10,0,0.0,0.0,0.0,0.0, ‘WARRIOR_00 - On Spawn - Follow Player’),

#--------------------------------------------- MAGE_00A -----------------------------------------#
– Phase 0 (Starter SAI) Simple mage AI for now (Frost) Need different kind of spell and timing to be less boring to see.
(@MAGE_00A,0,0,0,11,0,100,0,0,0,0,0,80,@MAGE_00A100+10,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - On Spawn - Run Script 10’),
(@MAGE_00A,0,1,0,9,0,100,0,0,35,0,0,8,2,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - In Range - Set React State 2’),
(@MAGE_00A,0,2,3,4,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - On Aggro - Set Phase 1’),
(@MAGE_00A,0,3,0,61,0,100,0,0,0,0,0,11,11426,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - On Aggro - Cast Ice Barrier’),
(@MAGE_00A,0,4,0,1,0,100,0,20000,35000,60000,60000,11,7302,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - OOC - Cast Frost Armor’),
(@MAGE_00A,0,5,0,0,0,100,0,65000,65000,65000,65000,11,11426,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - IC - Cast Ice Barrier’),
– Phase 1 (Frost SAI)
(@MAGE_00A,0,6,7,9,1,100,0,3,27,3100,3100,80,@MAGE_00A
100,1,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 3_27 yd - RUN_SCRIPT 0’), – P1
(@MAGE_00A,0,7,0,61,1,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 3_27 yd - MOVEMENT 0’),
(@MAGE_00A,0,8,0,9,1,100,0,28,50,0,0,21,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 28_50 yd - MOVEMENT 1’),
(@MAGE_00A,0,9,0,9,1,100,0,0,2,10000,10000,80,@MAGE_00A100+1,1,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 0_2 yd - RUN_SCRIPT 1’),
(@MAGE_00A,0,10,0,9,1,100,0,0,7,0,0,21,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 0_7 yd - MOVEMENT 0’),
/

(@MAGE_00,0,12,13,0,1,100,0,60000,60000,60000,60000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Set Phase 2 every 60 secs’),
(@MAGE_00,0,13,14,61,1,100,0,0,0,0,0,11,30482,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Cast Molten Armor for phase 2’),
(@MAGE_00,0,14,0,61,1,100,0,0,0,0,0,11,1463,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Cast Mana Shield for phase 2’),
– Phase 2 (Fire SAI)
(@MAGE_00,0,15,16,9,2,100,0,5,30,3100,3100,80,@MAGE_00100+3,1,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 5_30 yd - RUN_SCRIPT_RANDOM 4’), – P2
(@MAGE_00,0,16,0,61,2,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘CREATURE_00 - IN 5_30 yd - MOVEMENT 0’),
(@MAGE_00,0,17,0,9,2,100,0,30,100,0,0,21,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘CREATURE_00 - IN 30_100 yd - MOVEMENT 1’),
(@MAGE_00,0,18,19,9,2,100,0,0,4,10000,10000,80,@MAGE_00
100+2,0,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 0_4 yd - RUN_SCRIPT 3’),
(@MAGE_00,0,19,0,61,2,100,0,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘CREATURE_00 - IN 0_4 yd - MOVEMENT 0’),
(@MAGE_00,0,20,21,0,2,100,0,60000,60000,60000,60000,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Set Phase 1 every 30 secs’),
(@MAGE_00,0,21,22,61,2,100,0,0,0,0,0,11,7302,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Cast Frost Armor for phase 1’),
(@MAGE_00,0,22,0,61,2,100,0,0,0,0,0,11,11426,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Cast Ice Barrier for phase 1’),
/
– Script 0 (Frost Script)
(@MAGE_00A
100,9,0,0,0,0,100,0,100,100,0,0,11,61730,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Frostbolt (~320-420dmg)’),
– Script 1 (In Range Frost Script) 0 to 4 yard
(@MAGE_00A100+1,9,0,0,0,0,100,0,100,100,0,0,11,120,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Cone of Cold’),
(@MAGE_00A
100+1,9,1,0,0,0,100,0,500,500,0,0,11,122,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Frost Nova’),
(@MAGE_00A100+1,9,2,0,0,0,100,0,1300,1300,0,0,11,1953,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Blink’),
/

– Script 2 (In Range Fire Script) 0 to 4 yard
(@MAGE_00100+2,9,0,0,0,0,100,0,100,100,0,0,11,31661,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Dragon Breath’), – P1
(@MAGE_00
100+2,9,1,0,0,0,100,0,1000,1000,0,0,11,11113,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Blast Wave’), – P1
(@MAGE_00100+2,9,2,0,0,0,100,0,2000,2000,0,0,11,1953,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Blink’), – P1
– Script 3 (Fire Script)
(@MAGE_00
100+3,9,0,0,0,0,100,0,100,100,0,0,11,133,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Fireball’); – P2
/
– Script 10
(@MAGE_00A
100+10,9,0,0,0,0,100,0,4000,4000,0,0,29,7,2.5,0,0,0,0,17,0,10,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - On Spawn - Follow Player’),

#--------------------------------------------- MAGE_00H -----------------------------------------#
– Phase 0 (Starter SAI) Simple mage AI for now (Frost) Need different kind of spell and timing to be less boring to see.
(@MAGE_00H,0,0,0,11,0,100,0,0,0,0,0,80,@MAGE_00H100+10,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - On Spawn - Run Script 10’),
(@MAGE_00H,0,1,0,9,0,100,0,0,35,0,0,8,2,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - In Range - Set React State 2’),
(@MAGE_00H,0,2,3,4,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - On Aggro - Set Phase 1’),
(@MAGE_00H,0,3,0,61,0,100,0,0,0,0,0,11,11426,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - On Aggro - Cast Ice Barrier’),
(@MAGE_00H,0,4,0,1,0,100,0,20000,35000,60000,60000,11,7302,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - OOC - Cast Frost Armor’),
(@MAGE_00H,0,5,0,0,0,100,0,65000,65000,65000,65000,11,11426,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - IC - Cast Ice Barrier’),
– Phase 1 (Frost SAI)
(@MAGE_00H,0,6,7,9,1,100,0,3,27,3100,3100,80,@MAGE_00H
100,1,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 3_27 yd - RUN_SCRIPT 0’), – P1
(@MAGE_00H,0,7,0,61,1,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 3_27 yd - MOVEMENT 0’),
(@MAGE_00H,0,8,0,9,1,100,0,28,50,0,0,21,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 28_50 yd - MOVEMENT 1’),
(@MAGE_00H,0,9,0,9,1,100,0,0,2,10000,10000,80,@MAGE_00H100+1,1,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 0_2 yd - RUN_SCRIPT 1’),
(@MAGE_00H,0,10,0,9,1,100,0,0,7,0,0,21,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 0_7 yd - MOVEMENT 0’),
/

(@MAGE_00,0,12,13,0,1,100,0,60000,60000,60000,60000,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Set Phase 2 every 60 secs’),
(@MAGE_00,0,13,14,61,1,100,0,0,0,0,0,11,30482,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Cast Molten Armor for phase 2’),
(@MAGE_00,0,14,0,61,1,100,0,0,0,0,0,11,1463,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Cast Mana Shield for phase 2’),
– Phase 2 (Fire SAI)
(@MAGE_00,0,15,16,9,2,100,0,5,30,3100,3100,80,@MAGE_00100+3,1,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 5_30 yd - RUN_SCRIPT_RANDOM 4’), – P2
(@MAGE_00,0,16,0,61,2,100,0,0,0,0,0,21,0,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘CREATURE_00 - IN 5_30 yd - MOVEMENT 0’),
(@MAGE_00,0,17,0,9,2,100,0,30,100,0,0,21,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘CREATURE_00 - IN 30_100 yd - MOVEMENT 1’),
(@MAGE_00,0,18,19,9,2,100,0,0,4,10000,10000,80,@MAGE_00
100+2,0,1,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - IN 0_4 yd - RUN_SCRIPT 3’),
(@MAGE_00,0,19,0,61,2,100,0,0,0,0,0,21,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘CREATURE_00 - IN 0_4 yd - MOVEMENT 0’),
(@MAGE_00,0,20,21,0,2,100,0,60000,60000,60000,60000,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Set Phase 1 every 30 secs’),
(@MAGE_00,0,21,22,61,2,100,0,0,0,0,0,11,7302,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Cast Frost Armor for phase 1’),
(@MAGE_00,0,22,0,61,2,100,0,0,0,0,0,11,11426,2,0,0,0,0,1,0,0,0,0,0,0,0, ‘MAGE_00 - Update IC - Cast Ice Barrier for phase 1’),
/
– Script 0 (Frost Script)
(@MAGE_00H
100,9,0,0,0,0,100,0,100,100,0,0,11,61730,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Frostbolt (~320-420dmg)’),
– Script 1 (In Range Frost Script) 0 to 4 yard
(@MAGE_00H100+1,9,0,0,0,0,100,0,100,100,0,0,11,120,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Cone of Cold’),
(@MAGE_00H
100+1,9,1,0,0,0,100,0,500,500,0,0,11,122,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Frost Nova’),
(@MAGE_00H100+1,9,2,0,0,0,100,0,1300,1300,0,0,11,1953,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Blink’),
/

– Script 2 (In Range Fire Script) 0 to 4 yard
(@MAGE_00100+2,9,0,0,0,0,100,0,100,100,0,0,11,31661,2,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Dragon Breath’), – P1
(@MAGE_00
100+2,9,1,0,0,0,100,0,1000,1000,0,0,11,11113,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Blast Wave’), – P1
(@MAGE_00100+2,9,2,0,0,0,100,0,2000,2000,0,0,11,1953,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Blink’), – P1
– Script 3 (Fire Script)
(@MAGE_00
100+3,9,0,0,0,0,100,0,100,100,0,0,11,133,0,0,0,0,0,2,0,0,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - Cast - Fireball’); – P2
/
– Script 10
(@MAGE_00H
100+10,9,0,0,0,0,100,0,4000,4000,0,0,29,7,2.5,0,0,0,0,17,0,10,0,0.0,0.0,0.0,0.0, ‘MAGE_00 - On Spawn - Follow Player’),

#--------------------------------------------- PRIEST_00A -----------------------------------------#
– AI Priest healing Tank only or it bug with hp deficit and heal anyone around. Simple healing
– Phase 0 (Starter SAI)
(@PRIEST_00A,0,0,0,11,0,100,0,0,0,0,0,80,@PRIEST_00A100+10,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - On Spawn - Run Script 10’),
(@PRIEST_00A,0,1,0,1,0,100,0,20000,30000,90000,120000,11,39236,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - OOC - Cast Shadow Protection’),
(@PRIEST_00A,0,2,0,0,0,100,0,60000,90000,60000,90000,11,29166,2,0,0,0,0,17,0,30,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - IC - Cast Innervate on Player’),
(@PRIEST_00A,0,3,0,0,0,100,0,1000,5000,60000,650000,11,974,2,0,0,0,0,17,0,30,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - IC - Cast Earth Shield on Player’), – need better
(@PRIEST_00A,0,4,0,1,0,100,0,0,0,0,0,29,6,3.6,0,0,0,0,17,10,12,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - OOC - Follow Player’),
(@PRIEST_00A,0,5,0,0,0,100,0,0,0,0,0,29,6,3,0,0,0,0,17,10,12,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - IC - Follow Player’),
(@PRIEST_00A,0,6,0,9,0,100,0,0,35,0,0,22,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - In Range - Set Phase 1’),
– Phase 1 (New healing testing) still need better but work better than previous
(@PRIEST_00A,0,7,0,14,1,100,0,3100,35,15000,18000,11,38210,0,0,0,0,0,11,@WARRIOR_00A,30,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - HP Deficit 3100 - Cast Renew’),
(@PRIEST_00A,0,8,0,14,1,100,0,3300,35,24000,30000,11,29408,0,0,0,0,0,11,@WARRIOR_00A,30,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - HP Deficit 3300 - Cast PowerWord:Shield ~2500dmg’),
(@PRIEST_00A,0,9,0,14,1,100,0,8000,35,0,0,22,2,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - HP Deficit 8000 - Set Phase 2’),
– Phase 1 (New healing testing) still need better but work better than previous
(@PRIEST_00A,0,10,0,14,2,100,0,8000,35,2000,6500,11,49348,1,0,0,0,0,11,@WARRIOR_00A,30,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - Cast - Greater Heal ~10k’),
– Script 10
(@PRIEST_00A
100+10,9,0,0,0,0,100,0,4000,4000,0,0,29,6,3.6,0,0,0,0,17,0,10,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - On Spawn - Follow Player’),

#--------------------------------------------- PRIEST_00H -----------------------------------------#
– AI Priest healing Tank only or it bug with hp deficit and heal anyone around. Simple healing
– Phase 0 (Starter SAI)
(@PRIEST_00H,0,0,0,11,0,100,0,0,0,0,0,80,@PRIEST_00H100+10,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - On Spawn - Run Script 10’),
(@PRIEST_00H,0,1,0,1,0,100,0,20000,30000,90000,120000,11,39236,2,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - OOC - Cast Shadow Protection’),
(@PRIEST_00H,0,2,0,0,0,100,0,60000,90000,60000,90000,11,29166,2,0,0,0,0,17,0,30,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - IC - Cast Innervate on Player’),
(@PRIEST_00H,0,3,0,0,0,100,0,1000,5000,60000,650000,11,974,2,0,0,0,0,17,0,30,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - IC - Cast Earth Shield on Player’), – need better
(@PRIEST_00H,0,4,0,1,0,100,0,0,0,0,0,29,6,3.6,0,0,0,0,17,10,12,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - OOC - Follow Player’),
(@PRIEST_00H,0,5,0,0,0,100,0,0,0,0,0,29,6,3,0,0,0,0,17,10,12,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - IC - Follow Player’),
(@PRIEST_00H,0,6,0,9,0,100,0,0,35,0,0,22,1,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - In Range - Set Phase 1’),
– Phase 1 (New healing testing) still need better but work better than previous
(@PRIEST_00H,0,7,0,14,1,100,0,3100,35,15000,18000,11,38210,0,0,0,0,0,11,@WARRIOR_00H,30,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - HP Deficit 3100 - Cast Renew’),
(@PRIEST_00H,0,8,0,14,1,100,0,3300,35,24000,30000,11,29408,0,0,0,0,0,11,@WARRIOR_00H,30,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - HP Deficit 3300 - Cast PowerWord:Shield ~2500dmg’),
(@PRIEST_00H,0,9,0,14,1,100,0,8000,35,0,0,22,2,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - HP Deficit 8000 - Set Phase 2’),
– Phase 1 (New healing testing) still need better but work better than previous
(@PRIEST_00H,0,10,0,14,2,100,0,8000,35,2000,6500,11,49348,1,0,0,0,0,11,@WARRIOR_00H,30,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - Cast - Greater Heal ~10k’),
– Script 10
(@PRIEST_00H
100+10,9,0,0,0,0,100,0,4000,4000,0,0,29,6,3.6,0,0,0,0,17,0,10,0,0.0,0.0,0.0,0.0, ‘PRIEST_00 - On Spawn - Follow Player’),

#--------------------------------------------- BUFFER_00A -----------------------------------------#
– AI Buffer (This npc will improve player combat while fighting by buffing and will be stricly healing AoE spells for party
– Phase 0
(@BUFFER_00A,0,0,0,11,0,100,0,0,0,0,0,80,@BUFFER_00A100+10,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘BUFFER_00 - On Spawn - Run Script 10’),
– Script 10
(@BUFFER_00A
100+10,9,0,0,0,0,100,0,4000,4000,0,0,29,4,1.6,0,0,0,0,17,0,15,0,0.0,0.0,0.0,0.0, ‘BUFFER_00 - On Spawn - Follow Player’),

#--------------------------------------------- BUFFER_00H -----------------------------------------#
– AI Buffer (This npc will improve player combat while fighting by buffing and will be stricly healing AoE spells for party
– Phase 0
(@BUFFER_00H,0,0,0,11,0,100,0,0,0,0,0,80,@BUFFER_00H100+10,0,0,0,0,0,1,0,0,0,0.0,0.0,0.0,0.0, ‘BUFFER_00 - On Spawn - Run Script 10’),
– Script 10
(@BUFFER_00H
100+10,9,0,0,0,0,100,0,4000,4000,0,0,29,4,1.6,0,0,0,0,17,0,15,0,0.0,0.0,0.0,0.0, ‘BUFFER_00 - On Spawn - Follow Player’);[/SQL]

/*

[/SPOILER]

Looks Great! Nice project… keep going =]

I have to admit, the idea is nice. Doesn’t seem smart to be done trough SAI though. =/

Doing it the best i can from SAI because i know absolutly nothing in C++, and the goal is to actually not have to patche it with C++. So many post about mostly all C++ patches for the core that need to be updated. Trying to make it simple, a one click import database and you are done. And SAI seem to be really good for what i am doing and not too hard to understand for mostly anyone that actually look at it in deep from all the Malcrom post in the SAI section and tuto.

Just look at the posts in the playerbot patches in C++…

Thats what i want to avoid.

And SAI structure seem to be constantly the same from my view and more stable than C++. Thats only my opinion, there is some great C++ patches out there, mostly all of them, but it seem a bit more of a headache than simply using SAI.

love the idea. but wouldn’t it be hard to do this for all instances (normal/HC and all raids)?

Awesome idea, unfortunately I don’t have the knowledge to help you out

Actually i dont think so, i made it a bit like playerbot, he will follow you around at a 4 yard radius and i removed the pathing thing.

All i have to do is put a summoner npc at each instance with a different npc level to summon depending the instances you are with the condition table. Never used this table but from the Xbiohazard Telenpc it looks doable.

Same for open world, depending on the region level you are, the summoner will summon an npc for the level you are.

The only problem i could find is with Raid. But tried an option last night quickly and for raid the best option is to let the summoner maybe let you have like more than one NPC in there. So you can make a group of 5 different classes doing each his job.

*But, still the problem is that you will have to do a whole lot of damage if you go in raid aloe because the summoned npc isnt able to be in your group, so that mean that you have to do more damage than them if you want to be able to loot mobs or get credit for it. There is maybe a workaround for this but i have no idea right now. Learning on the fly hehe

Modified first post.

Instead of dungeon helper with pathing it’s more like a playerbots.

It’s nothing like a playerbots, it is like a NPC bot though… and, if you can’t tell that difference, no wonder you can’t figure out how to program in C++

I was using your playerbots some times ago when you were working on it , and it was great!

Was not completed and had alot of bugs and then your post just disappeared…

It looks like i am not the only one that can’t figue out how to C++

But still, thanks for the negative output, it sure gonna help /emoticons/default_smile.png

First of all, you never used my Playerbots, as my version was never the public version, although, I did submit a ton of fixes for the public one, secondly, NPC bots are NPCs, Playerbots are Players, big difference, just because the Playerbots was merged with the NPC bots, don’t think they had anything at all to do with each other, except that they were bots.

My version had way less bugs, but, peldor didn’t see fit to merge all of my changes, then, for almost 6 months, I was offline, and had nothing to do with the bots, and, just as I was getting back online, a shit ton of changes hit the core that pretty much killed off the functionality Playerbots was using to work. Playerbots will need to be completely rewritten, from scratch almost, and need to be rewritten in a way that will keep core changes from making it obsolete every couple of revisions, that means coming up with code that can be added to the official core that is generic enough to justify it being added (so anyone can use the code in their own bot type project) and, I don’t plan on releasing anything related to playerbots until I (or someone else) have come up with that generic code, and gotten it added to the core.

I also was the one who completely rewrote AH Bot over the last couple of years, so, keep talking shit about my C++ skills.

ur a bitch paradox, stop being lame. GJ Hooly, but i have to say that he is right, it isnt playerbots, it is NPC bot.

Nice work for beginning and learning, hooly.

Hope you continue it. /emoticons/default_wink.png

Like this.

Paradox always says he can do it better.

But since the relaunch of Trinity he only diss newcommers @ c++ and mysql.

He has alot of skill but he can´t help newbies. /emoticons/default_wink.png

Greatz WuChEn

Renamed my topic for Dungeon Helper because it has nothing to do with playerbots as Paradox and xerox23 said. It’s npc scripted to help you out thats all /emoticons/default_smile.png

Edited sql on first post. Thanks for the comments

Still working on actual core?

Thanks for feedback.

Regards

Ashi

Sorry for my bad english :slight_smile:

why do so many foreigners get current and actual mixed up? they don’t mean the same thing at all.

also, start using the date revision, for example

Still working on 08-08-2011 core?

Thanks for feedback.

…foreigners /emoticons/default_biggrin.png

i will do so in future :slight_smile:

And Americans wonder why everyone hates them…

you are using my language, which is not your original language, that makes you a foreigner.

Sorry, OMG! -.-