Люди подскажыте не опытному нубу..Вообшем вопрос такой мне нужно чтобы через MessageBox спавнился NPC или моб в определённое место и чтобы можно было использовать сколько угодно раз..(с 4мя вариантами ответа)
Помогите с скриптом на спавн
Сообщений 1 страница 2 из 2
Поделиться22011-10-16 18:04:51
Для этого надо создать или активатор (тогда блок будет onactivate) или miscitem (тогда блок будет onequip в инвентаре).
Во-вторых, создать Хмаркер со флажком Persistent reference и с уникальным именем, которое дается не в окне объектов, а при активации правой кнопкой в окне рендеринга в том месте, где его поместили. Поместить, разумеется, надо там, где будет появляться наш НПС.
В-третьих, создать НПС, поместить его куда-нибудь в недоступный для игрока мир. Там тоже дать ему уникальное референсное имя, как и маркеру. Рядом с ним создать еще один Хмаркер, дать ему другое уникальное референсное имя.
Скрипт создать объектный и повесить на наш активатор (или на нашу вещь).
Приблизительно это будет выглядеть вот так (это на примере с активатором):
scn movingnpcscript
short used
begin onactivate
if used == 0
myNPC.moveto myXmarker1 0 0 0
set used to 1
elseif used == 1
myNPC.moveto myXmarker2 0 0 0
set used to 0
endif
end
myNPC - Это тот, кто будет появляться.
myXmarker1 - это маркер в том месте, где он появится
myXmarker2 - это маркер в том мире, куда мы его будем посылать, если он не нужен.
Это БЕЗ мессажбокса.
А с ним наверно вот так:
scn movingnpcscript
short used
short buttonbegin onactivate
if used == 0
messagebox "Чего изволите?" "Вызвать" "Послать"
set used to 1
endif
if used == 1
set button to getbuttonpressed
endifend
begin Gamemode
if (used == 1)
if (button == 0)
myNPC.moveto myXmarker1 0 0 0
elseif (button == 1)
myNPC.moveto myXmarker2 0 0 0
endif
set used to 2
endif
if (used == 2) && (button != -1)
set used to 0
set button to -1
endif
end
Да, небольшое примечание - это ЕСЛИ ЕГО НЕ УБИВАТЬ!
Если убьете - будет появляться труп.
Если надо убиват ькаждый раз - то
можно в блоке Gamemode приписать вот так: после
myNPC.moveto myXmarker2 0 0 0
вставить блок:
if myNPC.Getdead == 1
myNPC.resurrect 0
endif
Отредактировано Вовочка (2011-10-16 18:54:35)