• Добро пожаловать, Гость. Войдите или зарегистрируйтесь.

Автор Тема: Скрипт на спавн мобов через MessageBox  (Прочитано 1720 раз)

Описание:

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sanchez69full

  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Скрипт на спавн мобов через MessageBox
« : 20 Октябрь, 2011, 03:30:08 »
0
Люди подскажыте не опытному нубу..Вообшем вопрос таковой мне нужно чтобы через MessageBox спавнился NPC или моб в определённое место и чтобы можно было использовать сколько угодно раз..(с 4мя вариантами ответа)

Оффлайн NAVYgator

  • *
  • Сообщений: 1472
  • Репутация: 30.7
  • Пол: Мужской
  • скрипты никому не пишу
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #1 : 20 Октябрь, 2011, 09:22:39 »
0
А насколько "определенным" это место может быть? Возле игрока, в каком-то месте ячейки?
И, я так понимаю, что MessageBox должно работать как меню, где пунктом выбора будет какой-то приказ на "появление там-то"?
И каков будет этот NPC?

Вот функции размещения:

[ObjectID.]PlaceAtMe ItemID, count, [distance], [direction]
player.PlaceAtMe NinjaMan, 1, 256, 1
Функция PlaceAtMe помещает указанный в виде параметра объект (ItemID) рядом с вызывающим объектом (ObjectID) на указанном расстоянии [distance] и в определенном направлении [direction].

или
[ObjectID.]SetPos axis, pos
SetPos y, 100.56
Функция SetPos изменяет координаты (pos) объекта (ObjectID) в мире по одной из осей (axis) (x, y, z).

Для скрипта или алгоритма нужно больше информации
"Откуда, куда, зачем?!" (с) - Свадьба в Малиновке :D

Оффлайн Sanchez69full

  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Re: Скрипт на спавн мобов через MessageBox
« Ответ #2 : 20 Октябрь, 2011, 14:25:28 »
0
Расстояние примерно 200-300 от игрока,про MessageBox именно так!,Суть задумки в том чтобы сделать арену.. и на арене при нажатии  на что либо появлялось сообшение в виде выбора из (как минимум 4тырёх) вариацый и уровней мобов.. допустим первый вариант 5Lvl (скамп), второй вариант 10Lvl(огр) и тому подобное...
Буду очень признателен если сможешь подсказать..

Оффлайн AleksTirex

  • *
  • *
  • Сообщений: 529
  • Репутация: 57.3
  • Пол: Мужской
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #3 : 20 Октябрь, 2011, 14:53:22 »
+2
scn @@@Script
short button
short next

begin onActivate
   If IsActionRef player ; && другие условия
      set next to 1
   endif
end

begin gameMode
   If next
      If next == 1
         set next to next + 1
         messageBox "Вопрос", "Ответ1", "Ответ2", "Ответ3", "Ответ4"
      endif
      If next == 2
            set button to getButtonPressed
         If button == -1
            return
         elseif button == 0
            set next to 0
            markerRef.PlaceAtMe ActorID 1, 0, 0
         elseif button == 1
            set next to 0
            markerRef.PlaceAtMe ActorID 1, 0, 0
         elseif button == 2
            set next to 0
            markerRef.PlaceAtMe ActorID 1, 0, 0
         elseif button == 3
            set next to 0
            markerRef.PlaceAtMe ActorID 1, 0, 0
         endif
      endif
   endif
end

При каждом нажатии будет респавниться один актёр.
markerRef - референс маркера, место, где будет респавниться непись/монстр (можно player)
ActorID - кто именно будет респавниться (ID)
На каждый ответ можно свой маркер и свой актёр.

Вместо onActivate можно использовать OnTriggerActor player (со своими условиями)

**************************************
Для арены можно сделать так, чтобы нельзя было вызвать нового монстра, пока не убьёшь предыдущего:

scn @@@Script
short button
short next
ref creatref

begin onActivate
   If IsActionRef player && next < 1 ; && другие условия
      set next to 1
   endif
end

begin gameMode
   If next
      If next == 1
         set next to next + 1
         messageBox "Вопрос", "Ответ1", "Ответ2", "Ответ3", "Ответ4"
      endif
      If next == 2
            set button to getButtonPressed
         If button == -1
            return
         elseif button == 0
            set next to next + 1
            set creatref to markerRef.PlaceAtMe ActorID 1, 0, 0
         elseif button == 1
            set next to next + 1
            set creatref to markerRef.PlaceAtMe ActorID 1, 0, 0
         elseif button == 2
            set next to next + 1
            set creatref to markerRef.PlaceAtMe ActorID 1, 0, 0
         elseif button == 3
            set next to next + 1
            set creatref to markerRef.PlaceAtMe ActorID 1, 0, 0
         endif
      endif
      If next == 3
         If creatref.getDead
            set next to 0
         endif
      endif
   endif
end
« Последнее редактирование: 20 Октябрь, 2011, 15:00:26 от AleksTirex »
Будьте осторожны в своих желаниях, они могут исполниться!
Награды За огромные знания и желание делиться ими с форумчанами

Оффлайн Sanchez69full

  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Re: Скрипт на спавн мобов через MessageBox
« Ответ #4 : 20 Октябрь, 2011, 15:04:24 »
0
Огромное спасибо !!!буду пробовать))

Оффлайн NAVYgator

  • *
  • Сообщений: 1472
  • Репутация: 30.7
  • Пол: Мужской
  • скрипты никому не пишу
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #5 : 20 Октябрь, 2011, 22:16:59 »
0
Ну, вот :facepalm2: ...
Пока я на работе парился, реактивный мастер AleksTirex  :spasibo: уже ответил!  :!:
И, как всегда - качественно :)
Награды Всем форумчанам, принимавшим участие в праздновании 10-летия Морровинд За создание новогоднего настроения Всем принявшим участие в 9-летии Тиарума За огромный вклад в развитие Румора

Оффлайн Sanchez69full

  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Re: Скрипт на спавн мобов через MessageBox
« Ответ #6 : 20 Октябрь, 2011, 23:16:38 »
0
Огромное спасибо !!!вы первые нормальные люди из 3х саитов которые ответили так точно и понятно !!! :spasibo:

Оффлайн NAVYgator

  • *
  • Сообщений: 1472
  • Репутация: 30.7
  • Пол: Мужской
  • скрипты никому не пишу
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #7 : 21 Октябрь, 2011, 00:06:36 »
0
Огромное спасибо !!!вы первые нормальные люди из 3х саитов которые ответили так точно и понятно !!! :spasibo:

  :D
Noname2.avi
« Последнее редактирование: 21 Октябрь, 2011, 00:24:14 от NAVYgator »
Награды Всем форумчанам, принимавшим участие в праздновании 10-летия Морровинд За создание новогоднего настроения Всем принявшим участие в 9-летии Тиарума За огромный вклад в развитие Румора

Оффлайн Sanchez69full

  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Re: Скрипт на спавн мобов через MessageBox
« Ответ #8 : 22 Октябрь, 2011, 00:57:03 »
0
)))))Okay)

Добавлено
Сори что задаю ешё один вопрос но всёже.. вопрос такой я сделал арену и сделал собственную валюту на арене (она падает с убитых мобов или босов ) и вот можно ли сделать обменник этой валюты естественно через мессаге бокс например 250 рубинов можно было бы поменять на например шмотку.. и тд.. и если допустим рубинов не хватает для покупки выскакивало сообшение типо у вас недостаточно рубинов..
И ешё один вопрос можно ли сделать уборшик трупов,который убирал бы трупы на растоянии 800 от реф маркера?

Оффлайн AleksTirex

  • *
  • *
  • Сообщений: 529
  • Репутация: 57.3
  • Пол: Мужской
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #9 : 22 Октябрь, 2011, 20:09:31 »
+2
Цитировать (выделенное)
можно ли сделать обменник этой валюты естественно через мессаге бокс например 250 рубинов можно было бы поменять на например шмотку.. и тд..
:nea: а вот ты представь, сколько разновидностей шмоток будет предлагаться? Если несколько, то оно того не стоит, а если много... то их все надо будет перечислять через messageBox, а ты представь, что получится... :shok:
Потом надо будет делать сравнение стоимости выбранной шмотки и наличие "валюты" у ГГ, потом обмен шмотка-валюта. В теории - это выполнимо, но на практике  :facepalm2:... очень неудобно для игрока.

Проще всего сделать принцип казино, т.е. обменный ящик фишек "валюты" на деньги. Положил туда "валюту", закрыл (или другой механизм), а потом открыл и взял соответствующую сумму. А потом уже можно тратить эти деньги. Можно там же сделать "ларёк" для участников турнира, т.е. если ты не принял участие в турнире, то ничего не сможешь купить, а цены там ниже, чем везде (чтобы привлечь к участию в турнире).

Цитировать (выделенное)
И ешё один вопрос можно ли сделать уборшик трупов,который убирал бы трупы на растоянии 800 от реф маркера?
Можно, но тут надо знать, когда и как их убирать. Например, "валюту" как собирает ГГ? Если оно выпадает на землю, это одно, но если ГГ должен обыскать труп, то убирать такой труп надо только после определённых условий.
Второе, какие именно трупы? Если только те, что респавняться с "кнопки", то это проще (их рефененсы известны), но если будут и другие, то тут уже надо OBSE. (на дефолте тоже можно сделать такое, но очень велик шанс неотработки отдельных трупов)

Т.е. здесь надо сперва продумать сам алгоритм этого процесса, а уж потом его реализовывать.
« Последнее редактирование: 22 Октябрь, 2011, 20:14:14 от AleksTirex »
Будьте осторожны в своих желаниях, они могут исполниться!
Награды За огромные знания и желание делиться ими с форумчанами

Оффлайн Sanchez69full

  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Re: Скрипт на спавн мобов через MessageBox
« Ответ #10 : 22 Октябрь, 2011, 21:48:07 »
0
Блин я хотел на 4 итема или например 1вое меч второе камень зачарования третье шмот и четвёртое деньги))Ну а как можно проше такое замутить.. А про уборку трупов через мессаге бокс тоже.. типо нажал и все трупы убрались.. а можно ли сделать так чтобы именно все,не указывая реф каждго

Добавлено
Кстати хотел сказать что когда я закончу этот мод я сделаю видео на ютуб (канал на ютубе http://www.youtube.com/user/Sanchez69full?feature=mhee

Оффлайн NAVYgator

  • *
  • Сообщений: 1472
  • Репутация: 30.7
  • Пол: Мужской
  • скрипты никому не пишу
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #11 : 22 Октябрь, 2011, 22:06:45 »
0
Можно убирать и все. А как это должно выглядеть: они исчезают, "растаивают" или некий NPC будет этим заниматься?
Арена стандартная - в ИГ или сделанная самостоятельно?
Награды Всем форумчанам, принимавшим участие в праздновании 10-летия Морровинд За создание новогоднего настроения Всем принявшим участие в 9-летии Тиарума За огромный вклад в развитие Румора

Оффлайн Sanchez69full

  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Re: Скрипт на спавн мобов через MessageBox
« Ответ #12 : 22 Октябрь, 2011, 22:08:03 »
0
Арена подобная той что в иг..просто тупо чтобы исчезали..

Оффлайн NAVYgator

  • *
  • Сообщений: 1472
  • Репутация: 30.7
  • Пол: Мужской
  • скрипты никому не пишу
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #13 : 22 Октябрь, 2011, 22:15:09 »
0
Да, можно.
Алгоритм:
- Начало цикла
- Сначала определяем рефы тел, которые имеют признак "мертвый" в определенном радиусе (кстати, какой радиус арены реально?);
- затем даем команду Disable на каждое обнаруженное "тело"
- тело/тела исчезают.
- Конец цикла.

Писать скрипт или сам попробуешь? Попробуй сам. Если не получится - напишу. Или напишем  :D
Если все сложно, то отпишись сразу.

Оффлайн Sanchez69full

  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Re: Скрипт на спавн мобов через MessageBox
« Ответ #14 : 22 Октябрь, 2011, 22:17:16 »
0
На самом деле очень сложно)) я же говорил что нуб ) Скрипт не помешал бы..
Радиус чито такой же что у арены в иг..арена почти таже самая только в другом Cell и чуть чуть подправленая..
В дальнейшем буду улучшать..

Оффлайн AleksTirex

  • *
  • *
  • Сообщений: 529
  • Репутация: 57.3
  • Пол: Мужской
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #15 : 22 Октябрь, 2011, 22:46:36 »
+1
Блин я хотел на 4 итема или например 1вое меч второе камень зачарования третье шмот и четвёртое деньги))Ну а как можно проше такое замутить..
Так, есть вариант расширить ассортимент. Для этого надо сделать 4 leveleditem, в первом - набор разных мечей, во втором - шмоток, в третьем - камней(душ, драг..., сигильских, ...), в четвёртом - деньги. В скрипте будет задаваться вопрос "что ты хочешь?", и четыре соответствующих ответа. При выборе, например, "меч", игрок не будет знать какой именно ему достанется, т.к. он сгенерируется сам из  leveleditem при добавлении его в инвентарь игрока. Точно так же и с остальными вещами. Но стоимость придётся сделать фиксированную, для любого меча и любой шмотки.

Сам принцип понятен? Если ты не знаешь как делать leveleditem, то сейчас самое время этому научиться. Это не сложно, там надо добавлять нужные предметы (ID) в список и везде оставлять значение "1", а "шанс отсечки"== 0, и галочки можно поставить (обе).
Потом именно эти ID (leveleditem) будешь добавлять через скрипт в инвентарь ГГ.

 :PS: Скрипт на уборку Новигатор напишет.
Будьте осторожны в своих желаниях, они могут исполниться!
Награды За огромные знания и желание делиться ими с форумчанами

Оффлайн Sanchez69full

  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Re: Скрипт на спавн мобов через MessageBox
« Ответ #16 : 22 Октябрь, 2011, 23:07:52 »
0
Я знаю всё в CS кроме скриптов )) поэтому с левелитемами проблемем не будет..

Оффлайн NAVYgator

  • *
  • Сообщений: 1472
  • Репутация: 30.7
  • Пол: Мужской
  • скрипты никому не пишу
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #17 : 22 Октябрь, 2011, 23:56:38 »
0
Я "наскриптю" до утра 23.10. Часов в 11 по Москве будет скрипт. У меня, просто, "все дела" - на флешке, а сейчас все USB-разъемы заняты девайсами.
Награды Всем форумчанам, принимавшим участие в праздновании 10-летия Морровинд За создание новогоднего настроения Всем принявшим участие в 9-летии Тиарума За огромный вклад в развитие Румора

Оффлайн AleksTirex

  • *
  • *
  • Сообщений: 529
  • Репутация: 57.3
  • Пол: Мужской
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #18 : 23 Октябрь, 2011, 03:01:03 »
0
Так, вот скрипт на обмен рубинов на что-то нужное:

scn @@@Script
short button
short next
short many

begin onActivate
   If IsActionRef player && next < 1 ; && другие условия
      set next to 1
   endif
end

begin gameMode
   If next
      If next == 1
         set next to next + 1
         set many to player.GetItemCount Gem3RubyFlawless
         messageBox "Что тебе надо?", "Оружие", "Доспехи", "Камни", "Деньги", "Ничего не надо"
      endif
      If next == 2
            set button to getButtonPressed
         If button == -1
            return
         elseif button == 0
            If player.GetItemCount Gem3RubyFlawless >= 200 ; 200 - это сколько стоит 1 лот оружия
               set next to 0
               player.additem aaaLL5weapon 1                            ; добовляем ГГ оружие
               player.removeitem Gem3RubyFlawless 200          ; удаляем у ГГ 200 рубинов
            else
               set next to 0
               set many to 200 - player.GetItemCount Gem3RubyFlawless
               messageBox "У тебя не хватает %0.f рубинов.", many
            endif
         elseif button == 1
            If player.GetItemCount Gem3RubyFlawless >= 250 ; 250 - это сколько стоит 1 лот доспехов
               set next to 0
               player.additem aaaLL5armor 1                               ; добовляем ГГ доспехи
               player.removeitem Gem3RubyFlawless 250          ; удаляем у ГГ 250 рубинов
            else
               set next to 0
               set many to 250 - player.GetItemCount Gem3RubyFlawless
               messageBox "У тебя не хватает %0.f рубинов.", many
            endif
         elseif button == 2
            If player.GetItemCount Gem3RubyFlawless >= 150 ; 150 - это сколько стоит 1 лот камней
               set next to 0
               player.additem aaaLL5gems 1                                ; добовляем ГГ камни
               player.removeitem Gem3RubyFlawless 150          ; удаляем у ГГ 150 рубинов
            else
               set next to 0
               set many to 150 - player.GetItemCount Gem3RubyFlawless
               messageBox "У тебя не хватает %0.f рубинов.", many
            endif
         elseif button == 3
            If player.GetItemCount Gem3RubyFlawless >= 100 ; 100 - это сколько стоит 1 лот денег
               set next to 0
               player.additem aaaLL5gold 1                                 ; добовляем ГГ деньги
               player.removeitem Gem3RubyFlawless 100         ; удаляем у ГГ 100 рубинов
            else
               set next to 0
               set many to 100 - player.GetItemCount Gem3RubyFlawless
               messageBox "У тебя не хватает %0.f рубинов.", many
            endif
         elseif button == 4
            set next to 0
         endif
      endif
   endif
end

Gem3RubyFlawless - ID дефолтного рубина, лучше его сделать свой.
aaaLL5weapon - ID набора оружия
aaaLL5armor- ID набора доспехов
aaaLL5gems- ID набора камней душ или/и других камней
aaaLL5gold- ID набора денег (септимов)

200, 250, 150, 100 - это сколько рубинов стоит одна вещь, это уже сам подберёшь нужные значения.

Если у ГГ не хватает рубинов на приобретение какой-то вещи, то выскакивает окошко с кол-вом нехватающих рубинов.
Наборы лучше делать помассивнее, чтобы было больше разнообразия (>15-20)
Если захочешь ввести ещё слоты, то просто добавь соответствующий ответ в первый месседж, и добавь блок со своими ценой и набором.
Будьте осторожны в своих желаниях, они могут исполниться!
Награды За огромные знания и желание делиться ими с форумчанами

Оффлайн NAVYgator

  • *
  • Сообщений: 1472
  • Репутация: 30.7
  • Пол: Мужской
  • скрипты никому не пишу
    • Просмотр профиля
    • Email
Re: Скрипт на спавн мобов через MessageBox
« Ответ #19 : 24 Октябрь, 2011, 23:02:53 »
0
Вот скрипт на уборку мертвых тел.
Проверено на практике.
Скрипт "вешается" на что- нибудь (я тестил на амулете)
При одевании амулета появляется меню. В нем, кроме уборки, зарезервирован еще один пункт.
scn aaaCleaningCorps

short button
short next
short ClCorps
ref RefVar

begin OnEquip
      MessageEX "Медальон одет"
      set next to 1
end

begin OnUnequip
       MessageEX "Медальон снят"
      set next to 0
end

begin gameMode
   If next
      If next == 1
         set next to next + 1
         messageBox "Что делать дальше", "Убрать тела", "Ответ2"
      endif
      If next == 2
            set button to getButtonPressed
         If button == -1
            return
         elseif button == 0
            set next to 0
            set ClCorps to 1
         elseif button == 1
            set next to 0
            ; делаем что-то по ответу №2
         endif
      endif
   endif

if ClCorps == 1
;=== Начинаем определять NPC вокруг, см. OBSE
    let RefVar := GetFirstRef 69 2 ;
    while RefVar ;

        if ( RefVar.GetDistance Player < 800 ) && ( RefVar.GetDead == 1 ) ;здесь - вопрос по дальности от Player-a; сейчас - 800
            RefVar.Disable ; дезактивация тела
        endif
       let RefVar := 0
       let RefVar := GetNextRef
    loop
set ClCorps to 0
endif
end
« Последнее редактирование: 24 Октябрь, 2011, 23:09:07 от NAVYgator »
Награды Всем форумчанам, принимавшим участие в праздновании 10-летия Морровинд За создание новогоднего настроения Всем принявшим участие в 9-летии Тиарума За огромный вклад в развитие Румора

Теги:
 

Скрипт Заклинания На Misc-объекте

Автор GL.SamРаздел Архив готовых скриптовых решений

Ответов: 0
Просмотров: 2101
Последний ответ 08 Январь, 2007, 03:58:49
от GL.Sam
Скрипт Сна.

Автор NarzavesРаздел Скриптинг под TES IV

Ответов: 0
Просмотров: 2643
Последний ответ 08 Апрель, 2007, 22:17:59
от Narzaves
Скрипт Для Квеста

Автор IgorLutiyРаздел Скриптинг под TES IV

Ответов: 3
Просмотров: 3897
Последний ответ 05 Май, 2008, 16:30:13
от Mega
Как написать скрипт с диалогом

Автор GEGROРаздел Скриптинг под TES IV

Ответов: 2
Просмотров: 2224
Последний ответ 18 Декабрь, 2007, 14:28:34
от Siegrun
Скрипт для 3 Великих Домов

Автор alexeyРаздел Скриптинг под TES III

Ответов: 1
Просмотров: 2469
Последний ответ 04 Январь, 2008, 12:35:03
от [3StuN]LLIEnoT
Помогите плиииз написать скрипт отключающий свет

Автор VintРаздел Скриптинг под TES IV

Ответов: 3
Просмотров: 2592
Последний ответ 06 Март, 2008, 19:09:58
от LiLu
скрипт спеллов

Автор ЙецираРаздел Мастерская TES IV

Ответов: 8
Просмотров: 3239
Последний ответ 28 Июль, 2008, 11:19:48
от Saruon
Сложный скрипт с воскрешением

Автор MegaРаздел Мастерская TES IV

Ответов: 4
Просмотров: 2409
Последний ответ 08 Май, 2008, 14:05:08
от Mega
Как написать скрипт

Автор sorokoputkaРаздел Скриптинг под TES IV

Ответов: 4
Просмотров: 2717
Последний ответ 15 Май, 2008, 21:15:59
от sorokoputka
Помогите написать скрипт для кольца!!!!!!

Автор GanibalSSVРаздел Скриптинг под TES IV

Ответов: 1
Просмотров: 2430
Последний ответ 31 Май, 2008, 23:49:20
от GanibalSSV

Поиск

 
Top
SimplePortal 2.3.5 © 2008-2012, SimplePortal