Всем здравствуйте, помогите пожалуйста модернизировать скрипт на Мининг
нашел в нете более менее приличный скрипт с Абусса, копает в хайде, змейкой вниз, или можно сделать вверх, припятствия не обходит, но всё это меня устраивает, было бы замечательно мадернизировать его на
задачу трека, чтоб если видел в треке чара сразу рекол, если у кого есть познания в этом прошу помогите
PS. Скрипт загружаю вместе с Охранным скриптом на You see и прочее...
вот сам скрипт
// Mining Script
start_script 3 //Запустить скрипт безопасности
// F6 Хайдиться
// F11 Lastobject-WaitForTarget-LastTarget
set #hide 1 // 1 - копать схайденным, 0 - нет
set #irn 1 // 1 - Пропускать айрон, 0 - нет
set #napr 0 // В какую сторону копать: 0 - справа-налево, 1 - слева-направо
set #sdvig 0 // Куда сдвигаться при развороте: 0 - вниз, 1 - вверх
set #ves 440 // Максимальный вес, подымаемый чаром минус 10-15 стоунов
set #recall 0 // 1 - реколиться при перевесе, 0 - пищать
set #proba 5 // количество попыток на одном месте
set lastobjectid 04176464d //ID кирки
set lastobjecttype 3717 //Тип кирки
// Начальный блок
if #hide = 1
while_not lastmsg well
send F6
wait 3000 // Пытаемся захайдиться
end_while
end_if
// Основная процедура
:main
set #xx charposx // текущие координаты чара
set #yy charposy
gosub kopaem
gosub idem_hor
if #xx = charposx and #yy = charposy // положение чара при движении не изменилось!
gosub razvorot
end_if
if wght > #ves // Вес превышен!
wait 1500
goto fin // пора заканчивать
end_if
goto main
// Процедура вскапывания
if #hide = 1
while_not lastmsg well
send F6 2500 // Пытаемся захайдиться
end_while
end_if
:kopaem
set lasttargetx charposx
set lasttargety charposy
set lasttargetkind 2
gosub dyatel // копаем в этой точке
return
// Процедура тотальной вскопки данной точки
:dyatel
set #p 0
:mining
send F11 // lastobject - watfortarget - lastarget
wait 1500
:proverka
if (lastmsg no ore) or (lastmsg mining in rock) or (lastmsg have no line) or (lastmsg get there) or (lastmsg you can't)
return
end_if
if wght > #ves
wait 1500
gosub fin
end_if
wait 3500
if #irn = 1 //пропуск айронa
if lastmsg iron
return
end_if
end_if
set #p #p + 1
if #p > #proba
return
end_if
goto mining
return
// Процедура сдвига чара шаг горизонтально
:idem_hor
if #napr = 0
send Left
if #hide = 1 // Если мы в хайде - надо паузу между шагами
wait 1000
if lastmsg been revealed
send F6
wait 2500
end_if
end_if
else
send Right
if #hide = 1 // Если мы в хайде - надо паузу между шагами
wait 1000
if lastmsg been revealed
send F6
wait 2500
end_if
end_if
end_if
return
// Процедура сдвига чара по вертикали при развороте
:razvorot
if #sdvig = 0
if #napr = 0// Меняем направление движения
send pagedown
send pagedown
send Right
set #napr 1
else
send end
send end
send Left
set #napr 0
end_if
if #hide = 1 // Если мы в хайде - надо паузу между шагами
wait 1000
if lastmsg been revealed
send F6
wait 2500
end_if
end_if
else
if #napr = 0// Меняем направление движения
send pageup
send pageup
send Right
set #napr 1
else
send home
send home
send Left
set #napr 0
end_if
if #hide = 1 // Если мы в хайде - надо паузу между шагами
wait 1000
if lastmsg been revealed
send F6
wait 2500
end_if
end_if
end_if
return
:fin
if #recall = 0 // Пищать или реколиться...
stop_script 2
send F12 //Макрос реколла
else
alarm
alarm
end_if
end_script
На форуме есть [code][code], в будущем используй.
Автор, распиши, как происходит в игре движение. На какие клавиши, сколько раз их нужно тыкать, а то я тебе сокращу.
Да наверное объвление уже не актуально) с треком полный бред получится и наверное баговый
тут всё гараздо проще всё решилось, инвизкой + рекол до этого думал что инвизка не актуальна...
а вот если бы как то заменить всю эту примитивную копку зигзагом вниз на более продвинутую в плане обхода припятствий и чтоб по кругу копал шахту с верху в низ и обратно, в общем какой то вечный двигатель надо) а сейчас чар тупо копает зигзаном и выходит в конце концов из шахты и тупо стоит на месте потому что нет под ногами копалки
мне принципиально в этом всём скрипте это вот эти вещи
set #hide 1 // 1 - копать схайденным, 0 - нет
set #irn 1 // 1 - Пропускать айрон, 0 - нет
set #recall 0 // 1 - реколиться при перевесе, 0 - пищать
и то он почему то не пропускает айрон и копает всё подряд...
Я не играю в Ultima, поэтому спрашиваю, какие кнопки нужно указывать, ибо пишу вслепую. Проверять и страдать будешь ты.
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)