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

Они приходят ночью


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

Посоветуйте, плиз, как устроить, чтобы по ночам на город нападали вампиры. Желательно не однократно, а каждую ночь, пока игрок не пройдет квест (убъет главного вампира и т.п.). Меня также интересует, как работает такая функция как GameHour? не умею пока ей пользоваться :1anim_bc:
Ссылка на комментарий
Поделиться на другие сайты

Скрипт на ночной замок знаешь ??? Вот чуть чуть поколдуй и все. я попробую сделать.

 

Вот сие чудо и сделал его ДВП

 

 

Begin dvp_night_enable

 

;Author - [dvp]

;URL - http://fullrest.ru

 

If ( Gamehour >= 0 )

If ( Gamehour < 6 )

Enable

Endif

Endif

 

If ( GameHour >= 6 )

If ( GameHour < 20 )

Disable

Endif

Endif

 

If ( GameHour >= 20 )

If ( GameHour < 24 )

Enable

Endif

Endif

 

End

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

Спасибо. :1anim_aw:

Но в этом скрипте вампир только энейблится/дисейблится, а как же ему респаунится, чтоб каждую ночь новый атаковал город?

И еще хочу спросить - нападают ли стражники на вампиров?

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

Спасибо. :1anim_aw:

Но в этом скрипте вампир только энейблится/дисейблится, а как же ему респаунится, чтоб каждую ночь новый атаковал город?

И еще хочу спросить - нападают ли стражники на вампиров?

 

 

При атаке на тебя если это видят стражники они тоже защищают тебя.

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

Дык этот скрипт будут вешать скорее всего на всех вампиров... Может, как -то мождно анимацию поменять? Типа если этот умер, то его дисейблить , и енаблить рядом с ним когонибудь на следующий день..
Ссылка на комментарий
Поделиться на другие сайты

begin Vampir_script

 

if ( GetJournalIndex "твоя запись"== "index (окончание квеста)" ) ;все безковычек

return

endif

 

If ( Gamehour >= 0 )

If ( Gamehour < 6 )

Enable

Endif

Endif

 

if ( ( ActorID->GetHealth ) < 1 )

Resurrect

ModHealth 100

disable

endif

 

If ( GameHour >= 6 )

If ( GameHour < 24 )

Disable

Endif

Endif

return

End

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

Вот еще 1 скрипт на человека который будет тебя атаковать как только увидит

 

begin Gromdron_straj

 

if ( GetDetected, player == 1 )

setfight 100

endif

 

end Gromdron_straj

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

begin Gromdron_straj

 

if ( GetDetected, player == 1 )

setfight 100

endif

 

end Gromdron_straj

Бестолковый скрипт. При setfight 100 этот человек и так будет атаковать тебя если увидит. :\

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

Это часть скрипта

 

Вот что делает плный скрипт

Страж ходит из 1 точки в другую при этом если запись в журнале =1 то они его атакуют если нет то говорят с ним.

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

Чего-то не получается. Вампиры-то являются, но дальше... Во-первых, стражники никак не реагируют, что меня там чуть ли не жрут. Во-вторых, после гибели упыри не восстанавливаются :( - ждала несколько суток, никто так и не вернулся.

 

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

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

Вручную! Я о чем и говорю. Поставь вручную вампиров. Так и разнообразнее и интереснее.

 

Да как?! Нет в списке классов "вампира", нет такой расы. я не знаю, что делать :1anim_ak:

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

Успокойся создай вампира сама хочешь узнать как это ??? Я скажу зайди в любую пещеру где есть вампиры ликни на вампира и посмотри что и как.
Ссылка на комментарий
Поделиться на другие сайты

громдрон чесслово ты надоел навязывать другим то в чем плохо разбирашся сам. :\

 

Вампир есть не что иное как обычный NPC, на которого повешен скрипт Vampire_berne, Vampire_aundae или Vampire_kuarra. Скрипт добавляет способности относящиеся к соотв клану и эффект вампиризм который изменяет лицо.

 

ЗЫ LofZ подожди чуток сейчас может выложу тебе скрипт.

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

Сначала создай несколько вампиров, ставь им Fight 100, создай новый скрипт на основе Vampire_berne только добавь в него строки:

if ( OnDeath == 1 )
Set alldead to ( alldead + 1 )
endif

alldead - глобальная переменная типа short.

 

Вот это глобальный скрипт, поставь StartScript LW_vamp рядом с журнальной записью там где должны начинаться нападения. appear это глобальная переменная типа short, ее нужно будет создать.

Здесь применяется не Disable/Enable, а "выкладываие" вампиров напрямую, так что координаты xyz надо будет определить заранее.

Zrot это поворот в минутах.

Begin LW_vamp

short once 
short curDay

if ( GetJournalIndex "vamp" >= 100 );конечная запись
StopScript LW_vamp
endif

if ( Gamehour >= 0 )
if ( Gamehour < 6 ) 
 if ( once == 0 )
  Set curDay to Day
  Set appear to 1
  Set once to 1
 endif
 if ( curDay != Day )
  Set appear to 1
  Set curDay to Day
 endif
endif
endif

if ( appear == 1 )
 PlaceItemCell "vamp1" "ID ячейки" x y z Zrot 
 PlaceItemCell "vamp2" "ID ячейки" x y z Zrot
 PlaceItemCell "vamp3" "ID ячейки" x y z Zrot
 PlaceItemCell "vamp4" "ID ячейки" x y z Zrot
 Set appear to 0
endif

End

 

Далее, это скрипт на всех стражников поблизости (лучше создать уникальных стражей с новыми ID):

Begin LW_guard

if ( appear == 1 )
if ( GetDistance player < 3000 )
 AiFollow player 0 0 0
endif
endif

if ( alldead == 4 );это количество вампиров
AIWander 1024 10 0 0 20 0 0 10 30 0 0 0
endif

End

 

Как говорил один мой знакомый "Hope this works!", ибо сам протестить сейчас не могу.

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

Первый скрипт просто великолепен! Идея интересная.

Но во втором когда внезапно стражники начинают ходить за игроком... А если он не станет убивать вампиров, а специально побежит к силт-страйдеру? он же окажется в иной ячейке в компании бесплатной стражи, от которой нипочем не отделается! :1anim_bh:

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

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

 

А если он не станет убивать вампиров, а специально побежит к силт-страйдеру? он же окажется в иной ячейке в компании бесплатной стражи, от которой нипочем не отделается!

 

А вот эту проблему можно решить, добавив во второй скрипт следующее:

if ( GetCurrentAiPackage == 3 )
if ( CellChanged == 1 )
 AIWander 1024 10 0 0 20 0 0 10 30 0 0 0
endif
endif

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

А, ну ладно. можно переписать квест, чтобы игрока предупредили, что за ним будут ходить его будут прикрывать стражники, а им еще приписать

If ( CellChanged == 1)

return

endif

Но хотелось бы, чтоб это было похоже на атаку на город, а не на охоту за Нереварином. :1anim_be:

 

А если вампирам -> startcombat, "мирный непись", игра не полетит?

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

LonWolf, сорри - мы, похоже, писали сообщения на форум в одно и то же время, поэтому у них такое одинаковое содержание.

Я все еще работаю над этим скриптом. Перепробовала много вариантов, в самом деле то, что ты предложил про появляение вампиров наиболее оптимально.

Там правда нужно appear объявить как переменную, а то не компилируется.

У скрипта один недостаток - если вампиры уже появились и, если спрятаться в дом и переждать до утра, никуда они не деваются, так и ходят по улицам днем.

А как быть со стражниками? Можно ли как-нибудь обойтись без follow? Ведь - черт с ним с силт-страйдером, - если игрок начнет нападать на мирных жителей, новая стража тут же его поддержит. Во прикол будет!

А в обычной ситуации есть такой неприятный момент - если вампир нападает на стражника, тот почему-то кидается на Нереварина и пытается его арестовать :1anim_ak:

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

У скрипта один недостаток - если вампиры уже появились и, если спрятаться в дом и переждать до утра, никуда они не деваются, так и ходят по улицам днем.

Добавь

If ( GetPCCel != "mycell" )

if ( GameHour > 6 )

disable

endif

endif

;mycell - ячейка - город, куда нападают вампиры

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

Ведь - черт с ним с силт-страйдером, - если игрок начнет нападать на мирных жителей, новая стража тут же его поддержит. Во прикол будет!

Я не проводил особых воркараундов с этим, но по-моему такого не произойдет ибо штраф никуда не девается...

 

Кстати я забыл, Лофз, глобальную переменную alldead нужно сбрасывать в ноль каждое утро.

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

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

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

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

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

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

Войти

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

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

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