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

Скрипты на заказ


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

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

ModPos Z -10 >>> ModPos Z -20

к примеру так.

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

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

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

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

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

ModPos Z -10 >>> ModPos Z -20

к примеру так.

Да я пробовал, как-то неестественно выглядит... Словно камни на ниточках падают. Но все равно спс)) Может придумаю че.

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

Ах блин, для меня это проблема... Ладно, фигня. Так сделаю... Может, кто выложит полную версию скрипта, я хочу сравнить.
Ссылка на комментарий
Поделиться на другие сайты

Begin FallingStone; ставится на рычаг

short controlvar

if (MenuMode == 1); на всякий случай всегда пишу
return
endif

if (OnActivate == 1)
  if (controlvar == 0)
  "a_ploxoy_kamen"-> Move Z, -30
   set controlvar to 1 
  elseif controlvar>1
		 return
  endif	  
endif

if (controlvar == 1)
 if (GetDistance, Player <=150)
player->sethealth 0
else
set controlvar to 2
 endif
endif

end

 

Это скрипт я намереваюсь поставить на рычаг в подземелье. Он, по идее, должен открыть дверь, но при срабатывании на игрока падают камни и заваливают вход\выход. Он вроде работает, но камни медленно летят + некоторые баги (например, рычаг срабатывает не один, а два раза).

 

P.S. Извините, что так долго: экзамены сдавал, некогда было.

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

Ок, давай! Но скрипт написан верно?

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

 

Насчёт скрипта - что-то как-то непонятно он у тебя написан... Я вообще-то и в своих еле-еле разбираюсь.

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

Еще один вопрос. Мне нужно, чтобы из стены вылетали стрелы, когда наступаешь на какой-нибудь участок пола. Сам придумать, как, я не смог. Может, у кого мысли есть?
Ссылка на комментарий
Поделиться на другие сайты

Хмм... невидимые актеры с невидимыми луками...

Пробовал. Не помогает. Они, гады, не прямо перед собой стреляют, а по-всякому. А мне нужно, чтоб прямо перед собой. Похоже, это невыполнимая задача...

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

Пробовал. Не помогает. Они, гады, не прямо перед собой стреляют, а по-всякому. А мне нужно, чтоб прямо перед собой. Похоже, это невыполнимая задача...

заставить их атаковать невидимое существо стоящие напротив них за стеной.

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

Думаешь, поможет? Расскажи поподробнее, как это сделать. Я вообще давно КС-ом занимаюсь, но про такое слышу впервые!
Ссылка на комментарий
Поделиться на другие сайты

Ставишь за стеной невидимую игроку кричу и

StartCombat "ID_НЕВИДИМАЯ_КРИЧА"

на невидимых лучниках

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

Ставишь за стеной невидимую игроку кричу и

StartCombat "ID_НЕВИДИМАЯ_КРИЧА"

на невидимых лучниках

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

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

Вообщем, такое дело, нужен скрипт для размещения предметов на своих местах.

 

Выглядит это так - есть на стене крючок, скажем для Символа Элеидона (и только для него) при активации которого, данный щит из инвентаря перемещается на стену в указанном положении (ни перевёрнутый, ни наклонённый, а так как заранее указано).

Для создания красивой оружейно-доспешной стенки.

 

Заранее спасибо.

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

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

 

на крюк

Begin positioning

if ( OnActivate )
 if ( "ItemID_expos" -> GetDisabled )
if ( player -> GetItemCount "ItemID" > 0 )
  player -> RemoveItem "ItemID" 1
  "Item ID_expos" -> Enable
endif
 endif
endif

End

 

на expos (выставочную) версию

Begin expos_item

short state

if ( state == 0 )
 Disable
 Set state to 1
endif

if ( OnActivate )
 player -> Additem "ItemID" 1
 Set state to 0
endif

End

 

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

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

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

Да я знаю. Только с тригонометрией в Морре - ни бум-бум. Может, напишете хотя бы пример (я не тупой, разберусь). B MSFD уж больно трудно написано!

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

на стрелу

Begin arrowtrap

short counter
float posx
float posy
float posz
float playerx
float playery
float playerz
float xdif
float ydif
float zdif
float dist

if ( menumode )
return
endif

;чтобы не гонять скрипт пока гг далеко, 
;выч только позицию до движения
if ( GetDistance player > 1000 ) 
 return 
endif

if ( triggered != 1 );глоб. переменная, по идее устанавливаемая в скрипте с наступлением на пол
return
endif

Move y, 100; начинаем движение по направлению локального вектора вперед, 100 - скорость. 

if ( counter < 10 );задержка в 10 кадров
Set counter to ( counter + 1 )
return
endif
Set counter to 0

;берем координаты стрелы
Set posx to ( GetPos x )
Set posy to ( GetPos y )
Set posz to ( GetPos z )

;...и игрока
Set playerx to ( player -> GetPos x )  
Set playery to ( player -> GetPos y )
Set playerz to ( player -> GetPos z )

;вычисляем разницу
Set xdif to ( playerx - posx ) 
Set ydif to ( playery - posy )
Set zdif to ( playerz - posz )

;x^2 + y^2 + z^2 = d^2
Set dist to ( ( xdif * xdif ) + ( ydif * ydif ) + ( zdif * zdif ) )
Set dist to GetSquareRoot dist

;при стыковке с игроком хертим его и проигрываем звук
if ( dist < 100 );к примеру
 Player -> ModCurrentHealth -50
 PlaySound3d "Health Damage"
 SetAtStart
 Set triggered to 0 
elseif ( dist > 1000 );если улетела в далекую даль
 SetAtStart
 Set triggered to 0 
endif

End

 

что-то вроде этого. все цифры нужно настраивать как лучше. я примерно написал.

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

LonWolf

Ай да скрипт! Вот это мастерство! Просто и красиво! Спасибо большое. Я его обязательно использую! Получается, что скрипт ставится на пол, верно?

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

нет. этот на стрелу. кстати лучше брать какой-нибудь коврик, т.е. - активатор, на статик всеравно не повесишь ничего.

 

на пол:

Begin trigger

if ( triggered == 0 )
if ( GetStandingPC )
 Set triggered to 1
endif
endif

End

 

triggered на забыть объявить как short в меню Globals.

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

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

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

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

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

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

Войти

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

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

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