Русскоязычный форум поклонников игры «Они» от Bungie
Pathetique написал(а):
Это вообще скриптовая штука, или в йадро зашыто?
Вроде бы это штука, зашитая в daodan. Ну, или в саму девмоду...
Скрипты тут ни при чём изначально. Всё скриптовое, что подлежит редактированию простыми смертными, лежит в \IGMD\.
К тому же, мгновенный перенос - имхо не очень интересная штука, как и сама идея телепортации. Есть уворотки, есть красивое и регулируемое по направлению и расстоянию [] (прошу прощенья, всё-таки забыл ведь, как правильно ими пользоваться +))... Есть полёт, наконец. ) Зачем ещё упрощать игру?..
demos_kratos, аригато за привязку. )
Оффлайн
"есть красивое и регулируемое по направлению и расстоянию [] "
Научи меня регулировать расстояние)
А зачем упрощать - ради эффектности, красивый телепорт за спину врагу - у мну прям мечта децтва) Когда первый раз в Они играл, жутко завидовал Мукаду.
Теперь невидимость я воссоздал, девилстар тоже (за что вам обоим спасибо). Телепорт, наверное, не получится. Но буду искать выход. И ждать выхода новых возможностей бсл
Добавлено спустя 1 минуту 5 секунд:
Кстати, shift+w сквозь противника тоже было бы супер)
Оффлайн
Pathetique написал(а):
Научи меня регулировать расстояние)
В смысле? Чем больше промежуток между двумя нажатиями ], тем больше расстояние. Чем больше скорость движения при первом нажатии, тем быстрее перемещение камеры. )
Pathetique написал(а):
Кстати, shift+w сквозь противника тоже было бы супер)
Сквозь стены - легко. Сквозь противников скриптами вроде как нельзя...
Оффлайн
Жалко... а нажимать ] постоянно - неудобно. Её на другую кнопку забиндить можно?
Оффлайн
Ну тогда, наверное, последние 2 вопроса:
1) При анимации NINCOMteleport_in ниндзя крутится 2 раза (с эффектом) и исчезает на долю секунды. Можно как-нибудь продлить время исчезновения? Или только...
2) Изменить саму анимацию? Возможно ли это?
Оффлайн
Pathetique написал(а):
Можно как-нибудь продлить время исчезновения?
Скриптами - никак. Но зависит от того, какой именно смысл вкладывается в исчезновение. "Спрятать" игрока от собственной камеры можно парой строк: chr_mini_me=1
и chr_mini_me_amount=0
. Раскукожить обратно, соответственно, через chr_mini_me=0
.
Pathetique написал(а):
2) Изменить саму анимацию? Возможно ли это?
Ковыряй TRAM.
Оффлайн
Хм, спрятать-то понятно, а вот сделать невидимым и неприкасаемым? Если уж телепортации пока не добиться, почему бы не сделать исчезновение на пару секунд) Просто текущего времени недостаточно чтобы поймать в "пустышку", к примеру, хэви кик Муро.
Оффлайн
Поработал над уменьшением.... Теперь получается визуальное исчезновение на 3 секунды после анимации телепорта, с возможностью передвигаться. Уже хорошо, но противник видит, зараза. В учебнике прочитал про то как ослепить\оглушить врага. Но
func void hard_bk_fw_k (void) { chr_wait_animation 0 NINCOMtaunt1 chr_animate 0 NINCOMteleport_out 0 sleep 30 chr_mini_me=1 chr_mini_me_amount=0 ai2_make blind 1 sleep 150 ai2_make blind 0 chr_mini_me=0 chr_animate 0 NINCOMteleport_out chr_givepowerup 0 invis 350 sleep 350 fork hard_bk_fw_k }
не работает Как правильно прописать ослепление?
Отредактировал(а) Pathetique (29-08-2008 15:41:55)
Оффлайн
Pathetique написал(а):
Хм, спрятать-то понятно, а вот сделать невидимым и неприкасаемым?
invincible=1
, unstoppable=1
, chr_enable_collision=0
, chr_givepowerup 0 invis -1
... Ботов слепить не надо (всё равно ведь не заденут, так пусть пинают в пустоту), либо ai2_allpassive 1
рулит. +)
Кстати, по поводу прохождения сквозь врагов я опять ошибся. +) Всё можно, только не через chr_nocollision.func void gibmirnoc (string anim_name, int nocollision_time)
{
chr_wait_animation(0, anim_name);
chr_enable_collision=0;
sleep(nocollision_time);
chr_enable_collision=1;
fork gibmirnoc(anim_name, nocollision_time);
}
Вызывается fork gibmirnoc(NINCOMcrouch_fw, 46)
. =)
Оффлайн
@Pathetique
добавь для всего прочего chr_nocollision 0 1 (с последующим выключением)
Оффлайн
demos_kratos написал(а):
добавь для всего прочего chr_nocollision 0 1 (с последующим выключением)
chr_enable_collision=0. ) chr_nocollision отключает коллизии с архитектурой и атмосферой, но не отключает взаимодействий с персонажами. А эта штука - наоборот.
Оффлайн
Ребят, спасибо вам большое! Работаю.
Оффлайн
и ещё, правильно так - ai2_makeblind [имя_бота] 0/1
в твоём случае лучше использовать ai2_blind=1
вообще все команды смотрите здесь - http://ssg.oni2.net/commands.htm
Mih@ написал(а):
chr_nocollision отключает коллизии с архитектурой и атмосферой, но не отключает взаимодействий с персонажами.
благодарю, исправлюсь.
Отредактировал(а) demos_kratos (29-08-2008 15:59:31)
Оффлайн
ЙЕЕЕЕЕС!!!! Я это сделал!
func void hard_bk_fw_k (void) { chr_wait_animation 0 NINCOMtaunt1 chr_animate 0 NINCOMteleport_out 0 chr_enable_collision=0 invincible=1 unstoppable=1 ai2_allpassive 1 sleep 20 chr_animate 0 NINCOMcrouch_fw chr_mini_me=1 chr_mini_me_amount=0 sleep 70 ai2_allpassive 0 invincible=0 unstoppable=0 chr_enable_collision=1 chr_mini_me=0 chr_animate 0 NINCOMteleport_out sleep 170 fork hard_bk_fw_k }
Именно то, о чем я думал! Осталось пришить это к краучам во все стороны. Рулез! Еще раз домо аригато)) Вы просто гении)
Оффлайн
Оффлайн
Pathetique написал(а):
sleep 20
chr_animate 0 NINCOMcrouch_fw
элементарно заменить на sleep 300 и можно самому выбрать место назначения
Pathetique написал(а):
sleep 170
fork hard_bk_fw_k
слип то зачем? чтоб не злоупотреблять?
Оффлайн
"элементарно заменить на sleep 300 и можно самому выбрать место назначения"
Если поставить большой слип, то можно будет бегать в "портале", и даже атаковать. А это не есть хорошо. Вот если бы сделать что-то вроде фключателя: нажал раз, вошел в портал, добежал, нажал второй раз - вышел в выбранной точке.
Добавлено спустя 5 минут 9 секунд:
Вообще, сейчас в конечном варианте это выглядит так:
func void hard_bk_fw_k (void) { chr_wait_animation 0 NINCOMcrouch_fw chr_animate 0 NINCOMteleport_out 0 chr_enable_collision=0 sound_dialog_play c17_99_24superninja invincible=1 unstoppable=1 ai2_allpassive 1 sleep 17 chr_animate 0 NINCOMcrouch_fw chr_mini_me=1 chr_mini_me_amount=0 sleep 5 ai2_allpassive 0 sleep 25 invincible=1 unstoppable=0 chr_enable_collision=1 chr_mini_me=0 chr_animate 0 NINCOMteleport_out sleep 170 #это можно и убрать :) fork hard_bk_fw_k }
Все происходит секунда в секунду, слипы подправлены.
Оффлайн
Pathetique написал(а):
Вот если бы сделать что-то вроде фключателя: нажал раз, вошел в портал, добежал, нажал второй раз - вышел в выбранной точке.
Эээ... А почему бы и так не сделать? Создай булеву переменную, отвечающую за "нахождение в портале", и в зависимости от неё делай вход и выход. Можно добавить задержку или даже таймер, чтобы нельзя было там торчать слишком долго.
Возможность атаковать можно пресечь обыкновенными lock_keys.
Pathetique написал(а):
chr_animate 0 NINCOMteleport_out 0
Второй нолег по идее не нужен.
Pathetique написал(а):
sleep 170 #это можно и убрать
Комментарии в таком виде лучше не давать. +) Понимаю, что в собственно скриптах такого нет, но всё же. >_<
Оффлайн