Перейти к содержанию

Тонкости скриптов


Рекомендуемые сообщения

родная

 

Так верно?

 

 

begin ARMOR_DWEMER
 
short done

float stat

 
if ( done == 1 )

return

endif

 
set stat to 60

SetArmorBonus stat

set done to 1

End

Изменено пользователем Varang
Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 335
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

Вообще, броня для кричуров - разумная штука. Все-таки пробить топором панцирь шалка должно быть сложнее, чем мякотку фуражира квама. А уж толстенную шкуру огрима пробить должно быть вообще тяжело.

Отличная идея! А то грязекрабы на первом уровне слишком легко убиваются, надо сделать так, чтобы их три часа нужно было ковырять, иначе не хоркор.

Ссылка на комментарий
Поделиться на другие сайты

К сожалению, если мне не изменяет память, SetArmorBonus не дает реального эффекта. Например, если выдать таким образом через консоль игроку 5000 защиты, это никак не уменьшит получаемый им урон, несмотря на огромное значение брони отображающееся в меню.

Ссылка на комментарий
Поделиться на другие сайты

Судя по тестам с MCP, на неписях дает. Вообще, интересно, никогда на эту команду раньше не натыкался.

Ссылка на комментарий
Поделиться на другие сайты

Да, вот и я об этом. Потому что, как отмечалось выше, у кричуров в принципе нет такого понятия, как броня :)

 

И я тоже вспомнил про эти дреморовские щиты. Ерунда какая-то получается :) Чисто визуальный эффект.

 

Хм, я уже по старости лет и забыл, что в МСР такое есть.

 

Вообще, броня для кричуров - разумная штука. Все-таки пробить топором панцирь шалка должно быть сложнее, чем мякотку фуражира квама. А уж толстенную шкуру огрима пробить должно быть вообще тяжело.

 

Опять-таки, это добавило бы разнообразия. Например, кого-то было бы легче убить магией (огрима), а кого-то - оружием (алчущего).

А чем - в отсутствие в Морровинде типа урона - броня отличается от увеличения хитпойнтов?  Я вот не вижу разницы никакой. Если бы копья пробивали доспех лучше топора - тогда смысл использования брони есть - это подталкивает игрока искать тактику преодоления защиты бронированных кричеров. Например, мечи для мягких тварей, копья - для бронированных. Но этого в Морровинде нет. Значит можно просто увеличить здоровье существа чтобы имитировать броню. Эта функция потому и мало используется, потому что бесполезна чуть более чем полностью. Разве что с магией будет разница - она игнорит доспех.

 

Изменено пользователем Malbogatra
Ссылка на комментарий
Поделиться на другие сайты

А чем - в отсутствие в Морровинде типа урона - броня отличается от увеличения хитпойнтов?

Потому что хотят усложнить жизнь только воинам, а не магам.

Ссылка на комментарий
Поделиться на другие сайты

А чем - в отсутствие в Морровинде типа урона - броня отличается от увеличения хитпойнтов?  Я вот не вижу разницы никакой.

Во-первых, как написал CemKey, броня позволит разделить монстров на крепких, но уязвимых к магии, и слабеньких физически, но устойчивых к заклинаниям.

Во-вторых, броня заставляет внимательнее относится к выбору оружия, потому что броня защищает нелинейно, и чем выше урон от оружия, тем больше урона пройдёт по кричуру. Например, при использовании коротких клинков будет резаться 75% урона, а при использовании боевого молота - 35%. Поэтому какую-нибудь дремору вор уже так просто не зачикает. Надо расчехлять дрын.

Ссылка на комментарий
Поделиться на другие сайты

Во-первых, как написал CemKey, броня позволит разделить монстров на крепких, но уязвимых к магии, и слабеньких физически, но устойчивых к заклинаниям.

Во-вторых, броня заставляет внимательнее относится к выбору оружия, потому что броня защищает нелинейно, и чем выше урон от оружия, тем больше урона пройдёт по кричуру. Например, при использовании коротких клинков будет резаться 75% урона, а при использовании боевого молота - 35%. Поэтому какую-нибудь дремору вор уже так просто не зачикает. Надо расчехлять дрын.

 

Истину глаголишь! Всяких паровых центрурионов, по идее, только молотами и секирами с недюжинной силой и крушить, ну что там ковырять -то их всякими ножичками?

Изменено пользователем Varang
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Можно ли игрока телепортировать в воду? Или его следует поставить на невидимую платформу и потом столкнуть вниз (как Тариэля, скажем)?

Собственно, телепортирую игрока скриптом на твёрдую поверхность - всё нормально.

Указываю координаты НАД водой, с таким расчётом, чтобы ГГ плюхнулся в воду - скрипт перемещает ГГ в указанную точку => ГГ оказывается в воде => игра начинает жутко тормозить. Могу включить инвентарь и меню, проигрываются анимации плавания, но двигаться не могу, взять что-либо в руки не могу; ГГ плавает на одном месте. Где косяк? Как правильно делать?
 

 

=====

Да, и ещё: чем именно отличается команда Player -> PositionCell от команды Player -> Position?

Не могу просечь логику, в каких случаях следует прописывать первую команду, а в каких вторую.

 

Изменено пользователем РЕДМЕНЪ
Ссылка на комментарий
Поделиться на другие сайты

Можно ли игрока телепортировать в воду? Или его следует поставить на невидимую платформу и потом столкнуть вниз (как Тариэля, скажем)?

Собственно, телепортирую игрока скриптом на твёрдую поверхность - всё нормально.

Указываю координаты НАД водой, с таким расчётом, чтобы ГГ плюхнулся в воду - скрипт перемещает ГГ в указанную точку => ГГ оказывается в воде => игра начинает жутко тормозить. Могу включить инвентарь и меню, проигрываются анимации плавания, но двигаться не могу, взять что-либо в руки не могу; ГГ плавает на одном месте. Где косяк? Как правильно делать?

 

 

=====

Да, и ещё: чем именно отличается команда Player -> PositionCell от команды Player -> Position?

Не могу просечь логику, в каких случаях следует прописывать первую команду, а в каких вторую.

 

Обычно позиционирование ставит игрока на поверхность. Нужно платформу под ноги ставить, чтоб игрок упал правильно.

positioncell можно указать ячейку назначения, обычно внутри. Position нельзя, текущая ячейка.

Ссылка на комментарий
Поделиться на другие сайты

Хорошо, а как следует убирать платформу из-под ног? Задисейблить?

(вот как раз полез в конструктор смотреть, как оно с Тариэлем сделано)

Ссылка на комментарий
Поделиться на другие сайты

Хорошо, а как следует убирать платформу из-под ног? Задисейблить?

(вот как раз полез в конструктор смотреть, как оно с Тариэлем сделано)

Задизейблить и fall
Ссылка на комментарий
Поделиться на другие сайты

Нет Position использует мировые координаты и потому работает только в экстерьерах, если не путаю с другой функцией.
Ссылка на комментарий
Поделиться на другие сайты

Нет Position использует мировые координаты и потому работает только в экстерьерах, если не путаю с другой функцией.

Да, Position для экстерьера, но нормально работает и PositionCell, с уникально именованными ячейками точно. В интерьер можно переместить только PositionCell, либо Position в текущей ячейке.

Ссылка на комментарий
Поделиться на другие сайты

Вот ведь затыка, я в печали.
Научился корректно кидать ГГ в воду за тридевять земель. Вроде всё нормально, но! - захотелось мне поднять ГГ повыше и добавить ему "замедление падения", чтобы игрок падал с высоты медленно и мучился осознанием своей вины. Оказалось, что волшебный пинок Player->Fall игрока с платформы не сталкивает, а сбрасывает сразу на землю/в воду, почти мгновенно. Если высота большая, а глубина моря маленькая - игрок расшибётся в лепёшку. "Замедление падения" ни в виде проклятия, ни в виде болезни не работает.
Ладно. Делаю колечко с постоянным эффектом "замедление падения 50 п.", в том же самом скрипте перед телепортацией надеваю колечко на палец ГГ. Фигушки, после Player->Fall колечко... не работает! т.е. игрок опять расшибается до смерти. М.б. колечко не наделось? Включаю tgm, телепортируюсь, снова оказываюсь на дне, но не расшибаюсь, потому что tgm. Открываю инвентарь - вот оно колечко, на пальце! - и в активных эффектах прописано "замедление падения 50 п."
Т.е. получается, что Player->Fall игрока не сталкивает с платформы, а телепортирует вниз. Печалька.

 

Кто-нибудь пользовался этой функцией, какие были результаты?
 

Ссылка на комментарий
Поделиться на другие сайты

Вот ведь затыка, я в печали.

Научился корректно кидать ГГ в воду за тридевять земель. Вроде всё нормально, но! - захотелось мне поднять ГГ повыше и добавить ему "замедление падения", чтобы игрок падал с высоты медленно и мучился осознанием своей вины. Оказалось, что волшебный пинок Player->Fall игрока с платформы не сталкивает, а сбрасывает сразу на землю/в воду, почти мгновенно. Если высота большая, а глубина моря маленькая - игрок расшибётся в лепёшку. "Замедление падения" ни в виде проклятия, ни в виде болезни не работает.

Ладно. Делаю колечко с постоянным эффектом "замедление падения 50 п.", в том же самом скрипте перед телепортацией надеваю колечко на палец ГГ. Фигушки, после Player->Fall колечко... не работает! т.е. игрок опять расшибается до смерти. М.б. колечко не наделось? Включаю tgm, телепортируюсь, снова оказываюсь на дне, но не расшибаюсь, потому что tgm. Открываю инвентарь - вот оно колечко, на пальце! - и в активных эффектах прописано "замедление падения 50 п."

Т.е. получается, что Player->Fall игрока не сталкивает с платформы, а телепортирует вниз. Печалька.

 

Кто-нибудь пользовался этой функцией, какие были результаты?

 

А игрок при этом двигается? Может ему движение запретить как в начале игры.

Кстати, ты точно платформу убираешь не в том же самом кадре, как ставишь игрока на нее?

Изменено пользователем Larkin
Ссылка на комментарий
Поделиться на другие сайты

Игрок двигается. Ну как двигается... стоит и разговаривает с неписем; в диалоге, если выбрать "неправильный" ответ, его выбрасывают в речку.

Да, вынужденно платформу убираю в том же самом кадре, как ставлю игрока на нее, потому что если разносить это по времени, то игрок начинает "прыгать" в воздухе, как будто бы платформа не удаляется. Но при этом с платформы можно спрыгнуть в любую сторону.

Т.е. сейчас рабочий блок такой (здесь хорошо то, что при попадании игрока в воду игра не тормозит, а игрок ведёт себя естественно, начинает плавать):

if ( once == 0 )
Player->PositionCell -19229.664, -13834.964, 350.000, 270, "Balmora (-3, -2)"
RM_fallguy_collision_unique02->Disable
Player->Fall
Set once to 1
endif


 
Ничего не изменится, если я разнесу по разным блокам телепорт и удаление платформы/толчок:

if ( once == 0 )
player->AddItem "RM_common_ring_01", 1; добавить кольцо с замедлением падения
Player->Equip, "RM_common_ring_01"; надеть кольцо с замедлением падения 
Player->PositionCell -19229.664, -13834.964, 350.000, 270, "Balmora (-3, -2)"
Set once to 1
endif

if ( once == 1 )
RM_fallguy_collision_unique02->Disable
Player->Fall
Set once to 2
endif

 

Возможно, это и есть правильное поведение команды Player->Fall? Во всяком случае, в Учебнике для чайников написано, цитирую: "Когда я пытался применить ее на игроке в моем моде про скалолазание, она иногда телепортировала, а не спускала игрока прямо на землю под ним" - т.е. примерно то же самое, что выходит у меня.

 

Если между телепортом и удалением платформы/толчком включать таймер, игрок начинает подпрыгивать в воздухе, как будто бы платформа не удалилась:
http://pic.fullrest.ru/upl/t/0hOQ8zpZ_150x150.jpg
 
DisablePlayerControls ещё не пробовал вставить, как-то в голову не приходило; даже интересно стало, что выйдет.

 

 

=====
PS: Нет, если отбирать у игрока управление, будет то же самое.
Вероятно, сымитировать плавный спуск можно было бы, пошагово подставляя/убирая платформы с новыми координатами, всё ниже и ниже; но мне кажется, что всё равно движение будет не плавным, а рывками.
Но я откровенно не скриптёр; вполне допускаю, что более опытные товарищи уже решили такую задачу :-).

Изменено пользователем РЕДМЕНЪ
Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...