| 
			
			
	Цитата: 
	
		| 
					Сообщение от 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.
 |