Тема для вопросов по скриптингу.
Функции папируса:
На английском
На русском (не все, но базис)
 
	
  
  
  
  
  
			
				
					
						
					
					#221
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
- werr, Chesh¡re и Olechkafum нравится это
 
			
				
					
						
					
					#223
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Код покажи.
Код на изменение стадии квеста в диалоге:
GetOwningQuest().SetObjectiveDisplayed(10)
GetOwningQuest().SetStage(10)
Ошибка:
Starting 1 compile threads for 1 files...
Compiling "TIF__01000D6D"...
<unknown>(0,0): Unable to find flags file: TESV_Papyrus_Flags.flg
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\TIF__01000D6D.psc(3,0): Unknown user flag Hidden
No output generated for TIF__01000D6D, compilation failed.
Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on TIF__01000D6D
			
				
					
						
					
					#227
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Для того, чтобы проверить это, я решил провести тестовый забег (т.е. создать персонажа и пройти DLC, попутно, в нужных ситуациях, "запрашивая" значение переменной). Так как узнать значение переменной через консоль мне лень (а в добавок я не вполне понял, как это сделать), то мною было принято решение создать мини мод, где я бы посредством применения заклинания вызывал окошко (Message), где было бы отображено значение DLC2MiraakDragonSouls (попутно, попытаться познакомиться и разобраться с месседжами).
Трудности возникли с самим "выведением окошка с переменной": я создал объект Message; создал эффект, куда привязал скрипт aaaaMiraakDSscript и написал код:
Вопрос - что я делаю не так или кто может мне расписать, как правильно "привязывать" переменные к месседжу?
Сообщение отредактировал mr Jygalag: 01 марта 2018 - 08:29
			
				
					
						
					
					#228
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Так как узнать значение переменной через консоль мне лень (а в добавок я не вполне понял, как это сделать)
Команда для этого: show variablename.
 
DSMiraakMessage.Show(DLC2MiraakDragonSouls.Getvalue())
Думаю/предполагаю, что Message.Show может показывать конкретную переменную, а не функцию, берущую значение переменной.
Задай переменную типа float, ей присвой значение глобалки DLC2MiraakDragonSouls, и попробуй показывать именно эту переменную.
UPD: а ещё в твоём скрипте (если это он весь) нет ивента, в маг. эффекте он должен быть OnEffectStart.
			
				
					
						
					
					#229
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Спасибо большое, сохраню на всякий случайКоманда для этого: show variablename.
Как только добавил конструкцию с OnEffectStart всё заработало. Благодарю за быстрый и информативный ответДумаю/предполагаю, что Message.Show может показывать конкретную переменную, а не функцию, берущую значение переменной.
Задай переменную типа float, ей присвой значение глобалки DLC2MiraakDragonSouls, и попробуй показывать именно эту переменную.
UPD: а ещё в твоём скрипте (если это он весь) нет ивента, в маг. эффекте он должен быть OnEffectStart.
			
				
					
						
					
					#230
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Добрый день.
У тебя название сцены и скрипта совпадают. В этом ошибка.
			
				
					
						
					
					#233
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Доброго времени суток.
Кто-нибудь может подсказать Event который вызывается, когда игрок убивает моба (любого).
OnDeath (если скрипт прицеплен к актеру).
Но вообще если тебе надо прям всех актеров отслеживать - это надо в СториМенеджер лазить, там есть ивент на убийство. Через него запускается квест, который уже может что-то делать своими скриптами.
Perks for Blood поищи на этом сайте, там в комментах есть мой архив, в котором как раз через квестовую систему это все отслеживается.
Ну и сам мод на это тоже направлен - убиваешь чуваков, получаешь перки.
Сообщение отредактировал Azazellz: 04 марта 2018 - 15:01
- =D= это нравится
 
			
				
					
						
					
					#236
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Весь код, который выполняет какие-то действия, должен находиться в функциях или событиях.
Scriptname DSMiraak extends Scene 
GlobalVariable Property DSMiraakCount  Auto
float Property DSM Auto
Function DoSmth()
    DSM = DSMiraakCount.Getvalue()
    DSM+=1
    DSMcount.SetValue(DSM)
EndFunction
					
					Всё провисло и болтается.
			
				
					
						
					
					#237
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Весь код, который выполняет какие-то действия, должен находиться в функциях или событиях.
Scriptname DSMiraak extends Scene GlobalVariable Property DSMiraakCount Auto float Property DSM Auto Function DoSmth() DSM = DSMiraakCount.Getvalue() DSM+=1 DSMcount.SetValue(DSM) EndFunction
Благодарю, осталось только понять, как присобачить присоединить этот скрипт к нужной мне сцене...
			
				
					
						
					
					#238
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Благодарю, осталось только понять, как
присобачитьприсоединить этот скрипт к нужной мне сцене...
Легко. Например, можно повесить этот скрипт не на сцену, а на сам квест:
Scriptname DSMiraak extends Quest GlobalVariable Property DSMiraakCount Auto Function CountSoulsMiraak() Int DSM = (DSMiraakCount.GetValue() as Int) DSM += 1 DSMiraakCount.SetValue(DSM) EndFunction
В папирус-фрагменте сцены в поле kmyQuest выбрать DSMiraak, а в само поле вписать вызов функции:
kmyQuest.CountSoulsMiraak()
			
				
					
						
					
					#239
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Благодарю, конечно за помощь, но я либо туплю, либо не то открываю, но поле kmyQuest в упор не вижу...Легко. Например, можно повесить этот скрипт не на сцену, а на сам квест:
Scriptname DSMiraak extends Quest GlobalVariable Property DSMiraakCount Auto Function CountSoulsMiraak() Int DSM = (DSMiraakCount.GetValue() as Int) DSM += 1 DSMiraakCount.SetValue(DSM) EndFunctionВ папирус-фрагменте сцены в поле kmyQuest выбрать DSMiraak, а в само поле вписать вызов функции:kmyQuest.CountSoulsMiraak()
					
					
			
				
					
						
					
					#240
					
					
				
				
				
					
				
			
				
			
			
			Отправлено
Благодарю, конечно за помощь, но я либо туплю, либо не то открываю, но поле kmyQuest в упор не вижу...
Божечки, Скайримский СК такой... задержанный. Давненько я уже не открывал его, года три. То, что я описал, относится к редактору под Фолл.
В таком случае, достаточно просто этот кусок в поле папирус фрагмента вписать.
Int DSM = (DSMiraakCount.GetValue() as Int) DSM += 1 DSMiraakCount.SetValue(DSM)
ну или вовсе облениться и выдать нечто такое:
DSMiraakCount.SetValue(DSMiraakCount.GetValue() + 1)
Темы с аналогичным тегами papyrus, help, скрипты, вопросы
		
		
		
		
		
		
			
				Моддинг → 
			
				Моддинг Skyrim → 
			
		
		
		Перенос эффекта призрачного соловья на предмет/оружиеАвтор Alex_andra, 07 янв 2025  | 
	
	
		
  | 
	
		
	
 
	
		
	 | 
	
||
		
		
		
		
		
		
			
				Моддинг → 
			
				Моддинг Skyrim → 
			
		
		
		Восстановление на основе Зала ДозораАвтор Alex_andra, 11 дек 2023  | 
	
	
		
  | 
	
		
	
 
	
		
	 | 
	
||
		
	![]()  | 
	
		
		
		
		
		
		
			
				Моддинг → 
			
				Моддинг Skyrim → 
			
		
		
		Отстройка ВинтерхолдаАвтор Alex_andra, 10 авг 2023  | 
	
	
		
  | 
	
		
	
 | 
	
|
		
		
		
		
		
		
			
				Моддинг → 
			
				Моддинг Oblivion → 
			
		
		
		Скрипт Для СнаряженияАвтор БесездаБойчик, 07 сен 2022  | 
	
	
		
  | 
	
		
	
 | 
	
||
		
		
		
		
		
		
			
				Моддинг → 
			
				Моддинг Skyrim → 
			
		
		
		Нужны добровольцы для теста модаАвтор arkadiy111, 11 апр 2022  | 
	
	
		
  | 
	
		
	
 | 
	
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 скрытых




			
			
     
      
      
     
      
	
				
				
				
			
			
     
      
      
     
      
	
				
				
				
				
				
				
     
      
	
				
				
				
			
			
     
      
	
				
				
				
     
      
      
     
      
	
				
				
				
				
				
				
     
      
      
     
      
	

