Автор |
Сообщение |
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 16 мая 2015, 19:20 |
|
|
SetWind(число,число,число,число)
1 - отклонение ветроуязвимого эффекта по Х.
2 - по Y.
3 - по Z.
4 - 0=офф, 1+ =он.
Пока что, как ветроуюзвимый объект, мною изжвестен только дым (smoke)а
Изменено: читер30 (16 мая 2015, 19:26), всего изменялось 1 раз |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 16 мая 2015, 19:24 |
|
|
Idle(объект)
юнит отдыхает.
IsDead - если объект дропнут/его нет - скрипт не реагирует. |
|
|
Aleks
Опытный воин
Пришел: 27.06.2004
Сообщения: 535
Откуда: Днепропетровск
|
Добавлено: 16 мая 2015, 21:45 |
|
|
Действительно интересно.
Я очень сильно отстал от жизни, сейчас известны какие-то описания для следующих вещей?
Код: | CreateRandomizedFXSource( id : float , x1 : float , x2 : float , y1 : float , y2 : float , z1 : float , z2 : float , Volume : float , rad : float , NameWav : string )
ForIf( цикл )
PlayFX( float , float , float , float , string )
RecalcMercBriefings( )
SetDirectionToObject( nUnit : float )
SetPlayerAggression( float , float )
SetScience( object , float , float , float , float , float , float )
SetSpellAggression( Unit object , Aggression : float ) |
|
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 16 мая 2015, 23:57 |
|
|
Ты сам выкладывал файлик со скриптами. Там этих нет, я их расшифровал эксперементальным (нупским) путём). Этих воу не знаю, не... |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 17 мая 2015, 00:00 |
|
|
Вот*.
Думаю, матёрые пзшники их знают...
.
Через sеtwind можно пустить дым от костров через всю карту, даже в скайбокс. Он, кстати, имеет конусообразную форму и обрезан сверху))). |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 17 мая 2015, 00:05 |
|
|
Setsunlight нивкакую не пашет, печаль беда, хотел красный свет, но заменяется созданием светосферы на 100 z и с огромным радиусом . Ещё буду разбирать скриптики. Я эти в посёлке разбирал, всякие сетагрессион там не протестить.... |
|
|
Aleks
Опытный воин
Пришел: 27.06.2004
Сообщения: 535
Откуда: Днепропетровск
|
Добавлено: 17 мая 2015, 00:42 |
|
|
Файлик я помню, оттуда и копировал. |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 17 мая 2015, 01:07 |
|
|
Окей. Выйду в предгорья и займусь ими!!1 кста, не знаешь как заставить эффект типа огня двигаться))? |
|
|
Aleks
Опытный воин
Пришел: 27.06.2004
Сообщения: 535
Откуда: Днепропетровск
|
Добавлено: 17 мая 2015, 01:25 |
|
|
Я последний раз писал скрипты 7 лет назад %).
Могу только предположить, что можно использовать MoveParticleSource. |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 17 мая 2015, 09:31 |
|
|
Ок, спасибо %)) попробую |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 17 мая 2015, 13:45 |
|
|
РандомныйФКС даже трогать не хочу...
Showcredits не работает.
Forlf не хочу трогать... |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 17 мая 2015, 14:57 |
|
|
Сетагресион не работает ! |
|
|
Kalessin
Разведчик
Пришел: 15.01.2012
Сообщения: 100
|
Добавлено: 18 мая 2015, 02:11 |
|
|
Прочитал тему, ничего интересного не увидел Пиши еще. _________________ ~ Открой консоль и стань сильным © |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 18 мая 2015, 08:21 |
|
|
Зачем? |
|
|
Kalessin
Разведчик
Пришел: 15.01.2012
Сообщения: 100
|
Добавлено: 20 мая 2015, 04:40 |
|
|
Есть слабая надежда увидеть что-то действительно интересное _________________ ~ Открой консоль и стань сильным © |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 20 мая 2015, 08:42 |
|
|
Это просто расшифрованные многим неизвестные скрипты. И фсё |
|
|
Kalessin
Разведчик
Пришел: 15.01.2012
Сообщения: 100
|
Добавлено: 22 мая 2015, 03:24 |
|
|
Понятно, что не текстуры Заодно, стоит обратить внимание на уже "расшифрованные" скрипты. Их описания далеко не всегда отличаются точностью и полнотой. Да и легкостью понимания для начинающих модостроителей тоже) К примеру, попробуй описать более простым и понятным языком работу InvokeAlarm. _________________ ~ Открой консоль и стань сильным © |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 22 мая 2015, 08:28 |
|
|
Одна из самых аццких комманд. Я попробую. |
|
|
Либерти
Оружейник
Пришел: 17.03.2015
Сообщения: 178
|
Добавлено: 08 июня 2015, 16:22 |
|
|
Нашел прикол
Мучился 2 часа выискивая в коде из 30стрчек синтаксическую ошибку. Так и не нашел.
Подумал что в рег файле чего-то неправильно написал/недописал. Но и после побитового сравнения ничего не был обнаружено.
Короче я решил что у меня куриная слепота и я банально чего-то не хочу видеть в упор...
Решил скопировать полностью скрипт из другого моб-файла и убрать оттуда лишнее. Это помогло
Затем решил дописать переменные и 1 ф-ию с пустым кодом. Естественно я ее объявил по всем правилам.
Снова не работает!
Решил убрать ф-ию с объявлением... Все-равно.
И тут до меня начал доходить что проблема кроется в объявлении переменных. На вид все правильно, запятых и двоеточия там где нужно.
Оказалось что имена переменных почему-то не понравились движку. А именно - brothers и guards (причем неважно с заглавной или нет буквы)... Я прифигел Какая-то ерунда и 3часа возни. неужели это зарезервированные слова???
решил перед словами поставить подчеркиванья - _brothers _guards - Скрипт заработал.
Короче чудеса да и только.
ЗЫ. похоже правильная у меня практика сложилась - перед именами переменных ставить подчеркивания - так их легче определить. Видимо, придется и дальше эту традицию поддерживать.
Кстати перед именами пользовательских ф-ий я ставлю решетку - опять же легче выискивать в коде.
ЗЗЫ. будьте осторожны с именами, что-то там нечисто! |
|
|
Demoth
Разведчик
Пришел: 02.09.2007
Сообщения: 105
|
Добавлено: 08 июня 2015, 20:13 |
|
|
Либерти, это особенность интерпретатора скритов в ПЗ. Если имя переменной/скрипта начинается с названия любой встроенной функции, то будет ошибка. В твоём случае - это переменная guards, начало которой совпадает с функцией Guard. С переменной brothers всё в порядке.
В моём редакторе .mob файлов (пароль к архиву: eisoft) встроена проверка скриптов на синтаксические ошибки. Он проверяет при помощи самой же ПЗ. Так что, если проверка не найдёт ошибок, то скрипт 100% правильный.
P.S. Да, это злостный самопиар и форсинг редактора. |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 08 июня 2015, 22:41 |
|
|
Спасибо демош и либерти, это мне очень пригодится = ) . |
|
|
Либерти
Оружейник
Пришел: 17.03.2015
Сообщения: 178
|
Добавлено: 09 июня 2015, 10:04 |
|
|
Demoth, спасибо что разъяснил этот момент. До этого не встречал что об этом где-то писалось. Поэтому такие трудности и возникли.
Возникли сложности с завершением квеста. А именно, он иногда завершается при выполнении условий, иногда нет.
Еще не совсем понятно какие способы существуют для нормального и гарантированного завершения квестов.
По-идее есть 2 метода:
1) QStart("z16q3") .... Qfinish( )
2) GSSetVar( 0, "q.z16q3.z16q3", 2 )
Но как показала моя практика, оба способа не всегда срабатывают.
Причем даже совместное использование обоих способов не дает гарантированный результат. Во всяком случае я с этим сегодня столкнулся. Почему квест не всегда завершается? |
|
|
MIRILLED
Дозорный
Пришел: 17.06.2014
Сообщения: 51
Откуда: Россия
|
Добавлено: 09 июня 2015, 19:54 |
|
|
Цитата (Либерти): |
Возникли сложности с завершением квеста. А именно, он иногда завершается при выполнении условий, иногда нет.
Еще не совсем понятно какие способы существуют для нормального и гарантированного завершения квестов.
По-идее есть 2 метода:
1) QStart("z16q3") .... Qfinish( )
2) GSSetVar( 0, "q.z16q3.z16q3", 2 )
Но как показала моя практика, оба способа не всегда срабатывают.
Причем даже совместное использование обоих способов не дает гарантированный результат. Во всяком случае я с этим сегодня столкнулся. Почему квест не всегда завершается? |
QStart и QFinish используются для квестов приди и убей(По типу жабы людоеда) в чем-то более сложном реагирует неадекватно.
Поэтому используй второй способ. Что бы квест закончился тебе нужно написать:
GSSetVar( 0, "q.z16q3.z16q3", 2 )
QuestComplete()
Меня такая конструкция не подводила. |
|
|
читер30
Привратник
Пришел: 20.08.2012
Сообщения: 368
|
Добавлено: 10 июня 2015, 01:47 |
|
|
Посмотри в мапы синглплеера и перекопируй куски кода. |
|
|
Либерти
Оружейник
Пришел: 17.03.2015
Сообщения: 178
|
Добавлено: 10 июня 2015, 13:21 |
|
|
MIRILLED, благодарю. Решил проблему разделив проверку условий на 2 функции/процедуры.
Т.е. теперь проверяется 1 простое условие в 1 ф-ии, из которой вызывается ф-ия 2, в которой делается еще несколько проверок. и если все ок, запускается код. Сработало, 5 из 5 раз успешно было
Код: |
Script #Exit //1 ф-ия, запускает вторую
(
if( UnitInSquare(_player, 260, 110, 270, 123) ) //игрок достигает зоны выхода
then(
KillScript()
Sleep(5)
#FinishQuest(NULL) //вызов ф-ии 2
)
)
Script #FinishQuest //2 ф-ия
(
if(
IsEqual(HaveItem(0, 17), 1) //есть ключевой предмет
Every(i, _guards, IsDead(i)) //враги убиты
IsAlive(GetObject(1020009)) //помошники живы
IsAlive(GetObject(1020010))
)
then(
KillScript()
GSSetVar(0, "q.z16q3.z16q3", 2)
Qfinish()
FOR (b, _brothers)
( SetCPFast(b, 120, 53, 0 ) )
)
)
|
MIRILLED, у меня твой метод не сработал, точнее не сработало следующее:
Код: | GSSetVar(0, "q.z16q3.z16q3", 2)
QuestComplete(0, "q.z16q3.z16q3") |
Квест как-бы засчитывается (в заданиях), но квестодатель думает что мы квест не сделали.
Я могу тебе квест скинуть, если ты думаешь что я что-то там не то сделал. |
|
|
|