[ObjectID.]ResetFallDamageTimer - Функция ResetFallDamageTimer сбрасывает таймер падения. При сбросе таймера вызывающий объект (ObjectID) получает повреждения при падении так, как будто он начал падать только что. Относится к типу: Miscellaneous Functions
[ActorID.]PickIdle - Функция PickIdle заставляет вызывающего актера (ActorID) выбрать новое анимационное движение (idle). Относится к типу: Animation Functions | Actor Functions
PlayGroup Walk PlayGroup Walk, 1 - Функция PlayGroup проигрывает анимационную группу, определенную в GroupName. Необязательный флаг [flags] может использоваться, чтобы начать прогрывание анимационной группы различными способами. Флаги: 0 Обычный (Normal) текущая анимация проиграется до конца полного цикла, затем начнется проигрывание новой анимации с самого начала, со своего первого стартового фрейма. 1 Немедленный старт (Immediate Start) Установка флага в единицу приведет к немедленной остановке в текущем фрейме проигрываемой в данный момент анимационной группы, после чего начнется проигрывание новой анимации со своего стартового фрейма. 2 Немедленный запуск цикла (петли) (Immediate Loop) Установка флага в 2 приводит к немедленному прекращению проигрывания в текущем фрейме анимационной группы, после чего стартует новая анимация со своего стартового фрейма и будет воспроизводиться в цикле много раз (по петле). Примечание: Проигрывание этой функцией некоторых анимационных групп на персонаже игрока может его "заморозить" и он перестанет реагировать на ваши действия. Вернуть его в нормальное состояние поможет вызов функции PickIdle или вызов PlayGroup со следующими параметрами: Код: [Выделить] PlayGroup Idle, 1 Относится к типу: Animation Functions ВНИМАНИЕ!ВОПРОС - Куда и как вставить в скрипт левитации - безопасное приземление - [ObjectID.]ResetFallDamageTimer и проигрывание анимации полета - PlayIdle p100 или хотя бы сообщение на дисплее о том что через 10 секунд эффект левитации закончиться? Вот в этот скрипт:
scn aaaforcelevitationscript
float angleZ
float X float Y float Z float DX float DY float DZ float oldX float oldY float oldZ float oldDX float oldDY float oldDZ float maxDXY float t1 float t2 float t5 float t6 float sina float turbo
begin ScriptEffectStart
set oldX to getPos x set oldY to getPos y set oldZ to getPos z end
begin ScriptEffectUpdate
set X to getPos x set Y to getPos y set Z to getPos z set DZ to Z - oldZ ; Levitation
set DX to x - oldX set DY to y - oldY
if (DX*DX)>(DY*DY) set maxDXY to DX else set maxDXY to DY endif
if maxDXY < 0 set maxDXY to -maxDXY endif
set Z to oldZ
if isSneaking == 0 set turbo to 10 else set turbo to 2 endif
if (DX*DX+DY*DY>8) set X to oldX + turbo*DX/maxDXY set Y to oldY + turbo*DY/maxDXY ; endif setPos x , X setPos y , Y
set angleZ to GetAngle x ;Message angleZ+1 ;set Z to Z - (angleZ/180)
if angleZ < -180 set angleZ to angleZ + 360 elseif angleZ > 180 set angleZ to angleZ - 360 endif
set t1 to angleZ / 57.29577951 ; precalculate powers of "angle" set t2 to t1*t1 set t5 to t2*t2*t1 set t6 to t5*t1 set sina to t1 - t1*t2/6 + t5/120 - t5*t2/5040 + t6*t2*t1/362880
set Z to Z - turbo*(sina) endif setPos z , Z
set oldX to X set oldY to Y set oldZ to Z set oldDZ to DZ resetFallDamageTimer end
Скрипт рабочий - Граф в курсе,но вот проблемка - при полете проигрывается анимация ходьбы,бега,плаванья и при приземлении ГГ погибает в 70%,потому что прогграмма считает что он упал с большой высоты.
Или вот эти команды нужно повесить скриптом на одежду?
[ObjectID.]ResetFallDamageTimer - эта команда в скрипте "Левитация" есть,но почему то не срабатывает,может оттого что не вставлен Ай Ди ГГ?
PlayIdle p100 - анимация тоже не проигрывается,потому что нет пока такой анимации.
Подскажите пожалуйста,и как это будет выглядеть в скрипте на одежду?
scn aaalexLevitationBaseEffectScript
begin ScriptEffectUpdate
player.PlayIdle p100
end ------------------------------------------------------------------------------------------------------- И еще - у кого есть анимация полета,чтобы махали крыльями?
vasy40
Изменение репутации для пользователя vasy40
vasy40Offline
Сообщение №33
| Тема: Скрипты
написано: 17 октября 2011, 05:43
| Отредактировано: vasy40 - 17 октября 2011, 08:20
Зелье"Левитация" работает 3 минуты = 180 секунд,каким образом скриптом устроить проверку на время -чтобы на 170 секунде,на дисплей выводилась надпись-"До окончания "Левитации" 10 секунд."Это для того чтобы удачно приземлятся хотя бы в 50%
Begin ScriptEffectStart if (Stage == 0) set Stage to 1 endif End
Begin ScriptEffectUpdate if (Stage == 1) Set Timer to Timer + ScriptEffectElapsedSeconds if (Timer >= 170) ShowMessage ААА02;До окончания "Левитации" 10 секунд. set Stage to 2 endif endif End --------------------------------------------------------------------------- Сработает ли такой скрипт прикрученный к зелью"Левитация" с выводом предупреждения на дисплей?И можно ли добавить по окончанию эффекта замедление времени(Slowing down time) и безопасную посадку Player.resetFallDamageTimer? P.S.Скрипт правильный-то есть записался в г.е.к.к.,но вот не выводит сообщение в игре,на монитор в чем ошибка? ShowMessage -сообщение создал,повесил скрипт на зелье"Левитация"
vasy40
Изменение репутации для пользователя vasy40
vasy40Offline
Сообщение №34
| Тема: Скрипты
написано: 17 октября 2011, 08:24
| Отредактировано: vasy40 - 17 октября 2011, 08:35
Ты сказал,что в том есп.файле что для Ф3 скрипт на одежду - вот он. Как это будет выглядеть на Актор эффектах?И посмотри пожалуйста что с скриптом-таймером не так,он приведен выше.
vasy40
Изменение репутации для пользователя vasy40
vasy40Offline
Сообщение №35
| Тема: Скрипты
написано: 17 октября 2011, 14:03
| Отредактировано: vasy40 - 17 октября 2011, 14:06
Зелье"Левитация" работает 3 минуты = 180 секунд,каким образом скриптом устроить проверку на время -чтобы на 170 секунде,на дисплей выводилась надпись-"До окончания "Левитации" 10 секунд."Это для того чтобы удачно приземлятся хотя бы в 50%
Вот таким,наверное,у тебя же спрашивают...или самому на свои вопросы всегда отвечать???
scn AAAlarmTime
float timer ;переменная таймера short startTimer short sof short kof
begin ScriptEffectStart set timer to 180 ;поставить таймер на 180 end
begin ScriptEffectUpdate
if timer < 170 && kof==0 ;когда пройдет 170 секунд,вывести на монитор сообщение set kof to 1 showMessage ААА01;До окончания "Левитации" 10 секунд. endif
if timer < 180 && sof==0;когда пройдет 180 секунд, удачно приземлиться resetFallDamageTimer set sof to 1
endif
set timer to timer - getSecondsPassed ;отнять от таймера 1 секунду
end
Ты вопросов и загадок подбрасываешь больше - чем помогаешь.
vasy40
Изменение репутации для пользователя vasy40
vasy40Offline
Сообщение №36
| Тема: Скрипты
написано: 17 октября 2011, 15:12
Scn AAAlexItemScript begin OnEquip player;одел крылья ShowMessage aaa01;вывелось сообщение Player.CastImmediateOnSelf aaaforcelevitationscript;запустился эффект"Левитация" end begin OnUnEquip player;снял крылья ShowMessage aaa02;вывелось сообщение .........Эффект "Левитация" закончен. end
Может, кто подскажет - есть ли мод, который показывает НПС, у которых еще остались не выиграны/куплены карты гвинта? А то бывает, не можешь кого-то обыграть, решаешь оставить на потом, когда соберешь колоду посильнее, но по ходу игры спустя несколько десятков часов уже тупо забываешь, кого ты там обыграл, а кого - нет. Видел мод на торговца картами, типа у него можно все купить, но это уж как-то совсем читерски
Есть такой мод - залит в гугл плей и он платный (для телефонов на андроиде) приложения Witcher 3: Wild Hunt Checklist, GwenTracker и т.д. Через них можно выбирать, какие карты уже есть и смотреть, каких не хватает и у кого их брать.