Перейти к содержимому


Фотография

Вопросы по скриптам

papyrus help скрипты вопросы

  • Авторизуйтесь для ответа в теме

#61 Ссылка на это сообщение Potatoider

Potatoider
  • Знаменитый оратор


  • 4 348 сообщений
  •    

Отправлено

Тема для вопросов по скриптингу.

Функции папируса:

На английском

На русском (не все, но базис)



 




  • Авторизуйтесь для ответа в теме
Сообщений в теме: 804

#62 Ссылка на это сообщение crimm

crimm
  • Скиталец
  • 54 сообщений

Отправлено

спасибо за идеи надо это обмозговать



#63 Ссылка на это сообщение Witcherru_222

Witcherru_222
  • Новенький
  • 5 сообщений
  •  

Отправлено

Как создать переменную для непися, с которым в данный момент говоришь?



#64 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

Как создать переменную для непися, с которым в данный момент говоришь?


Ммм... лучше контекст опиши. Что для чего и куда надо?

#65 Ссылка на это сообщение -Miro-

-Miro-
  • Профи
  • 339 сообщений
  •    

Отправлено

Кто ни будь знает, скрипт, который сможет запретить пользоваться 3D картой? чтобы нельзя было залезть в неё ни через кнопку M, ни через Твин меню!



#66 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

Кто ни будь знает, скрипт, который сможет запретить пользоваться 3D картой? чтобы нельзя было залезть в неё ни через кнопку M, ни через Твин меню!

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



#67 Ссылка на это сообщение -Miro-

-Miro-
  • Профи
  • 339 сообщений
  •    

Отправлено

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

как не бывает? в этом моде есть такое, когда ГГ в бою, картой пользоваться нельзя, при заходе в Карту, Карта автоматически закрывается, т.е срабатывает скрипт)



#68 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

как не бывает? в этом моде есть такое, когда ГГ в бою, картой пользоваться нельзя, при заходе в Карту, Карта автоматически закрывается, т.е срабатывает скрипт)

Странно, не припоминаю ничего по скриптам, что бы могло так работать. Хотя, если он юзает сксе для этого - хз. Ну тогда я не прав.

И сразу встречный вопрос: у тебя есть готовое решение на руках, что мешает его посмотреть и проанализировать? Зачем тогда задавать вопрос?

#69 Ссылка на это сообщение -Miro-

-Miro-
  • Профи
  • 339 сообщений
  •    

Отправлено

Странно, не припоминаю ничего по скриптам, что бы могло так работать. Хотя, если он юзает сксе для этого - хз. Ну тогда я не прав.

И сразу встречный вопрос: у тебя есть готовое решение на руках, что мешает его посмотреть и проанализировать? Зачем тогда задавать вопрос?

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



#70 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

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

если хочешь - напиши код тогда сюда. посмотрим.



#71 Ссылка на это сообщение -Miro-

-Miro-
  • Профи
  • 339 сообщений
  •    

Отправлено

если хочешь - напиши код тогда сюда. посмотрим.

Воть


#72 Ссылка на это сообщение I.L.Pron

I.L.Pron
  • Авантюрист
  • 157 сообщений
  •    

Отправлено


Воть

А ты уверен, что это нужный скрипт? Это скрипт МСМ-меню в котором присваиваются значения переменным и регистрируются меню. Я конечно не изучал все 1200 строк кода, но мне кажется, что отключение карты происходит где-то в другом месте. Ищи в других скриптах такие функции, как:

1) "IsInCombat" - проверяет, находится ли НПС или Игрок в бою. Раз в бою карта не работает, значит эта функция вполне может использоваться в коде.

2) "IsMenuOpen" - проверяет, открыто ли меню. Тоже вполне может быть использовано автором, чтобы проверить, открыл ли игрок меню карты. В качестве переменной в этой функции должно быть слово "MapMenu".

Как вариант, ещё может использоваться функция "IsInMenuMode", хотя вряд ли.


  • -Miro- это нравится

#73 Ссылка на это сообщение -Miro-

-Miro-
  • Профи
  • 339 сообщений
  •    

Отправлено

А ты уверен, что это нужный скрипт?

Значит этот скрипт


#74 Ссылка на это сообщение I.L.Pron

I.L.Pron
  • Авантюрист
  • 157 сообщений
  •    

Отправлено

Да, похоже на то. Вот нужная тебе функция из этого скрипта:

 

Function CloseInCombat()
 while (Utility.IsInMenuMode()) ; до тех пор, пока мы находимся в меню будем делать следующее:
   Input.TapKey(15)                 ; принудительно нажимаем на кнопку "15" (это кнопка Tab)
   Utility.WaitMenuMode(0.15) ; пока игра не закрыла меню, приостанавливаем остальные скрипты (видимо, чтобы избежать глюков)
 endwhile
EndFunction

 

Как несложно заметить, автор использовал одну из SКSE-функций обрабатывающих ввод (Input). Соответствие номеров и клавиш можно посмотреть здесь

Сама функция втыкается в ивэнт открытия окна:

 

Event OnMenuOpen(String MenuName) ;произошло событие - открытие какого-то меню

 If MenuName == "MapMenu" ; проверяем, не меню ли карты открылось, если да, то делаем следующее:

   if Game.GetPlayer().IsInCombat() ; проверяем, находится ли игрок в бою, если да, то делаем следующее:
    CloseInCombat() ; вызываем функцию, которая принудительно закрывает меню.
  endif

endif

EndEvent

 

Лишнее из кода выкинул, оставил только суть.



#75 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

 

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

 

 

Все верно написано. AlienSoul, добавлю только, что предложенный скрипт вешался на квест, поэтому и этот следует вешать туда же, следи.



#76 Ссылка на это сообщение I.L.Pron

I.L.Pron
  • Авантюрист
  • 157 сообщений
  •    

Отправлено

Там надо будет ещё где-то прописывать RegisterForMenu и UnregisterForMenu, вроде без этого скрипт не взлетит.



#77 Ссылка на это сообщение Llammt

Llammt
  • Новенький
  • 20 сообщений
  •  

Отправлено

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

Scriptname AALassieSERuneScript extends ObjectReference 

Spell property ShockRune auto

Event OnRead()

  Game.GetPlayer().AddSpell(ShockRune)
  Debug.Trace("The player's life is now enriched!")

endEvent

Сообщение отредактировал Llammt: 10 октября 2016 - 14:53


#78 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

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

Scriptname AALassieSERuneScript extends ObjectReference 

Spell property ShockRune auto

Event OnRead()

  Game.GetPlayer().AddSpell(ShockRune)
  Debug.Trace("The player's life is now enriched!")

endEvent
Он работает. Куда ты его вешаешь, что компилятор выдает?

#79 Ссылка на это сообщение Llammt

Llammt
  • Новенький
  • 20 сообщений
  •  

Отправлено

Он работает. Куда ты его вешаешь, что компилятор выдает?

Вешаю на книгу, которую создаю. Компилятор поздравляет с успехом. В игре читаю эту книгу, и ничего не пишется\ не добавляется.

 

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



#80 Ссылка на это сообщение werr

werr
  • больной на всю голову

  • 1 733 сообщений
  •    

Отправлено

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

А оно и не должно ничего писать в игре. В лог выводится. Ты не видишь спелл в меню спеллов? Проверь, что проперти задано( скрин окна пропертис покажи).

#81 Ссылка на это сообщение Llammt

Llammt
  • Новенький
  • 20 сообщений
  •  

Отправлено

А оно и не должно ничего писать в игре. В лог выводится. Ты не видишь спелл в меню спеллов? Проверь, что проперти задано( скрин окна пропертис покажи).

Ничего в пропертис не задано.

http://uploads.ru/5IbEr.png

 

Нет, спелл не добавляется.

 

Upd: все, разобралась. Скриншот левый, там я сама что-то меняла и забыла.

Возвращаем скрипт к первоначальному варианту - в свойствах появляется переменная типа spell. К ней применяем auto fill all и все работает.


Сообщение отредактировал Llammt: 15 октября 2016 - 03:28






Темы с аналогичным тегами papyrus, help, скрипты, вопросы

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых