Страница 1 из 3
WoE варпер / и расширенная команда pl
Добавлено: Сб июн 23, 2007 5:08 pm
Гость
Оригинальная тема на опенкоре
http://forums.openkore.com/viewtopic.ph ... sc&start=0
Вот мой немного измененный код:
automacro GVGWpr {
location morocc 155 269
call GVG
run-once 1
timeout 40
}
macro GVG {
sl 27 152 269 4
@pause 2
warp 2
@pause 1
@release GVGWpr
}
automacro GVGWpr1 {
location morocc 155 269
pm /go1/
run-once 1
timeout 40
call GVG1
}
macro GVG1 {
sl 27 152 272 4
@pause 2
warp 2
@pause 1
sl 27 152 269 4
@pause 2
warp 2
@pause 1
sl 27 152 266 4
@pause 2
warp 2
@pause 1
@release GVGWpr1
}
automacro GVGWpr2 {
location morocc 155 269
pm /go2/
run-once 1
timeout 40
call GVG2
}
macro GVG2 {
sl 27 152 272 4
@pause 2
warp 4
@pause 1
sl 27 152 269 4
@pause 2
warp 4
@pause 1
sl 27 152 266 4
@pause 2
warp 4
@pause 1
@release GVGWpr2
}
automacro GVGWpr3 {
location morocc 155 269
pm /go3/
run-once 1
timeout 40
call GVG3
}
macro GVG3 {
sl 27 152 272 4
@pause 2
warp 4
@pause 1
sl 27 152 269 4
@pause 2
warp 4
@pause 1
sl 27 152 266 4
@pause 2
warp 4
@pause 1
@release GVGWpr3
}
И собственно ошибко:
[macro] avtomacro GVGWpr triggered
[macro] GVG error: error in 0: syntax error
the line number may be incorrect if you called a sub-macro
Kore 194SVN5618
Macro release 1.2.0
*памагите=)*
Добавлено: Сб июн 23, 2007 5:11 pm
Exeller
В макросах используються консольные командты коры, и ни в одной текущщей из них нету символа"@" Делаем выводы......
Добавлено: Сб июн 23, 2007 5:15 pm
piroJOKE
Exeller
Абисняю. Это очень старый макрос. Раньше макро-язык был не таким как щас. Префикса do ... не было, а встроенные команды макро-языка начинались с @.
Да была где-то у нас такая штуковина уже на форуме. Думаю, стоит афтару поискать.
Добавлено: Сб июн 23, 2007 10:20 pm
miniBot
да вроде все норм
нуно токма собачек убрать да do вставить перед командами.
Добавлено: Вс июн 24, 2007 1:35 am
4epT
А macro-маньяка забыть спросили?

исправляем
Код: Выделить всё
sl *** ======> do sl ***
@pause * ====> pause *
warp *======> do warp *
@release *** => release ***
В принципе и так всё сказано, это для наглядности.
Дибильный (пардон) макрос, он мне не нравится! Делать нада 1 вешь (варпать), а написано-то ... Это макрос аля "постоянные открытые вырпы в течении 2-х часов"?
Вопрос на засыпку: чем отличаетсо "macro GVG2" от "macro GVG3"?
Мой идеал:
Варпать только избранные гильдии, и не по 4 портала за раз (гемы тока тратить)
хотя я хз когда толпу приходится варпать (не приходилось)
Добавлено: Вс июн 24, 2007 5:34 am
Гость
4epT
Збазиба, методом проб и ошибок я примерно до того же и дошел =)
GVG2,GVG3,GVG4 - там должны быть разные номера варпов (2,3,4).
В идеале бот будет все ГВ стоять,держа постоянно открытым один варп для тех кто улетел к кафре, и по команде - открывать сразу три,чтобы отварпать всю ги.
Впринципе на такой макрос уйдет камней 600-800 максимум (правда,не считая санок),
Добавлено: Вс июн 24, 2007 8:08 am
miniBot
Эм, надо доработать сие чудо. Постоянно держать варп открытым - не зер гуд.
Нужно чтобы открывал количество варпов в зависимости от количества персов вокруг. например на кажлые 10 чел - 1 варп. И только по запросу в публик чат, и только от командиров, и чтобы реагировал на приват, чтобы командир мог варпнуть отставших.
Кстати, да! а как узнать количество видимых персов? Чета раньше это не пригождалось, сча посморим.
Добавлено: Вс июн 24, 2007 3:02 pm
4epT
командир заипётся писать ему в приват для кадого варпа
можно просто объяснить всем, что это бот и по 200 раз ему не стоит писать "варп скорееее..." он будет реагировать на публик чат, но только от персов отпределённой гилды.
Shaman EX, про санки там ничё и не сказано
miniBot, хороший вопрос про кол-во игроков вокруг..
Добавлено: Вс июн 24, 2007 7:07 pm
Click
Узнаём кол-во игроков рядом по команде pl
Commands.pm
Код: Выделить всё
return;
}
+ my $maxpl;
$msg = T("-----------Player List-----------\n" .
"# Name Sex Lv Job Dist Coord\n");
...
$dist = sprintf("%.1f", $dist) if (index ($dist, '.') > -1);
$pos = '(' . $player->{pos_to}{x} . ', ' . $player->{pos_to}{y} . ')';
+ $maxpl = @{$playersList->getItems()};
$msg .= swrite(
"@<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<< @<< @<<<<<<<<<< @<<<< @<<<<<<<<<<",
[$player->{binID}, $name, $sex_lut{$player->{sex}}, $player->{lv}, $player->job, $dist, $pos]);
}
+ $msg .= "Total players $maxpl \n";
$msg .= "---------------------------------\n";
Добавлено: Вс июн 24, 2007 7:31 pm
piroJOKE
Click, так это, мож сразу eval-ом, в макро?
Добавлено: Вс июн 24, 2007 7:38 pm
Click
а чего-то не получается... поможешь?
Добавлено: Вс июн 24, 2007 8:26 pm
piroJOKE
Хек его знает. Можно такое написать:
do pl
$z = @eval(%players)
log $z
Но оно выводит не совсем то што надо; сам погляди.
(Вторая цифра - это я так понимаю количество откешированных имен игроков);
* * *
Да вообще фигню оно какую-то выводит.

Добавлено: Вс июн 24, 2007 8:56 pm
Click
@eval(%players) чё та не то значение выдаёт, первая цифра не ровна кол-ву игроков реальному
Добавлено: Вс июн 24, 2007 9:07 pm
piroJOKE
Вот и я же про это. Но по крайней мере, она "где-то близко".

Добавлено: Вс июн 24, 2007 9:23 pm
4epT
piroJOKE, Кликовскую переменную $maxpl не сделать глобальной?