Page 3 of 4

Posted: 2005-02-27 17:54:06
by Gromiz
наверно в первую??

Posted: 2005-02-27 18:15:44
by Gromiz
я заменил эти
("no ore here")
("in rock")

на эти
"There is nothing here to mine for."
"You can't use the %s where it is."

но скрипт не пашет ((

Posted: 2005-02-27 18:34:58
by Gromiz
этот скрипт ваще не пашет -((

http://yoko.netroof.net/forum/viewtopic.php?p=5445

Posted: 2005-02-28 11:27:45
by Gromiz
мда..как-то скритпы на лумбер и мининг пофоксили...=((

видимо скрипты сделать нельзя...(если никто не пишет)
:x попал...................

Posted: 2005-02-28 18:49:43
by I'm
Gromiz wrote:мда..как-то скритпы на лумбер и мининг пофоксили...=((

видимо скрипты сделать нельзя...(если никто не пишет)
:x попал...................
Можно ибо я рою.
Ты сам напишеш если немного подумаеш.

Posted: 2005-02-28 21:25:17
by The Cheater
там писать то нечего ...

Code: Select all

sub mining() 
var rut = '****' #тип кирки
var mx, my, mz, i, j 
var ismining, ixx, isheavy 
mx = UO.GetX("self") 
my = UO.GetY("self") 
mz = UO.GetZ("self") 
UO.DeleteJournal() 
for i = mx-2 to mx+2 
for j = my -2 to my+2 
UO.Print("Now Mining In: "+str(mx-i)+" "+str(my-j)) 
ismining =1 
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and ismining 
UO.DeleteJournal()
UO.Waittargettile("1341", str(i), str(j), str(mz)) 
UO.Usetype(rut) 
if UO.Weight>250 then 
#recolldomoi()
Return 
endif 
ixx = 0 
ismining=1 
while not UO.InJournal("You put") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock") and ixx <= 100
wait (1000) 
ixx = ixx + 1 
wend 
if not ismining then 
uo.print("Not mining here") 
endif 
wend 
UO.DeleteJournal() 
next 
next 
goto allstop 
#recolldomoi() 
allstop: 
uo.print("*** Script ended ***") 
end sub
если бы я неварил мне былобы легче залезть на станичку и поизучать это нетакто сложно как кажетса на первый взгляд некакой высшей матеметики никаких те замарочек ничего этого здесь нету

Posted: 2005-03-01 12:38:51
by Gromiz
ооо работает...

я так понял размер копки задается здесь::

Code: Select all

for i = mx-2 to mx+2 
for j = my -2 to my+2 

Posted: 2005-03-01 14:07:39
by Gromiz
а тут он обкапывает 2 клетки вокруг себя..!!да?

а если чтоб он копал и копал..??
типа обкопал пошел дальше...просто надо указать вместо 2 клеток 20??

Posted: 2005-03-01 14:47:56
by Gromiz
воо скрипт пашет !!!!!!!!!!!!!

там есть проверка на элементалей и пк..так вот

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

вопрос как этого избежать(типа смыться живым скорее)??

Posted: 2005-03-01 16:11:36
by BETEPAH
Нету там проверки на ПК....А по поводу увеличения с 2-20 то нет .....это увеличивает на сколько клеток от себя он будет пытатся копать. А для переходов тебе нуно вставлять туда ходилку или просто каждый раз после удачной выкопки переход делать простым нажатием на кнопочку- стрелочку.

Posted: 2005-03-01 16:16:20
by Gromiz
BETEPAH wrote:Нету там проверки на ПК....А по поводу увеличения с 2-20 то нет .....это увеличивает на сколько клеток от себя он будет пытатся копать. А для переходов тебе нуно вставлять туда ходилку или просто каждый раз после удачной выкопки переход делать простым нажатием на кнопочку- стрелочку.
я использовал твой скрипт
http://yoko.netroof.net/forum/viewtopic.php?p=5445#5445

на нем все есть -)) понятно жаль что нельзя..а ходилку типо можно псле скрипта вставить или надо в него??

и еще 1 вопросик когда я копаю и выходит такое сообщение:

Code: Select all

You loosen some rocks but fail to find any useable ore
то чар телепкается домой ..как-будто кто-то подошел??
и в скрипт я вставил чтобы чар телепкался от всех(мож это влияеет?)

Posted: 2005-03-01 16:26:54
by BETEPAH
Вставить можно но возни много. А про месагу ...да из за нее ....она серая и выскакивает в журнале.

Posted: 2005-03-01 16:30:03
by Gromiz
BETEPAH wrote:Вставить можно но возни много. А про месагу ...да из за нее ....она серая и выскакивает в журнале.
хорошо спасибо!

Posted: 2005-03-01 17:39:09
by The Cheater
дай нубу палец он те руку откусит если в игнор вовремя непослать )))
эх жалею я шо суицид от вас ушол, строгоча вам надо хорошего блин!

Posted: 2005-03-01 19:10:35
by Gromiz
так как элементали появляются сразу и нет шансов отреколится...млж можно сделать чтобы чар при выкопке элема отходил на несколько шагов в сторону и реколился??



P.S. и можете ли вы помочь с этим??

Posted: 2005-03-02 11:47:11
by BETEPAH
да легко......

Вот тебе модуль Реакции на Эля по журналу.

Code: Select all


if uo.injournal("heavy") then
WalkN(6028,1243'')
wait(500)
Save()
end if 

вот тебе сам модуль рекола.

Code: Select all

sub  
var mx, my 
reccal: 
uo.deletejournal() 
if uo.waiting() then 
uo.canceltarget() 
endif 
mx = UO.GetX("self") 
my = UO.GetY("self") 
UO.DeleteJournal() 
uo.waittargetobject('runeHome') ; домой 
wait(500) 
uo.cast('Recall') 
wait(4500) 
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then 
goto reccal 
endif 
wait(2000)
if uo.injournal("fade")then 
uo.waittargetobject('runeHome') ; домой 
wait(500) 
uo.cast('Mark') 
wait(4500) 
uo.deletejournal() 
endif 
end sub 
вот тебе ходилка.

Code: Select all


sub WalkN(x,y,Target) 
VAR i,StepSucess 
VAR dx,dy,Exit=0 
While Exit<>1    
If Target<>"" Then 
dx=UO.GetX(Target)-UO.GetX() 
dy=UO.GetY(Target)-UO.GetY() 
If UO.GetDistance(Target)<2 Then 
Exit=1 
Endif 
Else 
dx=x-UO.GetX() 
dy=y-UO.GetY() 
UO.Print('Left '+STR(dx)+' steps to target. ') 
If dx==0 AND dy==0 Then 
Exit=1 
Endif 
Endif 
If dx<>0 AND dy<>0 Then 
If dx>0 AND dy>0 Then 
StepSucess=Go(3,40,300)  
If StepSucess==-1 Then 
StepSucess=Go(7,38,300)  
StepSucess=Go(1,39,300)  
If StepSucess==-1 Then 
StepSucess=Go(5,37,300)  
Endif 
Endif 
Endif 
If dx>0 AND dy<0 Then 
StepSucess=Go(1,39,300)  
If StepSucess==-1 Then 
StepSucess=Go(5,37,300)  
StepSucess=Go(3,40,300)  
If StepSucess==-1 Then 
StepSucess=Go(7,38,300)  
Endif 
Endif 
Endif 
If dx<0 AND dy>0 Then 
StepSucess=Go(5,37,300)  
If StepSucess==-1 Then 
StepSucess=Go(1,39,300)  
StepSucess=Go(7,38,300)  
If StepSucess==-1 Then 
StepSucess=Go(3,40,300)  
Endif 
Endif 
Endif 
If dx<0 AND dy<0 Then 
StepSucess=Go(7,38,300)  
If StepSucess==-1 Then 
StepSucess=Go(3,40,300)  
StepSucess=Go(5,37,300)  
If StepSucess==-1 Then 
StepSucess=Go(1,39,300)  
Endif 
Endif 
Endif 
Endif 
If dx<>0 AND dy==0 Then 
If dx>0 Then 
StepSucess=Go(2,34,300)  
If StepSucess==-1 Then 
StepSucess=Go(3,40,300)  
If StepSucess==-1 Then 
StepSucess=Go(1,39,300)  
Endif 
StepSucess=Go(2,34,300)  
Endif 
Endif 
If dx<0 Then 
StepSucess=Go(6,36,300)  
If StepSucess==-1 Then 
StepSucess=Go(7,38,300)  
If StepSucess==-1 Then 
StepSucess=Go(5,37,300)  
Endif 
StepSucess=Go(6,36,300)  
Endif 
Endif 
Endif 
If dx==0 AND dy<>0 Then 
If dy>0 Then 
StepSucess=Go(4,35,300)  
If StepSucess==-1 Then 
StepSucess=Go(3,40,300)  
If StepSucess==-1 Then 
StepSucess=Go(5,37,300) 
Endif 
StepSucess=Go(4,35,300) 
Endif 
Endif 
If dy<0 Then 
StepSucess=Go(0,33,300) 
If StepSucess==-1 Then 
StepSucess=Go(1,39,300) 
If StepSucess==-1 Then 
StepSucess=Go(7,38,300) 
Endif 
StepSucess=Go(0,33,300) 
Endif 
Endif 
Endif 
Wend 
end sub 

sub Go(dir,key,walkwait) 
VAR x,y, OldDir 
x=UO.GetX() 
y=UO.GetY() 
OldDir=UO.GetDir() 
If UO.GetDir()<>dir Then 
UO.Press(key) 
wait(walkwait) 
If UO.GetDir()<>dir Then 
Endif 
Endif 
UO.Press(key) 
wait(walkwait) 
if x==UO.GetX() AND y==UO.GetY() Then 
Endif 
If x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() Then 
UO.Press(key) 
wait(walkwait) 
Endif 
If x==UO.GetX() AND y==UO.GetY() Then 
Endif 
If x==UO.GetX() AND y==UO.GetY() Then 
UO.Print("Stuck. Try move else!") 
return -1 
Else 
return 1 
Endif 
end sub 

Posted: 2005-03-02 13:35:15
by Gromiz
аааа караул...что-то не выходит все эти модули(спасибо)..запихнуть в скрипт ..уже скоко парюсь никак не выхидт...постоянно ошибки вызывает помогите?...

вот я их запихиваю сюда

Code: Select all

sub mining() 
var mx, my, mz, i, j, jor, ser, noto 
Uo.exec("set norbcheck 1"); для рекола 
uo.exec("set norbcalc 1"); тоже 

uo.print('!!Выбери Лопату!! ') 
uo.exec('addobject Shovel') 
while uo.targeting() 
wait(100) 
wend 
  
uo.print('!!Выбери Руну ДОМОЙ !! ') 
uo.exec('addobject runeHome') 
while uo.targeting() 
wait(100) 
wend 

uo.print('!!Выбери Руну В ПЕЩЕРУ !! ') 
uo.exec('addobject runeCave') 
while uo.targeting() 
wait(100) 
wend 

na4alo: 
mx = UO.GetX("self") 
my = UO.GetY("self") 
mz = UO.GetZ("self") 
UO.DeleteJournal() 
for i = mx-2 to mx+2
for j = my-2 to my+2
while not UO.Hidden() 
UO.Warmode("0") 
uo.print("Прячемся...") 
UO.UseSkill("Hiding") 
wait(4000) 
wend 
UO.Print("Копаем в координатах: "+str(mx-i)+" "+str(my-j)) 
while not UO.InJournal("There is nothing") and not UO.InJournal("location") and not UO.InJournal("far away")  and not UO.InJournal("Iron Ore") and not UO.InJournal("Copper") and not UO.InJournal("Rusty Ore") and not UO.InJournal("You can't use the %s where it is") and not UO.InJournal("Try mining elsewhere")
UO.DeleteJournal() 
if uo.waiting() then 
uo.canceltarget() 
endif 
UO.Waittargettile("1341", str(i), str(j), str(mz)) 
UO.Useobject("Shovel") 
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("There is nothing") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("You can't use the %s where it is") and not UO.InJournal("Try mining elsewhere")
wait (500) 
if uo.injournal("heavy") or uo.dead() then 
pwav()                    
Pause() 
endif 
for jor = 0 to 9    
ser = uo.journalserial(jor) 
noto = uo.getnotoriety(ser) 
if noto <> 1 and noto <> 0 and not uo.injournal("elemental") then  ;чтоб он сматывался только от пк то:(if noto <> 1 and noto <> 0 and not uo.injournal("elemental") then ) а это чтоб от всех (if noto <> 0 and not uo.injournal("elemental") then )
if uo.waiting() then 
uo.canceltarget() 
endif 
Save() 
pwavw() 
wait(180000) ; время в секундах при ожидании пока уйдет ПК 
loot() 
wait(3000) 
goto reccal 
endif 
next    
wend 
if uo.weight > 600 then  ; Максимальный вес при котором домой с рудой 
goto end 
endif 
wend 
UO.DeleteJournal() 
next 
next 
goto na4alo 
end: 
if uo.waiting() then 
uo.canceltarget() 
endif 
uo.waittargetobject('runeHome') ; домой 
wait(500) 
uo.cast('Recall') 
wait(3000) 
loot() 
wait(3000) 
reccal: 
uo.deletejournal() 
if uo.waiting() then 
uo.canceltarget() 
endif 
uo.waittargetobject('runeCave') ; в шахту 
wait(500) 
uo.cast('Recall') 
mx = UO.GetX("self") 
my = UO.GetY("self") 
wait(10000) 
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then 
goto reccal 
endif 
goto na4alo 
end sub 


sub loot()    ; перекладка руды в сундук 
if uo.waiting() then 
uo.canceltarget() 
endif 
VAR a,Exit 
VAR UnloadCont='0x40187609' ; АЙДИ сундука для руды  
DIM Ore[5] 
Ore[0]=0x19B9
Ore[1]=0x19B8
Ore[2]=0x19BA  
Ore[3]=0x1BEC

UO.SetReceivingContainer(UnloadCont) 
wait(500) 
For a=0 to 3 
Exit=0 
repeat 
UO.FindType(Ore[a]) 
if UO.GetQuantity('finditem')>0 then 
UO.Grab('0','finditem') 
wait(1500) 
Else 
Exit=1 
endif 
until Exit==1 
Next 
UO.UnSetReceivingContainer() 
end sub 

sub Save() ; Реколл от ПК при их появлении (в паке рунка в безопасное место и реги) 
var mx, my 
reccal: 
uo.deletejournal() 
if uo.waiting() then 
uo.canceltarget() 
endif 
mx = UO.GetX("self") 
my = UO.GetY("self") 
UO.DeleteJournal() 
uo.waittargetobject('runeHome') ; домой 
wait(500) 
uo.cast('Recall') 
wait(4000) 
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then 
goto reccal 
endif 
end sub 

sub pwav() ; звук при выкапывании ЭЛЕМЕНТАЛА 
uo.playwav("D:\Gamezz\ULTIMA ONLINE\Inject\SOUND\alert.wav") 
endsub 

sub pwavw(); звук при появлении ПК 
uo.playwav("D:\Gamezz\ULTIMA ONLINE\Inject\SOUND\alert.wav") 
endsub 

sub Pause() ; Пауза скрипта если выкопали Элема (продолжить сказав GO ) 
UO.DeleteJournal() 
REPEAT 
WAIT(3000) 
UO.Print("!!!СКРИПТ НА ПАУЗЕ!!!!") 
UNTIL UO.InJournal('GO') 
UO.Print("!!!СКРИПТ ПРОДОЛЖЕН!!!!") 
endif 
end sub 

Posted: 2005-03-02 14:11:32
by BETEPAH
Мду...насмешил _)

Code: Select all

if uo.injournal("heavy") or uo.dead() then 
pwav()                    
Pause() 
endif 
Это проверка на Эля у тебя в скрипте........замени на то что я тебе дал. И потом добавь в скрипт просто ходилку .

Posted: 2005-03-02 14:37:25
by Gromiz
ааммм...модуль рекола уже не надо добавлять...ведь он уже есть??

и ходилка она относится к отходу от элементаля?

Posted: 2005-03-02 15:44:55
by BETEPAH
Да ходилка к отходу... и рекол те не нужен