Jump to content


Toggle shoutbox Chat Open the Shoutbox in a popup

@  Artemy Shan : (04 July 2025 - 03:34) Перезапуск проекта: https://forum.oldp.n...howtopic=106329
@  Costesti : (10 June 2025 - 22:26) Артём закрой сервер толку от него ноль так как лаги бешеные ничего не сделать
@  Costesti : (10 June 2025 - 21:03) бля это у меня сервер только логает или у всех?
@  papasha : (10 June 2025 - 15:13) @Costesti da kanesna vvodit, uze dohuja obnov vishlo za 7 let poslednix!!
@  Costesti : (09 June 2025 - 18:34) Артём ты там нововведения водишь?
@  Costesti : (09 June 2025 - 18:31) Сервер работает?
@  Costesti : (31 May 2025 - 23:46) Шан комп меняй уже игру не тянет
@  Costesti : (31 May 2025 - 20:02) мда никому не нужен этот сервер
@  fr33 : (29 May 2025 - 14:07) shenahnan gnom
@  fr33 : (29 May 2025 - 14:07) gm zb!!!1 lagi ept
@  Costesti : (28 May 2025 - 22:43) и это опять и за сейвы
@  Costesti : (28 May 2025 - 22:43) Народ да у кого там номер Шана пускай чинит сервер
@  Costesti : (27 May 2025 - 21:38) Вопрос Крафтить молоко можно?
@  fr33 : (26 May 2025 - 17:33) gm blad chini lag
@  Costesti : (23 May 2025 - 22:37) Бешеные лаги
@  Costesti : (17 May 2025 - 22:54) Опять лаги на Сервере
@  fr33 : (12 May 2025 - 15:21) ble daite mne gm i zdelaju pvp vam
@  Mokasin : (12 May 2025 - 09:04) Puišiem nav garlaicīgi xDDD
@  Egoons : (10 May 2025 - 18:48) lanc 2025 gads jau, ara silts atkal. tas taa, infai
@  beatiful : (10 May 2025 - 10:14) griga pidar

marakoris

Member Since 09 Feb 2010
Offline Last Active Feb 28 2010 23:18
-----

Posts I've Made

In Topic: Help! Доработать скрипт.

20 February 2010 - 20:39

sub autoattack()
var mob
while not UO.Dead()
If UO.InJournal('is attacking you') then
mob=uo.getserial(UO.JournalSerial(UO.InJournal('is attacking you')-1))
if mob<>0 and mob<>uo.getserial('self') then
uo.attack(mob)
repeat
WalkN(0,0,mob)
wait(3000)
until uo.dead(mob) or UO.InJournal('Body')

endif
endif
UO.DeleteJournal()
wait(2000)
looting()
wend
endsub


проблема решилась =)

In Topic: Хорошие скрипты

19 February 2010 - 15:48

Спасибо за скрипты. =)

In Topic: Drop Ore

11 February 2010 - 23:26

sub drop()

var dr = '0x0000' #Сюда тип

uo.findtype(dr,'-1','backpack')

if uo.findcount() then

  uo.drophere('finditem')

else

  uo.print ('Net dropa')

end if

end sub

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

разобрался, спасибо =)
uo.findtype(dr,'ТУТ ЦВЕТ!!','backpack')

In Topic: Drop Ore

11 February 2010 - 22:45

охоооо.... супер! спасибо! =)

In Topic: 100й раз Ламбер

10 February 2010 - 20:11

################################################################################

###################

var f=file("C:\trees3.dat") ## - Путь к файлу в котором будут хранится координаты деревьев.

###

var TryHiding=0 ## 1 - Перед тем как рубить дерево, будет пытаться уйти в хайд, 0 - не будет .

###

var LogsQty=400000000 ## - Количество логов, добыв которое надо реколиться домой.

###

var GetFromFile=1 ## 1 - Координаты деревьев будут считыватся из файла, 0 - собиратся из клиента

### (сначала соберите а потом считывайте из файла).

###

var EatingFood=0 ## 1 - Будем есть, 0 - нет.  

###

var SSpeak=0 ## 1 - Будем качать и спирит спик, 0 - не будем.

###

var TypeFood='0x097B' ## - Тип еды которую будем кушать.(сейчас фиштейки)

###

var Chest='0x401A442D' ## - ID сундука куда будут выгружаться логи.

###

var Trytodrop=0 ## Будем пытатся подходить к сундуку или нет.

###

var ContX=1234 ##Координаты X у сундука

###

var ContY=1234 ##Координаты Y у сундука

###

var oldX,oldY,time ## - Для рекола.

###

###########

### Код ###

###########

sub Lumberjacking()

var i=0,j=0,k=0,r=0,q=0,ii,jj

var TopX=324,TopY=65

dim TreeX[5000], TreeY[5000],TreeT[5000]

dim TreeTile[29]

var flag=0,treeCount=0,clicks=0,flag2=0

########################

### Графика деревьев ###

########################

TreeTile[0]=3277

TreeTile[1]=3280

TreeTile[2]=3283

TreeTile[3]=3286

TreeTile[4]=3289

TreeTile[5]=3291

TreeTile[6]=3294

TreeTile[7]=3296

TreeTile[8]=3299

TreeTile[9]=3302

TreeTile[10]=3393

TreeTile[11]=3394

TreeTile[12]=3395

TreeTile[13]=3396

TreeTile[14]=3415

TreeTile[15]=3416

TreeTile[16]=3417

TreeTile[17]=3418

TreeTile[18]=3419

TreeTile[19]=3438

TreeTile[20]=3439

TreeTile[21]=3440

TreeTile[22]=3441

TreeTile[23]=3442

TreeTile[24]=3460

TreeTile[25]=3461

TreeTile[26]=3462

TreeTile[27]=3290

TreeTile[28]=3288



uo.Exec("filterspeech on")

uo.Exec("filterspeech add 'Where do you want to use the pickaxe?'")



uo.Print('Выбери Топор: ')

uo.Exec('addtype Axe')

while uo.Targeting()

wait(100)

wend



#####################################

### Загружаем координаты из файла ###

#####################################

if GetFromFile==1 then

uo.Print('Загружаем координаты из файла...')

f.open()

treeCount=safe call f.ReadNumber()

for i=1 to treeCount

TreeT[i]=safe call f.ReadNumber()

TreeX[i]=safe call f.ReadNumber()

TreeY[i]=safe call f.ReadNumber()

next

f.close()

else

######################################

### Собираем координаты из клиента ###

######################################

uo.Print('Выбери Кирку: ')

uo.Exec('addobject Pickaxe')

while uo.Targeting()

wait(100)

wend

uo.Print('Собираем координаты деревьев в округе...')

repeat

clicks=0

flag=0

uo.DeleteJournal()

#######################

### Кликаем на тайл ###

#######################

uo.UseObject('Pickaxe')

waitForTarget()

uo.DeleteJournal()

WaitForTryRock()

###############################

### Проверяем дерево ли это ###

###############################

flag=0

for k=0 to 28

if uo.LastTile(0)==TreeTile[k]+1 then

flag=2

end if

next

if flag==0 then

for k=0 to 28

if uo.LastTile(0)==TreeTile[k] then

flag=1

end if

next

end if

if uo.Lasttile(1)==uo.getX() and uo.Lasttile(2)==uo.gety() then

flag=3

end if

#########################

### Кликнули на ствол ###

#########################

if flag==1 then

flag2=0

if treeCount>0 then

for ii=1 to treeCount

if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then

flag2=1

end if

next

end if

if flag2==0 then

treeCount=treeCount+1

TreeX[treeCount]=uo.LastTile(1)

TreeY[treeCount]=uo.LastTile(2)

TreeT[treeCount]=uo.LastTile(0)

uo.Print('Найдено дерево '+str(treeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2))+' '+str(treeCount))

end if

end if

##########################

### Кликнули по листве ###

##########################

if flag==2 then

flag2=0

if treeCount>0 then

for ii=1 to treeCount

if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then

flag2=1

end if

next

end if

if flag2==0 then

treeCount=treeCount+1

TreeX[treeCount]=uo.LastTile(1)

TreeY[treeCount]=uo.LastTile(2)

TreeT[treeCount]=uo.LastTile(0)-1

uo.print('Найдено дерево '+str(treeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2)))

end if

end if

until (Flag==3) or (treeCount==500)

uo.Exec("filterspeech off")

uo.Print('Анализ закончен, координаты деревьев записаны в файл C:\trees3.dat')

SaveToFile(treeCount,TreeX,TreeY,TreeT)

end if

uo.Print('Деревьев найдено: '+str(treeCount))

wait(2000)

######################################

### Ходим по собранным координатам ###

######################################

while 1==1

if treeCount>0 then

for i=1 to treeCount

end if

if Trytodrop==1 and uo.Count('ZLK')>=LogsQty then

GotoXY(uo.getx(Chest),uo.gety(Chest))

DropLogs()

end if

uo.Print('Идем к дереву '+str(i)+': x='+str(TreeX[i])+' y='+str(TreeY[i]))

InfoLogs()

flag=GotoXY(TreeX[i],TreeY[i])

if flag==1 then

if TryHiding==1 then

ToHide()

end if

GetTree(str(TreeT[i]),str(TreeX[i]),str(TreeY[i]),str(uo.GetZ()))

end if

next

end if

wend

end sub



Sub GetTree(Type,X,Y,Z)

var i

uo.Print('Начинаем рубку дерева...')

for i=0 to 8

if uo.Warmode()==1 then

return 0

end if

wait(200)

uo.DeleteJournal()

uo.WaitTargetTile(Type,X,Y,Z)

uo.Usetype('Axe')

if WaitForChange()==1 then

return 1

end if

next

return 0

end sub



Sub ToHide()

if SSpeak==1 then

UO.Useskill('Spirit Speak')	

wait(3000)

endif

while not uo.Hidden()

uo.Print('Пытаемся уйти в хайд...')

uo.DeleteJournal()

uo.UseSkill('Stealth')

wait(3000)

wend

wait(100)

end sub





Sub WaitForHide()

var Text1=uo.GetName()+": You have hidden yourself well"

var Text2=uo.GetName()+": You can't seem to hide here."

var mess

for var i=0 to 200

mess=uo.Journal(0)

if uo.Journal(0)==Text1 then

return 1

end if

if uo.Journal(0)==Text2 then

return 0

end if

wait(50)

next

return 0

end sub



Sub WaitForChange()

var Text1=uo.GetName()+': You hack at the tree for a while, but fail to produce any useable wood.'

var Text2='There is nothing here to chop.'

var Text3="You can't reach this."

var Text4="That is too far away."

var Text5="You can't do much in your current state."

var mess

for var i=0 to 200

mess=uo.Journal(0)

if uo.Journal(0)==Text2 or uo.Journal(0)==Text3 or uo.Journal(0)==Text4 then

return 1

end if

if uo.Journal(0)==Text1 then

return 0

end if

if mess[0]=='Y' and mess[1]=='o' and mess[2]=='u' and mess[4]=='p' and mess[5]=='u' and mess[6]=='t' then

return 0

end if

wait(50)

next

return 0

end sub



Sub WaitForTryRock()

var Text1="That is too far away."

var Text2="Try mining in rock."

var Text3="There is no ore here to mine."

var Text4="You have no line of sight to that location"

var Text5="You can't see the target"

for var i=0 to 50

if uo.Journal(0)==Text1 or uo.Journal(0)==Text2 or uo.Journal(0)==Text3 or uo.Journal(0)==Text4 or uo.Journal(0)==Text5 then

return 1

end if

wait(200)

next

return 0

end sub



Sub WaitForTarget()

for var i=0 to 50

if uo.Targeting()==1 then

return 1

end if

wait(200)

next

return 0

end sub



Sub WaitForChangeXY(myX,myY,lastX,lastY)

for var i=1 to 50

if lastX<>myX or lastY<>myY then

return 1

end if

wait(200)

next

return 0

end sub



Sub GotoXY(x,y)

var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0

for i=1 to 60

myX=uo.getX();

myY=uo.getY();

if LastX==myX and LastY==myY then

halt=halt+1

else

halt=0

end if

if halt>=10 then

if uo.GetDir()==1 then

for z=0 to 8

uo.Press(40)

next

end if

if uo.GetDir()==3 then

for z=0 to 8

uo.Press(37)

next

end if

if uo.GetDir()==5 then

for z=0 to 8

uo.Press(38)

next

end if

if uo.GetDir()==7 then

for z=0 to 8

uo.Press(39)

next

end if

halt=15

end if

if Numb(x-myX)<=1 and Numb(y-myY)<=2 then

return 1

end if

if x<=myX then

if y<=myY then

for z=0 to 3

uo.Press(38)

next

else

for z=0 to 3

uo.Press(37)

next

end if

else

if y<=myY then

for z=0 to 3

uo.Press(39)

next

else

for z=0 to 3

uo.Press(40)

next

end if

end if

lastX=myX

lastY=myY

wait(200)

next

return 0

end sub



Sub Numb(num)

if num>=0 then

return num

else

return num*(-1)

end if

end sub



Sub SaveToFile(treeCount,TreeX,TreeY,TreeT)

var f=file("C:\trees3.dat")

var s=0,i=0

f.open()

f.create()

s=safe call f.writeln(treeCount)

for i=1 to treeCount

s=safe call f.writeln(str(TreeT[i])+' '+str(TreeX[i])+' '+str(TreeY[i]))

next

f.close()

end sub



sub DropLogs()

uo.say("Выкладываю логи !!! Не беспокоить !!!")

if uo.Waiting() then

uo.CancelTarget()

end if

var a,Exit

dim Logs[1]

Logs[0]=0x1BDD

uo.Print('Выкладываем Логи.')

uo.SetReceivingContainer(Chest)

wait(500)

for a=0 to 0

Exit=0

repeat

uo.FindType(Logs[a])

if uo.GetQuantity('finditem')>0 then

uo.Grab('0','finditem')

wait(1500)

GotoXY(ContX,ContY)

else

Exit=1

end if

until Exit==1

next

if EatingFood==1 then

EatingFood()

end if

uo.UnSetReceivingContainer(Chest)

uo.Print('Логи Выложены.')

end sub





Sub InfoLogs()

uo.Print('У вас всего '+str(uo.Count('0x1BDD'))+' логов в сумке')

uo.Print('Из них '+str(uo.Count('0x1BDD','0x0000'))+' простых и ' +str(uo.Count('0x1BDD')-uo.Count('0x1BDD','0x0000'))+' цветных')

end sub



Sub Open(Container)

uo.DeleteJournal()

uo.UseObject(Container)

repeat

wait(500)

until uo.InJournal('Contains')

end sub





Sub EatingFood()

ToEat()

DropFood()

end sub



Sub ToEat()

uo.SetReceivingContainer('backpack')

Open(Chest)

uo.FindType(TypeFood,'-1',Chest)

uo.Grab('50','finditem')

wait(500)

repeat

Checklag()

uo.UseType(TypeFood)

wait(1000)

until uo.InJournal('You are simply too full to eat any more!')

uo.UnsetReceivingContainer()

end sub



Sub DropFood()

if uo.Waiting() then

uo.CancelTarget()

end if

var f,Exit

dim Food[1]

Food[0]=TypeFood

uo.SetReceivingContainer(Chest)

wait(500)

for f=0 to 0

Exit=0

repeat

uo.FindType(Food[f])

if uo.GetQuantity('finditem')>0 then

uo.Grab('0','finditem')

wait(1500)

else

Exit=1

end if

until Exit==1

next

uo.UnSetReceivingContainer(Chest)

end sub



Sub CheckLag()

if uo.Waiting()>0 then

uo.Exec('canceltarget')

end if

uo.DeleteJournal()

uo.Click('backpack')

repeat

wait(50)

until uo.InJournal('backpack')

end sub

вот скрипт, содраный с другого форума, вроде бегает и рубит деревья... а что еще нужно =)))))

Работает .Совет чтобы не ходить и не собирать координаты -воспользуйтесь ,infotile и таргетом на дерево
должно получиться что-то типа:

3477 2912 692 5

3481 2914 694 3

0 2912 692 5 -где первая 0 рубить не будет (удаляем эту надпись)

как собрали достаточное кол-во координат (20-30)
Создайте файл на C:\ диске trees3.dat (txt потом переименуете в dat)
и туда все это дело прописываем -в самом начале ставим число деревьев ,а потом те координаты что собрали только без последней цифры (высота) -пример:
2
3477 2912 692
3481 2914 694

ps Удачи помакрить