скрипти саваджа

Anything and all.

Moderators: Murderator+, Murderator

Kazoo
Posts: 173
Joined: 2004-04-03 18:39:28
Contact:

скрипти саваджа

Post by Kazoo »

надеюсь хозайн не обидеца што виложил его скрипти !

Code: Select all

#==============================================================
#  Healing() - memoryzed current weapon, bandageself, armed
#--------------------------------------------------------------
sub Healing()
	UO.SetArm('CWeapon')
	UO.Exec("bandageself")
	wait(300)
	UO.Arm('CWeapon')
end sub

#==============================================================
#  Arrow() - cast magic arrow on laststatus
#--------------------------------------------------------------
sub Arrow()
	VAR ManaNeed=4
	UO.Set('lasttarget','laststatus')
	if UO.Mana>=ManaNeed then
		UO.Cast('Magic Arrow','laststatus')
	else
		UO.Print("Low mana!!!")
	endif
end sub


#==============================================================
#  Poison() - cast poison on laststatus if target-char not
#             poisoned and your char have enought mana
#--------------------------------------------------------------
sub Poison()
	VAR ManaNeed=9
	VAR ScrollManaNeed=4
	UO.Set('lasttarget','laststatus')
	If NOT UO.Poisoned('lasttarget') Then
		UO.FindType('0x1F40',-1,'my')
		If UO.GetQuantity('finditem')>0 Then
			If UO.Mana>=ScrollManaNeed Then
				UO.WaitTargetObject('lasttarget')
				UO.UseObject('finditem')
				UO.Print("Scroll")
			Else
				UO.Print("Low mana!!! Scroll!")
			Endif
		Else
			If UO.Mana>=ManaNeed Then
				UO.Cast('Poison','laststatus')
			Else
				UO.Print("Low mana!!!")
			Endif
		Endif
	Else
		UO.Print("Character already poisoned!")
	Endif
end sub


#==============================================================
#  Cure() - cast cure to self from scroll, if she found
#           or from spellbook
#--------------------------------------------------------------
sub Cure()
	VAR ManaNeed=6
	VAR ManaNeedScroll=3
	If UO.Poisoned() Then
		UO.FindType('0x1F37',-1,'my')
		If UO.FindCount()>0 Then
			If UO.Mana>=ManaNeedScroll Then
				UO.WaitTargetSelf()
				UO.UseObject('finditem')
				UO.Print("Scroll!!!")
			Else
				UO.Print("Low mana scroll!!!")
			Endif
		Else
			If UO.Mana>=ManaNeed Then
				UO.Cast('Cure','self')
				UO.Print("Spell!!!")
			Else
				UO.Print("Low mana spell!!!")
			Endif
		Endif
	Else
		UO.Print("You allready not sick!!!")
	Endif
end sub


#==============================================================
#  Heal() - cast heal to self from scroll, if she found
#           or from spellbook
#--------------------------------------------------------------
sub Heal()
	VAR ManaNeed=4
	VAR ManaNeedScroll=2
	If UO.Life<UO.Str Then
		UO.FindType('0x1F31',-1,'my')
		If UO.FindCount()>0 Then
			If UO.Mana>=ManaNeedScroll Then
				UO.WaitTargetSelf()
				UO.UseObject('finditem')
				UO.Print("Scroll!!!")
			Else
				UO.Print("Low mana scroll!!!")
			Endif
		Else
			If UO.Mana>=ManaNeed Then
				UO.Cast('Heal','self')
				UO.Print("Spell!!!")
			Else
				UO.Print("Low mana spell!!!")
			Endif
		Endif
	Else
		UO.Print("Your HP at maximum!!!")
	Endif
end sub


#==============================================================
#  GHeal() - cast greater heal to self from scroll, if she 
#            found or from spellbook
#--------------------------------------------------------------
sub GHeal()
	VAR ManaNeed=11
	VAR ManaNeedScroll=5
	If UO.Life<UO.Str Then
		UO.FindType('0x1F49',-1,'my')
		If UO.FindCount()>0 Then
			If UO.Mana>=ManaNeedScroll Then
				UO.WaitTargetSelf()
				UO.UseObject('finditem')
				UO.Print("Scroll!!!")
			Else
	UO.UseType('0x0F0E','0x09DF') ; total mana potion
			Endif
		Else
			If UO.Mana>=ManaNeed Then
				UO.Cast('Greater Heal','self')
				UO.Print("Spell!!!")
			Else
				UO.Print("Low mana spell!!!")
			Endif
		Endif
	Else
		UO.Print("Your HP at maximum!!!")
	Endif
end sub


#==============================================================
#  Paral() - cast Paralyze to last status from scroll, if she 
#            found or from spellbook
#--------------------------------------------------------------
sub Paral()
	UO.Set('lasttarget','laststatus')
	UO.FindType('0x1F52',-1,'my')
	If UO.GetQuantity('finditem')>0 then
		if UO.Mana>=14 then
			UO.WaitTargetObject('lasttarget')
			UO.UseObject('finditem')
		else
		endif
	else
		if UO.Mana>=28 then
			UO.Cast('Paralyze','laststatus')
		else
		endif
	endif
end sub


#==============================================================
#  Flame() - cast Flame Strike to last status from scroll, 
#            if she found or from spellbook
#--------------------------------------------------------------
sub Flame()
	UO.Set('lasttarget','laststatus')
	UO.FindType('0x1F5F',-1,'my')
	If UO.GetQuantity('finditem')>0 then
		if UO.Mana>=22 then
			UO.WaitTargetObject('lasttarget')
			UO.UseObject('finditem')
			UO.Say("An Ex Por")
		else
		endif
	else
		if UO.Mana>=45 then
			UO.Cast('Flame Strike','laststatus')
		else
		endif
	endif
end sub


#==============================================================
#  Light() - cast Lighting to last status from scroll, 
#            if she found or from spellbook
#--------------------------------------------------------------
sub Light()
	UO.Set('lasttarget','laststatus')
	UO.FindType('0x1F4A',-1,'my')
	If UO.GetQuantity('finditem')>0 then
		if UO.Mana>=10 then
			UO.WaitTargetObject('lasttarget')
			UO.UseObject('finditem')
			UO.Print("Scroll")
		else
			UO.Print("Low mana!!! Scroll!")
		endif
	else
		if UO.Mana>=20 then
			UO.Cast('Lightning','laststatus')
			UO.Print("Spell")
		else
			UO.Print("Low mana!!! Spell!")
		endif
	endif
end sub

#==============================================================
#  Trm()-Tra() - Traccking scripts
#--------------------------------------------------------------
sub trm()
	UO.WaitMenu('Tracking','Monsters')
	UO.UseSkill('Tracking')
;	UO.CancelMenu()
end sub

sub trp()
	UO.WaitMenu('Tracking','Players')
	UO.UseSkill('Tracking')
;	UO.CancelMenu()
end sub

sub tra()
	UO.WaitMenu('Tracking','Animals')
	UO.UseSkill('Tracking')
;	UO.CancelMenu()
end sub

###############################################################
###############################################################
;
;                        Alchemy Sub
;
###############################################################
###############################################################

#==============================================================
#  Alchemy(reagent, min_reg, choice) - main alchemi script
#
#  reagent - type of reagent
#  min_reg - min count reagets to make potion
#  choice - menu choice after using reagents
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub Alchemy(reagent, min_reg, choice)
	while UO.Count('0x0F0E','0x0000')>0 AND UO.Count(reagent)>=min_reg
		UO.DeleteJournal()
		UO.Exec("waitmenu 'What sort of potion do you want to' "+choice)
		UO.UseType(reagent)
		while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed")
			wait(300)
		wend
	wend
	gong(2)
end sub


#==============================================================
#  makedpoison() - toss deadly poison potion
#--------------------------------------------------------------
sub makedpoison()
	alchemy('0x0F88', 8, "'Deadly Poison'")
end sub


#==============================================================
#  makeinvis() - toss invisibility potion
#--------------------------------------------------------------
sub makeinvis()
	alchemy('0x0F91', 4, "'Invisibility'")
end sub


#==============================================================
#  maketm() - toss total mana potion
#--------------------------------------------------------------
sub maketm()
	alchemy('0x0F87', 6, "'Total Mana'")
end sub

#==============================================================
#  makegh() - toss total mana potion
#--------------------------------------------------------------
sub makegh()
	alchemy('0x0F85', 7, "'Greater Heal'")
end sub


#==============================================================
#  makess() - toss stoneskin potion
#--------------------------------------------------------------
sub makess()
	alchemy('0x0F85', 1, "'Stoneskin'")
end sub

###############################################################
###############################################################
;
;                        Tinkering Sub
;
###############################################################
###############################################################

#==============================================================
#  MakeBottle() - crafting empty bottle
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub makebottle()
	VAR c
	while NOT UO.Dead()
		ToHide()

		UO.FindType('0x1BEF','0x0000','backpack')
		if UO.GetQuantity('finditem')<=10 then

			UO.FindType('0x0F0E','0x0000','backpack')
			If UO.GetQuantity('finditem')>0 Then
				UO.SetReceivingContainer('0x400704F3')
				wait(1000)
				UO.Grab('all','finditem')
				wait(1000)
				UO.UnSetReceivingContainer()
			Endif

			UO.FindType('0x1BEF','0x0000','0x40079475')
			wait(1000)
			UO.Grab('1000','finditem')
			wait(1000)
		endif

		CheckLag()
		UO.Exec("waitmenu 'Tinkering' 'Tools' 'Tools' 'empty bottle'")
		UO.UseType('0x1EBC') ; tinker tools
		while NOT UO.InJournal("You put") AND NOT UO.InJournal("Tinkering failed")
			wait(300)
		wend
	wend
end sub

###############################################################
###############################################################
;
;                       Inscription Sub
;
###############################################################
###############################################################

#==============================================================
#  Inscript() - main Inscription sub
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub Inscript()
	while UO.Count('0x0E34')>0 ; blank scroll
		UO.DeleteJournal()
		UO.UseType('0x0E34') ; blank scroll
		while NOT UO.InJournal("You put") AND NOT UO.InJournal("You fail")
			wait(500)
		wend
	wend
end sub


#==============================================================
#  SPar() - crafting Paralize scroll
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub spar()
	UO.CancelMenu()
	UO.AutoMenu('Spell Circle 5','Paralyze')
	UO.AutoMenu('Spell Circles','Fifth Circle')
	Inscript()	
	UO.CancelMenu()
	gong(2)
end sub


#==============================================================
#  SFS() - crafting FlameStrike scroll
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub sfs()
	UO.CancelMenu()
	UO.AutoMenu('Spell Circle 7','Flamestrike')
	UO.AutoMenu('Spell Circles','Seventh Circle')
	Inscript()	
	UO.CancelMenu()
	gong(2)
end sub


#==============================================================
#  Spoison() - crafting Poison scroll
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub spoison()
	UO.CancelMenu()
	UO.AutoMenu('Spell Circle 3','Poison')
	Inscript()	
	UO.CancelMenu()
	gong(2)
end sub


#==============================================================
#  SLi() - crafting Lighting scroll
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub sli()
	UO.CancelMenu()
	UO.AutoMenu('Spell Circle 4','Lightning')
	UO.AutoMenu('Spell Circles','Fourth Circle')
	Inscript()	
	UO.CancelMenu()
	gong(2)
end sub


#==============================================================
#  SRecall() - crafting Recall scroll
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub srecall()
	UO.CancelMenu()
	UO.AutoMenu('Spell Circle 4','Recall')
	UO.AutoMenu('Spell Circles','Fourth Circle')
	Inscript()	
	UO.CancelMenu()
	gong(2)
end sub


#==============================================================
#  SHeal() - crafting Heal scroll
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub sheal()
	UO.CancelMenu()
	UO.AutoMenu('Spell Circle 1','Heal')
	UO.AutoMenu('Spell Circles','First Circle')
	Inscript()	
	UO.CancelMenu()
	gong(2)
end sub


#==============================================================
#  SGHeal() - crafting Great Heal scroll
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub sgheal()
	UO.CancelMenu()
	UO.AutoMenu('Spell Circle 4','Greater')
	UO.AutoMenu('Spell Circles','Fourth Circle')
	Inscript()	
	UO.CancelMenu()
	gong(2)
end sub


#==============================================================
#  SGTravell() - crafting Gate Travel scroll
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub sgtravel()
	UO.CancelMenu()
	UO.AutoMenu('Spell Circle 7','Gate Travel')
	UO.AutoMenu('Spell Circles','Seventh Circle')
	Inscript()	
	UO.CancelMenu()
	gong(2)
end sub

#==============================================================
#  herd() - Herding training script
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub herd()
	VAR LastTimer
	while NOT UO.Dead()
		UO.WaitTargetObject('0x000AD7CE') ; mustang
		UO.UseType('0x13F4') ; crock
		wait(1000)
		UO.LClick(410,219)
		LastTimer=UO.Timer()
		UO.DeleteJournal()
		while NOT UO.InJournal("You don") AND LastTimer+200<UO.Timer()
			wait(100)
		wend
	wend
	gong(10)
end sub

Smelting Ore 

sub strs()
	VAR Cont=0x400D1BFC
	repeat
		ToHide()
		UO.FindType('0x19B9','0x0000',Cont)
		UO.Grab('3','finditem')
		CheckLag()

		UO.SetReceivingContainer(Cont)
		UO.FindType('0x19B8','0x0000','backpack')

		UO.Grab('2','finditem')
		UO.UnSetReceivingContainer()
		CheckLag()
		UO.SetCatchBag(Cont)
		UO.UseType('ore1')
		wait(1000)
		UO.UnSetCatchBag()
	until UO.Weight>700

	UO.FindType('0x1BEF','0x0000','backpack')
	UO.SetReceivingContainer(Cont)

	UO.Grab('0','finditem')
	UO.UnSetReceivingContainer()

end sub

sub bs()
	VAR Exit=0, LastTimer
	while Exit<>1
		ToHide()
		UO.DeleteJournal()
		LastTimer=UO.Timer()
		UO.WaitMenu('Blacksmithing','Weapons','Weapons','Swords','Swords','dagger')
		UO.UseType(0x1BEF) ; iron ings

		while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
				wait(500)
		wend

		If UO.InJournal("You have failed") then
			repeat
				wait(100)
			until UO.Timer()>=LastTimer+100 ;time to make a dagger
		EndIf

		UO.FindType('0x0F51',-1,'backpack')
		wait(500)

		If UO.GetQuantity('finditem') then
			UO.WaitTargetObject('finditem')
			UO.UseObject(0x400D22C9) ;forge
		Endif

		UO.FindType('0x1BEF',-1,'backpack')
		If UO.GetQuantity('finditem')<10 then
			UO.FindType('0x1BEF','0x0000','0x400D1BFC')
			wait(1000)
			UO.Grab('1000','finditem')
		Endif
		wait(1000)
	wend	
	gong(2)
end sub

sub reg()
	VAR StoreRegCont=0x40150D14
	VAR CharRegBag
	VAR CountReg=60
	VAR WaitTime=600
	VAR MainSafe=0x40150D14

	UO.FindType('0x09B0','0x0044','backpack')
	If UO.GetQuantity('finditem')>0 Then
		CharRegBag='finditem'
	Else
		CharRegBag='0x400C7242'
	Endif

	UO.UseObject(MainSafe)
	UO.UseObject(StoreRegCont)
	
	UO.SetReceivingContainer(CharRegBag)
	wait(WaitTime)

	if UO.BM<CountReg then
		UO.FindType('0x0F7B','-1',StoreRegCont) ; BM
		UO.Grab(STR((CountReg-UO.BM)),'finditem')
		wait(WaitTime)
	endif

	if UO.BP<CountReg then
		UO.FindType('0x0F7A','-1',StoreRegCont) ; BP
		UO.Grab(STR(CountReg-UO.BP),'finditem')
		wait(WaitTime)
	endif

	if UO.GA<CountReg then
		UO.FindType('0x0F84','-1',StoreRegCont) ; GA
		UO.Grab(STR(CountReg-UO.GA),'finditem')
		wait(WaitTime)
	endif

	if UO.GS<CountReg then
		UO.FindType('0x0F85','-1',StoreRegCont) ; GS
		UO.Grab(STR(CountReg-UO.GS),'finditem')
		wait(WaitTime)
	endif

	if UO.MR<CountReg then
		UO.FindType('0x0F86','-1',StoreRegCont) ; MR
		UO.Grab(STR(CountReg-UO.MR),'finditem')
		wait(WaitTime)
	endif

	if UO.NS<CountReg then
		UO.FindType('0x0F88','-1',StoreRegCont) ; NS
		UO.Grab(STR(CountReg-UO.NS),'finditem')
		wait(WaitTime)
	endif

	if UO.SA<CountReg then
		UO.FindType('0x0F8C','-1',StoreRegCont) ; SA
		UO.Grab(STR(CountReg-UO.SA),'finditem')
		wait(WaitTime)
	endif

	if UO.SS<CountReg then
		UO.FindType('0x0F8D','-1',StoreRegCont) ; SS
		UO.Grab(STR(CountReg-UO.SS),'finditem')
	endif
end:
	UO.UnsetReceivingContainer()
end sub

sub sparring()
	VAR Char1='0x000BF49A'
	VAR Char2='0x000B0029'
	VAR Enemy, ESelf, EEnemy
	

	if UO.GetSerial('self')==Char1 then
		Enemy=Char2
		EEnemy=90
		ESelf=80
	else
		Enemy=Char1
		EEnemy=80
		ESelf=90
	endif

	UO.SetEasyUO(ESelf,"0")
	
	while NOT UO.Dead()
	
		repeat
			wait(500)
		until UO.GetEasyUO(ESelf)=="0" AND UO.GetEasyUO(EEnemy)=="0" 
		
		UO.Exec("warmode 1")
		UO.Attack(Enemy)
		
		while UO.Life>=50 AND UO.GetEasyUO(EEnemy)=="0" 
			wait(100)
		wend

		UO.SetEasyUO(ESelf,"1")
		UO.Exec("warmode 0")

		while UO.Life<UO.Str
			UO.Exec("warmode 0")
			healing()
			wait(6000)
		wend
		UO.UseType('0x13E3')
		UO.CancelTarget()
		UO.SetEasyUO(ESelf,"0")

	wend
end sub

sub alchtrain()
	VAR Exit=0, LastTimer, TryToPoison
	while Exit<>1
		ToHide()
		UO.DeleteJournal()

		UO.FindType('0x0F0E',-1,'backpack')
		If UO.GetQuantity('finditem')<10 then
			UO.FindType('0x0F0E','0x0000','0x400704F3')
			wait(1000)
			UO.Grab('500','finditem')
			wait(1000)
		Endif

		UO.FindType('0x0F88','0x0000','backpack')
		If UO.GetQuantity('finditem')<20 then
			UO.FindType('0x0F88','0x0000','0x400704F3')
			wait(1000)
			UO.Grab('1000','finditem')
			wait(1000)
		Endif

		LastTimer=UO.Timer()
		UO.WaitMenu('What','(last)')
		UO.UseType(0x0F88) ; NightShade

		while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed")
				wait(500)
		wend

		If UO.InJournal("You toss the failed") then
			repeat
				wait(100)
			until UO.Timer()>=LastTimer+100 ;time to make a dagger
		Else
			TryToPoison=1
			repeat
				UO.FindType('0x0F0E','0x0998','my')
				If UO.GetQuantity('finditem')>0 then
					UO.WaitTargetObject('0x4012DB8E','finditem')
					UO.UseSkill('Poisoning')
					wait(4000)
				Else
					TryToPoison=0
				Endif
			until TryToPoison==0
		EndIf
	wend	
end sub


sub bowcraft()
VAR Exit=0
	repeat
		UO.DeleteJournal()
		UO.FindType('0x1BDD','0x0000','0x400F7FEE')
		if UO.GetQuantity('finditem')>0 then
			UO.Grab('3','finditem')
			UO.SetReceivingContainer('0x400F7FEE')
			UO.Grab('2','finditem')
			UO.WaitMenu('What','shaft')
			UO.WaitTargetObject('finditem')
			UO.UseType('0x0F51')
			while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail')
				wait(500)
			wend
			UO.FindType('0x1BD4','0x0000','my')
			if UO.GetQuantity('finditem')>0 then
				UO.Grab('all','finditem')
			Endif
			UO.UnSetReceivingContainer()
		Else
			Exit=1
		endif
	until Exit==1
end sub

sub taming()
	VAR Creature='0x0008AE17'

	while NOT UO.Dead()
		UO.DeleteJournal()
		UO.WaitTargetObject(Creature)
		UO.UseType('0x13F8')
		repeat
			wait(1000)
		until UO.InJournal('You fail') OR UO.InJournal('It seems')
		If Uo.InJournal('It seems') Then
			UO.Say('All release')
		Endif
	wend

end sub
Pummy
Posts: 18
Joined: 2004-04-04 07:39:27

Post by Pummy »

Savage(from old forum):
"Значит скрипт на випуху, в большой шахте умещаются 4 копателя, каждый копает на 4 тайла от себя. Те кто в состоянии килять элемов в морфе, снаряжаются набором регов на мрф, хитером, горгетом, манкакми, инвизками и немного гх. Ну и кирку соответственно.

Надо включить опцию автостарт на вкладке майн, и назвать скрипт autoload.sc Прописать рег, если не ставили никогда изиуо www.jetta.ru/easy.reg

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

Найти в скрипте unloadore координаты тайла перед сундуком для выгрузки, сериал сундука и исправить. Заменить если надо, команды похода к сундуку на команды похода к порталу.

Известные косяки: Если чар выкапывает два элема подряд и один из них сам не нападает, чар на него забивает. Редко, но случается.

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

Из 3 челов кому посылал скрипт еще никто не запустил Хотя он проще и надежней предыдущего

А, кстати, если на одного чара настраивать, все упоминания про изю можно закоментировать. Она нужна только чтоб сообщить другим клиентам об опасности.

Запускать из консоли клиента: ,exec mine"
Code:

#==============================================================
# autostart() - Declaration global variables
#
#
# Journal has been deleted!!!
#--------------------------------------------------------------
sub autostart()
wait(3000)
UO.SetGlobal('Connected','Yes')
UO.SetEasyUO(99,'0')
UO.Click('self')
wait(3000)
UO.SetGlobal('CharName',UO.GetName())
UO.SetGlobal('BuyScript','Off')

UO.Exec('warmode 0')
end sub



###############################################################
###############################################################
;
; Shared Subs
;
###############################################################
###############################################################

#==============================================================
# tohide() - try hidding char. When char lose HP, drink inviz
# potion if it found in backpack
#
# Journal has been deleted!!!
#--------------------------------------------------------------
sub tohide()
while NOT UO.Hidden()
UO.DeleteJournal()
UO.FindType('0x0F0E','0x0631','my')

if UO.Life<UO.STR/2 AND UO.GetQuantity('finditem')>0 then
UO.UseType('0x0F0E','0x0631') ; inviz potion
UO.Exec('warmode 0')
wait(2000)
else
UO.Exec('warmode 0')
UO.UseSkill('Stealth')
repeat
wait(50)
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied')
endif
wend
end sub


#==============================================================
# CheckLag() - click on backpack and awaiting "backpack"
# message in journal.
#
# Journal has been deleted!!!
#--------------------------------------------------------------
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')

repeat
wait(500)
until UO.InJournal('backpack')
end sub


#==============================================================
# Gong(counter) - playing wav-file 'counter'-times
# http://www.jetta.ru/cow.wav
#--------------------------------------------------------------
sub Gong(times) ; play wav-file
VAR i
for i=1 to times
UO.Exec("playwav c:\game\uo\cow")
wait(1200) ; time to play sample at once
next
end sub


sub GoW()
VAR walkwait=300
VAR x,y,dir=6
VAR key=36 ; Home key
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetX()+1==x Then
return -1
Else
return 1
Endif
end sub


sub GoN()
VAR walkwait=300
VAR x,y,dir=0
VAR key=33 ; PgUp
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetY()+1==y Then
return -1
Else
return 1
Endif
end sub


sub GoE()
VAR walkwait=300
VAR x,y,dir=2
VAR key=34 ; PgDown
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetX()-1==x Then
return -1
Else
return 1
Endif
end sub


sub GoS()
VAR walkwait=300
VAR x,y,dir=4
VAR key=35 ; End
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetY()-1==y Then
return -1
Else
return 1
Endif
end sub


sub GoWN()
VAR walkwait=300
VAR x,y,dir=7
VAR key=38 ; UpArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


sub GoNE()
VAR walkwait=300
VAR x,y,dir=1
VAR key=39 ; RightArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


sub GoSE()
VAR walkwait=300
VAR x,y,dir=3
VAR key=40 ; DownArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


sub GoSW()
VAR walkwait=300
VAR x,y,dir=5
VAR key=37 ; LeftArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


#==============================================================
# WalkN(X,Y,Serial) - char is walking by dX and dY step
# sub using Home, End, PgUp, PgDown keys
# d'not rebind this key from default action!
#
# If Serial defined and not empty, char walked to mobile NPC
# x and y ignored and calculated every step
#--------------------------------------------------------------
sub WalkN(x,y,Target)
VAR i
VAR dx,dy,Exit=0

While Exit<>1
If Target<>"" Then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
; UO.Print("Target locked!")
If UO.GetDistance(Target)<2 Then
Exit=1
Endif
Else
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx+dy==0 Then
Exit=1
Endif

Endif

If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then
GoSE()
Endif

If dx>0 AND dy<0 Then
GoNE()
Endif

If dx<0 AND dy>0 Then
GoSW()
Endif

If dx<0 AND dy<0 Then
GoWN()
Endif

Endif

If dx<>0 AND dy==0 Then
If dx>0 Then
GoE()
Endif

If dx<0 Then
GoW()
Endif
Endif


If dx==0 AND dy<>0 Then
If dy>0 Then
GoS()
Endif

If dy<0 Then
GoN()
Endif
Endif
Wend
end sub



###############################################################
#===---====----===---===---= Mining =---=-=-=-=-=--=-=-=-=-=-=#
# Multi char mining for VIP Mine. DRW Shard www.drw.ru #
# Scripted by Savage (c) 2004 ICQ:33336141 #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
# To start script use ",exec mine" command from client window #
###############################################################

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
;==================== Main mining script ======================
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub mine()
VAR DigDistance, TileNum, KillElemental, KillOtherElem
VAR ElemSignal
VAR BaseX, BaseY, BaseZ
VAR MaxWeight

VAR i,j,TileY,TileX,DirX,DirY
VAR Delta,BeginX,EndX,BeginY,EndY


;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; TileNum='Num' - Use ",infotile" command on the floor
; Номер тайла в котором можно копать ,потыкайте командой
; ",infotile" по разнвм тайлам и посмотрите не отличаются ли их
; номера.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
TileNum='1339'


;-=-=-=-=-=-=-=-=-=--=-=-= Sand =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Sand' Then
UO.Print("Welcome again Sand!")

MaxWeight=800

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'

BaseX=5521
BaseY=1421
BaseZ=0
Endif


;-=-=-=-=-=-=-=-=-=--=-=- Savagev -=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Savagev' Then
UO.Print("Welcome again Savagev!")

MaxWeight=700

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'


BaseX=5532
BaseY=1421
BaseZ=0
Endif


;-=-=-=-=-=-=-=-=-=--=-=-= Liche =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Liche' Then
UO.Print("Good day Liche!")

MaxWeight=800

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'


BaseX=5521
BaseY=1430
BaseZ=0
Endif


;-=-=-=-=-=-=-=-=-=--=-=-=- Zombie -=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Zombie' Then
UO.Print("Good night Zombie!")

MaxWeight=800

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'


BaseX=5532
BaseY=1430
BaseZ=0
Endif


While NOT UO.Dead()

walkn(BaseX,BaseY,"")
digitstay(MaxWeight,DigDistance,KillElemental,ElemSignal,BaseX,BaseY,KillOtherElem)

wend
end sub


;-------------------- Try to mine under self ------------------
sub digitstay(MaxWeight,MaxDistance,KillElemental,ElemSignal,BaseX,BaseY,KillOtherElem)
VAR x,y,z='0',TileNum='1339'
VAR Last=0,LastTimer

For x=-MaxDistance to MaxDistance
For y=-MaxDistance to MaxDistance
Repeat
CheckLag() ; deleting journal
ToHide()

UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType('0x0E85')

LastTimer=UO.Timer()

repeat
wait(500)
until UO.InJournal("Try mining") OR UO.InJournal("You put") OR UO.InJournal("You loosen") OR UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("OOPS") OR UO.InJournal("attacking you") OR LastTimer+150<UO.Timer()

if UO.InJournal('You loosen') then
repeat
wait(500)
until UO.InJournal("You put") OR LastTimer+105<UO.Timer()
endif

if UO.InJournal('something with ore') OR UO.InJournal("attacking you") then
If ElemSignal=='On' Then
Gong(2)
Endif

If KillElemental=='Yes' Then
KillElem()
walkn(BaseX,BaseY,"")
Else
; any user defined command when char digget elemental
UO.SetEasyUO(99,'1')
Endif
endif

if UO.InJournal("attacking you") then
gong(3)
endif

if KillOtherElem=='Yes' and UO.GetEasyUO(99)=="1" then
KillElem()
walkn(BaseX,BaseY,"")
endif

if UO.Weight>=MaxWeight then
unloadore()
endif
until UO.InJournal("There is no") OR UO.InJournal("That is too")
Next
Next
end sub


;------------------------- Unload ore -------------------------
sub unloadore()
VAR TempX,TempY,i,Exit
VAR UnloadX=5518, UnloadY=1434
VAR UnloadCont='0x400D1BFC'
DIM Ore[5]

TempX=UO.GetX()
TempY=UO.GetY()


While UO.GetEasyUO(99)=='1'
wait(3000)
Wend

walkn(UnloadX,UnloadY,"")
ToHide()

Ore[0]=0x19B9 ; 4 and more ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore

UO.SetReceivingContainer(UnloadCont) ; storecontainer
wait(500)


For i=0 to 3
Exit=0
repeat
UO.FindType(Ore)

if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
CheckLag()
wait(1500)
Else
Exit=1
endif
until Exit==1
Next

UO.UnSetReceivingContainer()

walkn(TempX,TempY,"")
ToHide()
end sub

;----------- Morf in Daemon, kill elem and loot him -----------
sub killelem()
VAR Count, LastTimer, Elem


UO.UseType('0x0F0E','0x0631') ; inviz potion
While UO.STR<201 ; U'r not morfed char max Strength + 1
If UO.Mana>=50 then
UO.WaitMenu('What','Daemon')
UO.Cast('Polymorph')
wait(8000)
else
UO.UseType('0x0F0E','0x09DF') ; total mana potion
wait(3000)
endif
Wend

LastTimer=UO.Timer()

repeat
UO.BandageSelf()
wait(4000)
until UO.Life==UO.STR OR LastTimer+300<UO.Timer()

UO.UseType(0x1B76) ; heater shield
UO.UseType(0x1413) ; platemail gorget

UO.DeleteJournal()
UO.Exec('warmode 1')

UO.FindType('0x0010',-1,'ground')
Elem=UO.GetSerial('finditem')

UO.Attack(Elem)

repeat
wait(1000)
If UO.Life<50 Then
UO.UseType('0x0F0E','0x09BB') ;GH
Endif

If UO.GetDistance(Elem)>1 Then
walkn(0,0,Elem)
Endif

until UO.IsNPC(Elem)==0
wait(3000)


UO.WaitTargetGround('0x19B9') ; 4 and more ore
wait(1500)
UO.Grab('all')
UO.WaitTargetGround('0x0EED') ; gold coins
wait(500)
UO.Grab('all')


UO.FindType('0x0010',-1,'ground')
If UO.GetQuantity('finditem')>0 Then
KillElem()
Endif

UO.Exec('warmode 0')
wait(1000)

UO.Print("Sdoh skotina!")
UO.SetEasyUO(99,'0')

LastTimer=UO.Timer()
if UO.Life<200 then ; U'r max HP
repeat
UO.BandageSelf()
wait(4000)
until UO.Life>200 OR LastTimer+300<UO.Timer()
endif
UO.DeleteJournal()

end sub
Haxor
Posts: 97
Joined: 2004-06-04 21:04:14

Post by Haxor »

menya probelma, v 37 stroke na UO.GETGLOBAL MATERITSA
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Версия инжи какая? Думаю что надо бы посвежее.
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

Pummy wrote:Savage(from old forum):
"Значит скрипт на випуху, в большой шахте умещаются 4 копателя, каждый копает на 4 тайла от себя. Те кто в состоянии килять элемов в морфе, снаряжаются набором регов на мрф, хитером, горгетом, манкакми, инвизками и немного гх. Ну и кирку соответственно.

Надо включить опцию автостарт на вкладке майн, и назвать скрипт autoload.sc Прописать рег, если не ставили никогда изиуо www.jetta.ru/easy.reg

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

Найти в скрипте unloadore координаты тайла перед сундуком для выгрузки, сериал сундука и исправить. Заменить если надо, команды похода к сундуку на команды похода к порталу.

Известные косяки: Если чар выкапывает два элема подряд и один из них сам не нападает, чар на него забивает. Редко, но случается.

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

Из 3 челов кому посылал скрипт еще никто не запустил Хотя он проще и надежней предыдущего

А, кстати, если на одного чара настраивать, все упоминания про изю можно закоментировать. Она нужна только чтоб сообщить другим клиентам об опасности.

Запускать из консоли клиента: ,exec mine"
Code:

#==============================================================
# autostart() - Declaration global variables
#
#
# Journal has been deleted!!!
#--------------------------------------------------------------
sub autostart()
wait(3000)
UO.SetGlobal('Connected','Yes')
UO.SetEasyUO(99,'0')
UO.Click('self')
wait(3000)
UO.SetGlobal('CharName',UO.GetName())
UO.SetGlobal('BuyScript','Off')

UO.Exec('warmode 0')
end sub



###############################################################
###############################################################
;
; Shared Subs
;
###############################################################
###############################################################

#==============================================================
# tohide() - try hidding char. When char lose HP, drink inviz
# potion if it found in backpack
#
# Journal has been deleted!!!
#--------------------------------------------------------------
sub tohide()
while NOT UO.Hidden()
UO.DeleteJournal()
UO.FindType('0x0F0E','0x0631','my')

if UO.Life<UO.STR/2 AND UO.GetQuantity('finditem')>0 then
UO.UseType('0x0F0E','0x0631') ; inviz potion
UO.Exec('warmode 0')
wait(2000)
else
UO.Exec('warmode 0')
UO.UseSkill('Stealth')
repeat
wait(50)
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied')
endif
wend
end sub


#==============================================================
# CheckLag() - click on backpack and awaiting "backpack"
# message in journal.
#
# Journal has been deleted!!!
#--------------------------------------------------------------
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')

repeat
wait(500)
until UO.InJournal('backpack')
end sub


#==============================================================
# Gong(counter) - playing wav-file 'counter'-times
# http://www.jetta.ru/cow.wav
#--------------------------------------------------------------
sub Gong(times) ; play wav-file
VAR i
for i=1 to times
UO.Exec("playwav c:\game\uo\cow")
wait(1200) ; time to play sample at once
next
end sub


sub GoW()
VAR walkwait=300
VAR x,y,dir=6
VAR key=36 ; Home key
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetX()+1==x Then
return -1
Else
return 1
Endif
end sub


sub GoN()
VAR walkwait=300
VAR x,y,dir=0
VAR key=33 ; PgUp
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetY()+1==y Then
return -1
Else
return 1
Endif
end sub


sub GoE()
VAR walkwait=300
VAR x,y,dir=2
VAR key=34 ; PgDown
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetX()-1==x Then
return -1
Else
return 1
Endif
end sub


sub GoS()
VAR walkwait=300
VAR x,y,dir=4
VAR key=35 ; End
x=UO.GetX()
y=UO.GetY()
while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend
UO.Press(key)

wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If UO.GetY()-1==y Then
return -1
Else
return 1
Endif
end sub


sub GoWN()
VAR walkwait=300
VAR x,y,dir=7
VAR key=38 ; UpArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


sub GoNE()
VAR walkwait=300
VAR x,y,dir=1
VAR key=39 ; RightArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


sub GoSE()
VAR walkwait=300
VAR x,y,dir=3
VAR key=40 ; DownArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


sub GoSW()
VAR walkwait=300
VAR x,y,dir=5
VAR key=37 ; LeftArrow
x=UO.GetX()
y=UO.GetY()

If UO.GetDir()<>dir Then
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
Endif

If UO.GetDir()==dir Then
UO.Press(key)
wait(walkwait)
If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif
If UO.GetDir()==dir Then
return -1
Else
return UO.GetDir()
Endif
Else
return UO.GetDir()
Endif
end sub


#==============================================================
# WalkN(X,Y,Serial) - char is walking by dX and dY step
# sub using Home, End, PgUp, PgDown keys
# d'not rebind this key from default action!
#
# If Serial defined and not empty, char walked to mobile NPC
# x and y ignored and calculated every step
#--------------------------------------------------------------
sub WalkN(x,y,Target)
VAR i
VAR dx,dy,Exit=0

While Exit<>1
If Target<>"" Then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
; UO.Print("Target locked!")
If UO.GetDistance(Target)<2 Then
Exit=1
Endif
Else
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx+dy==0 Then
Exit=1
Endif

Endif

If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then
GoSE()
Endif

If dx>0 AND dy<0 Then
GoNE()
Endif

If dx<0 AND dy>0 Then
GoSW()
Endif

If dx<0 AND dy<0 Then
GoWN()
Endif

Endif

If dx<>0 AND dy==0 Then
If dx>0 Then
GoE()
Endif

If dx<0 Then
GoW()
Endif
Endif


If dx==0 AND dy<>0 Then
If dy>0 Then
GoS()
Endif

If dy<0 Then
GoN()
Endif
Endif
Wend
end sub



###############################################################
#===---====----===---===---= Mining =---=-=-=-=-=--=-=-=-=-=-=#
# Multi char mining for VIP Mine. DRW Shard www.drw.ru #
# Scripted by Savage (c) 2004 ICQ:33336141 #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
# To start script use ",exec mine" command from client window #
###############################################################

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
;==================== Main mining script ======================
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub mine()
VAR DigDistance, TileNum, KillElemental, KillOtherElem
VAR ElemSignal
VAR BaseX, BaseY, BaseZ
VAR MaxWeight

VAR i,j,TileY,TileX,DirX,DirY
VAR Delta,BeginX,EndX,BeginY,EndY


;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; TileNum='Num' - Use ",infotile" command on the floor
; Номер тайла в котором можно копать ,потыкайте командой
; ",infotile" по разнвм тайлам и посмотрите не отличаются ли их
; номера.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
TileNum='1339'


;-=-=-=-=-=-=-=-=-=--=-=-= Sand =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Sand' Then
UO.Print("Welcome again Sand!")

MaxWeight=800

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'

BaseX=5521
BaseY=1421
BaseZ=0
Endif


;-=-=-=-=-=-=-=-=-=--=-=- Savagev -=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Savagev' Then
UO.Print("Welcome again Savagev!")

MaxWeight=700

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'


BaseX=5532
BaseY=1421
BaseZ=0
Endif


;-=-=-=-=-=-=-=-=-=--=-=-= Liche =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Liche' Then
UO.Print("Good day Liche!")

MaxWeight=800

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'


BaseX=5521
BaseY=1430
BaseZ=0
Endif


;-=-=-=-=-=-=-=-=-=--=-=-=- Zombie -=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Zombie' Then
UO.Print("Good night Zombie!")

MaxWeight=800

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'


BaseX=5532
BaseY=1430
BaseZ=0
Endif


While NOT UO.Dead()

walkn(BaseX,BaseY,"")
digitstay(MaxWeight,DigDistance,KillElemental,ElemSignal,BaseX,BaseY,KillOtherElem)



wend
end sub


;-------------------- Try to mine under self ------------------
sub digitstay(MaxWeight,MaxDistance,KillElemental,ElemSignal,BaseX,BaseY,KillOtherElem)
VAR x,y,z='0',TileNum='1339'
VAR Last=0,LastTimer

For x=-MaxDistance to MaxDistance
For y=-MaxDistance to MaxDistance
Repeat
CheckLag() ; deleting journal
ToHide()

UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType('0x0E85')

LastTimer=UO.Timer()

repeat
wait(500)
until UO.InJournal("Try mining") OR UO.InJournal("You put") OR UO.InJournal("You loosen") OR UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("OOPS") OR UO.InJournal("attacking you") OR LastTimer+150<UO.Timer()

if UO.InJournal('You loosen') then
repeat
wait(500)
until UO.InJournal("You put") OR LastTimer+105<UO.Timer()
endif

if UO.InJournal('something with ore') OR UO.InJournal("attacking you") then
If ElemSignal=='On' Then
Gong(2)
Endif

If KillElemental=='Yes' Then
KillElem()
walkn(BaseX,BaseY,"")
Else
; any user defined command when char digget elemental
UO.SetEasyUO(99,'1')
Endif
endif

if UO.InJournal("attacking you") then
gong(3)
endif

if KillOtherElem=='Yes' and UO.GetEasyUO(99)=="1" then
KillElem()
walkn(BaseX,BaseY,"")
endif

if UO.Weight>=MaxWeight then
unloadore()
endif
until UO.InJournal("There is no") OR UO.InJournal("That is too")
Next
Next
end sub


;------------------------- Unload ore -------------------------
sub unloadore()
VAR TempX,TempY,i,Exit
VAR UnloadX=5518, UnloadY=1434
VAR UnloadCont='0x400D1BFC'
DIM Ore[5]

TempX=UO.GetX()
TempY=UO.GetY()


While UO.GetEasyUO(99)=='1'
wait(3000)
Wend

walkn(UnloadX,UnloadY,"")
ToHide()

Ore[0]=0x19B9 ; 4 and more ore
Ore[1]=0x19B7 ; 1 ore
Ore[2]=0x19BA ; 2 ore
Ore[3]=0x19B8 ; 3 ore

UO.SetReceivingContainer(UnloadCont) ; storecontainer
wait(500)


For i=0 to 3
Exit=0
repeat
UO.FindType(Ore)

if UO.GetQuantity('finditem')>0 then
UO.Grab('0','finditem')
CheckLag()
wait(1500)
Else
Exit=1
endif
until Exit==1
Next

UO.UnSetReceivingContainer()

walkn(TempX,TempY,"")
ToHide()
end sub

;----------- Morf in Daemon, kill elem and loot him -----------
sub killelem()
VAR Count, LastTimer, Elem


UO.UseType('0x0F0E','0x0631') ; inviz potion
While UO.STR<201 ; U'r not morfed char max Strength + 1
If UO.Mana>=50 then
UO.WaitMenu('What','Daemon')
UO.Cast('Polymorph')
wait(8000)
else
UO.UseType('0x0F0E','0x09DF') ; total mana potion
wait(3000)
endif
Wend

LastTimer=UO.Timer()

repeat
UO.BandageSelf()
wait(4000)
until UO.Life==UO.STR OR LastTimer+300<UO.Timer()

UO.UseType(0x1B76) ; heater shield
UO.UseType(0x1413) ; platemail gorget

UO.DeleteJournal()
UO.Exec('warmode 1')

UO.FindType('0x0010',-1,'ground')
Elem=UO.GetSerial('finditem')

UO.Attack(Elem)

repeat
wait(1000)
If UO.Life<50 Then
UO.UseType('0x0F0E','0x09BB') ;GH
Endif

If UO.GetDistance(Elem)>1 Then
walkn(0,0,Elem)
Endif

until UO.IsNPC(Elem)==0
wait(3000)


UO.WaitTargetGround('0x19B9') ; 4 and more ore
wait(1500)
UO.Grab('all')
UO.WaitTargetGround('0x0EED') ; gold coins
wait(500)
UO.Grab('all')


UO.FindType('0x0010',-1,'ground')
If UO.GetQuantity('finditem')>0 Then
KillElem()
Endif

UO.Exec('warmode 0')
wait(1000)

UO.Print("Sdoh skotina!")
UO.SetEasyUO(99,'0')

LastTimer=UO.Timer()
if UO.Life<200 then ; U'r max HP
repeat
UO.BandageSelf()
wait(4000)
until UO.Life>200 OR LastTimer+300<UO.Timer()
endif
UO.DeleteJournal()

end sub



Как поправить ОШИБКУ Runtime Error???вот в этих строках
walkn(BaseX,BaseY,"")
digitstay(MaxWeight,DigDistance,KillElemental,
ElemSignal,BaseX,BaseY,KillOtherElem)
Пожалуйсто помогите!
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Ошибка в скрипте мало когда имеет правильную строку. посмотри чуть выше может напортачил с переменными? Попробуй закоментировать эти строки и запустить скрипт....
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Аааа ну так ты ник своего чара не проставил....
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

Savage wrote:Ошибка в скрипте мало когда имеет правильную строку. посмотри чуть выше может напортачил с переменными? Попробуй закоментировать эти строки и запустить скрипт....
А можеш по конкретнии показать где и что делать?
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Dma wrote:
Pummy wrote:


;-=-=-=-=-=-=-=-=-=--=-=-= Sand =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Вот сдесь вместо 'Sand' - ставишь свой ник.

If UO.GetGlobal('CharName')=='Sand' Then
UO.Print("Welcome again Sand!")

MaxWeight=800

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'

Здесь ставишь координаты точки в которой стоит чар и копает вокруг себя.

BaseX=5521
BaseY=1421
BaseZ=0
Endif


Вот отсюда и до.....



;-=-=-=-=-=-=-=-=-=--=-=- Savagev -=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Savagev' Then
UO.Print("Welcome again Savagev!")

MaxWeight=700

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'


BaseX=5532
BaseY=1421
BaseZ=0
Endif


;-=-=-=-=-=-=-=-=-=--=-=-= Liche =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Liche' Then
UO.Print("Good day Liche!")

MaxWeight=800

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'


BaseX=5521
BaseY=1430
BaseZ=0
Endif


;-=-=-=-=-=-=-=-=-=--=-=-=- Zombie -=-=-=-=-=-=-=-=-=-=-=-=-=-;
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Настройка скрипта на чара. Ну соответственно поменять имена
; на имена своих чаров.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
If UO.GetGlobal('CharName')=='Zombie' Then
UO.Print("Good night Zombie!")

MaxWeight=800

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ElemSignal='On'


BaseX=5532
BaseY=1430
BaseZ=0
Endif


.... сюда удаляешь!
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

всеравно таже ошибка в техже строках =(((
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Значит ты не включил галочку автостарта.
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

Во вкладке main,Autostart так?
Не работает всеравно!=((
вот кстати если сделать так:
BaseX=5200<вписать эти Координаты
BaseY=1117<вписать эти Координаты
BaseZ=0
Endif

walkn(5200,1117,"") <<<<сюда
то ошибка уже в следуюшей строке =(((
вот уже наверное 3 день этот скрипт мне недает пакоя)))
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Счас вкратце объясню, в начале скрипта запускается маленький модуль который тыкает в чара и запоминает его ник. Потом по этому нику скрипт определяет с какого чара он запущен и настраивает переменные на него. Вообщем если у тя галочка не была включена то надо будет перезайти клиентом чтоб автостарт отработал. Инж должен быть версии не менее 319 +реконект которая или версии с которой глобалы и изиуо начали обрабатываться.
Я кстати вначале оговорился что никто самостоятельно не запустил из тех кому я его давал :)
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

Огромаднейшее спасибо!!!Все заработало!!!=)
BETEPAH
Expert!
Posts: 838
Joined: 2004-05-31 09:31:51
Contact:

Post by BETEPAH »

Думаю никто не обидется ....займуся рекламой

Заметил что тут в основномпро манинг говорят
Вот манинг для простой пещеры с реколами от ПК и реколами к сундуку.Юзайте ......все настройки в скрипте описал ))

http://yoko.netroof.net/forum/viewtopic.php?t=842
Все просто.
BETEPAH ™
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

Savage еще 1 вопрос почему не киляет элементов???все делает тока не атакует=(((что и где надо поменять?
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

Savage wrote:;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillOtherElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
; in daemon and wrestling > 50
; Убивать элемов выкопанных другими чарами?
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
KillOtherElem='No'
Тут все как надо стаит!!!что чар должен делать после таго как атхилиться???
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Морфнулся, отхилился, взял щит с горгетом, бежит за элемом и нападает на него. Трак ворлд итем должно быть включено.
Dma
Posts: 15
Joined: 2004-06-13 16:43:14

Post by Dma »

Savage wrote:Трак ворлд итем должно быть включено.
Вот оно наверное!у меня отключино было=)
Post Reply