Page 1 of 3

Simple Nuke Macro Request Please

Posted: Thu Mar 06, 2008 5:47 pm
by Chocolate_Rain
Could Somone Make me a Simple macro that would cast spell Gelidin Comet untill out of mana then Med till 100% and begin again?

Posted: Thu Mar 06, 2008 6:51 pm
by vladd
check the completed macro section I know I seen plenty spell trainers there

Posted: Thu Mar 06, 2008 7:33 pm
by Chocolate_Rain
not spell trainer i wanna let wizzie bot nuke on named while i focus on heals

Posted: Thu Mar 06, 2008 8:22 pm
by fearless
And continuously casting a spell is different from continuously casting a spell . . . how?

Posted: Thu Mar 06, 2008 10:00 pm
by Chocolate_Rain
spell trainer stops onces your skill is at limit

Posted: Thu Mar 06, 2008 10:01 pm
by jacensolo
Thats why your comp has a backspace key...

Delete Button 4tw!

Posted: Thu Mar 06, 2008 10:15 pm
by fdx90
Image

Posted: Fri Mar 07, 2008 12:04 am
by Chocolate_Rain
Please dont be rude just help i asked in vip and they said this would be best place

Posted: Fri Mar 07, 2008 12:09 am
by nytemyst
You're not asking for help you're asking someone to do the work for you. Two people already gave you the information you need. If you at least make an attempt at trying to do something your self, then people will be more inclined to help you.

Posted: Fri Mar 07, 2008 12:18 am
by Olain
download a spell trainer, set max skill lvl in the macro to 400 and it will continue to cast till your oom and med.

Posted: Fri Mar 07, 2008 12:34 am
by Chocolate_Rain
i tried and it trys casting other things

Posted: Fri Mar 07, 2008 12:40 am
by jacensolo
Ok... step by step here. What code did you with?

What did you change? (post your modded code).

I am very willing to spend some time helping people get past errors or learn to code macros, but I don't give handouts. I'll show the same effort to fix the problem that you do.

Posted: Fri Mar 07, 2008 1:19 am
by Chocolate_Rain
#Event SkillUp "You have become better at #1#! (#2#)"
Sub Main
/declare i int local 0
/declare c int local 0
/declare MaxSkill int local 0

/declare SpellSkill[5] string local
/varset SpellSkill[1] Abjuration
/varset SpellSkill[2] Alteration
/varset SpellSkill[3] Conjuration
/varset SpellSkill[4] Divination
/varset SpellSkill[5] Evocation

/varcalc MaxSkill ${Me.Level}*5+5
/if (${MaxSkill} > 405) /varset MaxSkill 235

/for i 1 to ${SpellSkill.Size}
/for c 1 to 8
/if (${Me.Gem[${c}].Skill.Equal[${SpellSkill[${i}]}]}) /goto :Check
/next c
/echo [${Time.Time24}] No ${SpellSkill[${i}]} spells memorized, continuing...
/next i

:Check
/if (${Me.Skill[${SpellSkill[${i}]}]} >= ${MaxSkill}) {
/echo [${Time.Time24}] Your ${SpellSkill[${i}]} skill is already at it's current maximum: ${Me.Skill[${SpellSkill[${i}]}]}...
} else {
/echo [${Time.Time24}] Casting ${Me.Gem[${c}].Name} to skill up ${SpellSkill[${i}]}.
/echo [${Time.Time24}] Current skill in ${SpellSkill[${i}]}: ${Me.Skill[${SpellSkill[${i}]}]}.
:Cast
/doevents
/if ((${Me.Gem[${c}].TargetType.Equal[Single]} || ${Me.Gem[${c}].TargetType.Equal[Targeted AE]}) && !${Target.ID}) /target myself
/if (${Me.AFK}) /afk
/if (${Me.CurrentMana} <= ${Me.Gem[${c}].Mana}) {
/call MedBreak
}
/if (${Me.PctHPs} < 20) {
/call HealBreak
}
/if (${Me.SpellReady[${c}]}) {
/if (!${Me.Standing}) /stand
/cast ${c}
/delay ${Math.Calc[${Me.Gem[${c}].MyCastTime}*10+10].Int} (!${Me.Casting.ID})
/if (${Me.Standing}) /sit
}
:Cursor
/if (${Cursor.ID}) {
/autoinventory
/goto :Cursor
}
/if (${Me.Skill[${SpellSkill[${i}]}]} < ${MaxSkill}) /goto :Cast
}
/next i
/echo [${Time.Time24}] Done..
/call MedBreak
/endmacro
/return

Sub MedBreak
/if (!${Me.AFK}) /afk
:Loop
/if (${Me.Standing}) /sit
/delay 6s
/if (${Me.CurrentMana} < ${Me.MaxMana}) /goto :Loop
/return

Sub HealBreak
/if (!${Me.AFK}) /afk
:Loop
/if (${Me.Standing}) /sit
/delay 6s
/if (${Me.CurrentHPs} < ${Me.MaxHPs}) /goto :Loop
/return

Sub Event_SkillUp(str Line, string TheSkill, int Amount)
/echo [${Time.Time24}] ${TheSkill} increased - ${Amount}...
/return

Posted: Fri Mar 07, 2008 1:47 am
by 7rip
There are a number of ways to do it but the fast & dirty version would be to manipulate the MaxSkill.

I'd do:

Code: Select all

/if (${MaxSkill} > [color=red][b]1[/color][/b]) /varset MaxSkill [color=red][b]500[/color][/b] 
All that does is tell it that if the maximum skill for your level is greater than 1 then set the MaxSkill variable to 500. When the skill check sees that your less than the maximum skill level (500) it'll pass you through.

Posted: Fri Mar 07, 2008 5:20 pm
by Blitter

Code: Select all

#Include spell_routines.inc 

#event Summoned "You have been summoned#*#"

Sub Main(int NukeAt)

/declare summon bool outer 0
:loop  
/doevents
/if (${Me.Sitting}==FALSE) /sit
/if (${Target.Distance}>120}) /keypress esc 
| i changed this line for targeting, you might need to play with it
/if (${Target.ID}==FALSE && ${Bool[${NearestSpawn[1,NPC radius 60 zradius 30].ID}}) /squelch /tar NPC radius 60 zradius 30
/delay 10 
/if (${Target.PctHPs}<${NukeAt}) /call NukeMob
/goto :loop


/endmacro

Sub NukeMob
:loop2 
 /if (${Target.PctHPs}<4) /return
 /if (${Me.PctMana}<10) /return
| nuke 1
 /call cast "Rimelure" gem3 3s
 /delay 6s
| nuke 2
 /call cast "Cold Snap Rk. II" gem4 2s
 /delay 3s
 /goto :loop2
/return

Sub Event_Summoned
  /echo omg summoned, waiting 20s
  /delay 20s
/return
Have a play with this code, you can change the names of the nukes around it will rotate between the 2..you might need to play with the /delays (agro...) and you need to call it with a variable so
/mac nukemacro 80
will start nuking when a nearby mob is below 80pct health.
NB: i did change the targeting line (from my original) but it looks good to me.