Правила форума

Вернуться   Mafia-Game Forum > Mafia: The City of Lost Heaven > Скриптинг
Расширенный поиск
Имя
Пароль

Скриптинг Скрипты и всё что с ними связано.

Объявления
  • Добро пожаловать!
  • Популярные темы
  • Скачать Mafia и Mafia II
  • Контакты
Ответ
 
Опции темы
По умолчанию
Старый 30.03.2016, 23:19   (ссылка) #121
Кайзер
 
Аватар для Кайзер
Группа: Киллер
Регистрация: 01.09.2015
Адрес: Город-Герой Новороссийск
Сообщений: 280
Сказал(а) спасибо: 239
Поблагодарили 63 раз(а) в 26 сообщениях
Кайзер луч света в тёмном царстве
Кайзер вне форума  
Ответить с цитированием


Ребята привет! Вот такой вот вопрос: составил наипростейший скрипт для создания эффекта в нужном мне фрейме. Но почему - то эффект не работает!

dim_frm 2
findframe 0, "Fire"

commandblock 1
emitparticle 0, 22, 0
wait 168000
stopparticle 0
commandblock 0
end

Я потом даже коммандоблоки добавил, на всякий случай проверить, что да как. А все равно не работает. Честно говоря, я в ступоре. Ладно бы еще скрипт был бы сложнейший, а тут с такой простой проблемой не могу разобраться.

После этого вставил команду на создание эффекта в другой, основной скрипт и поставил время горения огня 5000, все работало. Как изменил на 168000, перестало работать. Точнее, работает несколько секунд, потом произвольно гаснет. Хотя так быть не должно. Вот в чем проблема может быть?

Я бы мог конечно сделать постоянный эффект через файл эффект.бин, но мне нужен скриптовой, чтоб запускался в определенное время и останавливался тоже по команде.
__________________
Ничего личного, это просто бизнес! (с)
---------------------------------------------
Моя моддинговая страничка: https://vk.com/kaiser_edition
 
Посмотреть профиль Отправить личное сообщение для Кайзер Отправить письмо по электронной почте для Кайзер Найти ещё сообщения от Кайзер
Последний раз редактировалось Кайзер; 30.03.2016 в 23:23..
По умолчанию
Старый 31.03.2016, 00:55   (ссылка) #122
Quantum
Группа: mafiascript
Регистрация: 01.03.2016
Сообщений: 122
Сказал(а) спасибо: 1
Поблагодарили 113 раз(а) в 46 сообщениях
Quantum великолепен(-на)Quantum великолепен(-на)
Quantum вне форума  
Ответить с цитированием


Эффект не работает потому, что он сам по себе ограничен по времени. Об этом в названии указано - fire_small_fading (затухающий). Т.к. время горения твоего огня (ID 22) составляет ровно 20 секунд, то для того, чтобы он горел дольше, нужно эти каждые 20 с подкидывать дровишки перезапускать эффект заново.

Проще всего это сделать простым циклом с временем кратным 20-ти секундам (т.е. не 168, а 160 или 180), но если такое ограничение не подходит, то можно сделать и с указанием точного времени. Код будет чуть сложнее:

Код:
dim_flt 3
dim_frm 1

findframe 0, "fire"
let flt[2] = 168

label emit
emitparticle 0, 22, 0
let flt[1] = 0
label wait
commandblock 0
wait 1000
commandblock 1
let flt[1] = flt[1] + 1
let flt[2] = flt[2] - 1
if flt[2] > 0, -1, end
if flt[1] < 20, wait, emit

label end
stopparticle 0
commandblock 0
Скрипт проверяет процесс горения каждую секунду, меньше делать не желательно. Так что и время указываем сразу в секундах, а не в миллисекундах. Коммандблоки здесь стоят только для того, чтобы уменьшить задержки выполнения программы, вызванные слишком частым вызовом wait. Но обычно в скриптах с particle они вовсе не нужны, и уж точно нельзя делать так, как это сделано у тебя в коде - после "commandblock 1" до того как вызвано "commandblock 0" команды "wait" быть не должно.
 
Посмотреть профиль Отправить личное сообщение для Quantum Отправить письмо по электронной почте для Quantum Найти ещё сообщения от Quantum
Пользователь сказал cпасибо:
Кайзер (31.03.2016)
По умолчанию
Старый 31.03.2016, 20:53   (ссылка) #123
Кайзер
 
Аватар для Кайзер
Группа: Киллер
Регистрация: 01.09.2015
Адрес: Город-Герой Новороссийск
Сообщений: 280
Сказал(а) спасибо: 239
Поблагодарили 63 раз(а) в 26 сообщениях
Кайзер луч света в тёмном царстве
Кайзер вне форума  
Ответить с цитированием


Я коммандоблоки добавил уже после. Ради эксперимента. За то, что нельзя в них делать задержку - не знал. Спасибо! За скрипт тоже спасибо!!!! Попробую. Сам бы такой не написал, потому что не дружу абсолютно с переменными. Ну только если с очень простыми. Стараюсь обычно писать скрипты, без употребления оных!

з.ы. проверил сейчас твой скрипт. Он тоже не работает как положено! Как бы мне хотелось.
__________________
Ничего личного, это просто бизнес! (с)
---------------------------------------------
Моя моддинговая страничка: https://vk.com/kaiser_edition
 
Посмотреть профиль Отправить личное сообщение для Кайзер Отправить письмо по электронной почте для Кайзер Найти ещё сообщения от Кайзер
Последний раз редактировалось Кайзер; 31.03.2016 в 21:26..
По умолчанию
Старый 31.03.2016, 22:51   (ссылка) #124
Quantum
Группа: mafiascript
Регистрация: 01.03.2016
Сообщений: 122
Сказал(а) спасибо: 1
Поблагодарили 113 раз(а) в 46 сообщениях
Quantum великолепен(-на)Quantum великолепен(-на)
Quantum вне форума  
Ответить с цитированием


Я тоже проверил. Работает как часы. Или выкладывай свой полный код со своими правками/добавлениями, или истолкуй фразу "как бы мне хотелось" во что-то более понятное для других.

Если из-за задержек горит чуть дольше, чем 168 с, то поставь 165-166. В мафии команда wait сама по себе работает с небольшим отставанием, а здесь они медленно, но суммируются (в пределах 1%).
 
Посмотреть профиль Отправить личное сообщение для Quantum Отправить письмо по электронной почте для Quantum Найти ещё сообщения от Quantum
По умолчанию
Старый 31.03.2016, 23:26   (ссылка) #125
Кайзер
 
Аватар для Кайзер
Группа: Киллер
Регистрация: 01.09.2015
Адрес: Город-Герой Новороссийск
Сообщений: 280
Сказал(а) спасибо: 239
Поблагодарили 63 раз(а) в 26 сообщениях
Кайзер луч света в тёмном царстве
Кайзер вне форума  
Ответить с цитированием


Я примерно так и сделал. Давай по-порядку:

1. За скрипт тебе и за помощь спасибо. Но! Я вставил его отдельными скриптом и прописал в нем же не активность до определенного момента. В основном скрипте в определенный момент твой скрипт должен был активироваться. Возможно я что-то неправильно сделал. Я не отрицаю. Я только учусь. но по-факту огонь горел всего несколько секунд, после чего потух.

2. Я решил последовать твоему другому совету. Ты сказал, что данный эффект действует всего 20 секунд, потом нужно его обновлять. Я так сделал, вставив команду запуска данного эффекта через каждые 20 000. По сути, пошел более простым путем. Теперь все работает. Полностью ничего выкладывать не буду, уже не имеет смысла, так как нужный мне итог получен.
__________________
Ничего личного, это просто бизнес! (с)
---------------------------------------------
Моя моддинговая страничка: https://vk.com/kaiser_edition
 
Посмотреть профиль Отправить личное сообщение для Кайзер Отправить письмо по электронной почте для Кайзер Найти ещё сообщения от Кайзер
По умолчанию
Старый 01.04.2016, 02:09   (ссылка) #126
Quantum
Группа: mafiascript
Регистрация: 01.03.2016
Сообщений: 122
Сказал(а) спасибо: 1
Поблагодарили 113 раз(а) в 46 сообщениях
Quantum великолепен(-на)Quantum великолепен(-на)
Quantum вне форума  
Ответить с цитированием


В данном случае я бы тоже использовал упрощенный способ. Горение, выверенное с точностью до секунды, если и нужно, то в каких-нибудь исключительных случаях. Для обычного "сгорания" какого-нибудь предмета оно ни к чему.
 
Посмотреть профиль Отправить личное сообщение для Quantum Отправить письмо по электронной почте для Quantum Найти ещё сообщения от Quantum
По умолчанию
Старый 30.04.2016, 23:03   (ссылка) #127
Кайзер
 
Аватар для Кайзер
Группа: Киллер
Регистрация: 01.09.2015
Адрес: Город-Герой Новороссийск
Сообщений: 280
Сказал(а) спасибо: 239
Поблагодарили 63 раз(а) в 26 сообщениях
Кайзер луч света в тёмном царстве
Кайзер вне форума  
Ответить с цитированием


Ребята! Пытался сварганить скрипт, типо если Том близко подойдет к огню, то погибнет. Пока ничего не получается. Что неправильно?

dim_act 3
dim_flt 2
dim_frm 2
findactor 0, "Tommy"
findactor 1, "barel_exp02FD"
findframe 0, "Tommy"

label 101
getactorsdist 0, 1, 0
if flt[0]<1, -1, 101
wait 1000
emitparticle 0, 57, 0
wait 5000
playsound "14940033.wav", 0, 100, 1
human_setproperty 0, 0, Energy
endofmission 0, 99970032
end
__________________
Ничего личного, это просто бизнес! (с)
---------------------------------------------
Моя моддинговая страничка: https://vk.com/kaiser_edition
 
Посмотреть профиль Отправить личное сообщение для Кайзер Отправить письмо по электронной почте для Кайзер Найти ещё сообщения от Кайзер
По умолчанию
Старый 01.05.2016, 00:22   (ссылка) #128
GOLOD55
Группа: VIP
Регистрация: 13.06.2006
Сообщений: 833
Сказал(а) спасибо: 51
Поблагодарили 1,017 раз(а) в 344 сообщениях
GOLOD55 . Такую репутацию нельзя пошатнутьGOLOD55 . Такую репутацию нельзя пошатнутьGOLOD55 . Такую репутацию нельзя пошатнутьGOLOD55 . Такую репутацию нельзя пошатнутьGOLOD55 . Такую репутацию нельзя пошатнутьGOLOD55 . Такую репутацию нельзя пошатнутьGOLOD55 . Такую репутацию нельзя пошатнутьGOLOD55 . Такую репутацию нельзя пошатнуть
GOLOD55 вне форума  
Ответить с цитированием


Да все прально вроде.
дистанцию умножь на тыщу и выведи в бабло. мб томми прост не может подойти на метр. надеюсь баррель у тя ето действительно актор.
 
Посмотреть профиль Отправить личное сообщение для GOLOD55 Отправить письмо по электронной почте для GOLOD55 Найти ещё сообщения от GOLOD55
Последний раз редактировалось GOLOD55; 01.05.2016 в 00:24..
По умолчанию
Старый 01.05.2016, 00:26   (ссылка) #129
Кайзер
 
Аватар для Кайзер
Группа: Киллер
Регистрация: 01.09.2015
Адрес: Город-Герой Новороссийск
Сообщений: 280
Сказал(а) спасибо: 239
Поблагодарили 63 раз(а) в 26 сообщениях
Кайзер луч света в тёмном царстве
Кайзер вне форума  
Ответить с цитированием


Да, баррель вставлен через БСВ, как актор. С увеличением дистанции попробую. Но дело еще в том, что на Тома огонь не перекидывается. По крайней мере, я это не заметил.
__________________
Ничего личного, это просто бизнес! (с)
---------------------------------------------
Моя моддинговая страничка: https://vk.com/kaiser_edition
 
Посмотреть профиль Отправить личное сообщение для Кайзер Отправить письмо по электронной почте для Кайзер Найти ещё сообщения от Кайзер
По умолчанию
Старый 01.05.2016, 00:37   (ссылка) #130
Grandshot
 
Аватар для Grandshot
Группа: MobMember
Регистрация: 30.05.2009
Адрес: Сыктывкар
Сообщений: 1,473
Сказал(а) спасибо: 1,259
Поблагодарили 1,040 раз(а) в 616 сообщениях
Grandshot . Такую репутацию нельзя пошатнутьGrandshot . Такую репутацию нельзя пошатнутьGrandshot . Такую репутацию нельзя пошатнутьGrandshot . Такую репутацию нельзя пошатнутьGrandshot . Такую репутацию нельзя пошатнутьGrandshot . Такую репутацию нельзя пошатнутьGrandshot . Такую репутацию нельзя пошатнутьGrandshot . Такую репутацию нельзя пошатнуть
Grandshot вне форума  
Ответить с цитированием


Цитата:
Сообщение от Кайзер Посмотреть сообщение
Да, баррель вставлен через БСВ, как актор. С увеличением дистанции попробую. Но дело еще в том, что на Тома огонь не перекидывается. По крайней мере, я это не заметил.
Или можно не париться, и просто поставить смерть клип в месте эффекта с огнем. Все равно возгорание игрока, которое будет нормально смотреться, в мафии сделать невозможно.
 
Посмотреть профиль Отправить личное сообщение для Grandshot Отправить письмо по электронной почте для Grandshot Найти ещё сообщения от Grandshot
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

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

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

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




Powered by vBulletin® Version 3.x.x
Copyright ©2000 - 2018, vBulletin Solutions, Inc. Перевод: zCarot
All rights reserved. Copyright © Mafia-Game.Ru 2002-2018