PDA

Просмотр полной версии : значение макрос команд


lisichka
26.02.2008, 23:39
Обьясните пожалуиста кто понимает *ok*

Вот пример

Предположим стоит 4 человека и двое начинают драться,один из них мой согильдиец-может ли бот обкастовать аги и блес не согильдийца моего а наоборот того кто бьёт согильдийца ?
Или вот тоже пример один чамп (он не в пати и не в моей гильде) дал кому-то азуру,может ли мой проф сразу дать тому чампу маны ?

console /buf/i,10 понятно вроде всё а,
spell /Storm Gust/i,10 не понимает

Как прописать команду чтоб бот среагировал на того кто использует магию ?

$.lastpub = последний сказавший в публичный чат.
Скажите пожалуиста какие есть ещё определения ?
В особенности интересует использовавший скил ?
$.lastspell $.lastusespell
$.firstspell
это всё не работает ]:->
Или на худой конец скажите где моно поискать.

4epT
27.02.2008, 10:52
lisichka, не нужно придумывать что-то типо $.lastspell $.lastusespell $.firstspell !!!

Все существующие переменные есть в гайде по маросам! Других нету!

Тебе нужно кастить при каких условиях??

тут 2 выхода

1 - можно средствами макроса выдирать из строчки (игрок 1 ударил игрока2 азурой) нужную информацию и потом как-то реагировать на это

2 - можно использовать настройку конфига, а именно блок partySkill.
partySkill [<skill name>] {
notPartyOnly 1
target [<player names>]
# Skill Use Attributes
# Self Conditions
# Target Player Conditions
}

lisichka
28.02.2008, 00:49
4epT, хороший ответ както - вот и вопрос заключася как раз в том как ?
вот пример
Player JIACKA (6) uses Heaven's Drive (lvl 5) on location (147, 343)
Player xXxTERORISTxXx (4) uses Cloaking on himself : Lv 65535
Player JIACKA (6) uses Heaven's Drive (lvl 5) on location (147, 344)
Player SweetyMind (3) uses Cloaking on himself : Lv 65535
Player JIACKA (6) uses Heaven's Drive (lvl 5) on location (148, 344)
Player xXxTERORISTxXx (4) uses Cloaking on himself : Lv 65535

и как сделать чтоб бот отреагировал увидев Heaven's Drive (lvl 5) и обкастовал эту ласку ?

http://ragbot.ru/forum/showpost.php?p=6117&postcount=21

вот чтото уже полезное ншёл за что жму пасибки
правда искать тяжко не очень удобно распложенно

напиши пожалуиста этот макрос полностью с азурой
а то чтото из прочитанного вроде как всё понятно
а,макрос не работает у меня-видать что то не так делаю.
Если увижу сам макрос то будет понятнее !!!

4epT
29.02.2008, 01:38
ну вот смотри есть строка:
Player JIACKA (6) uses Heaven's Drive (lvl 5) on location (147, 343)

нам из неё нужно только имя выдрать (чтобы обкастовать только ласку), для этого (чтоб сильно не запариваться..) ограничим имя перса в скобки.. и все метасимволы (в данном случае скобки) закроем символом "\", последние скобки с коорбинатами выкинем, т.к. они могут быть разные.., получим:
Player (JIACKA) \(6\) uses Heaven's Drive \(lvl 5\) on location
теперь если в макросе использовать условие "если в консоли появляется эта строчка":

console /Player (JIACKA) \(6\) uses Heaven's Drive \(lvl 5\) on location/
то получается что под переменной $.lastMatch1 мы получаем имя JIACKA

т.е. где-то потом мы можем в макросе написать, например:

do sp 29 @player($.lastMatch1)

@player($.lastMatch1) - нам даёт номер игрока (его ещё можно ужнать по команде консоли pl).

sp 29 - кастим скил 29 (помоему это агиАП) на игрока..



на азуру ты ещё раз 20 почитай и пробуй сам, может поймёшь..


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

lisichka
01.03.2008, 00:06
console /Player (JIACKA) \(6\) uses Heaven's Drive \(lvl 5\) on location/
do sp 29 @player($.lastMatch1)

так не работает
в гйде по макросам нету ничего полезного вообще
там только твой спор с кемто на какуюто ерунду

и кинь плиз то что просил про азуру а из того макроса я сделаю всё сам уже-зачем голову ломать если моно пользоваться тремя или четырьмя макросами как шаблонами для переделки под любой другой.

4epT,
lisichka, не нужно придумывать что-то типо $.lastspell $.lastusespell $.firstspell !!!

Все существующие переменные есть в гайде по маросам! Других нету!
В гайде ничего нету

4epT, automacro yupi {console /Player (popandopalo)\ (0\) is casting Dangerous Soul Collect on himself (time 1370ms\) /
call {
do sp 84 @player($.lastMatch1)
} НЕ РАБОТАЕТ

4epT
01.03.2008, 07:00
1. "так не работает".. так ты оформи всё по человечески, я тебе лишь сего 2 строчки привёл..

2. нет у меня времени для каждого индивидуально макросы писать!

3. "В гайде ничего нету" как это нету?? Это я наверно забыл написать??
Специальные переменные:
$.map, $.pos, $.time, $.datetime, $.hp, $.sp, $.lvl, $.joblvl, $.spirits, $.zeny, $.status, $.lastLogMsg, $.lastpub, $.lastpubMsg, $.lastpm, $.lastpmMsg, $.lastguild, $.lastguildMsg, $.lastparty, $.lastpartyMsg, $.lastMonster, $.lastMonsterPos, $.lastMatchN, $.paramN, $.caller, $.hooksaveN

4. ещё бы работало,
а) ты метасимвол "(" не закрыл: himself (time 1370ms\)
б) тут ты тоже лоханулся: \ (0\)
в) неплохо было бы условие "console" написать с новой строки
г) в конце линший пробел: (time 1370ms\) /


ЗЫ: не ну вы слыхали: "в гайде по макросам нету ничего полезного вообще".. пиздец, а нахера я его переводил??]:->

dixoos
01.03.2008, 19:38
4epT да ладно ты, не всем дано сразу понять макросы, особенно "мат" переменную ^_^
я сам еле понял)
поначалу думал что макрос плагин не продуман ваще, но как больше узнаю переменных и прочик команд - оказывается все на месте!
З.Ы.: тут все прально?
automacro yupi {
console /Player (.*) \(.* is casting Extremity Fist on you \(time .*ms\)/
call {
do sp 84 @player($.lastMatch1)
}
}