Page 1 of 1
Может кто-нибудь написать скрипт?
Posted: 2007-01-10 06:19:19
by GooD
Суть скрипта:
Чар кидает заклинание "Magiс arrow" в другого чара и следит за его жизнью, как здоровье опустилось ниже положеного лечит его и моет бинты, если не хватает маны на заклинание медитирует полностью.
Заранее спасибо!
Re: Может кто-нибудь написать скрипт?
Posted: 2007-01-10 07:39:54
by Nmy
GooD wrote:Суть скрипта:
Чар кидает заклинание "Magiс arrow" в другого чара и следит за его жизнью, как здоровье опустилось ниже положеного лечит его и моет бинты, если не хватает маны на заклинание медитирует полностью.
Заранее спасибо!
такое можно наидти в поиске...
Re: Может кто-нибудь написать скрипт?
Posted: 2007-01-10 12:03:39
by GooD
NMY wrote:такое можно наидти в поиске...
Я пробовал, чего-то не нашёл! Если поможешь найти буду благодарен!
Posted: 2007-01-10 15:54:18
by Mihail
Я могу написать!
Posted: 2007-01-11 03:03:57
by GooD
Mihail wrote:Я могу написать!
Напиши пожалуйста, буду примного благодарен!
Posted: 2007-01-11 10:04:24
by Destruction
Хмм, ну взять мой же AdvancedMagery, настроить, сделать пару поправочек, чтобы порверял чужие хп и всё..
Posted: 2007-01-11 16:51:26
by GooD
Destruction wrote:Хмм, ну взять мой же AdvancedMagery, настроить, сделать пару поправочек, чтобы порверял чужие хп и всё..
Я в инже ноль просто, могу только в готовом скрипте поменять ИД или ТИП предмета, всё что я могу, а вставлять всякие проверки для меня это тёмный лес. Помоги пожалуйста если можешь!
Posted: 2007-01-12 00:51:15
by Mihail
могут-то тут через одного этот скрипт написать но не будут.. иди читай уроки скриптинга
Posted: 2007-01-12 04:16:18
by Destruction
Поглядел свой скрипт - ужос нах -)
Code: Select all
sub AdvancedMagery()
; Advanced magery script v1.1, (c) Destruction.
; Special version for GooD.
var i, spell = "Magic Arrow" ; спел который кастовать
var target = "ID другого чара" ; куда прицеливаться - 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
if bag then
uo.useobject(bag)
checklag()
endif
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,target)
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, tar)
; функция лечения себя, b - тип бинтов
if NOT b then
return false
endif
while uo.getHP() < uo.str
uo.waittargetobject( tar )
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
Так попробуй.