BrendonLeCount Posted March 9, 2019 Share Posted March 9, 2019 I'm getting a weird error message when trying to compile a script: Attempting to add temporary variable named ::temperatureBurst_var to free list multiple times It shows up anywhere that I reference a property a second time in a function. Here's the code in question: function PPAKeyTapped() if hasUGBurster == 1 && (upperTemperature >= temperatureBurst || lowerTemperature >= temperatureBurst) wearer.PlaceAtMe(PPABursterExplosion, 1) upperTemperature = upperTemperature - deltaTempBurster lowerTemperature = lowerTemperature - deltaTempBurster elseif hasUGChiller == 1 && chillerCharges > 0 PPAChillerSound.Play(wearer) upperTemperature = upperTemperature - deltaTempChiller lowerTemperature = lowerTemperature - deltaTempChiller endif endfunction As far as I can tell there is nothing wrong with the way the properties have been declared. Link to comment Share on other sites More sharing options...
Deleted3897072User Posted March 11, 2019 Share Posted March 11, 2019 It might help if you posted the whole script, including the property declarations. Link to comment Share on other sites More sharing options...
BrendonLeCount Posted March 11, 2019 Author Share Posted March 11, 2019 Scriptname PPADwarvenPAActiScript extends PPAPowerArmorActiScript Armor property PPADwarvenBoots auto Armor property PPADwarvenCuirass auto Armor property PPADwarvenGauntlets auto Armor property PPADwarvenHelmet auto Sound property PPAChillerSound auto Explosion property PPABursterExplosion auto Explosion property PPASiphonExplosion auto MiscObject property DwarvenCenturionDynamo auto Ingredient property IceWraithTeeth auto MiscObject property PPACenturionDynamoDepleted auto MiscObject property PPAUpgradeArmPistons auto MiscObject property PPAUpgradeBatteryDwarven auto MiscObject property PPAUpgradeBurster auto MiscObject property PPAUpgradeChiller auto MiscObject property PPAUpgradeEmbodimentDwarven auto MiscObject property PPAUpgradeLegPistons auto MiscObject property PPAUpgradeReclaimer auto MiscObject property PPAUpgradeSiphon auto MiscObject property PPAUpgradeTelestorageNode auto Message property PPAMenuWorldChargeCore auto Message property PPAMenuWorldChargeCoreChiller auto Message property PPAMenuWorldInstallDwarvenA auto Message property PPAMenuWorldInstallDwarvenB auto Message property PPAMenuWorldInstallDwarvenC auto Message property PPAMenuWorldUninstallDwarvenA auto Message property PPAMenuWorldUninstallDwarvenB auto Message property PPAMenuWorldUninstallDwarvenC auto Message property PPAMenuWorldInfoArms auto Message property PPAMenuWorldInfoBatteryDwarven auto Message property PPAMenuWorldInfoBurster auto Message property PPAMenuWorldInfoChiller auto Message property PPAMenuWorldInfoEmbodiment auto Message property PPAMenuWorldInfoLegs auto Message property PPAMenuWorldInfoReclaimer auto Message property PPAMenuWorldInfoSiphon auto Message property PPAMenuWorldInfoTelestorage auto Message property PPATemperatureMessage auto Perk property PPADwarvenAssist auto float property dynamoCharge = 7200.0 auto float property dischargeRateReclaimer = 0.5 auto float property cOut = 0.001 auto float property temperatureRun = 100.0 auto float property temperatureRunReclaimer = 80.0 auto float property temperatureRunLegs = 120.0 auto float property temperatureSprint = 150.0 auto float property temperatureSprintReclaimer = 130.0 auto float property temperatureSprintLegs = 170.0 auto float property temperatureCritical = 120.0 auto float property temperatureNormal = 60.0 auto float property deltaTempChiller = 60.0 auto float property deltaTempBurster = 30.0 auto float property overheatDamageMult = 0.15 auto float property siphonInterval = 10.0 auto float property siphonChargeMult = 1.0 auto int property maxChillerCharges = 20 auto int hasUGTelestorageNode = 0 int hasUGLegs = 0 int hasUGArms = 0 int hasUGReclaimer = 0 int hasUGBurster = 0 int hasUGChiller = 0 int hasUGBattery1 = 0 int hasUGBattery2 = 0 int hasUGSiphon = 0 int hasUGEmbodiment = 0 float temperature float siphonTimer = 0.0 float tempMessageTimer = 0.0 int chillerCharges = 0 function ArmorUpdated(float deltaTime, int moveMode, float deltaCharge) ; Qout = (temperature - temperatureNormal) * Cout * dt ; Qgen = Cgen * dt ; Tss - temperatureNormal = Cgen / Cout ; Cgen = (Tss - temperatureNormal) * Cout ; dT = Qgen - Qout = (Tss - temperatureNormal) * Cout * dt - (temperature - temperatureNormal) * Cout * dt ; temperature = temperature + dt * Cout * (Tss - temperature) float Tss = temperatureNormal if wearer.HasPerk(PPADwarvenAssist) if (hasUGReclaimer == 1 && hasUGLegs == 1) || (hasUGReclaimer == 0 && hasUGLegs == 0) if moveMode == 1 Tss = temperatureRun elseif moveMode == 2 Tss = temperatureSprint endif elseif hasUGLegs == 1 if moveMode == 1 Tss = temperatureRunLegs elseif moveMode == 2 Tss = temperatureSprintLegs endif else if moveMode == 1 Tss = temperatureRunReclaimer elseif moveMode == 2 Tss = temperatureSprintReclaimer endif endif if hasUGSiphon == 1 if wearer.IsInCombat() if siphonTimer <= 0.0 siphonTimer = siphonInterval wearer.PlaceAtMe(PPASiphonExplosion, 1) else siphonTimer = siphonTimer - deltaTime endif else siphonTimer = 0.0 endif endif wearer.RestoreActorValue("Stamina", 100.0) endif temperature = temperature + deltaTime * cOut * (Tss - temperature) float temperatureDamage = temperatureCritical - temperature if (temperatureDamage > 0.0) wearer.DamageAV("Health", temperatureDamage * deltaTime * overheatDamageMult) endif if tempMessageTimer <= 0.0 tempMessageTimer = 10.0 PPATemperatureMessage.Show(temperature) else tempMessageTimer = tempMessageTimer - deltaTime endif endfunction function PPAKeyTapped() if hasUGBurster == 1 && temperature > temperatureCritical wearer.PlaceAtMe(PPABursterExplosion, 1) temperature = temperature - deltaTempBurster elseif hasUGChiller == 1 && chillerCharges > 0 PPAChillerSound.Play(wearer) temperature = temperature - deltaTempChiller endif endfunction function ChargeArmor() if wearer.GetItemCount(DwarvenCenturionDynamo) > 0 wearer.RemoveItem(DwarvenCenturionDynamo, 1) wearer.AddItem(PPACenturionDynamoDepleted, 1) AddCharge(dynamoCharge) endif endfunction function ChargeDepleted() if wearer.HasPerk(PPADwarvenAssist) == true wearer.RemovePerk(PPADwarvenAssist) endif endfunction function ChargeRestored() if wearer.HasPerk(PPADwarvenAssist) == false wearer.AddPerk(PPADwarvenAssist) endif endfunction function ArmorEquipped() armorContainer.RemoveItem(PPADwarvenCuirass, 1, true, wearer) wearer.EquipItem(PPADwarvenCuirass, true, true) armorContainer.RemoveItem(PPADwarvenHelmet, 1, true, wearer) wearer.EquipItem(PPADwarvenHelmet, true, true) armorContainer.RemoveItem(PPADwarvenGauntlets, 1, true, wearer) wearer.EquipItem(PPADwarvenGauntlets, true, true) armorContainer.RemoveItem(PPADwarvenBoots, 1, true, wearer) wearer.EquipItem(PPADwarvenBoots, true, true) temperature = temperatureNormal if charge > 0 wearer.AddPerk(PPADwarvenAssist) endif endfunction function ArmorUnequipped() wearer.UnequipItem(PPADwarvenCuirass, false, true) wearer.RemoveItem(PPADwarvenCuirass, 1, true, armorContainer) wearer.UnequipItem(PPADwarvenHelmet, false, true) wearer.RemoveItem(PPADwarvenHelmet, 1, true, armorContainer) wearer.UnequipItem(PPADwarvenGauntlets, false, true) wearer.RemoveItem(PPADwarvenGauntlets, 1, true, armorContainer) wearer.UnequipItem(PPADwarvenBoots, false, true) wearer.RemoveItem(PPADwarvenBoots, 1, true, armorContainer) if wearer.HasPerk(PPADwarvenAssist) == true wearer.RemovePerk(PPADwarvenAssist) endif endfunction function ArmorInitialized() armorContainer.AddItem(PPADwarvenCuirass, 1) armorContainer.AddItem(PPADwarvenHelmet, 1) armorContainer.AddItem(PPADwarvenGauntlets, 1) armorContainer.AddItem(PPADwarvenBoots, 1) endfunction bool function ShowChargeMenu() while true if hasUGChiller == 1 int response = PPAMenuWorldChargeCoreChiller.Show(charge, 100.0 * charge / maxCharge, dynamoCharge, chillerCharges, maxChillerCharges, maxChillerCharges) if response == 0 ; back return false elseif response == 1 ChargeArmor() elseif response == 2 PlayerREF.RemoveItem(IceWraithTeeth, 1) chillerCharges = maxChillerCharges endif else int response = PPAMenuWorldChargeCore.Show(charge, 100.0 * charge / maxCharge, dynamoCharge) if response == 0 ; back return false elseif response == 1 ChargeArmor() endif endif endwhile endfunction bool function ShowUpgradeMenuInstalled() int menuTab = 0 int response while true SetUpgradeConditionals() if menuTab == 0 response = PPAMenuWorldUninstallDwarvenA.Show() if response == 0 ; back return false elseif response == 1 ; soul siphon ShowInstallInfoSiphon() elseif response == 2 ; battery 1 ShowInstallInfoBattery1() elseif response == 3 ; battery 2 ShowInstallInfoBattery2() elseif response == 4 ; embodiment ShowInstallInfoEmbodiment() elseif response == 5 ; next menuTab = 1 endif elseif menuTab == 1 response = PPAMenuWorldUninstallDwarvenB.Show() if response == 0 ; back return false elseif response == 1 ; previous menuTab = 0 elseif response == 2 ; telestorage ShowInstallInfoTelestorage() elseif response == 3 ; arms ShowInstallInfoArms() elseif response == 4 ; legs ShowInstallInfoLegs() elseif response == 5 ; next menuTab = 2 endif elseif menuTab == 2 response = PPAMenuWorldUninstallDwarvenC.Show() if response == 0 ; back return false elseif response == 1 ; previous menuTab = 1 elseif response == 2 ; chiller ShowInstallInfoChiller() elseif response == 3 ; burster ShowInstallInfoBurster() elseif response == 4 ; reclaimer ShowInstallInfoReclaimer() endif endif endwhile endfunction bool function ShowUpgradeMenuCompatible() int menuTab = 0 int response while true SetUpgradeConditionals() if menuTab == 0 response = PPAMenuWorldInstallDwarvenA.Show() if response == 0 ; back return false elseif response == 1 ; soul siphon ShowInstallInfoSiphon() elseif response == 2 ; battery 1 ShowInstallInfoBattery1() elseif response == 3 ; battery 2 ShowInstallInfoBattery2() elseif response == 4 ; embodiment ShowInstallInfoEmbodiment() elseif response == 5 ; next menuTab = 1 endif elseif menuTab == 1 response = PPAMenuWorldInstallDwarvenB.Show() if response == 0 ; back return false elseif response == 1 ; previous menuTab = 0 elseif response == 2 ; telestorage ShowInstallInfoTelestorage() elseif response == 3 ; arms ShowInstallInfoArms() elseif response == 4 ; legs ShowInstallInfoLegs() elseif response == 5 ; next menuTab = 2 endif elseif menuTab == 2 response = PPAMenuWorldInstallDwarvenC.Show() if response == 0 ; back return false elseif response == 1 ; previous menuTab = 1 elseif response == 2 ; chiller ShowInstallInfoChiller() elseif response == 3 ; burster ShowInstallInfoBurster() elseif response == 4 ; reclaimer ShowInstallInfoReclaimer() endif endif endwhile endfunction function ShowInstallInfoSiphon() int response = PPAMenuWorldInfoSiphon.Show() if response == 1 ; install hasUGSiphon = 1 PlayerREF.RemoveItem(PPAUpgradeSiphon, 1) elseif response == 2 ; uninstall hasUGSiphon = 0 PlayerREF.AddItem(PPAUpgradeSiphon, 1) endif endfunction function ShowInstallInfoBattery1() int response = PPAMenuWorldInfoBatteryDwarven.Show() if response == 1 ; install hasUGBattery1 = 1 maxCharge = dynamoCharge * 2.0 PlayerREF.RemoveItem(PPAUpgradeBatteryDwarven, 1) elseif response == 2 ; uninstall hasUGBattery1 = 0 maxCharge = dynamoCharge * 1.0 if charge > maxCharge charge = maxCharge PlayerREF.AddItem(PPACenturionDynamoDepleted, 1) endif PlayerREF.AddItem(PPAUpgradeBatteryDwarven, 1) endif endfunction function ShowInstallInfoBattery2() int response = PPAMenuWorldInfoBatteryDwarven.Show() if response == 1 ; install hasUGBattery2 = 1 maxCharge = dynamoCharge * 3.0 PlayerREF.RemoveItem(PPAUpgradeBatteryDwarven, 1) elseif response == 2 ; uninstall hasUGBattery2 = 0 maxCharge = dynamoCharge * 2.0 if charge > maxCharge charge = maxCharge PlayerREF.AddItem(PPACenturionDynamoDepleted, 1) endif PlayerREF.AddItem(PPAUpgradeBatteryDwarven, 1) endif endfunction function ShowInstallInfoEmbodiment() int response = PPAMenuWorldInfoEmbodiment.Show() if response == 1 ; install hasUGEmbodiment = 1 PlayerREF.RemoveItem(PPAUpgradeEmbodimentDwarven, 1) elseif response == 2 ; uninstall hasUGEmbodiment = 0 PlayerREF.AddItem(PPAUpgradeEmbodimentDwarven, 1) endif endfunction function ShowInstallInfoTelestorage() int response = PPAMenuWorldInfoTelestorage.Show() if response == 1 ; install hasUGTelestorageNode = 1 PlayerREF.RemoveItem(PPAUpgradeTelestorageNode, 1) elseif response == 2 ; uninstall hasUGTelestorageNode = 0 PlayerREF.AddItem(PPAUpgradeTelestorageNode, 1) endif endfunction function ShowInstallInfoArms() int response = PPAMenuWorldInfoArms.Show() if response == 1 ; install hasUGArms = 1 PlayerREF.RemoveItem(PPAUpgradeArmPistons, 1) elseif response == 2 ; uninstall hasUGArms = 0 PlayerREF.AddItem(PPAUpgradeArmPistons, 1) endif endfunction function ShowInstallInfoLegs() int response = PPAMenuWorldInfoLegs.Show() if response == 1 ; install hasUGLegs = 1 PlayerREF.RemoveItem(PPAUpgradeLegPistons, 1) elseif response == 2 ; uninstall hasUGLegs = 0 PlayerREF.AddItem(PPAUpgradeLegPistons, 1) endif endfunction function ShowInstallInfoChiller() int response = PPAMenuWorldInfoChiller.Show() if response == 1 ; install hasUGChiller = 1 PlayerREF.RemoveItem(PPAUpgradeChiller, 1) elseif response == 2 ; uninstall hasUGChiller = 0 PlayerREF.AddItem(PPAUpgradeChiller, 1) endif endfunction function ShowInstallInfoBurster() int response = PPAMenuWorldInfoBurster.Show() if response == 1 ; install hasUGBurster = 1 PlayerREF.RemoveItem(PPAUpgradeBurster, 1) elseif response == 2 ; uninstall hasUGBurster = 0 PlayerREF.AddItem(PPAUpgradeBurster, 1) endif endfunction function ShowInstallInfoReclaimer() int response = PPAMenuWorldInfoReclaimer.Show() if response == 1 ; install hasUGReclaimer = 1 dischargeRateCurrent = dischargeRateReclaimer PlayerREF.RemoveItem(PPAUpgradeReclaimer, 1) elseif response == 2 ; uninstall hasUGReclaimer = 0 dischargeRateCurrent = dischargeRate PlayerREF.AddItem(PPAUpgradeReclaimer, 1) endif endfunction function SetUpgradeConditionals() PPAMenuConditionsQuest.hasUGTelestorageNode = hasUGTelestorageNode PPAMenuConditionsQuest.hasUGLegs = hasUGLegs PPAMenuConditionsQuest.hasUGArms = hasUGArms PPAMenuConditionsQuest.hasUGReclaimer = hasUGReclaimer PPAMenuConditionsQuest.hasUGBurster = hasUGBurster PPAMenuConditionsQuest.hasUGChiller = hasUGChiller PPAMenuConditionsQuest.hasUGBattery1 = hasUGBattery1 PPAMenuConditionsQuest.hasUGBattery2 = hasUGBattery2 PPAMenuConditionsQuest.hasUGSiphon = hasUGSiphon PPAMenuConditionsQuest.hasUGEmbodiment = hasUGEmbodiment endfunction function ApplyDeathSiphon(float baseHealth) if hasUGSiphon == 1 AddCharge(baseHealth * siphonChargeMult) endif endFunction Here it is in it's current form. I've changed the code to avoid referencing any properties more than once back to back in a function, but you can see the property declarations there. Link to comment Share on other sites More sharing options...
BrendonLeCount Posted March 11, 2019 Author Share Posted March 11, 2019 Here's the script it extends: Scriptname PPAPowerArmorActiScript extends ObjectReference Actor property PlayerREF auto PPAMainQuestScript property PPAMainQuest auto PPAMenuConditions property PPAMenuConditionsQuest auto ObjectReference property PPAStorageREF auto Message property PPAMenuWorldBase auto Message property PPAMenuMainBase auto Message property PPAMenuWorldUpgrade auto Container property PPAArmorChest auto ReferenceAlias property Follower auto Float property scaleIncrease = -1.0 auto Float property maxCharge = 7200.0 auto Float property dischargeRate = 1.0 auto Float property dischargeRateCurrent = 1.0 auto hidden Float property updateInterval = 0.5 autoreadonly Float property keyHeldTime = 1.0 autoreadonly float property effortRun = 1.5 auto float property effortSprint = 2.5 auto Int property menuKeyCode = 25 auto hidden Float property charge = 0.0 auto hidden Actor property wearer = none auto hidden ReferenceAlias property owningAlias = none auto hidden ObjectReference property miscREF auto hidden ObjectReference property armorREF auto hidden ObjectReference property bootsREF auto hidden ObjectReference property gauntletsREF auto hidden ObjectReference property helmetREF auto hidden ObjectReference property storageContainer auto hidden ObjectReference property armorContainer auto hidden bool keyDownPA = false float keyDownPATimer = 0.0 float wearerScale bool equipped = false event OnActivate(ObjectReference akActionRef) if akActionRef == PlayerREF ShowWorldMenu() endif endevent event OnUpdate() if keyDownPA keyDownPATimer -= updateInterval if keyDownPATimer <= 0 && !Utility.IsInMenuMode() ShowEquippedMenu() endif endif int moveMode = GetMoveMode() if charge > 0 float effort = GetEffort(moveMode) float deltaCharge = effort * dischargeRate * updateInterval if deltaCharge > charge deltaCharge = charge endif RemoveCharge(deltaCharge) ArmorUpdated(updateInterval, moveMode, deltaCharge) else ArmorUpdated(updateInterval, moveMode, 0.0) endif if equipped RegisterForSingleUpdate(updateInterval) endif endevent int function GetMoveMode() if wearer.IsSprinting() return 2 elseif wearer.IsRunning() return 1 else return 0 endif endfunction float function GetEffort(int moveMode) if moveMode == 0 return 1.0 elseif moveMode == 1 return effortRun elseif moveMode == 2 return effortSprint endif endfunction event OnKeyDown(int keyCode) if keyCode == menuKeyCode && !Utility.IsInMenuMode() keyDownPA = true keyDownPATimer = keyHeldTime endif endevent event OnKeyUp(int keyCode, float holdTime) if keyCode == menuKeyCode keyDownPA = false if holdtime < keyHeldTime if !Utility.IsInMenuMode() PPAKeyTapped() endif endif endif endevent event OnMenuOpen(string menuName) if menuName == "Crafting Menu" armorContainer.RemoveItem(armorREF, 1, PlayerREF) armorContainer.RemoveItem(helmetREF, 1, PlayerREF) armorContainer.RemoveItem(gauntletsREF, 1, PlayerREF) armorContainer.RemoveItem(bootsREF, 1, PlayerREF) endif endevent event OnMenuClose(string menuName) if menuName == "Crafting Menu" PlayerREF.RemoveItem(armorREF, 1, armorContainer) PlayerREF.RemoveItem(helmetREF, 1, armorContainer) PlayerREF.RemoveItem(gauntletsREF, 1, armorContainer) PlayerREF.RemoveItem(bootsREF, 1, armorContainer) endif endevent function InitializeArmor(ObjectReference akArmorMiscREF) ; if owningAlias == none ; owningAlias = PPAMainQuest.RegisterArmor(self) ; if owningAlias != none miscREF = akArmorMiscREF SetMotionType(4, true) storageContainer = PPAStorageREF.PlaceAtMe(PPAArmorChest) armorContainer = PPAStorageREF.PlaceAtMe(PPAArmorChest) charge = maxCharge dischargeRateCurrent = dischargeRate ArmorInitialized() ; endif ; endif endfunction function ShowWorldMenu() SetHasFollower() bool exitMenu = false while exitMenu == false SetUpgradeConditionals() int response = PPAMenuWorldBase.Show(charge, 100.0 * charge / maxCharge) if (response == 0) ; exit exitMenu = true elseif response == 1 ; equip EquipOnActor(PlayerREF) exitMenu = true elseif response == 2 ; follower equip if Follower.GetActorReference() != none EquipOnActor(Follower.GetActorReference()) exitMenu = true endif elseif response == 3 ; charge exitMenu = ShowChargeMenu() elseif response == 4 ; storage OpenArmorStorage() exitMenu = true elseif response == 5 ; upgrades exitMenu = ShowUpgradeMenu() elseif response == 6 ; store PlayerREF.AddItem(miscREF, 1) MoveTo(PPAStorageREF) exitMenu = true endif endwhile endfunction bool function ShowUpgradeMenu() bool exitMenu = false while exitMenu == false int response = PPAMenuWorldUpgrade.Show() if response == 0 ; back return false elseif response == 1 ; installed exitMenu = ShowUpgradeMenuInstalled() elseif response == 2 ; compatible exitMenu = ShowUpgradeMenuCompatible() endif endwhile endfunction function ShowEquippedMenu() bool exitMenu = false int menuLevel = 0 while exitMenu == false if menuLevel == 0 SetUpgradeConditionals() int response = PPAMenuMainBase.Show(charge, 100.0 * charge / maxCharge) if (response == 0) ; exit exitMenu = true elseif response == 1 ; charge exitMenu = ShowChargeMenu() elseif response == 2 ; storage OpenArmorStorage() exitMenu = true elseif response == 3 ; unequip UnequipFromWearer(false) exitMenu = true elseif response == 4 ; store UnequipFromWearer(true) endif endif endwhile endfunction function EquipOnActor(Actor akActor) MoveTo(PPAStorageREF) armorContainer.AddItem(miscREF, 1) wearer = akActor ArmorEquipped() ;if scaleIncrease > 0 ; wearerScale = wearer.GetScale() ; wearer.SetScale(scaleIncrease) ;endif if akActor == PlayerREF RegisterForKey(25) endif equipped = true RegisterForSingleUpdate(updateInterval) endfunction function UnequipFromWearer(bool store) equipped = false UnregisterForUpdate() if (wearer == PlayerREF) UnregisterForKey(menuKeyCode) endif if store PlayerREF.AddItem(miscREF, 1) else SpawnAtRef(wearer) endif ArmorUnequipped() ;if wearerScale > 0 ; wearer.SetScale(wearerScale) ;endif wearer = none endfunction function OpenArmorStorage() storageContainer.Activate(PlayerREF) endfunction function AddCharge(float chargeAdded) if chargeAdded > 0 charge = charge + chargeAdded if charge > maxCharge charge = maxCharge endif ChargeRestored() endif endfunction function RemoveCharge(float chargeRemoved) if chargeRemoved > 0 charge = charge - chargeRemoved if charge <= 0 charge = 0 ChargeDepleted() endif endif endfunction function SpawnAtRef(ObjectReference akSpawnRef) armorContainer.AddItem(miscREF) MoveTo(akSpawnRef) endfunction function MiscRefOnPlayer(bool onPlayer) if onPlayer RegisterForMenu("Crafting Menu") else UnregisterForMenu("Crafting Menu") endif endfunction function SetHasFollower() if Follower.GetReference() == none PPAMenuConditionsQuest.hasFollower = 0 else PPAMenuConditionsQuest.hasFollower = 1 endif endfunction ;_______________________________________________ ; Abstract Functions ;----------------------------------------------- function ArmorUpdated(float deltaTime, int moveMode, float deltaCharge) endfunction function PPAKeyTapped() endfunction function ChargeArmor() endfunction function ChargeDepleted() endfunction function ChargeRestored() endfunction function ArmorEquipped() endfunction function ArmorUnequipped() endfunction function ArmorInitialized() endfunction bool function ShowChargeMenu() return false endfunction bool function ShowUpgradeMenuInstalled() return false endfunction bool function ShowUpgradeMenuCompatible() return false endfunction function SetUpgradeConditionals() endfunction function ApplyDeathSiphon(float baseHealth) endFunction Link to comment Share on other sites More sharing options...
FrankFamily Posted March 12, 2019 Share Posted March 12, 2019 (edited) I don't think there's any problem with referencing a property multiple times in a function, this must be something else. What variable gives the error now that "temperatureBurst" doesn't exist? Also, the code tag for some reason adds alternating white background to the lines which makes it very uncomfortable to read. Edited March 12, 2019 by FrankFamily Link to comment Share on other sites More sharing options...
BrendonLeCount Posted March 30, 2019 Author Share Posted March 30, 2019 Thanks for taking a look. I'm back to working on this part of the mod, and apparently there's another part to the problem. For the properties involved, they act like they have the default value (0.0 for floats) rather than their assigned value. I tested this by changing line 126 in the first script to show Tss instead of temperature (it reported -0 instead of 60). Changing that line to report temperatureNormal results in the compile error I've been getting (temperatureNormal already gets accessed on line 84). Changing those float properties from auto to autoreadonly fixes both problems, but that's kind of limiting. Sorry about the code tag. Changing your theme from Underground to White (the button is in the lower left corner of the page) makes it readable, though it looks kind of funny after seeing a black background here for so many years. Link to comment Share on other sites More sharing options...
IsharaMeradin Posted March 30, 2019 Share Posted March 30, 2019 Regarding the code tag, if the code tag is used without line numbering the alternating colors do not appear. As far as the issue at hand, no idea. It sounds weird to me. Link to comment Share on other sites More sharing options...
Recommended Posts