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

Нада скрипт, шоб неписи телепортировали за плеером


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

Здраствуйте. У меня есть небольшой вопрос. Как известно неписи Ходят за плеером, только в екстерьере, или в одном из интерьеров (во всяком случае я так думаю :) ) Я хотел написать скрипт для того, чтобы Неписи всюду телепортировали за игроком, когда тот отдаляется от них, припустим, на 400 ед. Но у меня создалась одна проблема. Скажите, пожалуста, какая функция укказывает на ячейку, где находится игрок?

Смотрел в МSFD8, Но там есть только GetPCCell, "Cell_Id", для определения, сидит ли плеер в ячейке Cell_Id. Но для определения ячейки нет ничего. Мож поможете... Спасиба заранее

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

Как известно неписи Ходят за плеером, только в екстерьере, или в одном из интерьеров (во всяком случае я так думаю :) )

А разве они ходят в зависимости от типа ячейки?

 

телепортировали за игроком,

Ой, я в этом еще мало что понимаю, но, кажется, дело не в ячейке. Это функция PlaceAtPC (телепортироваться на место персонажа).

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

А разве они ходят в зависимости от типа ячейки?

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

 

Это функция PlaceAtPC (телепортироваться на место персонажа).

 

Блин, это ж идея, почему я сам не догадался :bang:

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

Несколько проблем возникают. То непись копируется, то внезапно перестает за мной идти. Нащет того, что копируется (очень редко так делает), я понимаю, что это тогда, когда отходиш от него на 4000 едениц длины, но можно как-то его дописать, чтоб удаляло то, с чего сдублировало?

 

begin teleport_NPC

; Скрипт ложится на непися

Short go_after_the_player; Глобальная переменная которая  возвращает 1, когда непись соглашается
			; идти за игроком, а 0, когда игрок приказывает стоять. Ставится в диалогах.

short script_is_started


if ( go_after_the_player == 1 )
if ( script_is_started == 0 )
		StartScript, "teleport_NPC_Global"; Скрипт, который говорит  телепортировать неписю
		set script_is_started to 1
endif
elseif ( go_after_the_player == 0 )
stopScript, "teleport_NPC_Global"
set script_is_started to 0
endif
end

 

И teleport_NPC_Global:

 

begin teleport_NPC_Global

; Глобальный скрипт

Short start
Float dist

If ( Menumode == 1 )
return
endif

if ( start == 0 )
set dist to GetDistance, player
	if ( dist > 4000 )
		set start to 1
	else
		return
	endif
	if (CellChanged == 1)
		if ( getinterior == 1 ) 
			set start to 1
		endif
	else 
		return
	endif
elseif ( start == 1 )
PlaceAtPC "ID непися" 1,100,2
set start to 0
endif
end

И вобще, я только начинающий, так что помогите мне пожалуста...

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

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

Если непись еще и вещами с тобой делится то не советую изпользовать placeatpc эта функция создает копию нпс.

А вот чтоб телепортнуть его когда он в одном интерьере или просто далеко от тебя в экстерьере то попробуй так. Если на твоем неписе уже есть какойто скрипт то можно спокойно вставить этот скрипт в него.

 

begin myscript

 

short px

short py

short pz

 

set px to ( player->togetpos, x )

set py to ( player->togetpos, y )

set pz to ( player->togetpos, z )

 

if ( getdistance, "player" > 4000 )

setpos, x, px

setpos, y, py

setpos, z, pz

endif

 

end

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

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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

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