Не плохая идея, наверно стоит еще добавить чтобы во время проверки садился, ато хп может долго регениться. А еще моб может напасть во время сое, так что на время ег окаста можно своять еще одну проверочку.
кароче это все не 100% порты в город
нет гарантий что за 20 секунд бот убьет всех мобов а может и мобов то нет вообще зачем ждать лишние 20-30 сек?
Нада ченить придумать поинтересней
например сесть и подождать если перса ударить моб он встанет - если перс встал то мочим мобов в радиусе 100 (хотя от арчеров это не спасет, тогда радиус можно увеличить и поставить set(mon,NoAttack))
Если перс не встал то сидим и ждем пока хп не станет 100% после чего делаем сое
кароче это все не 100% порты в город
нет гарантий что за 20 секунд бот убьет всех мобов а может и мобов то нет вообще зачем ждать лишние 20-30 сек?
Нада ченить придумать поинтересней
например сесть и подождать если перса ударить моб он встанет - если перс встал то мочим мобов в радиусе 100 (хотя от арчеров это не спасет, тогда радиус можно увеличить и поставить set(mon,NoAttack))
Если перс не встал то сидим и ждем пока хп не станет 100% после чего делаем сое
Ребят большая просьба , когда пишите скриты тут или кусочки, поясняйте строчки, как это делалось в начале! это же тема для новичков, а не для гуру =) а то половину понимаю,половину нет)
по поводу SET(L2WALKER,DISABLE) - что конктетно выключает команда в боте? останавливает ini фаил?
просто если мы придя на поляну грузим ini а потом по набору 20 итемов
Его не выключаем, будет же конфликт скрипта с ботом
SET(RANGETYPE,STARTPOS,1000) действительно слишком большой радиус, там где мобы расположены компактно скрипт замкнется на всегда, считай пока ты лупиш 1 в радиусе респнится другой и так до бесконечности
Последний раз редактировалось KoAn, 19.12.2009 в 02:21.
Кстати вариант с ини тоже ничего, можно задать путь на нейтральную зону около поляны где точно нет мобов и оттуда сделать сое!
А скрипт прописать как уже выше сказано
SET(MON,NOATTACK,*)
Кстати обязательно ли после LoadConfig(ххх.INI) ставить SET(L2WALKER,ENABLE) а по окончании SET(L2WALKER,DISABLE) ???
Цель: Скрипт приводит Чара к поляне, на ней квест моб с миньенами,
нужно убитьквест моба, умереть от минов и портнутся в город.
Все осложняется наличием большого количесва желающих пройти квест и редким спамом моба.
Итак мое предложение:
MOVETO(16285,-118570,-784)
SET(RANGETYPE,16285,-118570,-784,700)-чар будет действовать в заданом радиусе
LABEL(1)
SET(MON,NOATTACK,*) - не будет атаковать никаких мобов
SET(MON,ATTACK,Baranka's Messenger[ID=XXX]) - выбраный моб, хз его ID =((((
SET(FIGHTSTART) - стартуем атаку
ITEMCOUNT(Letter to Human[ID=1557],<,1) - условие получение 1 письма
CALL(2) -Если умерли выполняются условия LABLE(2)
DeLAY(1000) - частота проверки наличия письма в рюкзаке
jmp(1)
LABEL(posle)
SET(FIGHTSTOP) - остановка бойни
DELAY(10000) -после того как получили письмо ждем 10 сек
CALL(2) - проверка на смерть
DELAY(4000) - ждем 4 секунды
USEITEM(Scroll of Escape[ID=736]) - юзаем СОЕ
//поподаем в город
// обслуживающие лэйблы
LABEL(2)
CharStatus(HP,<=,0) - хп меньше либо равно 0
{
GOHOME() - портуемся в город
DELAY(5000) - ждем
}
MOVETO (x,y,z)
RETURN() -ХЗ что в скобки ставить? чтоб вернуться назад на путь до LEBEL(1)????
Ребят поправьте ошибки пожалуйста!знаю что есть наверняка или написано криво)
Дальше, такой вопрос, вот я зациклил 2 LABEL - (1) и (posle) на проверку смерти
LABEL(2)!НО, при смерти после получения письма скрипт должен продолжать движение,а сейчас получается он будет возвращатся обратно, можно ли в LABEL(2) засунуть проверку на итем? что бы с помошью нее как то делать разветвление движения, как правильно сделать?
LABEL(2)
CharStatus(HP,<=,0) - хп меньше либо равно 0
{
GOHOME() - портуемся в город
DELAY(5000) - ждем
}
CALL(item)
MOVETO (x,y,z)
RETURN() - опять хз что в скобки поставить
LABEL(item)
ITEMCOUNT(Letter to Human[ID=1557],<,1)
Delay (1000)
Jmp(posle)
Как то так.... еще хотелось бы узнать где можно глянуть ID квест мобов
Последний раз редактировалось KoAn, 19.12.2009 в 13:21.
Цель: Скрипт приводит Чара к поляне, на ней квест моб с миньенами,
нужно убитьквест моба, умереть от минов и портнутся в город.
Все осложняется наличием большого количесва желающих пройти квест и редким спамом моба.
Итак мое предложение:
LABEL(na spot)//метка начала передвижения на место кача. Если (MOVETO(16285,-118570,-784)) это точка в городе, и в городе несколько точек респа, то необходимо будет сделать еще одну проверку. Но мы предположим, что точки респа находятся не далеко от указанной ними точки. И ботне будет ни где застревать.
MOVETO(16285,-118570,-784)
SET(RANGETYPE,16285,-118570,-784,700)-чар будет действовать в заданом радиусе
LABEL(1)
SET(MON,NOATTACK,*) - не будет атаковать никаких мобов
SET(MON,ATTACK,Baranka's Messenger[ID=XXX]) - выбраный моб, хз его ID =((((
SET(FIGHTSTART) - стартуем атаку
ITEMCOUNT(Letter to Human[ID=1557],<,1) - условие получение 1 письма
{
CALL(2) -Если умерли выполняются условия LABLE(2)
DeLAY(1000) - частота проверки наличия письма в рюкзаке
jmp(1)
}
LABEL(posle)
SET(FIGHTSTOP) - остановка бойни
DELAY(10000) -после того как получили письмо ждем 10 сек
CALL(2) - проверка на смерть// надо или убрать или заменить другой проверкой на смертьDELAY(4000) - ждем 4 секунды
Здесь можем сделать проверку нужно ли нам делать СоЕ
POSINRANGE(16285,-118570,-784,700)
{
USEITEM(Scroll of Escape[ID=736]) - юзаем СОЕ
Delay(20000)
JMP(?)переход на следующую метку в скрипте
}
JMP(?)переход на следующую метку в скрипте
//поподаем в город
// обслуживающие лэйблы
LABEL(2)
CharStatus(HP,<=,0) - хп меньше либо равно 0
{
GOHOME() - портуемся в город
DELAY(5000) - ждем
JMP(na spot)
}
MOVETO (x,y,z) можно убрать
RETURN() -ХЗ что в скобки ставить? чтоб вернуться назад на путь до LEBEL(1)???? Ни чего!
Ребят поправьте ошибки пожалуйста!знаю что есть наверняка или написано криво)
Дальше, такой вопрос, вот я зациклил 2 LABEL - (1) и (posle) на проверку смерти
LABEL(2)!НО, при смерти после получения письма скрипт должен продолжать движение,а сейчас получается он будет возвращатся обратно, можно ли в LABEL(2) засунуть проверку на итем? что бы с помошью нее как то делать разветвление движения, как правильно сделать?
LABEL(2)
CharStatus(HP,<=,0) - хп меньше либо равно 0
{
GOHOME() - портуемся в город
DELAY(5000) - ждем
CALL(item)
JMP(na spot)
}
CALL(item)
JMP(1)
LABEL(item)
ITEMCOUNT(Letter to Human[ID=1557],<,1)
{// не забывай ставить скобки
Delay (1000)
Return()// при использовании команды Call необходимо ставить Return(), чтобы вернуться к этому CALL
}
JMP(posle)
Как то так.... еще хотелось бы узнать где можно глянуть ID квест мобов
В команде Return в скобках ни чего ставить не надо. Если что сильно не бейте. Возможно я что-то проглядел.
Последний раз редактировалось nPoKa3HuK, 19.12.2009 в 14:49.
Цель: Скрипт приводит Чара к поляне, на ней квест моб с миньенами,
нужно убитьквест моба, умереть от минов и портнутся в город.
Все осложняется наличием большого количесва желающих пройти квест и редким спамом моба.
Ух ты, пахнет скриптом на раскачку орков)))
__________________
Мечта идиота - OOG под линь.
Если я еще раз тыкну пожаловаться на сообщение - умру.
В команде Return в скобках ни чего ставить не надо. Если что сильно не бейте. Возможно я что-то проглядел.
Боже упоси бить!) спасибо сказать надо!
Ошибок сделал меньше) что уже радует!) спасибо за исправления реально нужны советы и помощь! а то где еше уму научиться разуму =)
Скобки я не забывал поставить я просто не знал что надо их ставить, еще плохо в синтаксисе понимаю, вот от суда и такие ляпы
Цитата:
Сообщение от moondog
Ух ты, пахнет скриптом на раскачку орков)))
Абсолютно верно) я уже наваял линейный драйвер-скрипт, с обязательным присутствием за компом, вот сейчас улучшать пытаюсь, убирая все в автоматические функции.
Но новичку со стажем 3й день за скриптами, сложновато разобраться, а наглядные примеры будут всем полезны на будущее
Последний раз редактировалось KoAn, 19.12.2009 в 15:08.