Какбе работает.
Code: Select all
# Книга магии для Dragon World - http://drw.ru
# Сходил с ума: Vitali De Vir
# Редакция от: 2008-06-07
#
# Каст по заданному таргету. WT - With Target
# cast_wt(scrollmana, castmana, drinkmana, scroll, cast, target, msgStatScr, msgStat)
#
# Каст по ручному таргету. WO - Without Target
# cast_wo(scrollmana, castmana, drinkmana, scroll, cast, msgStatScr, msgStat)
#
# Заметки.
# Хорошо смотрится в текстовом редакторе под шрифтом Lucida Console.
# Вносите вклады: http://forum.yoko.com.ua/viewtopic.php?t=13635
# First Circle
sub mgwt_clumsy()
cast_wt(5, 10, 1, '0x1F2D', 'Clumsy', 'lastattack', "Clumsy by scroll!", "Clumsy NOT by scroll!")
end sub
sub mgwo_createfood()
cast_wo(8, 16, 1, '0x1F2E', 'Create Food', "Create Food by scroll!", "Create Food NOT by scroll!")
end sub
sub mgwt_feeblemind()
cast_wt(5, 10, 1, '0x1F2F', 'Feeblemind', 'lastattack', "Feeblemind by scroll!", "Feeblemind NOT by scroll!")
end sub
sub mgwt_heal()
cast_wt(5, 10, 1, '0x1F30', 'Heal', 'self', "Heal by scroll!", "Heal NOT by scroll!")
end sub
sub mgwt_magicarrow()
cast_wt(6, 12, 1, '0x1F31', 'Magic Arrow', 'lastattack', "Magic Arrow by scroll!", "Magic Arrow NOT by scroll!")
end sub
sub mgwt_magicarrow_ls()
cast_wt(6, 12, 1, '0x1F31', 'Magic Arrow', 'laststatus', "Magic Arrow by scroll!", "Magic Arrow NOT by scroll!")
end sub
sub mgwo_nightsight()
cast_wo(8, 16, 1, '0x1F32', 'Night Sight', "Night Sight by scroll!", "Night Sight NOT by scroll!")
end sub
sub mgwt_reactivearmor()
cast_wt(5, 10, 1, '0x1F33', 'Reactive Armor', 'self', "Reactive Armor by scroll!", "Reactive Armor NOT by scroll!")
end sub
sub mgwt_weaken()
cast_wt(8, 16, 1, '0x1F34', 'Weaken', 'lastattack', "Weaken by scroll!", "Weaken NOT by scroll!")
end sub
# Second Circle
sub mgwt_agility()
cast_wt(8, 16, 1, '0x1F35', 'Agility', 'self', "Agility by scroll!", "Agility NOT by scroll!")
end sub
sub mgwt_cunning()
cast_wt(8, 16, 1, '0x1F36', 'Cunning', 'self', "Cunning by scroll!", "Cunning NOT by scroll!")
end sub
sub mgwt_cure_sf()
cast_wt(8, 16, 1, '0x1F37', 'Cure', 'self', "Cure by scroll!", "Cure NOT by scroll!")
end sub
sub mgwt_cure_ls()
cast_wt(8, 16, 1, '0x1F37', 'Cure', 'laststatus', "Cure by scroll!", "Cure NOT by scroll!")
end sub
sub mgwt_harm()
cast_wt(6, 12, 1, '0x1F38', 'Harm', 'lastattack', "Harm by scroll!", "Harm NOT by scroll!")
end sub
sub mgwo_magictrap()
cast_wo(6, 12, 1, '0x1F39', 'Magic Trap', "Magic Trap by scroll!", "Magic Trap NOT by scroll!")
end sub
sub mgwo_magicuntrap()
cast_wo(6, 12, 1, '0x1F3A', 'Magic Untrap', "Magic Untrap by scroll!", "Magic Untrap NOT by scroll!")
end sub
sub mgwt_protection()
cast_wt(8, 16, 1, '0x1F3B', 'Protection', 'self', "Protection by scroll!", "Protection NOT by scroll!")
end sub
sub mgwt_strength()
cast_wt(8, 16, 1, '0x1F3C', 'Strength', 'self', "Strength by scroll!", "Strength NOT by scroll!")
end sub
# Third Circle
sub mgwo_bless()
cast_wo(10, 20, 1, '0x1F3D', 'Bless', "Bless by scroll!", "Bless NOT by scroll!")
end sub
sub mgwt_fireball()
cast_wt(7, 14, 1, '0x1F3E', 'Fireball', 'lastattack', "Fireball by scroll!", "Fireball NOT by scroll!")
end sub
sub mgwo_magiclock()
cast_wo(10, 20, 1, '0x1F3F', 'Magic Lock', "Magic Lock by scroll!", "Magic Lock NOT by scroll!")
end sub
sub mgwt_poison()
cast_wt(7, 14, 1, '0x1F40', 'Poison', 'lastattack', "Poison by scroll!", "Poison NOT by scroll!")
end sub
sub mgwo_telekinesis()
cast_wo(10, 20, 1, '0x1F41', 'Telekinesis', "Telekinesis by scroll!", "Telekinesis NOT by scroll!")
end sub
sub mgwo_teleport()
cast_wo(7, 14, 1, '0x1F42', 'Teleport', "Teleport by scroll!", "Teleport NOT by scroll!")
end sub
sub mgwo_unlock()
cast_wo(7, 14, 1, '0x1F43', 'Unlock', "Unlock by scroll!", "Unlock NOT by scroll!")
end sub
sub mgwo_wallofstone()
cast_wo(10, 20, 1, '0x1F44', 'Wall of Stone', "Wall of Stone by scroll!", "Wall of Stone NOT by scroll!")
end sub
sub mgwt_wallofstone()
cast_wt(10, 20, 1, '0x1F44', 'Wall of Stone', 'backpack', "Wall of Stone by scroll!", "Wall of Stone NOT by scroll!")
end sub
# Fourth Circle
sub mgwt_archcure()
cast_wt(12, 24, 1, '0x1F45', 'Arch Cure', 'self', "Arch Cure by scroll!", "Arch Cure NOT by scroll!")
end sub
sub mgwt_archprotection()
cast_wt(12, 24, 1, '0x1F46', 'Arch Protection', 'self', "Arch Protection by scroll!", "Arch Protection NOT by scroll!")
end sub
sub mgwo_curse()
cast_wo(8, 16, 1, '0x1F47', 'Curse', "Curse by scroll!", "Curse NOT by scroll!")
end sub
sub mgwt_curse()
cast_wt(8, 16, 1, '0x1F47', 'Curse', 'lastattack', "Curse by scroll!", "Curse NOT by scroll!")
end sub
sub mgwo_firefield()
cast_wo(12, 24, 1, '0x1F48', 'Fire Field', "Fire Field by scroll!", "Fire Field NOT by scroll!")
end sub
sub mgwt_firefield()
cast_wt(12, 24, 1, '0x1F48', 'Fire Field', 'backpack', "Fire Field by scroll!", "Fire Field NOT by scroll!")
end sub
sub mgwt_greaterheal_sf()
cast_wt(8, 16, 1, '0x1F49', 'Greater Heal', 'self', "Greater Heal by scroll!", "Greater Heal NOT by scroll!")
end sub
sub mgwt_greaterheal_ls()
cast_wt(8, 16, 1, '0x1F49', 'Greater Heal', 'laststatus', "Greater Heal by scroll!", "Greater Heal NOT by scroll!")
end sub
sub mgwt_lightning()
cast_wt(8, 16, 1, '0x1F4A', 'Lightning', 'lastattack', "Lightning by scroll!", "Lightning NOT by scroll!")
end sub
sub mgwt_manadrain()
cast_wt(8, 16, 1, '0x1F4B', 'Mana Drain', 'lastattack', "Mana Drain by scroll!", "Mana Drain NOT by scroll!")
end sub
sub mgwo_recall()
cast_wo(10, 20, 1, '0x1F4C', 'Recall', "Recall by scroll!", "Recall NOT by scroll!")
end sub
# Fifth Circle
sub mgwo_bladespirit()
cast_wo(12, 24, 1, '0x1F4D', 'Blade Spirit', "Blade Spirit by scroll!", "Blade Spirit NOT by scroll!")
end sub
sub mgwt_bladespirit()
cast_wt(12, 24, 1, '0x1F4D', 'Blade Spirit', 'backpack', "Blade Spirit by scroll!", "Blade Spirit NOT by scroll!")
end sub
sub mgwo_dispelfield()
cast_wo(7, 14, 1, '0x1F4E', 'Dispel Field', "Dispel Field by scroll!", "Dispel Field NOT by scroll!")
end sub
sub mgwt_incognito()
cast_wt(10, 20, 1, '0x1F4F', 'Incognito', 'self', "Incognito by scroll!", "Incognito NOT by scroll!")
end sub
sub mgwt_magicreflection()
cast_wt(9, 18, 1, '0x1F50', 'Magic Reflection','self', "Magic Reflection by scroll!", "Magic Reflection NOT by scroll!")
end sub
sub mgwt_mindblast()
cast_wt(9, 18, 1, '0x1F51', 'Mind Blast', 'lastattack', "Mind Blast by scroll!", "Mind Blast NOT by scroll!")
end sub
sub mgwt_paralyze()
cast_wt(9, 18, 1, '0x1F52', 'Paralyze', 'lastattack', "Paralyze by scroll!", "Paralyze NOT by scroll!")
end sub
sub mgwo_poisonfield()
cast_wo(12, 24, 1, '0x1F53', 'Poison Field', "Poison Field by scroll!", "Poison Field NOT by scroll!")
end sub
sub mgwt_poisonfield()
cast_wt(12, 24, 1, '0x1F53', 'Poison Field', 'backpack', "Poison Field by scroll!", "Poison Field NOT by scroll!")
end sub
sub mgwo_summoncreature()
cast_wo(12, 24, 1, '0x1F54', 'Summon creature', "Summon creature by scroll!", "Summon creature NOT by scroll!")
end sub
# Sixth Circle
sub mgwo_dispel()
cast_wo(8, 16, 1, '0x1F55', 'Dispel', "Dispel by scroll!", "Dispel NOT by scroll!")
end sub
sub mgwt_dispel()
cast_wt(8, 16, 1, '0x1F55', 'Dispel', 'self', "Dispel by scroll!", "Dispel NOT by scroll!")
end sub
sub mgwt_energybolt()
cast_wt(10, 20, 1, '0x1F56', 'Energy Bolt', 'lastattack', "Energy Bolt by scroll!", "Energy Bolt NOT by scroll!")
end sub
sub mgwt_explosion()
cast_wt(10, 20, 1, '0x1F57', 'Explosion', 'lastattack', "Explosion by scroll!", "Explosion NOT by scroll!")
end sub
sub mgwo_invisibility()
cast_wo(10, 20, 1, '0x1F58', 'Invisibility', "Invisibility by scroll!", "Invisibility NOT by scroll!")
end sub
sub mgwo_mark()
cast_wo(17, 33, 1, '0x1F59', 'Mark', "Mark by scroll!", "Mark NOT by scroll!")
end sub
sub mgwo_masscurse()
cast_wo(12, 24, 1, '0x1F5A', 'Mass Curse', "Mass Curse by scroll!", "Mass Curse NOT by scroll!")
end sub
sub mgwo_paralyzefield()
cast_wo(12, 24, 1, '0x1F5B', 'Paralyze Field', "Paralyze Field by scroll!", "Paralyze Field NOT by scroll!")
end sub
sub mgwt_paralyzefield()
cast_wt(12, 24, 1, '0x1F5B', 'Paralyze Field', 'backpack', "Paralyze Field by scroll!", "Paralyze Field NOT by scroll!")
end sub
sub mgwo_reveal()
cast_wo(10, 20, 1, '0x1F5C', 'Reveal', "Reveal by scroll!", "Reveal NOT by scroll!")
end sub
# Seventh Circle
sub mgwt_chainlightning()
cast_wt(12, 24, 1, '0x1F5D', 'Chain Lightning', 'self', "Chain Lightning by scroll!", "Chain Lightning NOT by scroll!")
end sub
sub mgwo_energyfield()
cast_wo(12, 24, 1, '0x1F5E', 'Energy Field', "Energy Field by scroll!", "Energy Field NOT by scroll!")
end sub
sub mgwt_energyfield()
cast_wt(12, 24, 1, '0x1F5E', 'Energy Field', 'backpack', "Energy Field by scroll!", "Energy Field NOT by scroll!")
end sub
sub mgwt_flamestrike()
cast_wt(11, 22, 1, '0x1F5F', 'Flame Strike', 'lastattack', "Flame Strike by scroll!", "Flame Strike NOT by scroll!")
end sub
sub mgwo_gatetravel()
cast_wo(14, 27, 1, '0x1F60', 'Gate Travel', "Gate Travel by scroll!", "Gate Travel NOT by scroll!")
end sub
sub mgwt_manavampire()
cast_wt(11, 22, 1, '0x1F61', 'Mana Vampire', 'lastattack', "Mana Vampire by scroll!", "Mana Vampire NOT by scroll!")
end sub
sub mgwt_massdispel()
cast_wt(11, 22, 1, '0x1F62', 'Mass Dispel', 'self', "Mass Dispel by scroll!", "Mass Dispel NOT by scroll!")
end sub
sub mgwt_meteorswarm()
cast_wt(12, 24, 1, '0x1F63', 'Meteor Swarm', 'self', "Meteor Swarm by scroll!", "Meteor Swarm NOT by scroll!")
end sub
sub mgwo_polymorph()
cast_wo(12, 24, 1, '0x1F64', 'Polymorph', "Polymorph by scroll!", "Polymorph NOT by scroll!")
end sub
# Eighth Circle
sub mgwo_earthquake()
cast_wo(14, 27, 1, '0x1F65', 'Earthquake', "Earthquake by scroll!", "Earthquake NOT by scroll!")
end sub
sub mgwo_energyvortex()
cast_wo(14, 27, 1, '0x1F66', 'Energy Vortex', "Energy Vortex by scroll!", "Energy Vortex NOT by scroll!")
end sub
sub mgwt_energyvortex()
cast_wt(14, 27, 1, '0x1F66', 'Energy Vortex', 'backpack', "Energy Vortex by scroll!", "Energy Vortex NOT by scroll!")
end sub
sub mgwo_resurrection()
cast_wo(12, 24, 1, '0x1F67', 'Resurrection', "Resurrection by scroll!", "Resurrection NOT by scroll!")
end sub
sub mgwt_resurrection()
cast_wt(12, 24, 1, '0x1F67', 'Resurrection', 'laststatus', "Resurrection by scroll!", "Resurrection NOT by scroll!")
end sub
sub mgwo_airelemental()
cast_wo(14, 27, 1, '0x1F68', 'Air Elemental', "Air Elemental by scroll!", "Air Elemental NOT by scroll!")
end sub
sub mgwo_daemon()
cast_wo(14, 27, 1, '0x1F69', 'Daemon', "Daemon by scroll!", "Daemon NOT by scroll!")
end sub
sub mgwo_earthelemental()
cast_wo(14, 27, 1, '0x1F6A', 'Earth Elemental', "Earth Elemental by scroll!", "Earth Elemental NOT by scroll!")
end sub
sub mgwo_fireelemental()
cast_wo(14, 27, 1, '0x1F6B', 'Fire Elemental', "Fire Elemental by scroll!", "Fire Elemental NOT by scroll!")
end sub
sub mgwo_waterelemental()
cast_wo(14, 27, 1, '0x1F6C', 'Water Elemental', "Water Elemental by scroll!", "Water Elemental NOT by scroll!")
end sub
# Main Procedures
sub cast_wt(scrollmana, castmana, drinkmana, scroll, cast, target, msgStatScr, msgStat)
# Vitali De Vir
uo.findtype(scroll,'-1','my')
if uo.findcount() then
uo.print('Scroll found!')
if uo.mana>=scrollmana then
uo.waittargetobject(target)
uo.usetype(scroll)
uo.print(msgStatScr)
else
if drinkmana==1 then
uo.findtype('0x0F0E','0x09DF','my')
if uo.findcount() then
uo.usetype('0x0F0E','0x09DF') # drink total mana
wait(200)
uo.waittargetobject(target)
uo.usetype(scroll)
uo.print(msgStatScr)
uo.print("Total Mana drunk!")
else
uo.print("You have scrolls, but no mana potions left!")
endif
else
uo.print("Low mana!")
endif
endif
else
if uo.mana>=castmana then
uo.waittargetobject(target)
uo.cast(cast)
uo.print(msgStat)
else
if drinkmana==1 then
uo.findtype('0x0F0E','0x09DF','my')
if uo.findcount() then
uo.usetype('0x0F0E','0x09DF') # drink total mana
wait(200)
uo.waittargetobject(target)
uo.cast(cast)
uo.print(msgStat)
uo.print("Total Mana drunk!")
else
uo.print("No Total Mana potions found!")
uo.print("And no mana, sorry :D")
endif
else
uo.print("Low mana!")
endif
endif
endif
end sub
sub cast_wo(scrollmana, castmana, drinkmana, scroll, cast, msgStatScr, msgStat)
# Vitali De Vir
uo.findtype(scroll,'-1','my')
if uo.findcount() then
uo.print('Scroll found!')
if uo.mana>=scrollmana then
uo.usetype(scroll)
uo.print(msgStatScr)
else
if drinkmana==1 then
uo.findtype('0x0F0E','0x09DF','my')
if uo.findcount() then
uo.usetype('0x0F0E','0x09DF') # drink total mana
wait(200)
uo.usetype(scroll)
uo.print(msgStatScr)
uo.print("Total Mana drunk!")
else
uo.print("You have scrolls, but no mana potions left!")
endif
else
uo.print("Low mana!")
endif
endif
else
if uo.mana>=castmana then
uo.cast(cast)
uo.print(msgStat)
else
if drinkmana==1 then
uo.findtype('0x0F0E','0x09DF','my')
if uo.findcount() then
uo.usetype('0x0F0E','0x09DF') # drink total mana
wait(200)
uo.cast(cast)
uo.print(msgStat)
uo.print("Total Mana drunk!")
else
uo.print("No Total Mana potions found!")
uo.print("And no mana, sorry :D")
endif
else
uo.print("Low mana!")
endif
endif
endif
end sub