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


Фотография

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

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

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

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

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


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

Отправлено

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

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

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

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



 




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

#722 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

А так? Надеюсь скрипт хоть от части правельно описан

И так - нет.

Дать ссылку на туториал по скриптингу (на английском)?

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

 

Но "от части" скрипт написан правильно, да. Имя скрипта ты не забыл =)

Все остальное вот только - плохо.



#723 Ссылка на это сообщение angel-deff

angel-deff
  • Авантюрист
  • 173 сообщений
  •  

Отправлено

И так - нет.

Дать ссылку на туториал по скриптингу (на английском)?

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

 

Но "от части" скрипт написан правильно, да. Имя скрипта ты не забыл =)

Все остальное вот только - плохо.

Буду благодарен.

и да нулевое. Надеялся хоть end endif верно клацнул



#724 Ссылка на это сообщение angel-deff

angel-deff
  • Авантюрист
  • 173 сообщений
  •  

Отправлено

И так - нет.

Дать ссылку на туториал по скриптингу (на английском)?

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

 

Но "от части" скрипт написан правильно, да. Имя скрипта ты не забыл =)

Все остальное вот только - плохо.

Хотя я просто скопипастил синтаксис вставив межу названием и Endif=) в надежде что прокатит.



#725 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

Буду благодарен.

и да нулевое. Надеялся хоть end endif верно клацнул

Тут.

Читаешь, делаешь.

Просто прочитать, если знания нулевые - недостаточно.

Без практики тут никуда.

 

Еще две полезные ссылки:

Объекты

Ивенты

 

Хотя я просто скопипастил синтаксис вставив межу названием и Endif=) в надежде что прокатит.

Нет, не прокатит =)

Не для того оно нужно.



#726 Ссылка на это сообщение angel-deff

angel-deff
  • Авантюрист
  • 173 сообщений
  •  

Отправлено

Автор Sneak Tools любезно разрешил пользоваться его скриптом из его маски для сторонних модов, однако она не везде действует

Можно куда-то вставить эту строчку Function SetPlayerReportCrime(bool abReportCrime = true) native global чтоб скрипт на столсхейме работал?

Это тот самый скрипт который делает игрока невидимым в скайриме

Scriptname SneakToolsEquipMaskMagEffScript extends activemagiceffect  

AASneakToolsMainQuestScript Property questScript auto
Spell Property SneakToolsCheckDetectionSpell auto
Spell Property SneakToolsWearingMaskAbility auto
Actor Property playerRef auto

Event OnEffectStart(Actor akTarget, Actor akCaster)
If(akTarget == playerRef)
		playerRef.AddSpell(SneakToolsWearingMaskAbility, false)
		If(questScript.playerBusted)
			questScript.SneakToolsEquipFaceMaskFunction()
			return
		EndIf
		SneakToolsCheckDetectionSpell.Cast(playerRef, playerRef)
		If(questScript.detected)
			questScript.SneakToolsEquipFaceMaskFunction()
			return
		EndIf
		Utility.Wait(1)
		SneakToolsCheckDetectionSpell.Cast(playerRef, playerRef)
		If(questScript.detected)
			questScript.SneakToolsEquipFaceMaskFunction()
			return
		EndIf
		Utility.Wait(1)
		SneakToolsCheckDetectionSpell.Cast(playerRef, playerRef)
		If(questScript.detected)
			questScript.SneakToolsEquipFaceMaskFunction()
			return
		EndIf
		Utility.Wait(1)
		SneakToolsCheckDetectionSpell.Cast(playerRef, playerRef)
		questScript.SneakToolsEquipFaceMaskFunction()
EndIf
EndEvent

Event OnEffectFinish(Actor akTarget, Actor akCaster)
If(akTarget == playerRef)
		playerRef.RemoveSpell(SneakToolsWearingMaskAbility)
		SneakToolsCheckDetectionSpell.Cast(playerRef, playerRef)
		If(questScript.detected)
			questScript.SneakToolsUnequipFaceMaskFunction()
			return
		EndIf
		Utility.Wait(1)
		SneakToolsCheckDetectionSpell.Cast(playerRef, playerRef)
		If(questScript.detected)
			questScript.SneakToolsUnequipFaceMaskFunction()
			return
		EndIf
		Utility.Wait(1)
		SneakToolsCheckDetectionSpell.Cast(playerRef, playerRef)
		If(questScript.detected)
			questScript.SneakToolsUnequipFaceMaskFunction()
			return
		EndIf
		Utility.Wait(1)
		SneakToolsCheckDetectionSpell.Cast(playerRef, playerRef)
		questScript.SneakToolsUnequipFaceMaskFunction()
EndIf
EndEvent


#727 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

Это тот самый скрипт который делает игрока невидимым в скайриме

Этот скрипт сам по себе почти ничего не делает.

Он только кастует какие-то заклинания и вызывает функции из квестовых скриптов.

Весь основной функционал лежит в другом месте.

 

Как я понимаю, на Солстейме это все не работает, потому что автор забыл вставить в функционал соответствующую фракцию, которая за преступления на Солстейме отвечает.

Ну или просто когда мод разрабатывался, Солстейма еще не было, а потом автор поленился это все обновлять.

 

А это значит, что функционал там посложнее, чем всего одна команда.



#728 Ссылка на это сообщение angel-deff

angel-deff
  • Авантюрист
  • 173 сообщений
  •  

Отправлено

Этот скрипт сам по себе почти ничего не делает.

Он только кастует какие-то заклинания и вызывает функции из квестовых скриптов.

Весь основной функционал лежит в другом месте.

 

Как я понимаю, на Солстейме это все не работает, потому что автор забыл вставить в функционал соответствующую фракцию, которая за преступления на Солстейме отвечает.

Ну или просто когда мод разрабатывался, Солстейма еще не было, а потом автор поленился это все обновлять.

 

А это значит, что функционал там посложнее, чем всего одна команда.

Нашёл вот этот скрипт в файлах

Scriptname AASneakToolsMainQuestScript extends Quest conditional

float originalJumpHeight

bool isDawnguardInstalled conditional
bool allowThroatSlits conditional
bool allowKnockOuts conditional
bool allowSleepKills conditional
bool allowCrafting conditional

bool Property playerBusted auto
bool Property detected auto

float Property SneakToolsVersion auto

Actor Property PlayerRef auto
Perk Property SneakToolsSlitThroatPerk auto
Perk Property SneakToolsKnockOutPerk auto
Perk Property SneakToolsKillSleepingPerk auto
Perk Property SneakToolsArrowsPerk auto
Faction Property SneakToolsUnconsciousFaction auto
FormList Property SneakToolsFireLightsFormList auto
GlobalVariable Property SneakToolsAllowEssentialKill auto
GlobalVariable Property SneakToolsUseMenus auto
Spell Property SneakToolsTeleportShopSpell auto
Topic Property SneakToolsDialTricksOfTheTrade auto
Topic Property SneakToolsDialKillingTopic auto
Quest Property SneakToolsAliasesQuest auto

Faction Property CrimeFactionEastmarch auto
Faction Property CrimeFactionFalkreath auto
Faction Property CrimeFactionHaafingar auto
Faction Property CrimeFactionHjaalmarch auto
Faction Property CrimeFactionPale auto
Faction Property CrimeFactionReach auto
Faction Property CrimeFactionRift auto
Faction Property CrimeFactionWhiterun auto
Faction Property CrimeFactionWinterhold auto
Faction Property CrimeFactionOrcs auto

int RealCrimeGoldEastMarchViolent
int RealCrimeGoldFalkreathViolent 
int RealCrimeGoldHaafingarViolent 
int RealCrimeGoldHjaalmarchViolent 
int RealCrimeGoldPaleViolent 
int RealCrimeGoldReachViolent 
int RealCrimeGoldRiftViolent 
int RealCrimeGoldWhiterunViolent 
int RealCrimeGoldWinterholdViolent 
int RealCrimeGoldOrcsViolent

int RealCrimeGoldEastMarchNonViolent
int RealCrimeGoldFalkreathNonViolent 
int RealCrimeGoldHaafingarNonViolent 
int RealCrimeGoldHjaalmarchNonViolent 
int RealCrimeGoldPaleNonViolent 
int RealCrimeGoldReachNonViolent 
int RealCrimeGoldRiftNonViolent 
int RealCrimeGoldWhiterunNonViolent 
int RealCrimeGoldWinterholdNonViolent 
int RealCrimeGoldOrcsNonViolent

int FakeCrimeGoldEastMarchViolent 
int FakeCrimeGoldFalkreathViolent 
int FakeCrimeGoldHaafingarViolent 
int FakeCrimeGoldHjaalmarchViolent 
int FakeCrimeGoldPaleViolent 
int FakeCrimeGoldReachViolent 
int FakeCrimeGoldRiftViolent 
int FakeCrimeGoldWhiterunViolent 
int FakeCrimeGoldWinterholdViolent 
int FakeCrimeGoldOrcsViolent

int FakeCrimeGoldEastMarchNonViolent 
int FakeCrimeGoldFalkreathNonViolent 
int FakeCrimeGoldHaafingarNonViolent 
int FakeCrimeGoldHjaalmarchNonViolent 
int FakeCrimeGoldPaleNonViolent 
int FakeCrimeGoldReachNonViolent 
int FakeCrimeGoldRiftNonViolent 
int FakeCrimeGoldWhiterunNonViolent 
int FakeCrimeGoldWinterholdNonViolent 
int FakeCrimeGoldOrcsNonViolent

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EQUIPPING;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Function SneakToolsEquipFaceMaskFunction()
	UnregisterForUpdateGameTime()
	If(playerBusted)
		return
	ElseIf(detected)
		playerBusted=true
		SneakToolsUnsuccesfulEquipFaceMaskFunction()
		Debug.Notification("My true identity was recognised!")
	Else
		SneakToolsUpdateRealCrimeGold()
		SneakToolsSuccesfulEquipFaceMaskFunction()
		playerRef.StopCombatAlarm()
	EndIf
	detected = false
EndFunction

Function SneakToolsSuccesfulEquipFaceMaskFunction()
	CrimeFactionEastmarch.SetCrimeGold(FakeCrimeGoldEastmarchNonViolent)
	CrimeFactionEastmarch.SetCrimeGoldViolent(FakeCrimeGoldEastmarchViolent)
	CrimeFactionFalkreath.SetCrimeGold(FakeCrimeGoldFalkreathNonViolent)
	CrimeFactionFalkreath.SetCrimeGoldViolent(FakeCrimeGoldFalkreathViolent)
	CrimeFactionHaafingar.SetCrimeGold(FakeCrimeGoldHaafingarNonViolent)
	CrimeFactionHaafingar.SetCrimeGoldViolent(FakeCrimeGoldHaafingarViolent)
	CrimeFactionHjaalmarch.SetCrimeGold(FakeCrimeGoldHjaalmarchNonViolent)
	CrimeFactionHjaalmarch.SetCrimeGoldViolent(FakeCrimeGoldHjaalmarchViolent)
	CrimeFactionPale.SetCrimeGold(FakeCrimeGoldPaleNonViolent)
	CrimeFactionPale.SetCrimeGoldViolent(FakeCrimeGoldPaleViolent)
	CrimeFactionReach.SetCrimeGold(FakeCrimeGoldReachNonViolent)
	CrimeFactionReach.SetCrimeGoldViolent(FakeCrimeGoldReachViolent)
	CrimeFactionRift.SetCrimeGold(FakeCrimeGoldRiftNonViolent)
	CrimeFactionRift.SetCrimeGoldViolent(FakeCrimeGoldRiftViolent)
	CrimeFactionWhiterun.SetCrimeGold(FakeCrimeGoldWhiterunNonViolent)
	CrimeFactionWhiterun.SetCrimeGoldViolent(FakeCrimeGoldWhiterunViolent)
	CrimeFactionWinterhold.SetCrimeGold(FakeCrimeGoldWinterholdNonViolent)
	CrimeFactionWinterhold.SetCrimeGoldViolent(FakeCrimeGoldWinterholdViolent)
	CrimeFactionOrcs.SetCrimeGold(FakeCrimeGoldOrcsNonViolent)
	CrimeFactionOrcs.SetCrimeGoldViolent(FakeCrimeGoldOrcsViolent)
EndFunction

Function SneakToolsUnsuccesfulEquipFaceMaskFunction()
	CrimeFactionEastmarch.ModCrimeGold(FakeCrimeGoldEastmarchNonViolent)
	CrimeFactionEastmarch.ModCrimeGold(FakeCrimeGoldEastmarchViolent, true)
	CrimeFactionFalkreath.ModCrimeGold(FakeCrimeGoldFalkreathNonViolent)
	CrimeFactionFalkreath.ModCrimeGold(FakeCrimeGoldFalkreathViolent, true)
	CrimeFactionHaafingar.ModCrimeGold(FakeCrimeGoldHaafingarNonViolent)
	CrimeFactionHaafingar.ModCrimeGold(FakeCrimeGoldHaafingarViolent, true)
	CrimeFactionHjaalmarch.ModCrimeGold(FakeCrimeGoldHjaalmarchNonViolent)
	CrimeFactionHjaalmarch.ModCrimeGold(FakeCrimeGoldHjaalmarchViolent, true)
	CrimeFactionPale.ModCrimeGold(FakeCrimeGoldPaleNonViolent)
	CrimeFactionPale.ModCrimeGold(FakeCrimeGoldPaleViolent, true)
	CrimeFactionReach.ModCrimeGold(FakeCrimeGoldReachNonViolent)
	CrimeFactionReach.ModCrimeGold(FakeCrimeGoldReachViolent, true)
	CrimeFactionRift.ModCrimeGold(FakeCrimeGoldRiftNonViolent)
	CrimeFactionRift.ModCrimeGold(FakeCrimeGoldRiftViolent, true)
	CrimeFactionWhiterun.ModCrimeGold(FakeCrimeGoldWhiterunNonViolent)
	CrimeFactionWhiterun.ModCrimeGold(FakeCrimeGoldWhiterunViolent, true)
	CrimeFactionWinterhold.ModCrimeGold(FakeCrimeGoldWinterholdNonViolent)
	CrimeFactionWinterhold.ModCrimeGold(FakeCrimeGoldWinterholdViolent, true)
	CrimeFactionOrcs.ModCrimeGold(FakeCrimeGoldOrcsNonViolent)
	CrimeFactionOrcs.ModCrimeGold(FakeCrimeGoldOrcsViolent, true)
	SneakToolsResetFakeCrimeGold()
EndFunction
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EQUIPPING;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UNEQUIPPING;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Function SneakToolsUnequipFaceMaskFunction()
	if(detected)
		RegisterForSingleUpdateGameTime(48)
		If(!playerBusted)
			SneakToolsUnsuccesfulUnequipFaceMaskFunction()
			playerBusted=true
		EndIf
	Else
		RegisterForSingleUpdateGameTime(24)
		If(!playerBusted)
			SneakToolsUpdateFakeCrimeGold()
			SneakToolsSuccesfulUnequipFaceMaskFunction()
			playerRef.StopCombatAlarm()
		EndIf
	EndIf
	detected = false
EndFunction

Function SneakToolsSuccesfulUnequipFaceMaskFunction()
	CrimeFactionEastmarch.SetCrimeGold(RealCrimeGoldEastMarchNonViolent)
	CrimeFactionEastmarch.SetCrimeGoldViolent(RealCrimeGoldEastMarchViolent)
	CrimeFactionFalkreath.SetCrimeGold(RealCrimeGoldFalkreathNonViolent)
	CrimeFactionFalkreath.SetCrimeGoldViolent(RealCrimeGoldFalkreathViolent)
	CrimeFactionHaafingar.SetCrimeGold(RealCrimeGoldHaafingarNonViolent)
	CrimeFactionHaafingar.SetCrimeGoldViolent(RealCrimeGoldHaafingarViolent)
	CrimeFactionHjaalmarch.SetCrimeGold(RealCrimeGoldHjaalmarchNonViolent)
	CrimeFactionHjaalmarch.SetCrimeGoldViolent(RealCrimeGoldHjaalmarchViolent)
	CrimeFactionPale.SetCrimeGold(RealCrimeGoldPaleNonViolent)
	CrimeFactionPale.SetCrimeGoldViolent(RealCrimeGoldPaleViolent)
	CrimeFactionReach.SetCrimeGold(RealCrimeGoldReachNonViolent)
	CrimeFactionReach.SetCrimeGoldViolent(RealCrimeGoldReachViolent)
	CrimeFactionRift.SetCrimeGold(RealCrimeGoldRiftNonViolent)
	CrimeFactionRift.SetCrimeGoldViolent(RealCrimeGoldRiftViolent)
	CrimeFactionWhiterun.SetCrimeGold(RealCrimeGoldWhiterunNonViolent)
	CrimeFactionWhiterun.SetCrimeGoldViolent(RealCrimeGoldWhiterunViolent)
	CrimeFactionWinterhold.SetCrimeGold(RealCrimeGoldWinterholdNonViolent)
	CrimeFactionWinterhold.SetCrimeGoldViolent(RealCrimeGoldWinterholdViolent)
	CrimeFactionOrcs.SetCrimeGold(RealCrimeGoldOrcsNonViolent)
	CrimeFactionOrcs.SetCrimeGoldViolent(RealCrimeGoldOrcsViolent)
EndFunction

Function SneakToolsUnsuccesfulUnequipFaceMaskFunction()
	CrimeFactionEastmarch.ModCrimeGold(RealCrimeGoldEastMarchNonViolent)
	CrimeFactionEastmarch.ModCrimeGold(RealCrimeGoldEastMarchViolent, true)
	CrimeFactionFalkreath.ModCrimeGold(RealCrimeGoldFalkreathNonViolent)
	CrimeFactionFalkreath.ModCrimeGold(RealCrimeGoldFalkreathViolent, true)
	CrimeFactionHaafingar.ModCrimeGold(RealCrimeGoldHaafingarNonViolent)
	CrimeFactionHaafingar.ModCrimeGold(RealCrimeGoldHaafingarViolent, true)
	CrimeFactionHjaalmarch.ModCrimeGold(RealCrimeGoldHjaalmarchNonViolent)
	CrimeFactionHjaalmarch.ModCrimeGold(RealCrimeGoldHjaalmarchViolent, true)
	CrimeFactionPale.ModCrimeGold(RealCrimeGoldPaleNonViolent)
	CrimeFactionPale.ModCrimeGold(RealCrimeGoldPaleViolent, true)
	CrimeFactionReach.ModCrimeGold(RealCrimeGoldReachNonViolent)
	CrimeFactionReach.ModCrimeGold(RealCrimeGoldReachViolent, true)
	CrimeFactionRift.ModCrimeGold(RealCrimeGoldRiftNonViolent)
	CrimeFactionRift.ModCrimeGold(RealCrimeGoldRiftViolent, true)
	CrimeFactionWhiterun.ModCrimeGold(RealCrimeGoldWhiterunNonViolent)
	CrimeFactionWhiterun.ModCrimeGold(RealCrimeGoldWhiterunViolent, true)
	CrimeFactionWinterhold.ModCrimeGold(RealCrimeGoldWinterholdNonViolent)
	CrimeFactionWinterhold.ModCrimeGold(RealCrimeGoldWinterholdViolent, true)
	CrimeFactionOrcs.ModCrimeGold(RealCrimeGoldOrcsNonViolent)
	CrimeFactionOrcs.ModCrimeGold(RealCrimeGoldOrcsViolent, true)
	SneakToolsResetFakeCrimeGold()
EndFunction
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UNEQUIPPING;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Function SneakToolsUpdateRealCrimeGold()
	RealCrimeGoldEastMarchViolent = CrimeFactionEastmarch.GetCrimeGoldViolent()
	RealCrimeGoldFalkreathViolent = CrimeFactionFalkreath.GetCrimeGoldViolent()
	RealCrimeGoldHaafingarViolent = CrimeFactionHaafingar.GetCrimeGoldViolent()
	RealCrimeGoldHjaalmarchViolent = CrimeFactionHjaalmarch.GetCrimeGoldViolent()
	RealCrimeGoldPaleViolent = CrimeFactionPale.GetCrimeGoldViolent()
	RealCrimeGoldReachViolent = CrimeFactionReach.GetCrimeGoldViolent()
	RealCrimeGoldRiftViolent = CrimeFactionRift.GetCrimeGoldViolent()
	RealCrimeGoldWhiterunViolent = CrimeFactionWhiterun.GetCrimeGoldViolent()
	RealCrimeGoldWinterholdViolent = CrimeFactionWinterhold.GetCrimeGoldViolent()
	RealCrimeGoldOrcsViolent = CrimeFactionOrcs.GetCrimeGoldViolent()

	RealCrimeGoldEastMarchNonViolent = CrimeFactionEastmarch.GetCrimeGoldNonViolent()
	RealCrimeGoldFalkreathNonViolent = CrimeFactionFalkreath.GetCrimeGoldNonViolent()
	RealCrimeGoldHaafingarNonViolent = CrimeFactionHaafingar.GetCrimeGoldNonViolent()
	RealCrimeGoldHjaalmarchNonViolent = CrimeFactionHjaalmarch.GetCrimeGoldNonViolent()
	RealCrimeGoldPaleNonViolent = CrimeFactionPale.GetCrimeGoldNonViolent()
	RealCrimeGoldReachNonViolent = CrimeFactionReach.GetCrimeGoldNonViolent()
	RealCrimeGoldRiftNonViolent = CrimeFactionRift.GetCrimeGoldNonViolent()
	RealCrimeGoldWhiterunNonViolent = CrimeFactionWhiterun.GetCrimeGoldNonViolent()
	RealCrimeGoldWinterholdNonViolent = CrimeFactionWinterhold.GetCrimeGoldNonViolent()
	RealCrimeGoldOrcsNonViolent = CrimeFactionOrcs.GetCrimeGoldNonViolent()
EndFunction

Function SneakToolsUpdateFakeCrimeGold()
	FakeCrimeGoldEastMarchViolent = CrimeFactionEastmarch.GetCrimeGoldViolent()
	FakeCrimeGoldFalkreathViolent = CrimeFactionFalkreath.GetCrimeGoldViolent()
	FakeCrimeGoldHaafingarViolent = CrimeFactionHaafingar.GetCrimeGoldViolent()
	FakeCrimeGoldHjaalmarchViolent = CrimeFactionHjaalmarch.GetCrimeGoldViolent()
	FakeCrimeGoldPaleViolent = CrimeFactionPale.GetCrimeGoldViolent()
	FakeCrimeGoldReachViolent = CrimeFactionReach.GetCrimeGoldViolent()
	FakeCrimeGoldRiftViolent = CrimeFactionRift.GetCrimeGoldViolent()
	FakeCrimeGoldWhiterunViolent = CrimeFactionWhiterun.GetCrimeGoldViolent()
	FakeCrimeGoldWinterholdViolent = CrimeFactionWinterhold.GetCrimeGoldViolent()
	FakeCrimeGoldOrcsViolent = CrimeFactionOrcs.GetCrimeGoldViolent()

	FakeCrimeGoldEastMarchNonViolent = CrimeFactionEastmarch.GetCrimeGoldNonViolent()
	FakeCrimeGoldFalkreathNonViolent = CrimeFactionFalkreath.GetCrimeGoldNonViolent()
	FakeCrimeGoldHaafingarNonViolent = CrimeFactionHaafingar.GetCrimeGoldNonViolent()
	FakeCrimeGoldHjaalmarchNonViolent = CrimeFactionHjaalmarch.GetCrimeGoldNonViolent()
	FakeCrimeGoldPaleNonViolent = CrimeFactionPale.GetCrimeGoldNonViolent()
	FakeCrimeGoldReachNonViolent = CrimeFactionReach.GetCrimeGoldNonViolent()
	FakeCrimeGoldRiftNonViolent = CrimeFactionRift.GetCrimeGoldNonViolent()
	FakeCrimeGoldWhiterunNonViolent = CrimeFactionWhiterun.GetCrimeGoldNonViolent()
	FakeCrimeGoldWinterholdNonViolent = CrimeFactionWinterhold.GetCrimeGoldNonViolent()
	FakeCrimeGoldOrcsNonViolent = CrimeFactionOrcs.GetCrimeGoldNonViolent()
EndFunction

Function SneakToolsResetFakeCrimeGold()
FakeCrimeGoldEastMarchViolent = 0
FakeCrimeGoldFalkreathViolent  = 0
FakeCrimeGoldHaafingarViolent  = 0
FakeCrimeGoldHjaalmarchViolent  = 0
FakeCrimeGoldPaleViolent  = 0
FakeCrimeGoldReachViolent  = 0
FakeCrimeGoldRiftViolent  = 0
FakeCrimeGoldWhiterunViolent  = 0
FakeCrimeGoldWinterholdViolent  = 0
FakeCrimeGoldOrcsViolent = 0

FakeCrimeGoldEastMarchNonViolent  = 0
FakeCrimeGoldFalkreathNonViolent  = 0
FakeCrimeGoldHaafingarNonViolent  = 0
FakeCrimeGoldHjaalmarchNonViolent  = 0
FakeCrimeGoldPaleNonViolent  = 0
FakeCrimeGoldReachNonViolent  = 0
FakeCrimeGoldRiftNonViolent  = 0
FakeCrimeGoldWhiterunNonViolent  = 0
FakeCrimeGoldWinterholdNonViolent  = 0
FakeCrimeGoldOrcsNonViolent = 0
EndFunction

Function setPlayerBusted(bool busted)
	playerBusted=busted
EndFunction

FormList Property TrapGasWeapon auto
Explosion Property SneakToolsTrapOilExplosionInitial auto
Explosion Property SneakToolsTrapOilExplosion01 auto
Explosion Property SneakToolsTrapOilExplosionMaster auto

Function initSneakTools()
	playerRef.AddPerk(SneakToolsSlitThroatPerk)
	playerRef.AddPerk(SneakToolsKnockOutPerk)
	playerRef.AddPerk(SneakToolsKillSleepingPerk)
	playerRef.AddPerk(SneakToolsArrowsPerk)
	playerRef.AddToFaction(SneakToolsUnconsciousFaction)
	playerRef.AddSpell(SneakToolsTeleportShopSpell)

	allowThroatSlits = true
	allowKnockOuts = true
	allowSleepKills = true
	allowCrafting = true

	SneakToolsDialTricksOfTheTrade.Add()

	(Game.GetForm(0x00082E17) As FormList).AddForm(Game.GetFormFromFile(0x0008A735, "Sneak Tools.esp"))
	TrapGasWeapon.AddForm(SneakToolsTrapOilExplosionInitial)
	TrapGasWeapon.AddForm(SneakToolsTrapOilExplosion01)
	TrapGasWeapon.AddForm(SneakToolsTrapOilExplosionMaster)

	AddClaraluxLights()

	handleDawnguardInstallation()

	originalJumpHeight = Game.GetGameSettingFloat("fJumpHeightMin")

	RegisterForSingleUpdate(3)
EndFunction

Function handleDawnguardInstallation()
	If(Game.GetFormFromFile(0x00000BB3, "Dawnguard.esm") != None)								;Dawnguard installed
		isDawnguardInstalled = true
		
		(Game.GetForm(0x00082E17) As FormList).AddForm(Game.GetFormFromFile(0x000ABC5C, "Sneak Tools.esp"))
	Else
		isDawnguardInstalled = false
		return
	EndIf
EndFunction

Function addClaraluxLights()
	If(Game.GetFormFromFile(0x00003FAA, "CLARALUX - More and Brighter Lights.esm") == None)		;Claralux not installed
		return
	EndIf

	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FAA, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FE1, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FA8, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FE2, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FA5, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FA4, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FA6, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FA9, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FAD, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00004021, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000018BE, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00001E7B, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x0000131B, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E9E, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E91, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E92, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E93, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E94, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E95, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079BB, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x0000143E, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x0000140A, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FAC, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000013EC, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00001485, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00002180, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00001414, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079AB, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079A7, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079A8, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079A9, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079AA, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079A6, "CLARALUX - More and Brighter Lights.esm"))
EndFunction

Event OnUpdateGameTime()
	SneakToolsResetFakeCrimeGold()
	playerBusted=false
EndEvent

Event OnUpdate()
	SneakToolsAliasesQuest.Stop()
	SneakToolsAliasesQuest.Start()
	RegisterForSingleUpdate(3)
EndEvent

Function SetUseMenuPopUps(bool b)
	If(b)
		SneakToolsUseMenus.SetValueInt(1)
	Else
		SneakToolsUseMenus.SetValueInt(0)
	EndIf
EndFunction

Function SetAllowEssentialKills(bool b)
	If(b)
		SneakToolsAllowEssentialKill.SetValueInt(1)
	Else
		SneakToolsAllowEssentialKill.SetValueInt(0)
	EndIf
EndFunction

Function SetAllowThroatSlits(bool b)
	allowThroatSlits = b
EndFunction

Function SetAllowKnockOuts(bool b)
	allowKnockOuts = b
EndFunction

Function SetAllowSleepKills(bool b)
	allowSleepKills = b
EndFunction

Function SetAllowCrafting(bool b)
	allowCrafting = b
EndFunction

Function ActivateMod()
	RegisterForSingleUpdate(3)
EndFunction

Function DeactivateMod()
	UnregisterForUpdate()
	SneakToolsAliasesQuest.Stop()
EndFunction

Function FixJumpingHeight()
	Game.SetGameSettingFloat("fJumpHeightMin", originalJumpHeight)
EndFunction

Event OnReset()
RealCrimeGoldEastMarchViolent=0
RealCrimeGoldFalkreathViolent =0
RealCrimeGoldHaafingarViolent =0
RealCrimeGoldHjaalmarchViolent =0
RealCrimeGoldPaleViolent =0
RealCrimeGoldReachViolent =0
RealCrimeGoldRiftViolent =0
RealCrimeGoldWhiterunViolent =0
RealCrimeGoldWinterholdViolent =0
RealCrimeGoldOrcsViolent = 0

RealCrimeGoldEastMarchNonViolent=0
RealCrimeGoldFalkreathNonViolent =0
RealCrimeGoldHaafingarNonViolent =0
RealCrimeGoldHjaalmarchNonViolent =0
RealCrimeGoldPaleNonViolent =0
RealCrimeGoldReachNonViolent =0
RealCrimeGoldRiftNonViolent =0
RealCrimeGoldWhiterunNonViolent =0
RealCrimeGoldWinterholdNonViolent =0
RealCrimeGoldOrcsNonViolent = 0

FakeCrimeGoldEastMarchViolent =0
FakeCrimeGoldFalkreathViolent =0
FakeCrimeGoldHaafingarViolent =0
FakeCrimeGoldHjaalmarchViolent =0
FakeCrimeGoldPaleViolent =0
FakeCrimeGoldReachViolent =0
FakeCrimeGoldRiftViolent =0
FakeCrimeGoldWhiterunViolent =0
FakeCrimeGoldWinterholdViolent =0
FakeCrimeGoldOrcsViolent = 0

FakeCrimeGoldEastMarchNonViolent =0
FakeCrimeGoldFalkreathNonViolent =0
FakeCrimeGoldHaafingarNonViolent =0
FakeCrimeGoldHjaalmarchNonViolent =0
FakeCrimeGoldPaleNonViolent =0
FakeCrimeGoldReachNonViolent =0
FakeCrimeGoldRiftNonViolent =0
FakeCrimeGoldWhiterunNonViolent =0
FakeCrimeGoldWinterholdNonViolent =0
FakeCrimeGoldOrcsNonViolent = 0
EndEvent


#729 Ссылка на это сообщение angel-deff

angel-deff
  • Авантюрист
  • 173 сообщений
  •  

Отправлено

Этот скрипт сам по себе почти ничего не делает.

Он только кастует какие-то заклинания и вызывает функции из квестовых скриптов.

Весь основной функционал лежит в другом месте.

 

Как я понимаю, на Солстейме это все не работает, потому что автор забыл вставить в функционал соответствующую фракцию, которая за преступления на Солстейме отвечает.

Ну или просто когда мод разрабатывался, Солстейма еще не было, а потом автор поленился это все обновлять.

 

А это значит, что функционал там посложнее, чем всего одна команда.

И надеюсь верно доработал

Scriptname AASneakToolsMainQuestScript extends Quest conditional

float originalJumpHeight

bool isDawnguardInstalled conditional
bool allowThroatSlits conditional
bool allowKnockOuts conditional
bool allowSleepKills conditional
bool allowCrafting conditional

bool Property playerBusted auto
bool Property detected auto

float Property SneakToolsVersion auto

Actor Property PlayerRef auto
Perk Property SneakToolsSlitThroatPerk auto
Perk Property SneakToolsKnockOutPerk auto
Perk Property SneakToolsKillSleepingPerk auto
Perk Property SneakToolsArrowsPerk auto
Faction Property SneakToolsUnconsciousFaction auto
FormList Property SneakToolsFireLightsFormList auto
GlobalVariable Property SneakToolsAllowEssentialKill auto
GlobalVariable Property SneakToolsUseMenus auto
Spell Property SneakToolsTeleportShopSpell auto
Topic Property SneakToolsDialTricksOfTheTrade auto
Topic Property SneakToolsDialKillingTopic auto
Quest Property SneakToolsAliasesQuest auto



Faction Property CrimeFactionEastmarch auto
Faction Property CrimeFactionFalkreath auto
Faction Property CrimeFactionHaafingar auto
Faction Property CrimeFactionHjaalmarch auto
Faction Property CrimeFactionPale auto
Faction Property CrimeFactionReach auto
Faction Property CrimeFactionRift auto
Faction Property CrimeFactionWhiterun auto
Faction Property CrimeFactionWinterhold auto
Faction Property CrimeFactionOrcs auto

Faction Property DLC2CrimeRavenRock auto



int RealCrimeGoldEastMarchViolent
int RealCrimeGoldFalkreathViolent 
int RealCrimeGoldHaafingarViolent 
int RealCrimeGoldHjaalmarchViolent 
int RealCrimeGoldPaleViolent 
int RealCrimeGoldReachViolent 
int RealCrimeGoldRiftViolent 
int RealCrimeGoldWhiterunViolent 
int RealCrimeGoldWinterholdViolent 
int RealCrimeGoldOrcsViolent

int RealCrimeGoldDLC2CrimeRavenRockViolent



int RealCrimeGoldEastMarchNonViolent
int RealCrimeGoldFalkreathNonViolent 
int RealCrimeGoldHaafingarNonViolent 
int RealCrimeGoldHjaalmarchNonViolent 
int RealCrimeGoldPaleNonViolent 
int RealCrimeGoldReachNonViolent 
int RealCrimeGoldRiftNonViolent 
int RealCrimeGoldWhiterunNonViolent 
int RealCrimeGoldWinterholdNonViolent 
int RealCrimeGoldOrcsNonViolent

int RealCrimeGoldDLC2CrimeRavenRockNonViolent




int FakeCrimeGoldEastMarchViolent 
int FakeCrimeGoldFalkreathViolent 
int FakeCrimeGoldHaafingarViolent 
int FakeCrimeGoldHjaalmarchViolent 
int FakeCrimeGoldPaleViolent 
int FakeCrimeGoldReachViolent 
int FakeCrimeGoldRiftViolent 
int FakeCrimeGoldWhiterunViolent 
int FakeCrimeGoldWinterholdViolent 
int FakeCrimeGoldOrcsViolent

int FakeCrimeGoldDLC2CrimeRavenRockViolent




int FakeCrimeGoldEastMarchNonViolent 
int FakeCrimeGoldFalkreathNonViolent 
int FakeCrimeGoldHaafingarNonViolent 
int FakeCrimeGoldHjaalmarchNonViolent 
int FakeCrimeGoldPaleNonViolent 
int FakeCrimeGoldReachNonViolent 
int FakeCrimeGoldRiftNonViolent 
int FakeCrimeGoldWhiterunNonViolent 
int FakeCrimeGoldWinterholdNonViolent 
int FakeCrimeGoldOrcsNonViolent

int FakeCrimeGoldDLC2CrimeRavenRockNonViolent




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EQUIPPING;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Function SneakToolsEquipFaceMaskFunction()
	UnregisterForUpdateGameTime()
	If(playerBusted)
		return
	ElseIf(detected)
		playerBusted=true
		SneakToolsUnsuccesfulEquipFaceMaskFunction()
		Debug.Notification("My true identity was recognised!")
	Else
		SneakToolsUpdateRealCrimeGold()
		SneakToolsSuccesfulEquipFaceMaskFunction()
		playerRef.StopCombatAlarm()
	EndIf
	detected = false
EndFunction

Function SneakToolsSuccesfulEquipFaceMaskFunction()
	CrimeFactionEastmarch.SetCrimeGold(FakeCrimeGoldEastmarchNonViolent)
	CrimeFactionEastmarch.SetCrimeGoldViolent(FakeCrimeGoldEastmarchViolent)
	CrimeFactionFalkreath.SetCrimeGold(FakeCrimeGoldFalkreathNonViolent)
	CrimeFactionFalkreath.SetCrimeGoldViolent(FakeCrimeGoldFalkreathViolent)
	CrimeFactionHaafingar.SetCrimeGold(FakeCrimeGoldHaafingarNonViolent)
	CrimeFactionHaafingar.SetCrimeGoldViolent(FakeCrimeGoldHaafingarViolent)
	CrimeFactionHjaalmarch.SetCrimeGold(FakeCrimeGoldHjaalmarchNonViolent)
	CrimeFactionHjaalmarch.SetCrimeGoldViolent(FakeCrimeGoldHjaalmarchViolent)
	CrimeFactionPale.SetCrimeGold(FakeCrimeGoldPaleNonViolent)
	CrimeFactionPale.SetCrimeGoldViolent(FakeCrimeGoldPaleViolent)
	CrimeFactionReach.SetCrimeGold(FakeCrimeGoldReachNonViolent)
	CrimeFactionReach.SetCrimeGoldViolent(FakeCrimeGoldReachViolent)
	CrimeFactionRift.SetCrimeGold(FakeCrimeGoldRiftNonViolent)
	CrimeFactionRift.SetCrimeGoldViolent(FakeCrimeGoldRiftViolent)
	CrimeFactionWhiterun.SetCrimeGold(FakeCrimeGoldWhiterunNonViolent)
	CrimeFactionWhiterun.SetCrimeGoldViolent(FakeCrimeGoldWhiterunViolent)
	CrimeFactionWinterhold.SetCrimeGold(FakeCrimeGoldWinterholdNonViolent)
	CrimeFactionWinterhold.SetCrimeGoldViolent(FakeCrimeGoldWinterholdViolent)
	CrimeFactionOrcs.SetCrimeGold(FakeCrimeGoldOrcsNonViolent)
	CrimeFactionOrcs.SetCrimeGold(FakeCrimeGoldOrcsNonViolent)
	CrimeFactionOrcs.SetCrimeGoldViolent(FakeCrimeGoldOrcsViolent)

	DLC2CrimeRavenRock.SetCrimeGold(FakeCrimeGoldDLC2CrimeRavenRockNonViolent)
	DLC2CrimeRavenRock.SetCrimeGoldViolent(FakeCrimeGoldDLC2CrimeRavenRockViolent)
	
;;;;;;;;;;;;;;;;;;;;;;;;;;DLC2CrimeRavenRockFaction;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
	
EndFunction

Function SneakToolsUnsuccesfulEquipFaceMaskFunction()
	CrimeFactionEastmarch.ModCrimeGold(FakeCrimeGoldEastmarchNonViolent)
	CrimeFactionEastmarch.ModCrimeGold(FakeCrimeGoldEastmarchViolent, true)
	CrimeFactionFalkreath.ModCrimeGold(FakeCrimeGoldFalkreathNonViolent)
	CrimeFactionFalkreath.ModCrimeGold(FakeCrimeGoldFalkreathViolent, true)
	CrimeFactionHaafingar.ModCrimeGold(FakeCrimeGoldHaafingarNonViolent)
	CrimeFactionHaafingar.ModCrimeGold(FakeCrimeGoldHaafingarViolent, true)
	CrimeFactionHjaalmarch.ModCrimeGold(FakeCrimeGoldHjaalmarchNonViolent)
	CrimeFactionHjaalmarch.ModCrimeGold(FakeCrimeGoldHjaalmarchViolent, true)
	CrimeFactionPale.ModCrimeGold(FakeCrimeGoldPaleNonViolent)
	CrimeFactionPale.ModCrimeGold(FakeCrimeGoldPaleViolent, true)
	CrimeFactionReach.ModCrimeGold(FakeCrimeGoldReachNonViolent)
	CrimeFactionReach.ModCrimeGold(FakeCrimeGoldReachViolent, true)
	CrimeFactionRift.ModCrimeGold(FakeCrimeGoldRiftNonViolent)
	CrimeFactionRift.ModCrimeGold(FakeCrimeGoldRiftViolent, true)
	CrimeFactionWhiterun.ModCrimeGold(FakeCrimeGoldWhiterunNonViolent)
	CrimeFactionWhiterun.ModCrimeGold(FakeCrimeGoldWhiterunViolent, true)
	CrimeFactionWinterhold.ModCrimeGold(FakeCrimeGoldWinterholdNonViolent)
	CrimeFactionWinterhold.ModCrimeGold(FakeCrimeGoldWinterholdViolent, true)
	CrimeFactionOrcs.ModCrimeGold(FakeCrimeGoldOrcsNonViolent)
	CrimeFactionOrcs.ModCrimeGold(FakeCrimeGoldOrcsViolent, true)
	
	DLC2CrimeRavenRock.ModCrimeGold(FakeCrimeGoldDLC2CrimeRavenRockNonViolent)
	DLC2CrimeRavenRock.ModCrimeGold(FakeCrimeGoldDLC2CrimeRavenRockViolent, true)
	SneakToolsResetFakeCrimeGold()
	
	
	
EndFunction
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EQUIPPING;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UNEQUIPPING;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Function SneakToolsUnequipFaceMaskFunction()
	if(detected)
		RegisterForSingleUpdateGameTime(48)
		If(!playerBusted)
			SneakToolsUnsuccesfulUnequipFaceMaskFunction()
			playerBusted=true
		EndIf
	Else
		RegisterForSingleUpdateGameTime(24)
		If(!playerBusted)
			SneakToolsUpdateFakeCrimeGold()
			SneakToolsSuccesfulUnequipFaceMaskFunction()
			playerRef.StopCombatAlarm()
		EndIf
	EndIf
	detected = false
EndFunction

Function SneakToolsSuccesfulUnequipFaceMaskFunction()
	CrimeFactionEastmarch.SetCrimeGold(RealCrimeGoldEastMarchNonViolent)
	CrimeFactionEastmarch.SetCrimeGoldViolent(RealCrimeGoldEastMarchViolent)
	CrimeFactionFalkreath.SetCrimeGold(RealCrimeGoldFalkreathNonViolent)
	CrimeFactionFalkreath.SetCrimeGoldViolent(RealCrimeGoldFalkreathViolent)
	CrimeFactionHaafingar.SetCrimeGold(RealCrimeGoldHaafingarNonViolent)
	CrimeFactionHaafingar.SetCrimeGoldViolent(RealCrimeGoldHaafingarViolent)
	CrimeFactionHjaalmarch.SetCrimeGold(RealCrimeGoldHjaalmarchNonViolent)
	CrimeFactionHjaalmarch.SetCrimeGoldViolent(RealCrimeGoldHjaalmarchViolent)
	CrimeFactionPale.SetCrimeGold(RealCrimeGoldPaleNonViolent)
	CrimeFactionPale.SetCrimeGoldViolent(RealCrimeGoldPaleViolent)
	CrimeFactionReach.SetCrimeGold(RealCrimeGoldReachNonViolent)
	CrimeFactionReach.SetCrimeGoldViolent(RealCrimeGoldReachViolent)
	CrimeFactionRift.SetCrimeGold(RealCrimeGoldRiftNonViolent)
	CrimeFactionRift.SetCrimeGoldViolent(RealCrimeGoldRiftViolent)
	CrimeFactionWhiterun.SetCrimeGold(RealCrimeGoldWhiterunNonViolent)
	CrimeFactionWhiterun.SetCrimeGoldViolent(RealCrimeGoldWhiterunViolent)
	CrimeFactionWinterhold.SetCrimeGold(RealCrimeGoldWinterholdNonViolent)
	CrimeFactionWinterhold.SetCrimeGoldViolent(RealCrimeGoldWinterholdViolent)
	CrimeFactionOrcs.SetCrimeGold(RealCrimeGoldOrcsNonViolent)
	CrimeFactionOrcs.SetCrimeGoldViolent(RealCrimeGoldOrcsViolent)	
	
	DLC2CrimeRavenRock.SetCrimeGold(RealCrimeGoldDLC2CrimeRavenRockNonViolent)
	DLC2CrimeRavenRock.SetCrimeGoldViolent(RealCrimeGoldDLC2CrimeRavenRockViolent)
	
	
	
	
EndFunction

Function SneakToolsUnsuccesfulUnequipFaceMaskFunction()
	CrimeFactionEastmarch.ModCrimeGold(RealCrimeGoldEastMarchNonViolent)
	CrimeFactionEastmarch.ModCrimeGold(RealCrimeGoldEastMarchViolent, true)
	CrimeFactionFalkreath.ModCrimeGold(RealCrimeGoldFalkreathNonViolent)
	CrimeFactionFalkreath.ModCrimeGold(RealCrimeGoldFalkreathViolent, true)
	CrimeFactionHaafingar.ModCrimeGold(RealCrimeGoldHaafingarNonViolent)
	CrimeFactionHaafingar.ModCrimeGold(RealCrimeGoldHaafingarViolent, true)
	CrimeFactionHjaalmarch.ModCrimeGold(RealCrimeGoldHjaalmarchNonViolent)
	CrimeFactionHjaalmarch.ModCrimeGold(RealCrimeGoldHjaalmarchViolent, true)
	CrimeFactionPale.ModCrimeGold(RealCrimeGoldPaleNonViolent)
	CrimeFactionPale.ModCrimeGold(RealCrimeGoldPaleViolent, true)
	CrimeFactionReach.ModCrimeGold(RealCrimeGoldReachNonViolent)
	CrimeFactionReach.ModCrimeGold(RealCrimeGoldReachViolent, true)
	CrimeFactionRift.ModCrimeGold(RealCrimeGoldRiftNonViolent)
	CrimeFactionRift.ModCrimeGold(RealCrimeGoldRiftViolent, true)
	CrimeFactionWhiterun.ModCrimeGold(RealCrimeGoldWhiterunNonViolent)
	CrimeFactionWhiterun.ModCrimeGold(RealCrimeGoldWhiterunViolent, true)
	CrimeFactionWinterhold.ModCrimeGold(RealCrimeGoldWinterholdNonViolent)
	CrimeFactionWinterhold.ModCrimeGold(RealCrimeGoldWinterholdViolent, true)
	CrimeFactionOrcs.ModCrimeGold(RealCrimeGoldOrcsNonViolent)
	CrimeFactionOrcs.ModCrimeGold(RealCrimeGoldOrcsViolent, true)	
	
	DLC2CrimeRavenRock.ModCrimeGold(RealCrimeGoldDLC2CrimeRavenRockNonViolent)
	DLC2CrimeRavenRock.ModCrimeGold(RealCrimeGoldDLC2CrimeRavenRockViolent, true)
	SneakToolsResetFakeCrimeGold()
	
	
	
EndFunction
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UNEQUIPPING;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Function SneakToolsUpdateRealCrimeGold()
	RealCrimeGoldEastMarchViolent = CrimeFactionEastmarch.GetCrimeGoldViolent()
	RealCrimeGoldFalkreathViolent = CrimeFactionFalkreath.GetCrimeGoldViolent()
	RealCrimeGoldHaafingarViolent = CrimeFactionHaafingar.GetCrimeGoldViolent()
	RealCrimeGoldHjaalmarchViolent = CrimeFactionHjaalmarch.GetCrimeGoldViolent()
	RealCrimeGoldPaleViolent = CrimeFactionPale.GetCrimeGoldViolent()
	RealCrimeGoldReachViolent = CrimeFactionReach.GetCrimeGoldViolent()
	RealCrimeGoldRiftViolent = CrimeFactionRift.GetCrimeGoldViolent()
	RealCrimeGoldWhiterunViolent = CrimeFactionWhiterun.GetCrimeGoldViolent()
	RealCrimeGoldWinterholdViolent = CrimeFactionWinterhold.GetCrimeGoldViolent()
	RealCrimeGoldOrcsViolent = CrimeFactionOrcs.GetCrimeGoldViolent()
	
	RealCrimeGoldDLC2CrimeRavenRockViolent = DLC2CrimeRavenRock.GetCrimeGoldViolent()

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

	RealCrimeGoldEastMarchNonViolent = CrimeFactionEastmarch.GetCrimeGoldNonViolent()
	RealCrimeGoldFalkreathNonViolent = CrimeFactionFalkreath.GetCrimeGoldNonViolent()
	RealCrimeGoldHaafingarNonViolent = CrimeFactionHaafingar.GetCrimeGoldNonViolent()
	RealCrimeGoldHjaalmarchNonViolent = CrimeFactionHjaalmarch.GetCrimeGoldNonViolent()
	RealCrimeGoldPaleNonViolent = CrimeFactionPale.GetCrimeGoldNonViolent()
	RealCrimeGoldReachNonViolent = CrimeFactionReach.GetCrimeGoldNonViolent()
	RealCrimeGoldRiftNonViolent = CrimeFactionRift.GetCrimeGoldNonViolent()
	RealCrimeGoldWhiterunNonViolent = CrimeFactionWhiterun.GetCrimeGoldNonViolent()
	RealCrimeGoldWinterholdNonViolent = CrimeFactionWinterhold.GetCrimeGoldNonViolent()
	RealCrimeGoldOrcsNonViolent = CrimeFactionOrcs.GetCrimeGoldNonViolent()	
	
	RealCrimeGoldDLC2CrimeRavenRockNonViolent = DLC2CrimeRavenRock.GetCrimeGoldNonViolent()
	
	
EndFunction

Function SneakToolsUpdateFakeCrimeGold()
	FakeCrimeGoldEastMarchViolent = CrimeFactionEastmarch.GetCrimeGoldViolent()
	FakeCrimeGoldFalkreathViolent = CrimeFactionFalkreath.GetCrimeGoldViolent()
	FakeCrimeGoldHaafingarViolent = CrimeFactionHaafingar.GetCrimeGoldViolent()
	FakeCrimeGoldHjaalmarchViolent = CrimeFactionHjaalmarch.GetCrimeGoldViolent()
	FakeCrimeGoldPaleViolent = CrimeFactionPale.GetCrimeGoldViolent()
	FakeCrimeGoldReachViolent = CrimeFactionReach.GetCrimeGoldViolent()
	FakeCrimeGoldRiftViolent = CrimeFactionRift.GetCrimeGoldViolent()
	FakeCrimeGoldWhiterunViolent = CrimeFactionWhiterun.GetCrimeGoldViolent()
	FakeCrimeGoldWinterholdViolent = CrimeFactionWinterhold.GetCrimeGoldViolent()
	FakeCrimeGoldOrcsViolent = CrimeFactionOrcs.GetCrimeGoldViolent()

	FakeCrimeGoldDLC2CrimeRavenRockViolent = DLC2CrimeRavenRock.GetCrimeGoldViolent()



	FakeCrimeGoldEastMarchNonViolent = CrimeFactionEastmarch.GetCrimeGoldNonViolent()
	FakeCrimeGoldFalkreathNonViolent = CrimeFactionFalkreath.GetCrimeGoldNonViolent()
	FakeCrimeGoldHaafingarNonViolent = CrimeFactionHaafingar.GetCrimeGoldNonViolent()
	FakeCrimeGoldHjaalmarchNonViolent = CrimeFactionHjaalmarch.GetCrimeGoldNonViolent()
	FakeCrimeGoldPaleNonViolent = CrimeFactionPale.GetCrimeGoldNonViolent()
	FakeCrimeGoldReachNonViolent = CrimeFactionReach.GetCrimeGoldNonViolent()
	FakeCrimeGoldRiftNonViolent = CrimeFactionRift.GetCrimeGoldNonViolent()
	FakeCrimeGoldWhiterunNonViolent = CrimeFactionWhiterun.GetCrimeGoldNonViolent()
	FakeCrimeGoldWinterholdNonViolent = CrimeFactionWinterhold.GetCrimeGoldNonViolent()
	FakeCrimeGoldOrcsNonViolent = CrimeFactionOrcs.GetCrimeGoldNonViolent()

	FakeCrimeGoldDLC2CrimeRavenRockNonViolent = DLC2CrimeRavenRock.GetCrimeGoldNonViolent()
	
	
	
EndFunction

Function SneakToolsResetFakeCrimeGold()
FakeCrimeGoldEastMarchViolent = 0
FakeCrimeGoldFalkreathViolent  = 0
FakeCrimeGoldHaafingarViolent  = 0
FakeCrimeGoldHjaalmarchViolent  = 0
FakeCrimeGoldPaleViolent  = 0
FakeCrimeGoldReachViolent  = 0
FakeCrimeGoldRiftViolent  = 0
FakeCrimeGoldWhiterunViolent  = 0
FakeCrimeGoldWinterholdViolent  = 0
FakeCrimeGoldOrcsViolent = 0

FakeCrimeGoldDLC2CrimeRavenRockViolent = 0

FakeCrimeGoldEastMarchNonViolent  = 0
FakeCrimeGoldFalkreathNonViolent  = 0
FakeCrimeGoldHaafingarNonViolent  = 0
FakeCrimeGoldHjaalmarchNonViolent  = 0
FakeCrimeGoldPaleNonViolent  = 0
FakeCrimeGoldReachNonViolent  = 0
FakeCrimeGoldRiftNonViolent  = 0
FakeCrimeGoldWhiterunNonViolent  = 0
FakeCrimeGoldWinterholdNonViolent  = 0
FakeCrimeGoldOrcsNonViolent = 0

FakeCrimeGoldDLC2CrimeRavenRockNonViolent = 0
EndFunction

Function setPlayerBusted(bool busted)
	playerBusted=busted
EndFunction

FormList Property TrapGasWeapon auto
Explosion Property SneakToolsTrapOilExplosionInitial auto
Explosion Property SneakToolsTrapOilExplosion01 auto
Explosion Property SneakToolsTrapOilExplosionMaster auto

Function initSneakTools()
	playerRef.AddPerk(SneakToolsSlitThroatPerk)
	playerRef.AddPerk(SneakToolsKnockOutPerk)
	playerRef.AddPerk(SneakToolsKillSleepingPerk)
	playerRef.AddPerk(SneakToolsArrowsPerk)
	playerRef.AddToFaction(SneakToolsUnconsciousFaction)
	playerRef.AddSpell(SneakToolsTeleportShopSpell)

	allowThroatSlits = true
	allowKnockOuts = true
	allowSleepKills = true
	allowCrafting = true

	SneakToolsDialTricksOfTheTrade.Add()

	(Game.GetForm(0x00082E17) As FormList).AddForm(Game.GetFormFromFile(0x0008A735, "Sneak Tools.esp"))
	TrapGasWeapon.AddForm(SneakToolsTrapOilExplosionInitial)
	TrapGasWeapon.AddForm(SneakToolsTrapOilExplosion01)
	TrapGasWeapon.AddForm(SneakToolsTrapOilExplosionMaster)

	AddClaraluxLights()

	handleDawnguardInstallation()

	originalJumpHeight = Game.GetGameSettingFloat("fJumpHeightMin")

	RegisterForSingleUpdate(3)
EndFunction

Function handleDawnguardInstallation()
	If(Game.GetFormFromFile(0x00000BB3, "Dawnguard.esm") != None)								;Dawnguard installed
		isDawnguardInstalled = true
		
		(Game.GetForm(0x00082E17) As FormList).AddForm(Game.GetFormFromFile(0x000ABC5C, "Sneak Tools.esp"))
	Else
		isDawnguardInstalled = false
		return
	EndIf
EndFunction

Function addClaraluxLights()
	If(Game.GetFormFromFile(0x00003FAA, "CLARALUX - More and Brighter Lights.esm") == None)		;Claralux not installed
		return
	EndIf

	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FAA, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FE1, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FA8, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FE2, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FA5, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FA4, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FA6, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FA9, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FAD, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00004021, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000018BE, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00001E7B, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x0000131B, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E9E, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E91, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E92, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E93, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E94, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00006E95, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079BB, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x0000143E, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x0000140A, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00003FAC, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000013EC, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00001485, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00002180, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x00001414, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079AB, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079A7, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079A8, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079A9, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079AA, "CLARALUX - More and Brighter Lights.esm"))
	SneakToolsFireLightsFormList.AddForm(Game.GetFormFromFile(0x000079A6, "CLARALUX - More and Brighter Lights.esm"))
EndFunction

Event OnUpdateGameTime()
	SneakToolsResetFakeCrimeGold()
	playerBusted=false
EndEvent

Event OnUpdate()
	SneakToolsAliasesQuest.Stop()
	SneakToolsAliasesQuest.Start()
	RegisterForSingleUpdate(3)
EndEvent

Function SetUseMenuPopUps(bool b)
	If(b)
		SneakToolsUseMenus.SetValueInt(1)
	Else
		SneakToolsUseMenus.SetValueInt(0)
	EndIf
EndFunction

Function SetAllowEssentialKills(bool b)
	If(b)
		SneakToolsAllowEssentialKill.SetValueInt(1)
	Else
		SneakToolsAllowEssentialKill.SetValueInt(0)
	EndIf
EndFunction

Function SetAllowThroatSlits(bool b)
	allowThroatSlits = b
EndFunction

Function SetAllowKnockOuts(bool b)
	allowKnockOuts = b
EndFunction

Function SetAllowSleepKills(bool b)
	allowSleepKills = b
EndFunction

Function SetAllowCrafting(bool b)
	allowCrafting = b
EndFunction

Function ActivateMod()
	RegisterForSingleUpdate(3)
EndFunction

Function DeactivateMod()
	UnregisterForUpdate()
	SneakToolsAliasesQuest.Stop()
EndFunction

Function FixJumpingHeight()
	Game.SetGameSettingFloat("fJumpHeightMin", originalJumpHeight)
EndFunction

Event OnReset()
RealCrimeGoldEastMarchViolent=0
RealCrimeGoldFalkreathViolent =0
RealCrimeGoldHaafingarViolent =0
RealCrimeGoldHjaalmarchViolent =0
RealCrimeGoldPaleViolent =0
RealCrimeGoldReachViolent =0
RealCrimeGoldRiftViolent =0
RealCrimeGoldWhiterunViolent =0
RealCrimeGoldWinterholdViolent =0
RealCrimeGoldOrcsViolent = 0

RealCrimeGoldDLC2CrimeRavenRockViolent = 0

RealCrimeGoldEastMarchNonViolent=0
RealCrimeGoldFalkreathNonViolent =0
RealCrimeGoldHaafingarNonViolent =0
RealCrimeGoldHjaalmarchNonViolent =0
RealCrimeGoldPaleNonViolent =0
RealCrimeGoldReachNonViolent =0
RealCrimeGoldRiftNonViolent =0
RealCrimeGoldWhiterunNonViolent =0
RealCrimeGoldWinterholdNonViolent =0
RealCrimeGoldOrcsNonViolent = 0

RealCrimeGoldDLC2CrimeRavenRockNonViolent = 0

FakeCrimeGoldEastMarchViolent =0
FakeCrimeGoldFalkreathViolent =0
FakeCrimeGoldHaafingarViolent =0
FakeCrimeGoldHjaalmarchViolent =0
FakeCrimeGoldPaleViolent =0
FakeCrimeGoldReachViolent =0
FakeCrimeGoldRiftViolent =0
FakeCrimeGoldWhiterunViolent =0
FakeCrimeGoldWinterholdViolent =0
FakeCrimeGoldOrcsViolent = 0

FakeCrimeGoldDLC2CrimeRavenRockViolent = 0

FakeCrimeGoldEastMarchNonViolent =0
FakeCrimeGoldFalkreathNonViolent =0
FakeCrimeGoldHaafingarNonViolent =0
FakeCrimeGoldHjaalmarchNonViolent =0
FakeCrimeGoldPaleNonViolent =0
FakeCrimeGoldReachNonViolent =0
FakeCrimeGoldRiftNonViolent =0
FakeCrimeGoldWhiterunNonViolent =0
FakeCrimeGoldWinterholdNonViolent =0
FakeCrimeGoldOrcsNonViolent = 0

FakeCrimeGoldDLC2CrimeRavenRockNonViolent = 0
EndEvent

добавив под каждый столбец это-DLC2CrimeRavenRock



#730 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

добавив под каждый столбец это-DLC2CrimeRavenRock

Ну, можешь протестировать. С первого взгляда вроде все норм.

Но я детально эту портянку не разбирал, так что всякое может быть =)

Возможно, еще надо будет Property в .esp-файле назначить.

 

Новая игра только потребуется, скорее всего.

Или полное удаление мода, и создание "чистого сейва".

Квестовые скрипты в сейвы пишутся.

 

И неужели нет уже готового патча на нексусе?

Трудно поверить.



#731 Ссылка на это сообщение angel-deff

angel-deff
  • Авантюрист
  • 173 сообщений
  •  

Отправлено

Ну, можешь протестировать. С первого взгляда вроде все норм.

Но я детально эту портянку не разбирал, так что всякое может быть =)

Возможно, еще надо будет Property в .esp-файле назначить.

 

Новая игра только потребуется, скорее всего.

Или полное удаление мода, и создание "чистого сейва".

Квестовые скрипты в сейвы пишутся.

 

И неужели нет уже готового патча на нексусе?

Трудно поверить.

Уже протестил. Без новой игры правда, короче не пашет так. С новой игрой проверю позже. И да, патча нет ибо нынешний автор злюка а прежней забыл добавить скалу как признался.

И я ароде написал скрипт функцию

Scriptname Crime_gold   
Function SetPlayerReportCrime(bool abReportCrime = true)
Game.SetPlayerReportCrime(false)

EndFunction

он даже скомпелировался, теперь думаю как его нацепить на шлем шоб работал



#732 Ссылка на это сообщение angel-deff

angel-deff
  • Авантюрист
  • 173 сообщений
  •  

Отправлено

.

 

И неужели нет уже готового патча на нексусе?

Трудно поверить.

У мода есть версия для SE но там уже все длс вшиты. Я скачал на легендарку и эффект тот же. В скале 0 эффекта. И никто не хочет делать патчи и подгонять под легенду мод



#733 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

И я ароде написал скрипт функцию

Одной функции мало. Скрипты так не работают.

 

Во-первых, им нужен объект, с которого они будут срабатывать. Скрипт для квеста не будет работать для персонажа.

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

 

Во-вторых, скриптам нужно событие, с которого они будут запускаться. Event. У тебя этого тоже нет.

Сам код функции вне эвентов записан (или даже в другом скрипте), но функция все равно будет вызываться только в каком-то эвенте. Без эвента это все бесполезно.

 

Я ж говорил - изучай туториалы, Там все это объясняется.

 

Применительно к скрипту выше - сам видишь, там только функции, без эвентов.

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



#734 Ссылка на это сообщение angel-deff

angel-deff
  • Авантюрист
  • 173 сообщений
  •  

Отправлено

Одной функции мало. Скрипты так не работают.

 

Во-первых, им нужен объект, с которого они будут срабатывать. Скрипт для квеста не будет работать для персонажа.

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

 

Во-вторых, скриптам нужно событие, с которого они будут запускаться. Event. У тебя этого тоже нет.

Сам код функции вне эвентов записан (или даже в другом скрипте), но функция все равно будет вызываться только в каком-то эвенте. Без эвента это все бесполезно.

 

Я ж говорил - изучай туториалы, Там все это объясняется.

 

Применительно к скрипту выше - сам видишь, там только функции, без эвентов.

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

 

Вроде проперти под названием прописал, ивенты у того скрипта спёр вместе с ссылками, лишнее стёр оставив как событие заклинание которое привязано к зачарованию которое сейчас часть шлема. Следовательно предпологаю-пока шлем одет функция которую я прописал в ивент должна работать.

Scriptname Crime_gold
Actor Property Player Auto
	Function SetPlayerReportCrime(bool abReportCrime = true)
	Game.SetPlayerReportCrime(false)
EndFunction

Event OnEffectStart(Actor akTarget, Actor akCaster)
If(akTarget == playerRef)
		playerRef.AddSpell(SneakToolsWearingMaskAbility, false)
		Function SetPlayerReportCrime(bool abReportCrime = true)
		Game.SetPlayerReportCrime(false)
EndFunction
EndIf

EndEvent

Event OnEffectFinish(Actor akTarget, Actor akCaster)
If(akTarget == playerRef)
		playerRef.RemoveSpell(SneakToolsWearingMaskAbility)
	EndIf
Event

надеюсь, я правельно всё сделал? Или хоть чуток ближе к правельному? Я вот честно, очень хочу закончить мод за эти 6 дней=)


Сообщение отредактировал angel-deff: 06 июля 2021 - 16:03


#735 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

надеюсь, я правельно всё сделал?

Нет.

 

Или хоть чуток ближе к правельному?

Чуток ближе, да.

Но все равно - ерунда ерундой.

 

Изучай туториалы, в последний раз повторяю.

Если бы ты потратил 2-3 часа на изучение - уже бы все сделал.



#736 Ссылка на это сообщение ScottMontgomery

ScottMontgomery
  • Новенький
  • 3 сообщений

Отправлено

Всем привет, помогите пожалуйста с простым скриптом, уже часов 8 бьюсь головой об стену и ничего не получается. Суть в следующем - скрипт вешается на предмет и при одевании проверяется какое-либо условие (например пол нпц) и выполняется что-либо. Проблема в том, что я никак не могу найти REF предмета к которому прикреплен скрипт.

Scriptname AaaScriptName extends ObjectReference

event OnEquipped(Actor akActor)
  ;ObjectReference equipment = self
  Form equipment = GetBaseObject()

  if (akActor.GetActorBase().GetSex() == 1)
    akActor.RemoveItem(equipment, 1)
    Debug.MessageBox(equipment)
  endIf
endevent


#737 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

 

Всем привет, помогите пожалуйста с простым скриптом, уже часов 8 бьюсь головой об стену и ничего не получается. Суть в следующем - скрипт вешается на предмет и при одевании проверяется какое-либо условие (например пол нпц) и выполняется что-либо. Проблема в том, что я никак не могу найти REF предмета к которому прикреплен скрипт.

Scriptname AaaScriptName extends ObjectReference

event OnEquipped(Actor akActor)
  ;ObjectReference equipment = self
  Form equipment = GetBaseObject()

  if (akActor.GetActorBase().GetSex() == 1)
    akActor.RemoveItem(equipment, 1)
    Debug.MessageBox(equipment)
  endIf
endevent

Попробуй что-то типа такого:

Armor equipment = (self as Form) as Armor

Или сразу "self as Armor", без использования form.

 

Если совсем никак - переделай систему на ивент OnObjectEquipped и проверяй его с НПСа, а не с предмета.



#738 Ссылка на это сообщение ScottMontgomery

ScottMontgomery
  • Новенький
  • 3 сообщений

Отправлено

Попробуй что-то типа такого:

Armor equipment = (self as Form) as Armor

Или сразу "self as Armor", без использования form.

 

Если совсем никак - переделай систему на ивент OnObjectEquipped и проверяй его с НПСа, а не с предмета.

Спасибо за ответ. Это не работает - MessageBox отображает [AaaScriptName <Item 1 in container (00000014)>], а должен REF брони. Без Form не компилится скрипт. Дело в том, что очень много брони попадает через лвл листы почти всем нпц и делать мужскую версию брони я не буду. И чтобы не было модников-мужск. нпц с бархатным бельем например мне проще на многие предметы повесить скрипт. Вешать его на всех нпц просто не вариант. Не могу понять неужели нельзя никак обратиться в скрипте к его источнику, на который его поцепили? 



#739 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

а должен REF брони

Так броня то удаляется, или нет? Мессаджбокс тебе зачем?

 

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

Вообще, self для этого и нужен. Но как он точно работает я уже и не помню. Использовал пару раз всего, вроде бы как раз как в примере выше описал, через двойной "as".



#740 Ссылка на это сообщение ScottMontgomery

ScottMontgomery
  • Новенький
  • 3 сообщений

Отправлено

Так броня то удаляется, или нет? Мессаджбокс тебе зачем?

 

Вообще, self для этого и нужен. Но как он точно работает я уже и не помню. Использовал пару раз всего, вроде бы как раз как в примере выше описал, через двойной "as".

Мессаджбокс для фидбека, чтобы убедиться в правильности переменной. Ничего не удаляется, там или None, или пусто, или [AaaScriptName <Item 1 in container (00000014)>] (если обратиться напрямую к self он даст такой же результат). Сдается мне это все потому, что у объекта нет REF тк он лежит в инвентаре и нужно это как-то реализовывать через пустой квест или типо того.



#741 Ссылка на это сообщение ломгом

ломгом
  • Новенький
  • 11 сообщений

Отправлено

Добрый день.

Хочу сделать скрипт в котором при активации кнопки исчезала/появлялась определенная стена, однако не просто disable/enable, а чтобы была анимация исчезновения/появления. например через "effectshader property"

Знающие скриптеры подскажите как можно такое реализовать? Нечто похожее с исчезновением есть в Апокрифе у расширяющихся коридоров.







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

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

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