Yoko

All sides of Injection
It is currently 2025-12-22 21:02:13

All times are UTC+02:00




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
PostPosted: 2004-07-08 19:07:31 
Offline

Joined: 2004-07-08 07:12:09
Posts: 3
Скрипт заключается в следующем:
Чар прилетает по рунбуке на точку, встает в хайд, начинает минать, достает руду выше агапита (стоит ограничение). Выминывает руду под собой и на 2 клетки вокруг себя. Далее разрузка и тд. Не хватает отдной части с которой маэсь на протяжении нескольких дней уже. Ссылки на аларм я расставил, но сам аларм написать не могу нормально. Необходимо, чтобы при виде любого живого объекта он улета разгружаться, ну а там дальше все по скрипту: медитировать и дальше в бой :))) Не понимаю почему не получается, ставлю условие: если вижу надпись "You see" тогда аларм = 1 и го разгружаться.
Помогите пожалуйста. Позже поделюсь интересным скрптом на ламбер.

Вот скрипт:

sub isalarm()
if uo.injournal('see') \
then
uo.setglobal("alarm","1")
return 1
else
return 0
endif
end sub

sub main()
uo.set("distance","20")
uo.set("finddistance","20")
uo.set("soundecho","1")
uo.set("injectecho","1")
uo.set("quiet","1")
var iX = 1
var iY = 1
var tochka = 0
var radius = 5
var xtime = 0
var maxweight = 600
uo.addtype("ruda","0x19B9")
uo.addtype("kirka","0x0E85")
var runebook
if uo.getserial("self") == "0x001BC1DE" then # Duke
runebook = "0x40069910"
endif
if uo.getserial("self") == "0x0030236D" then # Saimon
runebook = "0x4015E593"
endif
if uo.getserial("self") == "0x004885F4" then # ZloyMult
runebook = "0x405ad890"
endif
uo.setglobal("runebook",runebook)
uo.addobject("sumka_s_rudoy","0x405ED9AC")
var sumka_s_rudoy = "0x405ED9AC"
var vsegotochek = 14
dim tochkaX[14],tochkaY[14]
# 1. Minok Proxod
tochkaX[1] = 2402
tochkaY[1] = 205
# 2. Occlo 1
tochkaX[2] = 781
tochkaY[2] = 1681
# 3. Avatar x
tochkaX[3] = 4762
tochkaY[3] = 3772
# 4. Avatar 3
tochkaX[4] = 4550
tochkaY[4] = 3172
# 5. Pes Shahta
tochkaX[5] = 1801
tochkaY[5] = 861
# 6. Wrong 3
tochkaX[6] = 1968
tochkaY[6] = 270
# 7. Minok 3
tochkaX[7] = 2427
tochkaY[7] = 108
# 8. Covetous 3
tochkaX[8] = 2399
tochkaY[8] = 915
# 8. Occlo 2
tochkaX[9] = 776
tochkaY[9] = 1674
# 10. Minok 2
tochkaX[10] = 2412
tochkaY[10] = 180
# 11. Avatar 4.2
tochkaX[11] = 4809
tochkaY[11] = 3636
# 12. Covetous 1
tochkaX[12] = 2564
tochkaY[12] = 890
# 13. Avatar 4
tochkaX[13] = 4811
tochkaY[13] = 3652
# 14. Occlo 3
tochkaX[14] = 771
tochkaY[14] = 1685

FOR iX=1 to vsegotochek
IF (uo.getx() == tochkaX[iX]) AND (uo.gety() == tochkaY[iX]) THEN
tochka = iX
uo.setglobal("tochka",iX)
ENDIF
NEXT

uo.set("norbcheck","1")
uo.set("norbcalc","1")
uo.set("quiet","0")
uo.deletejournal()
start:
uo.print("tochka = " + str(tochka))
if not (uo.hidden()) then
gohide()
endif
if isalarm() == 1 then
goto razgruzka
endif

FOR iY = 1 to radius
FOR iX = 1 to radius
kopka:
uo.waittargettile("0",str(uo.getx() + iX - 3),str(uo.gety() + iY - 3),"0")
uo.usetype("kirka")
xtime = uo.timer()
if isalarm() == 1 then
goto razgruzka
endif
uo.deletejournal()
REPEAT
if isalarm() == 1 then
goto razgruzka
endif
IF (uo.timer() >= xtime + 110) OR \
uo.injournal("Ore in your pack") OR \
uo.injournal("useable") OR \
uo.injournal("heavy") \
THEN
goto kopka
ELSE
if isalarm() == 1 then
goto razgruzka
endif
wait(50)
if isalarm() == 1 then
goto razgruzka
endif
wait(50)
if isalarm() == 1 then
goto razgruzka
endif
wait(50)
if isalarm() == 1 then
goto razgruzka
endif
wait(50)
if isalarm() == 1 then
goto razgruzka
endif
wait(50)
if isalarm() == 1 then
goto razgruzka
endif
wait(50)
ENDIF
UNTIL uo.weight >= maxweight OR \
uo.injournal("get there") OR \
uo.injournal("no ore") OR \
uo.injournal("too far") OR \
uo.injournal("try mining") OR \
uo.injournal("Dull Copper Ore") OR \
uo.injournal("Copper Ore") OR \
uo.injournal("Old Copper Ore") OR \
uo.injournal("Bronze Ore") OR \
uo.injournal("Rose Copper Ore") OR \
uo.injournal("Gold Ore") OR \
uo.injournal("Silver Ore") OR \
isalarm() == 1
if isalarm() == 1 then
goto razgruzka
endif
IF uo.weight >= maxweight THEN
goto razgruzka
ENDIF
tilenext:
if isalarm() == 1 then
goto razgruzka
endif
NEXT
NEXT

tochkanext:
uo.exec("warmode 0")
IF tochka == vsegotochek THEN
tochka = 1
uo.setglobal("tochka","1")
ELSE
uo.setglobal("tochka",tochka+1)
tochka = tochka + 1
ENDIF
uo.useskill("Detect Hidden")
repeat
wait(50)
until uo.hidden() == 0
uo.exec("warmode 0")
uo.deletejournal()
gorecall(tochka)
if isalarm() == 1 then
goto razgruzka
endif
GOTO start

razgruzka:
uo.exec("warmode 0")
if uo.getglobal("alarm") == "1" then
uo.msg(".ip")
uo.playwav("c:\alarm.wav")
endif
# if isalarm() == 1 then
# uo.playwav("c:\alarm.wav")
# endif
razgruzka()
uo.setglobal("alarm","0")
IF tochka == vsegotochek THEN
tochka = 1
uo.setglobal("tochka","1")
ELSE
uo.setglobal("tochka",tochka+1)
tochka = tochka + 1
ENDIF
uo.deletejournal()
gorecall(tochka)
if isalarm() == 1 then
goto razgruzka
endif
GOTO start
end sub

sub razgruzka()
gorecall(16)
uo.addobject("sumka_s_rudoy","0x4009a33f")
uo.addtype("bm","0x0F7B")
uo.addtype("bp","0x0F7A")
uo.addtype("mr","0x0F86")

uo.useobject("sumka_s_rudoy")
repeat
wait(50)
until uo.getserial("lastcontainer") == uo.getserial("sumka_s_rudoy")

while uo.count("ruda") >= 4
wait(2000)
uo.moveitem("_ruda","999","sumka_s_rudoy")
wend

IF (UO.BM < 15) THEN
uo.moveitem("<bm","20","backpack")
wait(1000)
ENDIF
IF (UO.MR < 15) THEN
uo.moveitem("<mr","20","backpack")
wait(1000)
ENDIF
IF (UO.BP < 15) THEN
uo.moveitem("<bp","20","backpack")
wait(1000)
ENDIF
uo.deletejournal()
uo.exec("warmode 0")
repeat
uo.useskill("Meditation")
wait(2500)
until uo.mana >= uo.int
end sub

sub gorecall(tochka)
var x = uo.getx()
var y = uo.gety()
var xtime = 0
recall:
uo.deletejournal()
xtime = uo.timer()
uo.exec("warmode 0")
uo.exec("recall " + uo.getglobal("runebook") + " " + str(((tochka-1)*2) + 20))
repeat
if uo.injournal("izzle") OR uo.injournal("snd 005C") OR (uo.timer() >= xtime + 70) then
goto recall
else
wait(200)
endif
until uo.injournal("snd 01FC") OR (uo.getx() <> x) OR (uo.gety() <> y)
end sub

sub gohide()
var xtime = 0
hide:
if isalarm() == 1 then
return 0
endif
uo.deletejournal()
xtime = uo.timer()
uo.exec("warmode 0")
uo.useskill("Hiding")
repeat
if isalarm() == 1 then
return 0
endif
if uo.injournal("seem") OR (uo.timer() >= xtime + 70) then
goto hide
else
wait(200)
endif
until uo.hidden()
uo.deletejournal()
end sub

Есть большой недостаток у хелпа - синтаксис дан не полно и без примеров. Я половину команд из чужих скриптов извлекаю.


Top
   
 Post subject:
PostPosted: 2004-07-09 06:49:38 
Offline
Expert!
User avatar

Joined: 2004-05-31 09:31:51
Posts: 838
Code:
sub Attack() 
UO.DeleteJournal()
var Enemy = 0x00000000
repeat
If UO.inJournal("is attacking you") OR UO.inJournal("heavy") OR UO.InJournal("Wis Quas") OR UO.InJournal("An Ex Por") then
Enemy = UO.JournalSerial(UO.InJournal("is attacking you")-1)
UO.Cast('Magic Arrow',Enemy)
Wait(1200)
UO.DeleteJournal()
Save()
endif
Wait(1000)
until false
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.FindType('0x1F14',-1,'my')
wait(200)
UO.Cast('Recall','finditem')
wait(2000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
end sub



в свое время сделал это........попробуй примастырить к своему


Top
   
 Post subject:
PostPosted: 2004-07-09 11:44:39 
Offline

Joined: 2004-07-08 07:12:09
Posts: 3
Когда его из хайда выводят, сразу каст сбивают стрелками, твой скрпт был первой версией аларма, аотом был аларм на имена и заданных животных, щас есть идея сделать аларм по принципу, если в журнале надпись " You see ...", тогда рекол сразу !!! Но почему то не выходит, немонимаю


Top
   
 Post subject:
PostPosted: 2004-07-09 12:39:27 
Offline
Expert!

Joined: 2004-04-25 11:11:07
Posts: 359
Аларм "уведел - убежал" делается периодическим поиском

_________________
Без труда не выловишь и рыбку из пруда,
А без пруда не выловишь её и с трудом...


Top
   
 Post subject:
PostPosted: 2004-07-09 16:35:11 
Offline
Expert!
User avatar

Joined: 2004-05-31 09:31:51
Posts: 838
zloymult wrote:
Когда его из хайда выводят, сразу каст сбивают стрелками, твой скрпт был первой версией аларма, аотом был аларм на имена и заданных животных, щас есть идея сделать аларм по принципу, если в журнале надпись " You see ...", тогда рекол сразу !!! Но почему то не выходит, немонимаю


просто поставь перед кастом стрелки ;
или сотри ее .....думать надо


Top
   
 Post subject:
PostPosted: 2004-07-09 17:36:16 
Offline

Joined: 2004-04-15 14:50:06
Posts: 73
Location: Moscow
"You see" в журнале инжекта нет, это подставляет сам клиент
Проверь ,showjournal 100

_________________
Я где то рядом... 8)


Top
   
 Post subject:
PostPosted: 2004-07-09 19:15:16 
Offline

Joined: 2004-07-08 07:12:09
Posts: 3
Lord Ruslan Nightmare wrote:
Аларм "уведел - убежал" делается периодическим поиском


выложи свое предложение, у меня уже голова не варит, я сеня весь день ламбер переделывал


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 7 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited