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

Помогите чайнику!!!


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

Значит нужен скрипт - срочно

 

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

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

 

 

Я впринципе знаю как сделать чтобы кричер нападал на непися и на несколько поочереди но вот как сделать так чтобы этот кричер появился в экстерьере при условии что игрок возьмет какой нибудь объект из интерьера - я незнаю. :1anim_ak:

 

 

Я в этом деле полный чайник и поэтому я даже незнаю как и куда чего вписывать в скрипте - может кто нить чтото подобное делал? нужен готовый :1anim_ah:

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

Хмм... на кричере:

 

begin Creature_Forever


float myhealth
short statum
short state;когда же позволительно убить существо
short npcdead
if ( "misc_item_ID".state == 0 )
  if ( GetDisabled == 0 )
 Disable
  endif
elseif (  "misc_item_ID".state == 1 )
  if ( GetDisabled == 1 )
  Enable
  endif
endif

set myhealth to GetHealth
if ( state == 0 )
  if ( myhealth < 1 )
  Resurrect
  modHealth 100
  endif
endif

;Combat section

if ( npcdead == 0 )
if ( GetDeadCount, "NPC1_ID" <= 0 )
  if ( statum == 0 )
	 StartCombat, NPC1_ID
	 set statum to 1
  elseif ( statum == 1 )
	 return
  endif
  elseif ( GetDeadCount, "NPC1_ID" >= 1 )
  set npcdead to 1
  set statum to 0
  return
  endif
elseif ( npcdead == 1 )
  if ( GetDeadCount, "NPC2_ID" <= 0 )
  if ( statum == 0 )
	 StartCombat, NPC2_ID
	 set statum to 1
  elseif ( statum == 1 )
	 return
  endif
  elseif ( GetDeadCount, "NPC2_ID" >= 1 )
  set npcdead to 2
  set statum to 0
  return
  endif
elseif ( npcdead == 2 )
  if ( GetDeadCount, "NPC3_ID" <= 0 )
  if ( statum == 0 )
	 StartCombat, NPC3_ID
	 set statum to 1
  elseif ( statum == 1 )
	 return
  endif
  elseif ( GetDeadCount, "NPC3_ID" >= 1 )
  set npcdead to 3
  set statum to 0
  set state to 1; теперь игрок сможет убить кричера
  return
  endif
endif

end

 

На итеме, его нужно сделать reference Persistant

 

begin Misc_Item_State

short state

if ( state == 1 )
  return
endif

if ( state == 0 )
  if ( player->GetItemCount "Misc_Item_ID" > 0 )
  set state to 1
  endif
endif

end

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

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

begin script

 

if (MenuMode == 1 )

return

endif

 

if (onActivate == 1 )

MessageBox"Вы пробудили голодного, злого монстра"

activate

endif

 

if (тьфу забыла как называется переменная PConCEll что ли... "Balmora" == 1 )

placeatpc "evil-evil-beast" 1, 1, 1 ; первый пошел

placeatpc "evil-evil-beast" 1, 1, 1 ; второй пошел

endif

 

end script

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

Сообщение дополнено 15:49 РМ: да, точно нужны еще условия, потому что, когда игрок скажем в Балморе, скрипт будет постоянно выполняться, типа журнального индекса.

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

Попробывал! чегото неконает - поставил монстра и непися на которого он должен нападать? ну и? короче почемуто монстр появляется сразу и кидается на меня впервую очередь, а уж если он на меня напал то тогда и непись кидается на него, да и все стражники начинают дружно мять ему бока.

А когда я захожу в хату и беру миск итем - то никакого эфекта какбудто так все и должно быть - непорядок.

 

Плюс при внесении скрипта куча ошибок появляется. может я чего не понял? - но я вроде нигде ничего ненапортачил все прописывал как и вскрипте указано.

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

Попробуй сдалать глобпеременную, например GlobState типа short и в 0 ее по умолчанию. В скриптах замени short state на эту гобалку (т.е из скрипта предмета ее объявление, из скрипта существа тоже, в скрипте существа вместо "misc_item_ID".state используй GlobState
Ссылка на комментарий
Поделиться на другие сайты

Спасибо попробую.

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

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

Лорд, нет такого замысла для квеста, который нельзя было бы изменить и реализовать простыми средствами, так чтобы эффект получился еще лучше, ИМХО!

 

Тебе дейстительно нужно, чтобы монстр постоянно нападал? Но ведь игрок может запросто уйти заниматься другими делами, а потом вернется в ту ячейку и не вспомнит? В результате недоумение, непонимание и тормоза от глобальных скриптов?

Хотя я не знаю твой замысел, ИМХО, проще и лучше было бы делать это как единичный случай в квесте, все равно ведь явление чудовища можно представить как бедствие вселенского масштаба и без постоянных "респаунов"?

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

Boblen,

насчёт глобальной переменной ты прав, но

к скрипту ты просто обязан добавлять

if (menumode == 1)
 return
endif

и

if ( player-> getdistance>2000)
 return
endif

 

ну... удачи...

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

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

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

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

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

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

Войти

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

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

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