Показать сообщение отдельно
Старый 25.08.2022, 18:18   #170
KlassenAS вне форума KlassenAS
Аватар для KlassenAS
Senior Member
Сообщений: 341
Репутация: 287
KlassenAS is a jewel in the rough KlassenAS is a jewel in the rough KlassenAS is a jewel in the rough
Enforcer
Информация о репутации (KlassenAS)
×
За активное участие в жизни форума и помощь пользователям вы можете получить очки репутации. За определённое количество очков репутации вам будет присвоенно соответствующее звание. Полученное звание всегда будет отображаться в нижней части области Вашего профиля, слева от сообщения.
Detective
0
Gangster
55
Thug
100
Judge
159
KlassenAS / 287
Enforcer
260
Priest
396
Snitch
780
Hitman
800
Councilor
1200
Deputy
2501
Overseer
4896
Press
6020
Don
20000
Цитата:
Сообщение от regis77 Посмотреть сообщение
Взял скрипт с мода титаник который позволяет садится на лавочки и т.д. Поменял немного ему анимацию чтобы он соотвествовал моим требованиям. Поменял на анимацию курения, в итоге мне надо сделать так чтобы персонаж курил с перерывом 5 секунд, вроде все работает, но теперь нельзя деактивировать скрипт, персонаж всегда в софтлоке, наверное из-за того что скрипт зациклился goto 1 ссылается на первый лейбл и так бесконечно. Может кто скинуть уже готовый скрипт чтобы все работало?

Развернуть для просмотра

dim_flt 2
dim_frm 1
dim_act 2

findframe 0, ""
findactor 0, "Tommy"
findactor 1, "seat2_camera"

label SITDOWN
detector_waitforuse 8950002
player_lockcontrols 1
actor_setplacement 0, 0
setevent 1, sit01, -1

label 1
person_playanim 0, "koureniautopotahnuti.i3d", simple
let flt[0] = flt[0] - 323
wait flt[0]
person_playanim 0, "koureniautostativ.i3d"
emitparticle 1, 25
wait 5000
goto 1


wait 300

label STANDUP
ctrl_read 1, ACTION
if flt[1] = 1, -1, STANDUP
person_stopanim 0
playsound "seatup.wav" ,-1 ,50 ,1 ,2
person_playanim 0, "", 0, SIMPLE
wait 300
stopsound 2
camera_unlock
player_lockcontrols 0

goto SITDOWN
[свернуть]

Код от строки STANDUP до последней включительно перенеси внутрь цикла и немного доработай условные переходы
Вместо Wait 5000 сделай Wait 10 и добавь переменную-счётчик, чтобы при достижении ею нужного значения включалась/выключалась требуемая анимация.
Так и тайминг анимации будет соблюдён и считывание нажатия клавиш будет работать.
Проще говоря, вложенный цикл - внутри цикла, контролирующего анимацию, цикл, считывающий нажатие клавиши.

Последний раз редактировалось KlassenAS; 25.08.2022 в 18:27.
цитата