(Макрос) Алерт на выпадение и подбор карты.Нуна помощь =)

Общие вопросы по OpenKore обсуждаются здесь. Можно сказать, что это - основной раздел форума.
Возник вопрос? Вам сюда.

Модератор: 4epT

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
gantzanime
Новичок
Сообщения: 2
Зарегистрирован: Пт ноя 16, 2007 8:11 pm

(Макрос) Алерт на выпадение и подбор карты.Нуна помощь =)

Сообщение gantzanime »

Часто бывает такая "шляпа", что бот пробегает мимо лута, который по-идее должен взять(я уже сегодня ночью так "неподобрал" карту).
И для сидячих работяг, следящих за ботом, хотя бы на уровне звуков и не частых подходов к боту, мне кажется полезный макрос.
Но вот случилось так, что я дико запутался и уже довольно долго гадаю над решением, ну туплю дико вообщем.
Макрос включается, когда бот замечает любую карту - дает сигнал - далее должен проверить взял ли бот эту карту - если да то словестное подтверждение(в виде сгнала опять же) или 4-х секундный заметный звук =) если карта не была взята.

Код: Выделить всё

automacro cardnew {
	console /Item appeared: ([a-zA-Z]{1,}) Card \(([0-9]{1,})\) x 1/i
	call {
		do eval Utils::Win32::playSound('D:\Games\ro\205SVN6071\sounds\indian.WAV');
	}	
	
	$i = 0
	$c = 0
	while ($i < 1) as cardchecker
	if ($c = 0) goto car
	call {
		do eval Utils::Win32::playSound('D:\Games\ro\205SVN6071\sounds\rockbeat.WAV');
	}
	goto end
	:car
	console /Item added to inventory: ([a-zA-Z]{1,}) Card \(([0-9]{1,})\) x 1/i
		call card
	}
	$i++
	goto end
	:end
	end cardchecker
}

macro card {
	call {
		do eval Utils::Win32::playSound('D:\Games\ro\205SVN6071\sounds\card.wav');
	}
}
вот макрос недоделанный, думать одному стало скучно =) кто поможет? Что нужно исправить и добавить?
Последний раз редактировалось gantzanime Пн ноя 19, 2007 6:05 pm, всего редактировалось 3 раза.
Ymmy
Начинающий
Сообщения: 24
Зарегистрирован: Пт мар 09, 2007 5:46 pm

Сообщение Ymmy »

gantzanime, наверное, тебе непривычен "язык" макросописания, но вызывать сабмакрос, когда основной макрос пустой как минимум забавно =_+
gantzanime писал(а): $c = 0
while ($i < 1) as cardchecker
if ($c = 0) goto car
Зачем тут переменая c? :\
Вообщем рабочей ОК нет под рукой.
Ошибка в работе макроса или синтаксисе?
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

конечно в синтаксисе, учи матчасть ;)
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
gantzanime
Новичок
Сообщения: 2
Зарегистрирован: Пт ноя 16, 2007 8:11 pm

Сообщение gantzanime »

да в том то и дело =) чан отбило напрочь, вот стукнуло на месте... я понял что использовать и while, и "иф" - это как минимум глупо, просто я не могу дойти до практической реализации, хотя теоретически представляю. потому и прошу помощу у gosu своего дела =) подскажете?
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

ну если твоё переделывать под правельный синтаксис (не затрагивая смысл), то получится:

Код: Выделить всё

automacro cardnew { 
   console /Item appeared: ([a-zA-Z]{1,}) Card \(([0-9]{1,})\) x 1/i 
   call { 
   do eval Utils::Win32::playSound('sounds\indian.WAV')
   $i = 0
   $c = 0 
   while ($i < 1) as cardchecker 
   if ($c = 0) goto car 
   do eval  Utils::Win32::playSound('sounds\rockbeat.WAV')
   goto end 
   :car 
   $i++ 
   goto end 
   :end 
   end cardchecker 
} 
}
но что-то я не улавливаю смысл цикла..и не уверен что шаблон "console" написан правельно..

кароче ты делай так:
1. создай автомакрос, который сработает на нужные тебе условия:

Код: Выделить всё

automacro cardnew { 
 console /бла бля бла/
 бла бля бла  
 call card
}
2. а теперь придумай макрос который будет означать что делать боту в таких условиях:

Код: Выделить всё

 macro card { 
 do eval Utils::Win32::playSound('sounds\indian.WAV')
 бла бля бла
}
и будет тебе счастье ;)
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Ответить