Может кто-нибудь написать скрипт?

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
GooD
Posts: 14
Joined: 2005-02-24 14:41:56

Может кто-нибудь написать скрипт?

Post by GooD »

Суть скрипта:
Чар кидает заклинание "Magiс arrow" в другого чара и следит за его жизнью, как здоровье опустилось ниже положеного лечит его и моет бинты, если не хватает маны на заклинание медитирует полностью.

Заранее спасибо!
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Re: Может кто-нибудь написать скрипт?

Post by Nmy »

GooD wrote:Суть скрипта:
Чар кидает заклинание "Magiс arrow" в другого чара и следит за его жизнью, как здоровье опустилось ниже положеного лечит его и моет бинты, если не хватает маны на заклинание медитирует полностью.

Заранее спасибо!


такое можно наидти в поиске...
GooD
Posts: 14
Joined: 2005-02-24 14:41:56

Re: Может кто-нибудь написать скрипт?

Post by GooD »

NMY wrote:такое можно наидти в поиске...

Я пробовал, чего-то не нашёл! Если поможешь найти буду благодарен!
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

Я могу написать!
GooD
Posts: 14
Joined: 2005-02-24 14:41:56

Post by GooD »

Mihail wrote:Я могу написать!

Напиши пожалуйста, буду примного благодарен!
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Хмм, ну взять мой же AdvancedMagery, настроить, сделать пару поправочек, чтобы порверял чужие хп и всё..
GooD
Posts: 14
Joined: 2005-02-24 14:41:56

Post by GooD »

Destruction wrote:Хмм, ну взять мой же AdvancedMagery, настроить, сделать пару поправочек, чтобы порверял чужие хп и всё..

Я в инже ноль просто, могу только в готовом скрипте поменять ИД или ТИП предмета, всё что я могу, а вставлять всякие проверки для меня это тёмный лес. Помоги пожалуйста если можешь!
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

могут-то тут через одного этот скрипт написать но не будут.. иди читай уроки скриптинга
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post 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


Так попробуй.
Post Reply