Помощь по ГЕКК
|
|
Сазан |
Дата: Воскресенье, 2012-07-08, 12:54 | Сообщение # 1 |
Группа: Друзья
| Как должна выглядеть эта команда? Собираюсь применить ее на триггере. Сначала идет затемнение (IMod FadeToBlackISFX ), а потом должно идти как раз задержка игрового времени, напимер, 2-ух дней. Можете помочь?
Cinema 4D
|
Статус: Offline |
| |
Macoron |
Дата: Воскресенье, 2012-07-08, 14:28 | Сообщение # 2 |
Группа: Администраторы
| Сазан, Я так понял просто скипнуть два дня? Самый простой способ прибавить к глобалу GameDay значение. Я уже так забыл синтаксис скриптинга...
Если ото всех воняет говном, может, это ты обосрался? Mr. Freeman, Part 58
|
Статус: Offline |
| |
djsave |
Дата: Воскресенье, 2012-07-08, 15:36 | Сообщение # 3 |
Ни шагу назад !!!!
Группа: Администраторы
| блин щас скумекаю и напищу скрипт как это должно выглядеть. Так давай подробнее что это будет. если я правильно понял то ты имел в виду следующее: ГГ заходит в тригер01 происходит затемнение экрана в момент затемнения время изменяется на 2 дня вперед ГГ остается на своем месте
Сейчас напишу, проверю и выложу.
Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
|
Статус: Offline |
| |
Сазан |
Дата: Вторник, 2012-07-10, 00:16 | Сообщение # 4 |
Группа: Друзья
| djsave, да, вот так и должно быть. У меня проблема: я дошел до того, что (сначала делал на терминале) идет команда ForceTerminalBack, потом затемнение. Затем телепорт к точке (player.moveto). Так вот. Затемнение начинается лишь осле телепортации. Почему так? Или нужно указывать параметр задержки: Параметр таймера == 0 Отключение терминала Установить параметр таймера == 0,2 Затемнение Телепорт. Так будет правильнее?
Cinema 4D
|
Статус: Offline |
| |
djsave |
Дата: Вторник, 2012-07-10, 17:35 | Сообщение # 5 |
Ни шагу назад !!!!
Группа: Администраторы
| Так не запутывай - игровая механика вещь тонкая. Сегодня как сяду дома за комп так напишу те скрипт по алгоритму что я формулировал сообщением выше. Если тебе необходимо делать это через терминал то там это делается по другому. Разберись уж как тебе нужно. Насчет терминала могу сказать только что если так работает то поменяй алгоритм. Затемнение - выключение терминала - перемещение ГГ. Игра иногда обрабатывает команды с разным временным промежутком и поэтому команда данная последней иногда срабатывает первее чем самая первая команда. В случае когда необходимо точное выполнение команд то лучше создать пустой квест и управлять всем через его скрипт, но только не стоит много квестов запускать сразу. Все обещая сегодня вечером напишу(возьмусь за написание) скрипт.
Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
|
Статус: Offline |
| |
Сазан |
Дата: Вторник, 2012-07-10, 20:54 | Сообщение # 6 |
Группа: Друзья
| djsave, благодарю.
Cinema 4D
|
Статус: Offline |
| |
djsave |
Дата: Вторник, 2012-07-10, 21:01 | Сообщение # 7 |
Ни шагу назад !!!!
Группа: Администраторы
| Я тока пришел - смотрю ты щас тут. Занимаюсь скриптом - как сделаю выложу.
Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
|
Статус: Offline |
| |
Сазан |
Дата: Вторник, 2012-07-10, 21:10 | Сообщение # 8 |
Группа: Друзья
| djsave, еще раз спасибо.
Cinema 4D
|
Статус: Offline |
| |
djsave |
Дата: Вторник, 2012-07-10, 22:21 | Сообщение # 9 |
Ни шагу назад !!!!
Группа: Администраторы
| Значит так - поскольку задачка на самом деле не так проста как кажется то я ее и не стал усложнять . Вот самый простой пример скрипта того что тебе нужно : Code scn 1aTimeTestTrigerSCRIPT
short CurrentDay
Begin OnTriggerEnter Player imod FadeInFromBlack4sISFX Set CurrentDay to GameDay Set GameDay to (CurrentDay+2) Player.MoveTo 1atimetestmarkerref END Этот скрипт пишется в тригер и когда гг туда заходит то все и случается. Но у этого просто кода есть свои грабли- если день будет 31 число то дни увеличатся и дата будет 33число - далее после того как пройдут сутки дата автоматом перейдет на 4е число как и должно быть по порядку. Если этот момент принципиален то можно отслеживать текущий месяц и дату и переводить ручками, но это сразу куча кода, причем та еще куча. Насчет эффекта и перемещения - у меня было маленькое расстояние и я не смог понять что происходит раньше, если что то нужно добавить задержку таймером. Так же можно отключить активатор после перемещения ГГ.
Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
|
Статус: Offline |
| |
djsave |
Дата: Вторник, 2012-07-10, 22:34 | Сообщение # 10 |
Ни шагу назад !!!!
Группа: Администраторы
| А что там не понятно ? Написано что время сообщения должно быть целым числом и не short a int
Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
|
Статус: Offline |
| |
Сазан |
Дата: Вторник, 2012-07-10, 22:35 | Сообщение # 11 |
Группа: Друзья
| Да все-все, я уже разобрался.
Cinema 4D
|
Статус: Offline |
| |
djsave |
Дата: Вторник, 2012-07-10, 22:39 | Сообщение # 12 |
Ни шагу назад !!!!
Группа: Администраторы
| Да, ГЕКК он немного щепетилен к всяким там названиям.
Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
|
Статус: Offline |
| |
djsave |
Дата: Четверг, 2012-07-12, 16:01 | Сообщение # 13 |
Ни шагу назад !!!!
Группа: Администраторы
| Сазан, как твой скрипт ? фурычит?
Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
|
Статус: Offline |
| |
Сазан |
Дата: Четверг, 2012-07-12, 17:52 | Сообщение # 14 |
Группа: Друзья
| Да! Все отлично работает! Могу скинуть рабочую версию, если, конечно, интересно. Мой проект, делал еще с июня того года. Мне как раз тов. Macoron помогал
Cinema 4D
|
Статус: Offline |
| |
djsave |
Дата: Четверг, 2012-07-12, 17:59 | Сообщение # 15 |
Ни шагу назад !!!!
Группа: Администраторы
| Ах он злыдень этот товарищ, значит мне он не хочет помогать - говорит религия не позволяет. Так так ...... Да выложи полностью скрипт - глядишь пригодиться кому или как пособие будет.
Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
|
Статус: Offline |
| |
Сазан |
Дата: Четверг, 2012-07-12, 18:04 | Сообщение # 16 |
Группа: Друзья
| Он помогал, в смысле, в том году. Добавлено (2012-07-12, 18:04) ---------------------------------------------
Code scn ForgottenForpostMetWallScript
short State short GetButton short button short CurrentDay
begin onActivate IMod FadeToBlackISFX if IsActionRef player == 1 if state == 0 if player.getAV repair >= 35 ShowMessage ForgottenForpostMetWallMessage set GetButton to 1 else ShowMessage ForgottenForpostMetWallMessage02 endif endif endif end
begin gameMode
if GetButton == 1 set GetButton to 0 if state == 0 set button to getButtonPressed if (button == 0) && (player.getAV repair >= 35) && (player.getItemCount Wrench01>=1) ShowMessage ForgottenForpostMetWallMessage03 set state to 1 ForgottenForpostMetWallREF2.Disable ForgottenForpostTubeREF.Disable ForgottenForpostMetWallREF.Enable playsound AMBRMetalScrape Set CurrentDay to GameDay Set GameDay to (CurrentDay+1) elseif (button == 0) && (player.getAV repair < 35) ShowMessage ForgottenForpostMetWallMessage02 elseif button == 1 ; do nothing endif elseif state == 1 ShowMessage ForgottenForpostMetWallMessage03 endif endif
end
Вот он. Это скрипт вот на что: стоит решетка-активатор. ГГ подходит к ней, имея навык ремонта в 35 или больше, и чтоб гаечный ключ тоже был. Свинчивает решетку, активатор отключается, затемнение, активируется статик решетки на полу. Скип на день. Все рабочее.
Cinema 4D
|
Статус: Offline |
| |
djsave |
Дата: Четверг, 2012-07-12, 18:08 | Сообщение # 17 |
Ни шагу назад !!!!
Группа: Администраторы
| Ага это типа на ремонт уходит какое то время а не мгновенно все ремонтируется. Интересная идея. В принципе так и должно быть, но еще с поправкой на навык ремонта, то есть очень опытный мастер исправит быстрее чем новичок. Незнаю где это используется, но можно добавить еще 2- 3 проверки на уровень ремонта и сделать разное время ремонта в зависимости от этого. В этом случае вместо GameDay будет GameHour .
Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
Сообщение отредактировал djsave - Четверг, 2012-07-12, 18:11 |
Статус: Offline |
| |
Сазан |
Дата: Четверг, 2012-07-12, 18:21 | Сообщение # 18 |
Группа: Друзья
| djsave, ой спасибо, а тоя изначально (хотел 2 часа ремонт сделать) делил 1 на 24, это, как бы, сколько часов (игровых) в одном дне. Ничего не работало, вроде как. поставил день.
Cinema 4D
|
Статус: Offline |
| |
djsave |
Дата: Четверг, 2012-07-12, 18:50 | Сообщение # 19 |
Ни шагу назад !!!!
Группа: Администраторы
| в одном игровом дне 24 игровых часа, но они идут неправильно, используется десятичное исчисление. Но если делать часами и не трогать минуты то получается именно как и с днями. Если учитывать минуты то там грабли, что бы установить время допустим 18:30 нужно присваивать значение 18,5. Короче с минутами лучше не заморачиваться без очень крайней необходимости.
Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
|
Статус: Offline |
| |