Нужна минимальная помощ с большим скриптом на ламбер

Ask for help

Moderators: Murderator+, Murderator

angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

Скрипт полностью работает, но есть две заминки (точнее одна заминка и одно дополнение) которые требую помощи тру. скриптёров. Если такие есть то помогите:
1. При неудачной рубке (You hack at the tree for a while, but fail to produce any useable wood.) происходит пауза ~5 секунд... как бы её убрать ?
2. Попытался сделать чтоб при сообщении в системном чате: 'Enter the text' (антимакрос система) проигрывался муз. файл... но он почему то не проигрывается (я вставил его в строку если меня атакуют, т.к. ещё не до такой степени могу коректировать скрипты чтобы вставить такую переменную или что ещё там нужно вставить).
Если можно то вставить отдельно проигрывание муз. файла и чтоб ждал пока введёшь в чате ответ и нажмёшь дабл клик на топор (появлении в системном чате 'What do you want to use this on?') (т.к. после введение ответа в системном чате ничего не выдаёт).

Я в скриптах не силён... как смог изменил, но это у меня кое что не получилось... если кто соблоговолит то вставте уже в скрипт... (но буду рад даже если обьясните что и куда вставить.)


А вот сам скрипт взятый из одной из тем на форуме:

Code: Select all

################## 
### Переменные ### 
################## 
################################################################################################### 
var f=file("C:\trees3.dat") ## - Путь к файлу в котором будут хранится координаты деревьев. 
### 
var TryHiding=0 ## 1 - Перед тем как рубить дерево, будет пытаться уйти в хайд, 0 - не будет . 
### 
var TryRecall=1 ## 0 - После того как соберет LogsQty логов, будет пытаться реколиться домой, 
### складывать логи в сундук и реколиться обратно , 0 - не будет. 
### 
var LogsQty=1000 ## - Количество логов, добыв которое надо реколиться домой. 
### 
var GetFromFile=1 ## 1 - Координаты деревьев будут считыватся из файла, 0 - собиратся из клиента 
### (сначала соберите а потом считывайте из файла). 
### 
var AttackEnts=0 ## 1 - Включить рекол по руне(в паке) при атаке, 0 - отключить рекол. 
### 
var CastAtAttack=0 ## 0 - Включить каст - "Magic Arrow" на напавшего, 0 - отключить каст. 
### 
var EatingFood=0 ## 0 - Будем есть, 0 - нет.  
### 
var TypeFood='0x097B' ## - Тип еды которую будем кушать.(сейчас фиштейки) 
### 
var Reconnect=0 ## 0 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект. 
### 
var RecallDrop=0 ## 0 - Включить рекол после побега от ента домой и выложить логи, 0 -выключить. 
### 
var RecallLumber=1 ## 1 - Включить рекол в лес после указания обьектов, 0 - выключить. 
### 
var Chest='0x400144D0' ## - ID сундука куда будут выгружаться логи, где должны лежать реколы и еда. 
### 
var LumberSound=('D:\ICQ.mp3') ## - Звук которы будет пригран при атаке.(замените на свой) 
### 
var oldX,oldY,time ## - Для рекола. 
### 
###################################################################################################  
### 
### После настройки (переменных выше) : 
### Идите в лес в котором вы хотите рубить. 
### Запустите cкрипт Lumberjacking(), Инжект попросит вас указать Топор 
### (появится прицел, прицелом на топор который вы с собой взяли), 
### затем инжект попросит вас указать Рунбук(появится прицел, прицелом на него). 
### После этого чар пойдет по координатам и будет вырубать деревья. 
########### 
### Код ### 
########### 
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 
#BETEP™# 
######################## 
### Графика деревьев ### 
######################## 
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?'") 


if TryRecall==1 then 
uo.print('Выбери руну домой: ') 
uo.exec('addobject runeHome') 
while uo.Targeting() 
wait(100) 
wend 

uo.print('Выбери руну в лес: ') 
uo.exec('addobject runeLumber') 
while uo.Targeting() 
wait(100) 
wend  

end if 

uo.Print('Выбери Топор: ') 
uo.Exec('addobject Axe') 
while uo.Targeting() 
wait(100) 
wend 


if AttackEnts==1 then 
uo.exec('addobject runeD') 
while uo.Targeting() 
wait(100) 
wend  
uo.Exec('exec AttackEnts') 
end if 

if Reconnect==1 then 
uo.Exec('exec Reconnect') 
end if 

if RecallLumber==1 then 
uo.Exec('exec RecallToLumber') 
wait(9000) 
end if 

##################################### 
### Загружаем координаты из файла ### 
##################################### 
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==5000) 
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 
if TryRecall==1 and uo.Count('ZLK')>=LogsQty then 
ToRecall() 
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 
#BETEP™# 
end sub 

sub GetTree(Type,X,Y,Z) 
var i 
uo.Print('Начинаем рубку дерева...') 
for i=0 to 15 
if uo.Warmode()==1 then 
return 0 
end if 
wait(200) 
uo.DeleteJournal() 
### CheckLag() 
uo.WaitTargetTile(Type,X,Y,Z) 
uo.UseObject('Axe') 
if WaitForChange()==1 then 
return 1 
end if 
next 
return 0 
end sub 

sub ToRecall() 
RecallToHome() 
DropLogs() 
InfoLogs() 
if EatingFood==1 then 
EatingFood() 
end if 
wait(3000) 
RecallToLumber() 
end sub 

sub RecallToHome() 
var i 
uo.print('Реколимся домой...') 
for i=1 to 10 
uo.deletejournal() 
uo.waittargetobject('runeHome') 
uo.cast('Recall') 
if WaitForRecall()==1 then 
return 1 
end if 
next 
return 0 
end sub 

sub RecallToLumber() 
var i 
uo.print('Реколимся обратно...') 
for i=1 to 10 
uo.deletejournal() 
uo.waittargetobject('runeLumber') 
uo.cast('Recall') 
if waitForRecall()==1 then 
return 1 
end if 
next 
return 0 
end sub 

sub ToHide() 
while not uo.Hidden() 
uo.Print('Пытаемся уйти в хайд...') 
uo.DeleteJournal() 
uo.UseSkill('Stealth') 
wait(6000) 
wend 
wait(100) 
end sub 

sub WaitForRecall() 
var Text1=uo.GetName()+": The spell fizzles." 
var mess='',lastX=uo.getX(),lastY=uo.getY() 
for var i=0 to 200 
mess=uo.Journal(0) 
if uo.Journal(0)==Text1 then 
return 0 
end if 
if uo.getX()<>lastX or uo.getY()<>LastY then 
return 1 
end if 
wait(50) 
next 
return 0 
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 are no logs left here to chop.' 
var Text3="You can't reach this." 
var Text4="That's too far away to chop." 
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() 
ToHide() 
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) 
else 
Exit=1 
end if 
until Exit==1 
next 
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 RechargeBook() 
ToRecharge() 
DropScrolls() 
end sub 

sub ToRecharge() 
uo.SetReceivingContainer('backpack') 
Open(Chest) 
uo.FindType('0x1F4C','-1',Chest) 
uo.Grab('50','finditem') 
wait(500) 
Checklag() 
uo.UseObject('Runebook') 
wait(1000) 
Checklag() 
uo.Lclick(296,91) 
wait(1000) 
uo.UnsetReceivingContainer() 
end sub 

sub DropScrolls() 
if uo.Waiting() then 
uo.CancelTarget() 
end if 
var s,Exit 
dim Scrolls[1] 
Scrolls[0]=0x1F4C 
uo.SetReceivingContainer(Chest) 
wait(500) 
for s=0 to 0 
Exit=0 
repeat 
uo.FindType(Scrolls[s]) 
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 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 AttackEnts() 
uo.DeleteJournal() 
var Enemy='0x00000000' 
repeat 
if uo.InJournal('is attacking you') or uo.InJournal('OOPS!!!') or uo.InJournal('Enter the text') or uo.InJournal('Wis Quas') then 
uo.Exec('terminate Lumberjacking')  
Enemy=uo.JournalSerial(uo.InJournal('is attacking you')-1) 
##uo.PlayWav(LumberSound) 
if CastAtAttack==1 then 
uo.Cast('Magic Arrow',Enemy) 
end if 
uo.DeleteJournal() 
RecallAtAttack() 
end if 
wait(1000) 
until false 
end sub 

sub RecallAtAttack() 
var mX,mY 
reccal: 
uo.DeleteJournal() 
if uo.Waiting() then 
uo.CancelTarget() 
end if 
mX=uo.getX("self") 
mY=uo.getY("self") 
uo.DeleteJournal() 
uo.waittargetobject('runeD') 
uo.cast('Recall') 
uo.Print('Атака! Реколимся!') 
wait(4000) 
if not uo.getX("self")<>mX and not uo.getY("self")<>mY then 
goto reccal 
end if 
if RecallDrop==1 then 
RecallToHome() 
DropLogs() 
InfoLogs() 
end if 
Terminate() 
end sub 

sub Reconnect() 
var ReconnectTime,rFlag 
ReconnectTime='0' 
rFlag=1 
repeat 
while (uo.ObjAtLayer('Bpack')=='') 
if rFlag then 
ReconnectTime=MakeTime() 
rFlag=0 
end if 
wait(20000) 
uo.Say('') 
wait(3000) 
uo.Say('') 
wait(3000) 
uo.Say('') 
wait(3000) 
uo.LDblClick(357,164) 
uo.LClick(616,459) 
wait(3000) 
wend 
wait(3000) 
if (rFlag==0) and (ReconnectTime<>'0') then 
uo.TextOpen() 
uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) 
rFlag=1 
ReconnectTime='0' 
end if 
until false 
end sub 

sub MakeTime() 
var d,t,ret,i 
ret=str(uo.Time()) 
t="" 
for i=0 to Len(ret) 
t=ret[Len(ret)-i]+t 
if (i==2) or (i==4) then 
t=":"+t 
end if 
next 
ret=str(uo.Date()) 
d="" 
for i=0 to Len(ret) 
d=ret[Len(ret)-i] + d 
if (i==2) or (i==4) then 
d="."+d 
end if 
next 
ret=t+" @ "+d 
return ret 
end sub 

sub Terminate() 
uo.Print('Все функции скрипта выключены!') 
uo.DeleteJournal() 
uo.Exec('terminate all') 
wait(100) 
uo.Exec('terminate all') 
wait(100) 
uo.Exec('terminate all') 
wait(100) 
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') 
#BETEP™# 
end sub
Image
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by Mirage »

1) замени строку
var Text1=uo.GetName()+': You hack at the tree for a while, but fail to produce any useable wood.'
на строку
var Text1='any useable'

2) Процедура отвечающая за атаку чара / обнаружение энта / рекол / и твой энтер текст называется sub AttackEnts() и если присмотрется в шапке написано следующее:
var AttackEnts=0 ## 1 - Включить рекол по руне(в паке) при атаке, 0 - отключить рекол.
Внимательнее ;)

3) четкая гифка в подписе. Пару минут любовался. :mrgreen:

PS это не совсем работа для спецов :roll: Нет нужны играть на чувствах :lol:
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

Mirage wrote:1) замени строку
var Text1=uo.GetName()+': You hack at the tree for a while, but fail to produce any useable wood.'
на строку
var Text1='any useable'

2) Процедура отвечающая за атаку чара / обнаружение энта / рекол / и твой энтер текст называется sub AttackEnts() и если присмотрется в шапке написано следующее:
var AttackEnts=0 ## 1 - Включить рекол по руне(в паке) при атаке, 0 - отключить рекол.
Внимательнее ;)

3) четкая гифка в подписе. Пару минут любовался. :mrgreen:

PS это не совсем работа для спецов :roll: Нет нужны играть на чувствах :lol:

Кск сделать чтоб скрипт ждал пока введёшь в чате ответ и нажмёшь дабл клик на топор (появлении в системном чате 'What do you want to use this on?') (т.к. после введение ответа в системном чате ничего не выдаёт). А рекол и атаку от энтов убрать
Image
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by Mirage »

принскрин антимакрос окна сделай (можно только уголка - окошка) или опиши подробно принцип происходящего
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

Image
После ввода ответа ничего в журнале не пишеться. Я бы хотел узнать можно ли поставить ожидание ответа и после нажатия дабл клик на топор (появлении в системном чате 'What do you want to use this on?') возобновлял работу скрипта. т.к. 3 раза если ничего не напишешь блочиться рубка на 20 минут
Если нужно можно вместо атаки энтов это вставить... т.к. на шарде энты не вылазят и никто не атакует
Image
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by ZeroDX »

Была реализация =), но боялся, что систему поменяют и стёр =)ссылка может помочь, там все реально сделать автоматом и не заморачиваться и ожиданием ответа итд

зы
1.массив

Code: Select all

value[0] = ' Нол'
value[1] = ' Оди'
value[2] = ' Дв'
и так далее
2. функция, проверяющая наличие подстроки в строке

Code: Select all

sub In_string(substr, string)
    var str, i
    for i = 0 to len(string) - 1
        str = mid(string, i, len(substr))
        if str == substr then
            return 1
        end if
    next
    return 0
end sub
Last edited by ZeroDX on 2013-03-06 01:03:30, edited 1 time in total.
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

ZeroDX wrote:Была реализация =), но боялся, что систему поменяют и стёр =)ссылка может помочь, там все реально сделать автоматом и не заморачиваться и ожиданием ответа итд
Я сам не силён писать такое... Мне не обязательно атимакрос система (но была бы к стати... если есть у кого то дайте скрипт, или хотябы подскажите как его примерно написать и куда вставить) я и сам могу цифры вводить... но проблема в задрежке и в звуке... Как бы приостановить макрос при выскакивании Enter the text и после дабл клика на топор продолжал скрипт
Image
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

Code: Select all

value[0] = ' Ноль'
value[1] = ' Один'
value[2] = ' Два'
value[3] = ' Три'
value[4] = ' Четыре'
value[5] = ' Пять'
value[6] = ' Шесть'
value[7] = ' Семь'
value[8] = ' Восемь'
value[9] = ' Девять'

sub In_string(substr, string)
    var str, i
    for i = 0 to len(string) - 1
        str = mid(string, i, len(substr))
        if str == substr then
            return 1
        end if
    next
    return 0
end sub
Я так понял вот так должно всё это выглядеть ? (Если так то в какое место скрипта это засунуть ? :)) Цыфры ещё могут быть не точными (с возможным обрезанием последней буквы) если что я подправлю при тэсте

Если не затруднит то кинь этот скрипт уже со внесённым туда этим антимакрососм. (Я в жизни не догодаюсь куда его сунуть)
Image
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

Как я понимаю нужно его поместить в цикл... Можно заменить цикл атаки на энтов им? Тоесть когда в чате пишет is attacking you заменить на Enter the text ... тоесть:

Code: Select all

sub AttackEnts() 
uo.DeleteJournal() 
var Enemy='0x00000000' 
repeat 
if uo.InJournal('Enter the text')  then 
uo.Exec('terminate Lumberjacking')  
Enemy=uo.JournalSerial(uo.InJournal('is attacking you')-1) 
uo.DeleteJournal() 
n_string() 
end if 
wait(1000) 
until false 
end sub 

value[0] = ' Ноль'
value[1] = ' Один'
value[2] = ' Два'
value[3] = ' Три'
value[4] = ' Четыре'
value[5] = ' Пять'
value[6] = ' Шесть'
value[7] = ' Семь'
value[8] = ' Восемь'
value[9] = ' Девять'

sub In_string(substr, string)
    var str, i
    for i = 0 to len(string) - 1
        str = mid(string, i, len(substr))
        if str == substr then
            return 1
        end if
    next
    return 0
end sub 
Ну и в шапке заменить

Code: Select all

var RecallDrop=0
на

Code: Select all

var In_string=1

P.S. В скриптах не силён... сделал как смог... Правильно ?
Image
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

Тоесть всё полностью выглядит так:

Code: Select all

################## 
### Переменные ### 
################## 
################################################################################################### 
var f=file("C:\trees3.dat") ## - Путь к файлу в котором будут хранится координаты деревьев. 
### 
var TryHiding=0 ## 1 - Перед тем как рубить дерево, будет пытаться уйти в хайд, 0 - не будет . 
### 
var TryRecall=1 ## 0 - После того как соберет LogsQty логов, будет пытаться реколиться домой, 
### складывать логи в сундук и реколиться обратно , 0 - не будет. 
### 
var LogsQty=1000 ## - Количество логов, добыв которое надо реколиться домой. 
### 
var GetFromFile=1 ## 1 - Координаты деревьев будут считыватся из файла, 0 - собиратся из клиента 
### (сначала соберите а потом считывайте из файла). 
### 
var Antimakros=1 ## 1 - Включить рекол по руне(в паке) при атаке, 0 - отключить рекол. 
### 
var CastAtAttack=0 ## 0 - Включить каст - "Magic Arrow" на напавшего, 0 - отключить каст. 
### 
var EatingFood=0 ## 0 - Будем есть, 0 - нет.  
### 
var TypeFood='0x097B' ## - Тип еды которую будем кушать.(сейчас фиштейки) 
### 
var Reconnect=0 ## 0 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект. 
### 
var In_string=1 ## 0 - Включить рекол после побега от ента домой и выложить логи, 0 -выключить. 
### 
var RecallLumber=1 ## 1 - Включить рекол в лес после указания обьектов, 0 - выключить. 
### 
var Chest='0x400144D0' ## - ID сундука куда будут выгружаться логи, где должны лежать реколы и еда. 
### 
var LumberSound=('D:\ICQ.mp3') ## - Звук которы будет пригран при атаке.(замените на свой) 
### 
var oldX,oldY,time ## - Для рекола. 
### 
###################################################################################################  
### 
### После настройки (переменных выше) : 
### Идите в лес в котором вы хотите рубить. 
### Запустите cкрипт Lumberjacking(), Инжект попросит вас указать Топор 
### (появится прицел, прицелом на топор который вы с собой взяли), 
### затем инжект попросит вас указать Рунбук(появится прицел, прицелом на него). 
### После этого чар пойдет по координатам и будет вырубать деревья. 
########### 
### Код ### 
########### 
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 
#BETEP™# 
######################## 
### Графика деревьев ### 
######################## 
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?'") 


if TryRecall==1 then 
uo.print('Выбери руну домой: ') 
uo.exec('addobject runeHome') 
while uo.Targeting() 
wait(100) 
wend 

uo.print('Выбери руну в лес: ') 
uo.exec('addobject runeLumber') 
while uo.Targeting() 
wait(100) 
wend  

end if 

uo.Print('Выбери Топор: ') 
uo.Exec('addobject Axe') 
while uo.Targeting() 
wait(100) 
wend 


if AttackEnts==1 then 
uo.exec('addobject runeD') 
while uo.Targeting() 
wait(100) 
wend  
uo.Exec('exec AttackEnts') 
end if 

if Reconnect==1 then 
uo.Exec('exec Reconnect') 
end if 

if RecallLumber==1 then 
uo.Exec('exec RecallToLumber') 
wait(9000) 
end if 

##################################### 
### Загружаем координаты из файла ### 
##################################### 
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==5000) 
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 
if TryRecall==1 and uo.Count('ZLK')>=LogsQty then 
ToRecall() 
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 
#BETEP™# 
end sub 

sub GetTree(Type,X,Y,Z) 
var i 
uo.Print('Начинаем рубку дерева...') 
for i=0 to 15 
if uo.Warmode()==1 then 
return 0 
end if 
wait(200) 
uo.DeleteJournal() 
### CheckLag() 
uo.WaitTargetTile(Type,X,Y,Z) 
uo.UseObject('Axe') 
if WaitForChange()==1 then 
return 1 
end if 
next 
return 0 
end sub 

sub ToRecall() 
RecallToHome() 
DropLogs() 
InfoLogs() 
if EatingFood==1 then 
EatingFood() 
end if 
wait(3000) 
RecallToLumber() 
end sub 

sub RecallToHome() 
var i 
uo.print('Реколимся домой...') 
for i=1 to 10 
uo.deletejournal() 
uo.waittargetobject('runeHome') 
uo.cast('Recall') 
if WaitForRecall()==1 then 
return 1 
end if 
next 
return 0 
end sub 

sub RecallToLumber() 
var i 
uo.print('Реколимся обратно...') 
for i=1 to 10 
uo.deletejournal() 
uo.waittargetobject('runeLumber') 
uo.cast('Recall') 
if waitForRecall()==1 then 
return 1 
end if 
next 
return 0 
end sub 

sub ToHide() 
while not uo.Hidden() 
uo.Print('Пытаемся уйти в хайд...') 
uo.DeleteJournal() 
uo.UseSkill('Stealth') 
wait(6000) 
wend 
wait(100) 
end sub 

sub WaitForRecall() 
var Text1=uo.GetName()+": The spell fizzles." 
var mess='',lastX=uo.getX(),lastY=uo.getY() 
for var i=0 to 200 
mess=uo.Journal(0) 
if uo.Journal(0)==Text1 then 
return 0 
end if 
if uo.getX()<>lastX or uo.getY()<>LastY then 
return 1 
end if 
wait(50) 
next 
return 0 
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 are no logs left here to chop.' 
var Text3="You can't reach this." 
var Text4="That's too far away to chop." 
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() 
ToHide() 
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) 
else 
Exit=1 
end if 
until Exit==1 
next 
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 RechargeBook() 
ToRecharge() 
DropScrolls() 
end sub 

sub ToRecharge() 
uo.SetReceivingContainer('backpack') 
Open(Chest) 
uo.FindType('0x1F4C','-1',Chest) 
uo.Grab('50','finditem') 
wait(500) 
Checklag() 
uo.UseObject('Runebook') 
wait(1000) 
Checklag() 
uo.Lclick(296,91) 
wait(1000) 
uo.UnsetReceivingContainer() 
end sub 

sub DropScrolls() 
if uo.Waiting() then 
uo.CancelTarget() 
end if 
var s,Exit 
dim Scrolls[1] 
Scrolls[0]=0x1F4C 
uo.SetReceivingContainer(Chest) 
wait(500) 
for s=0 to 0 
Exit=0 
repeat 
uo.FindType(Scrolls[s]) 
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 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 Antimakros() 
uo.DeleteJournal() 
var Enemy='0x00000000' 
repeat 
if uo.InJournal('Enter the text')  then 
uo.Exec('terminate Lumberjacking')  
Enemy=uo.JournalSerial(uo.InJournal('is attacking you')-1) 
uo.DeleteJournal() 
n_string() 
end if 
wait(1000) 
until false 
end sub 

value[0] = ' Ноль'
value[1] = ' Один'
value[2] = ' Два'
value[3] = ' Три'
value[4] = ' Четыре'
value[5] = ' Пять'
value[6] = ' Шесть'
value[7] = ' Семь'
value[8] = ' Восемь'
value[9] = ' Девять'

sub In_string(substr, string)
    var str, i
    for i = 0 to len(string) - 1
        str = mid(string, i, len(substr))
        if str == substr then
            return 1
        end if
    next
    return 0
end sub

sub Reconnect() 
var ReconnectTime,rFlag 
ReconnectTime='0' 
rFlag=1 
repeat 
while (uo.ObjAtLayer('Bpack')=='') 
if rFlag then 
ReconnectTime=MakeTime() 
rFlag=0 
end if 
wait(20000) 
uo.Say('') 
wait(3000) 
uo.Say('') 
wait(3000) 
uo.Say('') 
wait(3000) 
uo.LDblClick(357,164) 
uo.LClick(616,459) 
wait(3000) 
wend 
wait(3000) 
if (rFlag==0) and (ReconnectTime<>'0') then 
uo.TextOpen() 
uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) 
rFlag=1 
ReconnectTime='0' 
end if 
until false 
end sub 

sub MakeTime() 
var d,t,ret,i 
ret=str(uo.Time()) 
t="" 
for i=0 to Len(ret) 
t=ret[Len(ret)-i]+t 
if (i==2) or (i==4) then 
t=":"+t 
end if 
next 
ret=str(uo.Date()) 
d="" 
for i=0 to Len(ret) 
d=ret[Len(ret)-i] + d 
if (i==2) or (i==4) then 
d="."+d 
end if 
next 
ret=t+" @ "+d 
return ret 
end sub 

sub Terminate() 
uo.Print('Все функции скрипта выключены!') 
uo.DeleteJournal() 
uo.Exec('terminate all') 
wait(100) 
uo.Exec('terminate all') 
wait(100) 
uo.Exec('terminate all') 
wait(100) 
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') 
#BETEP™# 
end sub
Что не так ?
Image
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by ZeroDX »

всё=) начиная от массива и заканчивая простой вставкой =)

в массиве надо стереть последние буквы, ибо иногда они не печатаются. затем нужно накатать функцию antimacros(), которая бы палила в журнале строку Сколько будет. далее надо прогонять строку через функцию, что я дал выше, первым параметром - элементы массива, вторым строка из журнала. функция вернула 1 - добавляем номер итерации к переменной, которая объявлена заранее и равна нулю с самого запуска функции. затереть строку, дабы не было повторных срабатываний. в случае успеха - возвращать true, на которое среагирует функция, получившая управление: реакция - юзнуть топор ещё разок, а возвращать false - только если в журнале не обнаружена строка Сколько будет

вот например так:

Code: Select all

sub antimacro()
    dim value[10]
        value[0] = ' Нол'
        value[1] = ' Оди'
        value[2] = ' Дв'
        value[3] = ' Тр'
        value[4] = ' Четыр'
        value[5] = ' Пят'
        value[6] = ' Шест'
        value[7] = ' Сем'
        value[8] = ' Восем'
        value[9] = ' Девят'

    var i, j, line, cache = 0
    if uo.injournal('Enter the text') then
        uo.setjournalline(uo.injournal('Enter the text') - 1, '')
        line = uo.injournal('Enter the text') - 2
        for j = 0 to 2
            for i = 0 to 9
                if in_string(value[i], uo.journal(line)) then
                    cache = cache + i
                end if
            next
            line = line - 1
        next
        return 1
    else
        return 0
    end if
end sub

sub in_string(substr, string)
    var str, i
    for i = 0 to len(string) - 1
        str = mid(string, i, len(substr))
        if str == substr then
            return 1
        end if
    next
    return 0
end sub
реализация немного не та

получившийся код нужно будет заводить из функции GetTree, сразу после строки uo.UseObject('Axe')

Code: Select all

if antimacro() then
    uo.UseObject('Axe')
end if
НО! тебе же нужно пауза просто...

Code: Select all

sub antimacro()
    if uo.injournal('Enter the text') then
        while not uo.injournal('here do you want')
            wait(100)
        wend
        while uo.injournal('Enter the text')
            uo.setjournalline(uo.injournal('Enter the text') - 1, '')
        wend
    end if
 endsub
а в GetTree нужно вставить в то же место

Code: Select all

antimacro()
так сделать легче, и код короче... имхо лучший вариант :mrgreen:
Last edited by ZeroDX on 2013-03-06 17:34:39, edited 1 time in total.
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

Всё до чего я смог додуматься виглядит вот так:

Code: Select all

################## 
### Переменные ### 
################## 
################################################################################################### 
var f=file("C:\trees3.dat") ## - Путь к файлу в котором будут хранится координаты деревьев. 
### 
var TryHiding=0 ## 1 - Перед тем как рубить дерево, будет пытаться уйти в хайд, 0 - не будет . 
### 
var TryRecall=1 ## 0 - После того как соберет LogsQty логов, будет пытаться реколиться домой, 
### складывать логи в сундук и реколиться обратно , 0 - не будет. 
### 
var LogsQty=1000 ## - Количество логов, добыв которое надо реколиться домой. 
### 
var GetFromFile=1 ## 1 - Координаты деревьев будут считыватся из файла, 0 - собиратся из клиента 
### (сначала соберите а потом считывайте из файла). 
### 
var Antimakros=1 ## 1 - Включить рекол по руне(в паке) при атаке, 0 - отключить рекол. 
### 
var CastAtAttack=0 ## 0 - Включить каст - "Magic Arrow" на напавшего, 0 - отключить каст. 
### 
var EatingFood=0 ## 0 - Будем есть, 0 - нет.  
### 
var TypeFood='0x097B' ## - Тип еды которую будем кушать.(сейчас фиштейки) 
### 
var Reconnect=0 ## 0 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект. 
### 
var In_string=1 ## 0 - Включить рекол после побега от ента домой и выложить логи, 0 -выключить. 
### 
var RecallLumber=1 ## 1 - Включить рекол в лес после указания обьектов, 0 - выключить. 
### 
var Chest='0x400144D0' ## - ID сундука куда будут выгружаться логи, где должны лежать реколы и еда. 
### 
var LumberSound=('D:\ICQ.mp3') ## - Звук которы будет пригран при атаке.(замените на свой) 
### 
var oldX,oldY,time ## - Для рекола. 
### 
###################################################################################################  
### 
### После настройки (переменных выше) : 
### Идите в лес в котором вы хотите рубить. 
### Запустите cкрипт Lumberjacking(), Инжект попросит вас указать Топор 
### (появится прицел, прицелом на топор который вы с собой взяли), 
### затем инжект попросит вас указать Рунбук(появится прицел, прицелом на него). 
### После этого чар пойдет по координатам и будет вырубать деревья. 
########### 
### Код ### 
########### 
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 
#BETEP™# 
######################## 
### Графика деревьев ### 
######################## 
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?'") 


if TryRecall==1 then 
uo.print('Выбери руну домой: ') 
uo.exec('addobject runeHome') 
while uo.Targeting() 
wait(100) 
wend 

uo.print('Выбери руну в лес: ') 
uo.exec('addobject runeLumber') 
while uo.Targeting() 
wait(100) 
wend  

end if 

uo.Print('Выбери Топор: ') 
uo.Exec('addobject Axe') 
while uo.Targeting() 
wait(100) 
wend 


if Antimakros==1 then 
uo.exec('addobject runeD') 
while uo.Targeting() 
wait(100) 
wend  
uo.Exec('exec Antimakros') 
end if 

if Reconnect==1 then 
uo.Exec('exec Reconnect') 
end if 

if RecallLumber==1 then 
uo.Exec('exec RecallToLumber') 
wait(9000) 
end if 

##################################### 
### Загружаем координаты из файла ### 
##################################### 
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==5000) 
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 
if TryRecall==1 and uo.Count('ZLK')>=LogsQty then 
ToRecall() 
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 
#BETEP™# 
end sub 

sub GetTree(Type,X,Y,Z) 
var i 
uo.Print('Начинаем рубку дерева...') 
for i=0 to 15 
if uo.Warmode()==1 then 
return 0 
end if 
wait(200) 
uo.DeleteJournal() 
### CheckLag() 
uo.WaitTargetTile(Type,X,Y,Z) 
uo.UseObject('Axe') 
if antimacro() then
    uo.UseObject('Axe')
end if
if WaitForChange()==1 then 
return 1 
end if 
next 
return 0 
end sub 

sub ToRecall() 
RecallToHome() 
DropLogs() 
InfoLogs() 
if EatingFood==1 then 
EatingFood() 
end if 
wait(3000) 
RecallToLumber() 
end sub 

sub RecallToHome() 
var i 
uo.print('Реколимся домой...') 
for i=1 to 10 
uo.deletejournal() 
uo.waittargetobject('runeHome') 
uo.cast('Recall') 
if WaitForRecall()==1 then 
return 1 
end if 
next 
return 0 
end sub 

sub RecallToLumber() 
var i 
uo.print('Реколимся обратно...') 
for i=1 to 10 
uo.deletejournal() 
uo.waittargetobject('runeLumber') 
uo.cast('Recall') 
if waitForRecall()==1 then 
return 1 
end if 
next 
return 0 
end sub 

sub ToHide() 
while not uo.Hidden() 
uo.Print('Пытаемся уйти в хайд...') 
uo.DeleteJournal() 
uo.UseSkill('Stealth') 
wait(6000) 
wend 
wait(100) 
end sub 

sub WaitForRecall() 
var Text1=uo.GetName()+": The spell fizzles." 
var mess='',lastX=uo.getX(),lastY=uo.getY() 
for var i=0 to 200 
mess=uo.Journal(0) 
if uo.Journal(0)==Text1 then 
return 0 
end if 
if uo.getX()<>lastX or uo.getY()<>LastY then 
return 1 
end if 
wait(50) 
next 
return 0 
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 are no logs left here to chop.' 
var Text3="You can't reach this." 
var Text4="That's too far away to chop." 
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() 
ToHide() 
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) 
else 
Exit=1 
end if 
until Exit==1 
next 
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 RechargeBook() 
ToRecharge() 
DropScrolls() 
end sub 

sub ToRecharge() 
uo.SetReceivingContainer('backpack') 
Open(Chest) 
uo.FindType('0x1F4C','-1',Chest) 
uo.Grab('50','finditem') 
wait(500) 
Checklag() 
uo.UseObject('Runebook') 
wait(1000) 
Checklag() 
uo.Lclick(296,91) 
wait(1000) 
uo.UnsetReceivingContainer() 
end sub 

sub DropScrolls() 
if uo.Waiting() then 
uo.CancelTarget() 
end if 
var s,Exit 
dim Scrolls[1] 
Scrolls[0]=0x1F4C 
uo.SetReceivingContainer(Chest) 
wait(500) 
for s=0 to 0 
Exit=0 
repeat 
uo.FindType(Scrolls[s]) 
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 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 antimacro()
    dim value[10]
        value[0] = ' Нол'
        value[1] = ' Оди'
        value[2] = ' Дв'
        value[3] = ' Тр'
        value[4] = ' Четыр'
        value[5] = ' Пят'
        value[6] = ' Шест'
        value[7] = ' Сем'
        value[8] = ' Восем'
        value[9] = ' Девят'

    var i, j, line, cache = 0
    if uo.injournal('Enter the text') then
        line = uo.injournal('Enter the text') - 1
        for j = 0 to 2
            for i = 0 to 9
                if in_string(value[i], uo.journal(line)) then
                    cache = cache + i
                end if
            next
            uo.setjournalline(line, '') /на всякий случай... мало-ли лаг какой
        next
        return 1
    else
        return 0
    end if
end sub

sub in_string(substr, string)
    var str, i
    for i = 0 to len(string) - 1
        str = mid(string, i, len(substr))
        if str == substr then
            return 1
        end if
    next
    return 0
end sub
    return 0
end sub

sub Reconnect() 
var ReconnectTime,rFlag 
ReconnectTime='0' 
rFlag=1 
repeat 
while (uo.ObjAtLayer('Bpack')=='') 
if rFlag then 
ReconnectTime=MakeTime() 
rFlag=0 
end if 
wait(20000) 
uo.Say('') 
wait(3000) 
uo.Say('') 
wait(3000) 
uo.Say('') 
wait(3000) 
uo.LDblClick(357,164) 
uo.LClick(616,459) 
wait(3000) 
wend 
wait(3000) 
if (rFlag==0) and (ReconnectTime<>'0') then 
uo.TextOpen() 
uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) 
rFlag=1 
ReconnectTime='0' 
end if 
until false 
end sub 

sub MakeTime() 
var d,t,ret,i 
ret=str(uo.Time()) 
t="" 
for i=0 to Len(ret) 
t=ret[Len(ret)-i]+t 
if (i==2) or (i==4) then 
t=":"+t 
end if 
next 
ret=str(uo.Date()) 
d="" 
for i=0 to Len(ret) 
d=ret[Len(ret)-i] + d 
if (i==2) or (i==4) then 
d="."+d 
end if 
next 
ret=t+" @ "+d 
return ret 
end sub 

sub Terminate() 
uo.Print('Все функции скрипта выключены!') 
uo.DeleteJournal() 
uo.Exec('terminate all') 
wait(100) 
uo.Exec('terminate all') 
wait(100) 
uo.Exec('terminate all') 
wait(100) 
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') 
#BETEP™# 
end sub
Если не сложно исправь что теперь не так ? Теперь выдаёт Parse error
Last edited by angelinthesky on 2013-03-06 01:54:57, edited 1 time in total.
Image
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by ZeroDX »

неее =) через 4 часа мне надо просыпаться. а скрипт не рабочий и нуждается в постредакции =) мб Мираж завтра починит... Надейся :roll:

PS функции писались в 3:30, я уже не помню встроенные функции инжекта, не помню их названия и не помню что они делают, но я точно могу сказать что переменная line не меняет своего значения, а должна делать это с каждой итерацией первого цикла for j

PSS ну всё... баюшки
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

ZeroDX wrote:неее =) через 4 часа мне надо просыпаться. а скрипт не рабочий и нуждается в постредакции =) мб Мираж завтра починит... Надейся :roll:

PS функции писались в 3:30, я уже не помню встроенные функции инжекта, не помню их названия и не помню что они делают, но я точно могу сказать что переменная line не меняет своего значения, а должна делать это с каждой итерацией первого цикла for j

PSS ну всё... баюшки
Ну скрипт не рабочий эт точно... :(
Ну подождём утра... мож и в правду мираж подчинит...
Image
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

Mirage wrote:1) замени строку
var Text1=uo.GetName()+': You hack at the tree for a while, but fail to produce any useable wood.'
на строку
var Text1='any useable'
Кстати не помогло... Всё равно задержка ~5 секунд
Mirage wrote: PS это не совсем работа для спецов :roll: Нет нужны играть на чувствах :lol:
Не думаю что любитель может в таком скрипте разобраться, найти ошибку и довести до рабочего состояния
Image
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

1. При неудачной рубке (You hack at the tree for a while, but fail to produce any useable wood.) происходит пауза ~5 секунд... как бы её убрать ?
Помогите пожалусто с этим...
И ещё почемуто не воспроизводится медиа файл когда выскакивает 'Enter the text'
Image
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by ZeroDX »

поправил свой скрипт, тут ты вставил его правильно, вот только
angelinthesky wrote:Ну и в шапке заменить Код:var RecallDrop=0 на Код:var In_string=1 P.S. В скриптах не силён... сделал как смог... Правильно ?
это ты зачем придумал? это лишнее
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

Скрипт всё равно ещё не работает... Помогите люди добрыего его до ума довести
Image
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by ZeroDX »

как именно не работает?
angelinthesky
Posts: 20
Joined: 2013-03-05 20:50:41

Re: Нужна минимальная помощ с большим скриптом на ламбер

Post by angelinthesky »

ZeroDX wrote:как именно не работает?
Ну вообще не запускается... пишет Line 651: parse error
Image
Post Reply