RagBot Forum
 

Вернуться   RagBot Forum > • Всё что касается бота • > Мини ЧАВО

Мини ЧАВО ЧАстозадаваемые ВОпросы. Различные гайды и инструкции. Тут будут ссылки на гайды и интересные топики. Если вы новичок, то сначала вам сюда.

Закрытая тема
 
Опции темы Опции просмотра
Старый 09.07.2007, 13:10   #21
Gans
Злостный ROFANовец
 
Аватар для Gans
 
Регистрация: 30.11.2006
Сообщений: 532
Вы сказали Спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
По умолчанию

Покрасьте меня в зеленый цвет, но я все равно не верю, что ОБЯЗАТЕЛЬНО дважды проверять одно и то же условие из-за того, что директива else недоступна! :mad:

Код:
if ($a == 1) goto one
if ($a != 1) goto two
:оne
$a = 0 goto end
:two
$a = 1
:end
На мой взгляд, оно должно быть таким:
Код:
if (1 == $a) goto one
$a = 1
goto end
:оne
$a = 0
:end
__________________

Последний раз редактировалось Gans; 09.07.2007 в 13:19.
Gans вне форума  
Старый 09.07.2007, 13:12   #22
Gans
Злостный ROFANовец
 
Аватар для Gans
 
Регистрация: 30.11.2006
Сообщений: 532
Вы сказали Спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
Плохо

аааа, я все понял, это просто безграмотно выдранный кусок из макроса, с таким началом:
Код:
macro foo {
$i = @random ("1", "2", "3")
...
Там, при обработке ТРЕХ условий, такая конструкция имеет право на жизнь. Но не в случае if...else!

...

А если мы манипулируем ДВУМЯ разными переменными в условии и присваивании, можно написать ЕЩЕ проще:

Код:
$b = 0
if (1 == $a) goto end
$b = 1
:end
__________________

Последний раз редактировалось Gans; 09.07.2007 в 13:48. Причина: стерто про тичера
Gans вне форума  
Старый 09.07.2007, 13:41   #23
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
По умолчанию

Gans, ты шо свехнулся?
и при чём тут тичер?
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!
4epT вне форума  
Старый 09.07.2007, 13:48   #24
Gans
Злостный ROFANовец
 
Аватар для Gans
 
Регистрация: 30.11.2006
Сообщений: 532
Вы сказали Спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
По умолчанию

чо, это твоё творчество? ладно, тогда потру про него.

зы: ближе к телу, плз!
__________________
Gans вне форума  
Старый 09.07.2007, 22:28   #25
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
По умолчанию

да это мой творчество, чё те тут не нравится? буду рад поспорить (исправить).
2 твоих примера в первом сообщении написаны безграмотно! а во втором сообщении 2 пример вообще не понятен..
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!
4epT вне форума  
Старый 10.07.2007, 00:10   #26
Gans
Злостный ROFANовец
 
Аватар для Gans
 
Регистрация: 30.11.2006
Сообщений: 532
Вы сказали Спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
По умолчанию

"Ты... эээ... гонишь, сынок; мама - ЭТО Я!" (с) анигдод

Из четырех фрагметов кода первый - ТВОЙ из мануала.
Второй чем тебе не угодил?...
Третий, это просто заголовок, там ничего интересного.
Четвертый - а что с ним не так? В зависимости от содержимого переменной $a, переменной $b присваиваются разные значения. И чо тута непонятного? О_о
__________________
Gans вне форума  
Старый 10.07.2007, 03:28   #27
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
Смех

мда.. какая-то лажочка вышла.. кодга писал, я там спецом, чтоб понятнее было дописал, а щас сам не пойму чё зачушь это нада доработать ..
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!
4epT вне форума  
Старый 11.07.2007, 01:41   #28
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
По умолчанию

вродь подправил..
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!
4epT вне форума  
Старый 11.07.2007, 02:13   #29
4epT
Админ
 
Аватар для 4epT
 
Регистрация: 10.12.2006
Сообщений: 4,370
Вы сказали Спасибо: 7
Поблагодарили 387 раз(а) в 240 сообщениях
Отправить сообщение для 4epT с помощью ICQ
По умолчанию

7. Операторы макроса

Macro плагин поддерживает только три оператора ("while", "if (...) + goto" и "goto"). Так как нет (видимой) нумерации строк, то Вы должны использовать метки которые определяются как:
:<имя метки>

Пример конструкции "while":
Код:
macro foo {
$i = 0
log the next lines will loop 11 times (0 .. 10)
while ($i <= 10) as exampleloop
log loop $i
$i++
end exampleloop
}
Пример конструкции "if" + "goto":

Код:
macro foo {
if ($i == 1) goto one
log i is two
goto end
:one
log i is one
:end
}
Отмечу, что метки оператора goto не могут содержать ничего кроме букв и цифр. Например: "warp_to_payon" писать неправильно, правильно писать так: warpToPayon.

Оператор if (...), можно использовать только с последующим оператором goto. Т.е. написать как в обычных языках программирования:
Код:
if ($a != 2) $a = 3 <- нельзя!
Необходимо реализовать следующим образом:
Код:
if ($a != 2) goto end
$a = 3
:end
В случае если необходимо пользоваться конструкцией вида:
Код:
if (...)
then (...)
else (...)
то в макросах это будет выглядеть так:
Код:
macro foo {
$i = @random ("1", "2", "3")
if ($i == 1) goto one
if ($i == 2) goto two
log i is three.
goto end
:one
log i is one
goto end
:two
log i is two
:end
}
Пример конструкции "goto":

Код:
macro foo {
$i = 1
:plus
$i++
log i = $i
goto plus
}
__________________
¤Config checker¤Руководство¤Файлы¤Конфиги¤Макросы¤
Быстро и качественно напишу конфиг (макрос) за yAD! Стучи!

Последний раз редактировалось 4epT; 11.07.2007 в 02:23.
4epT вне форума  
Старый 11.07.2007, 02:40   #30
Gans
Злостный ROFANовец
 
Аватар для Gans
 
Регистрация: 30.11.2006
Сообщений: 532
Вы сказали Спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
По умолчанию

"Ох уж эти макросы. Ох уж эти макросники!"

Вызывает недоумение вот этот фрагмент:

if (...)
then (...)
else (...)

Может, чтобы не путатать юзера, лучше написать по-русски?

если (...)
тогда (...)
иначе (...)

?

И ваще, вот ЭТОТ фрагмент относится к вот ЭТОМУ макросу: (Пример конструкции "if" + "goto": )

А то, где у тебя написано, 1,2,3 - это не if-then-else, а простенькая реализация case (...).

Ну, и самый простой пример, вроде такого...

macro oyFoo {
if ($i <> 1) goto wrong
log correct, i contains 1
:wrong
}

...у тебя его нет. Может, так и надо, не знаю.
__________________

Последний раз редактировалось Gans; 11.07.2007 в 02:48.
Gans вне форума  
Закрытая тема


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
macro плагин 4epT Новости 7 01.04.2008 13:50
Пращу помощьи с macro-сом TEXAS Макросы и Плагины 11 28.01.2007 09:08


Текущее время: 12:29. Часовой пояс GMT +3.