Advanced magery

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Advanced magery

Post by Destruction »

Собственно приспичило мне магию прокачать, да не просто прокачать, а афигенно прокачать :-)) Написал небольшой скриптец - может кому пригодиться.

Code: Select all

sub AdvancedMagery()
; Advanced magery script v1.1, (c) Destruction.
var i, spell = "Magic Arrow" ; спел который кастовать
var target = "self" ; куда прицеливаться - false если не требуется
var nmedit = true ; нужно ли медитировать?
var nheal = "0x0E21" ; тип бинтов или false, чтобы не лечиться
var b_ban = "0x0E20" ; тип кровавых бинтов
var water =  "0x400524D2" ; water tub ID или false, чтобы не мыть бинты
var watertile = false ; tile type, tile x, tile y, tile z через зепятую или false чтобы не мыть
var bag = "0x40021A29" ; сумка откуда всё набирать или false
uo.useobject(bag)
checklag()
var nlen = 3 ; количество необходимых реагентов
DIM reagents[val(str(nlen))]
; реагенты
reagents[0] = "0x0F88" ; nightshade
reagents[1] = "0x0F7A" ; black pearls
reagents[2] = "0x0E21" ; bandages
while uo.skillval("Magery",1) < 1000
if bag then
for i=0 to nlen-1
GrabReag(reagents[i],bag)
next
endif
Cast(spell,target)
if nmedit then
Medit()
endif
if nheal then
Heal(nheal)
endif
if water then
CleanBTub(water,b_ban)
endif
if watertile then
CleantBTile(water,b_ban)
endif
wend
endsub

Sub GrabReag(r,b)
; функция добора r из b до 30.
var q
repeat
q = GetCount(r)
if q < 30 then
uo.findtype(r,"-1",b)
uo.moveitem("finditem",str(30-q),"backpack")
wait(100)
endif
until q >= 30
endsub

Sub GetCount(type)
; функция подсчёта количества вещей (стекующихся) в бекпеке по типу
var count = 0
uo.findtype(type,"-1","backpack")
while uo.findcount()
count = count + uo.getQuantity("finditem")
uo.ignore("finditem")
uo.findtype(type,"-1","backpack")
wend
uo.ignorereset()
return count
endsub

Sub CleantBTile(t,b)
; помывка бинтов в луже, t - информация о тайле (from tileinfo), b - грязные бинты
while uo.count()
uo.exec("waittargettile "+t)
uo.usetype(b)
checklag()
wait(50)
wend
endsub

Sub CleanBTub(w,b)
; помывка бинтов в тазике, w - Tazik ID, b - грязные бинты
while uo.count(b)
uo.waittargetobject(w)
uo.usetype(b)
checklag()
wait(50)
wend
endsub

Sub Heal(b)
; функция лечения себя, b - тип бинтов
while uo.getHP() < uo.str
uo.waittargetobject("self")
uo.usetype(b)
checklag()
wait(750)
wend
endsub

Sub Medit()
; функция медитации
while uo.mana < uo.int
uo.useskill("Meditation")
wait(300)
wend
endsub

Sub Cast(p1, p2)
; функция каста. p1 - что кастуем, p2 - куда кастуем.
var mana = uo.mana
if p2 then
uo.waittargetobject(p2)
endif
uo.cast(p1)
var timer = uo.timer()
repeat
wait(100)
until uo.mana < mana || uo.timer()-30 > timer
endsub


PS: Приоритеты легко меняются простой правкой условий в первой функции.
Last edited by Destruction on 2006-04-18 17:42:01, edited 4 times in total.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Update.

В скрипте был баг, на большинстве шардов, бинты после помыва остаются отдельной кучкой, в результате чего, происходил бесконечный добор бинтов и со временем переставали влезать реагенты.

Теперь бинты по прежнему лежат десятком кучек, но подсчитываются корректно.
1a2a3a4a5a6a
Posts: 173
Joined: 2006-02-10 13:26:37

Post by 1a2a3a4a5a6a »

Человек написал скрипт, а никто не ценит. Ужас.
Я бы потестировал, но магия уже давным давно прокачена. :)
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Der wrote:Не гони... я например на POL'е играю... у меня всё намного проще :) мой скрипт 13 строчек :)

Дану, и как насчёт с пойзона перебежать на магик арров? Много времени займёт?.. То-то же!
ghost_hnt
Posts: 156
Joined: 2006-02-03 19:32:33

Post by ghost_hnt »

а можешь сделать так:
чар использует магию- поизон на себя пока не кончится мана, потом хелится, когда похелится врубается медитация и все по кругу...
или скрипт будет не надежен и чар себя убьет?)
ЦСКА- чЕмПиОн, кто не верит, тот ...... (нехороший человек)
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Destruction wrote:
Der wrote:Не гони... я например на POL'е играю... у меня всё намного проще :) мой скрипт 13 строчек :)

Дану, и как насчёт с пойзона перебежать на магик арров? Много времени займёт?.. То-то же!


Что ты имеешь ввиду?
...с пойзона перебежать на магик арров...
Я внатуре не врубился =(

Если ты про то что надо постоянно менять заклинание, то могу сказать, что до 90 качается за ночь... дальше на скроллах из е-буки (вообще ничего в скрипте менять не надо :) )

Еслиб у меня была фабрика про качанию чаров то я наверное бы написал полный автомат на прокачку, но мне этого не надо... проще ручками всё подправить (1 минута на это уходит) =)

ЗЫ: Я не имею ничего против твоего скрипта. Каждый выбирает под себя... Мне он не нужен, а кому-то наверно пригодится... я просто хотел сказать, что мне проще пользоваться своим малюсеньким скриптом...
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Der wrote:
Destruction wrote:
Der wrote:Не гони... я например на POL'е играю... у меня всё намного проще :) мой скрипт 13 строчек :)

Дану, и как насчёт с пойзона перебежать на магик арров? Много времени займёт?.. То-то же!


Что ты имеешь ввиду?
...с пойзона перебежать на магик арров...
Я внатуре не врубился =(

Если ты про то что надо постоянно менять заклинание, то могу сказать, что до 90 качается за ночь... дальше на скроллах из е-буки (вообще ничего в скрипте менять не надо :) )

Еслиб у меня была фабрика про качанию чаров то я наверное бы написал полный автомат на прокачку, но мне этого не надо... проще ручками всё подправить (1 минута на это уходит) =)

ЗЫ: Я не имею ничего против твоего скрипта. Каждый выбирает под себя... Мне он не нужен, а кому-то наверно пригодится... я просто хотел сказать, что мне проще пользоваться своим малюсеньким скриптом...

Зависит от шарда, это раз.

Магию я качаю на пойзоне, а вот резист нас трелках или стенках - приходиться менять спелл,это я имел ввиду сказав "перебежать".

И ваще, скрипт чтобы люди пользовались, которые не скриптописатели.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

ghost_hnt wrote:а можешь сделать так:
чар использует магию- поизон на себя пока не кончится мана, потом хелится, когда похелится врубается медитация и все по кругу...
или скрипт будет не надежен и чар себя убьет?)

Замени спелл на Poison и всё будет..

Скрипт надёжный, я фигню не выкладываю.
ghost_hnt
Posts: 156
Joined: 2006-02-03 19:32:33

Post by ghost_hnt »

ну мне действие скрипта чуток не понятно...
почему он не полностью вырабатывает ману и хелится , а только пару раз, потом хелится и в медитацию, когда мана почти полная
но вроде все пашет :)
ЦСКА- чЕмПиОн, кто не верит, тот ...... (нехороший человек)
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

ghost_hnt wrote:ну мне действие скрипта чуток не понятно...
почему он не полностью вырабатывает ману и хелится , а только пару раз, потом хелится и в медитацию, когда мана почти полная
но вроде все пашет :)

Исправь приоритеты в условиях.
S.M.A.R.T
Posts: 1
Joined: 2004-10-23 08:11:23

Post by S.M.A.R.T »

can anyone translate to me the part that is in..is it russian? :roll:
thanks
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Staxxx
Posts: 13
Joined: 2006-05-03 16:19:20
Location: Piternah

Post by Staxxx »

не пашет блин, а bag должен быть на полу? или на руках?
ahahahhahhah^^
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Staxxx wrote:не пашет блин, а bag должен быть на полу? или на руках?


Конечно на полу :lol: Ты удержишь в руках тысяч 10 регов и пару тысяч бинтов? :twisted:
Post Reply