Хелп!
Posted: 2006-06-23 12:43:14
Помогите со скриптом на скупку бланк мап по рункам (drw)
Просто чтоб реколился от одного вендора к другому и скупал!
Просто чтоб реколился от одного вендора к другому и скупал!
~KR@FT~ wrote:Помогите со скриптом на скупку бланк мап по рункам (drw)
Просто чтоб реколился от одного вендора к другому и скупал!
Dralka wrote:Толи я тупой толи еще что-то. Но ошибка выскакивает именно на статиках, мапы проходят хорошо. Свои тайлы туда тоже вписывал.
Шард ФВ.
Если кто знает - подскажите =\
Code: Select all
If IniF2Global( 'CommonTypes', 'Pickaxe', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Hatchet', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Cleaver', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Bandag', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'BlBandag', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Inviz', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'GreatHeal', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'MyFork', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'MyShield', 0) ) == 0 Then
Code: Select all
VAR UO.asmGetIniVar( 'mine&lumb.ini', 'CommonTypes', 'EmptBottle' )
Indi wrote:При загрузке main в скрипте mine&lamb331b, выходит ошибка:
Line 166: parse errorCode: Select all
If IniF2Global( 'CommonTypes', 'Pickaxe', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Hatchet', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Cleaver', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Bandag', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'BlBandag', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Inviz', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'GreatHeal', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'MyFork', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'MyShield', 0) ) == 0 Then
Убрал последнюю закрывающую скобку
нашлась новая ошибка:
Line 1204: parse errorCode: Select all
VAR UO.asmGetIniVar( 'mine&lumb.ini', 'CommonTypes', 'EmptBottle' )
Code: Select all
VAR EmptBottle = UO.asmGetIniVar( 'mine&lumb.ini', 'CommonTypes', 'EmptBottle' )
Code: Select all
; Процедура перемещения чара для скриптов инжекта
; Считывает все параметры из регистри
;
; v.1.02 (c) Edred
;
initevents
set *1 0
set *2 0
set *3 0
set *4 0
loop:
if *1 <> 0
{
wait 2
move *1 *2 *3 *4
set *1 0
}
goto loop
Code: Select all
Sub GotoRail( Rail, Direct, GuardFlag )
; Функция перемещения по маршруту. Маршрут - в Rail. Перемещение - через Изи.
; Direct - направление перемещения по маршруту: 1 - прямое, 0 - обратное.
; GuardFlag - вызывать гвардов между перемещением по узловым точкам маршрута
; или нет. Гварды вызываются если здоровья меньше MaxLife.
;
; (c) Edred
;
VAR MyX, MyY, NStep = 1, RailBack = ''
VAR tm = '60s' ; таймаут на перемещение
VAR toler = '0' ; толерантность
;
Rail = Rail + ' end end '
If Direct == 0 Then
; Обратное перемещение - вывернем маршрут "наизнанку"
repeat
MyX = GetWord( Rail, NStep )
MyY = GetWord( Rail, NStep + 1 )
If MyX <> 'end' AND MyY <> 'end' Then
RailBack = MyX + ' ' + MyY + ' ' + RailBack
Endif
NStep = NStep + 2
until MyX == 'end' OR MyY == 'end'
Rail = RailBack + 'end end '
Endif
;
NStep = 1
repeat
MyX = GetWord( Rail, NStep )
MyY = GetWord( Rail, NStep + 1 )
If MyX <> 'end' AND MyY <> 'end' Then
If GuardFlag == 1 Then
If UO.Life < MaxLife AND NOT UO.Dead() Then
UO.Say( 'GUARDS' )
wait(100)
Endif
Endif
UO.SetEasyUO( 4, tm )
UO.SetEasyUO( 3, toler )
UO.SetEasyUO( 2, MyY )
UO.SetEasyUO( 1, MyX )
repeat
wait( 50 )
until UO.GetEasyUO( 1 ) == '0'
NStep = NStep + 2
Else
return
Endif
until MyX == 'end' OR MyY == 'end'
return
endsub
Sub GetWord( st, nom )
; (c) Edred
; Возвращает слово из строки str за номером num
; если такого слова нет - возвращаем ''
;
; Разделителем слов считаем пробел. Несколько пробелов подряд считаются за один.
; Функция сделана без рекурсии специально для считывания слов из сверхдлинных строк!
;
VAR tmpst, i, dlin, kol = 0, start = 0
dlin = len( st )
For i=0 To dlin - 1
If mid( st, i, 1 ) == ' ' OR i == dlin - 1 Then
kol = kol + 1
If kol == nom Then
; это первый пробел после нужного нам слова
tmpst = mid( st, start, i - start )
return tmpst
Else
While mid( st, i, 1 ) == ' '
i = i + 1
Wend
If kol == nom - 1 Then
start = i
Endif
Endif
Endif
Next
tmpst = ''
return tmpst
endsub
Code: Select all
VAR tmprail = '1350 2828 1351 2827 1370 2827 1370 2820 1376 2814 1376 2804 1368 2804'
GotoRail( tmprail, 0, 1 )
Code: Select all
; v.1.00b (c) Edred
;
initevents
event macro 8 2 ; открыть статус если закрыт
; Сообщения
set %nothing There_is_nothing_here_to_mine_for.
set %far That_is_too_far
set %try Try_mining_elsewhere.
set %cannot You_cannot_mine_so_close
set %noline You_have_no_line
set %cannot2 You_can't_reach
set %attacking is_attacking_you
set %decide You_decide_not_to_mine_for_now.
set %put in_your_pack.
set %loosen You_loosen_some_rocks
set %fignya K_=5_A<>3 ; "вы не смогли выкопать ничего стоющего"
set %MaxTime4Mes 20 ; Максимум сколько ждать сообщений в секундах
event macro 32 0 ; выключить Always Run
gosub MineAround
if #result = 0
{
event SysMessage nas atakuyut!
event macro 32 0 ; включить Always Run
halt
}
if #result = 1
{
event SysMessage gotovo!
halt
}
if #result = 2
{
event SysMessage tyazhelo!
event macro 32 0 ; включить Always Run
halt
}
if #result = 3
{
event SysMessage net kirki!
event macro 32 0 ; включить Always Run
halt
}
event macro 32 0 ; включить Always Run
halt
sub MineAround
; Обкопка вокруг чара
; Возвращает:
; 0 - чар под атакой
; 1 - все выкопано
; 2 - макс вес
; 3 - нет кирки
for %minex -2 2
{
for %miney -2 2
{
set %FinishFlag 1
repeat
{
if #weight >= #MaxWeight - 20
return 2
repeat
{
finditem NPF_WTH_QPF
if #findkind = 1
ignoreitem #findid
if #findkind = -1
return 3
}
until #findkind = 0
set #lobjectid #findid
event macro 17 0
set #ltargetkind 3
set #ltargetx #charposx + %minex
set #ltargety #charposy + %miney
target 2s
event macro 22 0
; сканируем журнал в поисках сообщений:
set %MessageFlag 0
set %CurTime4Mes 0
repeat
{
set %jrnl #jindex
wait 1s
set %CurTime4Mes %CurTime4Mes + 1
if %CurTime4Mes >= %MaxTime4Mes
{
set %FinishFlag 1
break
}
for %i %jrnl #jindex
{
scanjournal %i
if %decide in #journal
{
wait 3s
set %MessageFlag 1
break
}
if %attacking in #journal
return 0
if %nothing in #journal || %far in #journal || %try in #journal || %cannot in #journal || %noline in #journal || %cannot2 in #journal
{
set %FinishFlag 0
set %MessageFlag 1
break
}
if %put in #journal || %loosen in #journal || %fignya in #journal || %skillup in #journal
{
set %MessageFlag 1
break
}
}
}
until %MessageFlag = 1
}
until %FinishFlag = 0
}
}
return 1
admir wrote:http://vlad.nagorniy.ru/files/
http://vlad.nagorniy.ru/files/edred/Mine&Lumb/
в подписи Едреда есть эта же ссылка
Edred wrote:Indi wrote:При загрузке main в скрипте mine&lamb331b, выходит ошибка:
Line 166: parse errorCode: Select all
If IniF2Global( 'CommonTypes', 'Pickaxe', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Hatchet', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Cleaver', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Bandag', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'BlBandag', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'Inviz', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'GreatHeal', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'MyFork', 0 ) == 0 OR IniF2Global( 'CommonTypes', 'MyShield', 0) ) == 0 Then
Убрал последнюю закрывающую скобку
Правильно.нашлась новая ошибка:
Line 1204: parse errorCode: Select all
VAR UO.asmGetIniVar( 'mine&lumb.ini', 'CommonTypes', 'EmptBottle' )
Code: Select all
VAR EmptBottle = UO.asmGetIniVar( 'mine&lumb.ini', 'CommonTypes', 'EmptBottle' )
ЗЫ: Я же правил эти ошибки... Интересно, где же у меня исправленная версия?