TGBlank Posted June 1, 2009 Share Posted June 1, 2009 There's IsLimbGone, tho i doubt you'll get much improvement from that. GetCauseOfDeath may also be of use to you. Link to comment Share on other sites More sharing options...
Gilg Posted June 1, 2009 Share Posted June 1, 2009 I'm having a problem with a function that isn't taking the value of my variable. The code is below and the problem area is in the else, the con_SetGameSetting calls aren't using the numbers. The game settings are being set to 0.0 instead of what I want. I know my variables are getting set to the right values. Is it because con_SetGameSetting only takes in strings? The console command SetGameSetting takes in both numbers and strings, I think, but I can't use it obviously. If that is the problem, can I convert the floats to strings easily? Also, if there are any coding improvements that can be made to the script, I'd be glad to hear it; this is my first mod. ScriptName GRepairScript int iRepair float fArmorPercent float fWeaponEnergyMult float fWeaponGunMult float fWeaponLauncherMult float fWeaponMeleeMult begin GameMode set iRepair to Player.GetActorValue Repair if iRepair >= 100 con_SetGameSetting fDamageToArmorPercentage 0.0 con_SetGameSetting fDamageToWeaponEnergyMult 0.0 con_SetGameSetting fDamageToWeaponGunMult 0.0 con_SetGameSetting fDamageToWeaponLauncherMult 0.0 con_SetGameSetting fDamageToWeaponMeleeMult 0.0 else set fArmorPercent to 0.35 * ((100 - iRepair) / 100.0) set fWeaponEnergyMult to 0.04 * ((100 - iRepair) / 100.0) set fWeaponGunMult to 0.03 * ((100 - iRepair) / 100.0) set fWeaponLauncherMult to 0.06 * ((100 - iRepair) / 100.0) set fWeaponMeleeMult to 0.05 * ((100 - iRepair) / 100.0) con_SetGameSetting fDamageToArmorPercentage fArmorPercent con_SetGameSetting fDamageToWeaponEnergyMult fWeaponEnergyMult con_SetGameSetting fDamageToWeaponGunMult fWeaponGunMult con_SetGameSetting fDamageToWeaponLauncherMult fWeaponLauncherMult con_SetGameSetting fDamageToWeaponMeleeMult fWeaponMeleeMult endif end Link to comment Share on other sites More sharing options...
TGBlank Posted June 1, 2009 Share Posted June 1, 2009 You probably want SetNumericGameSetting. Link to comment Share on other sites More sharing options...
MechanicalPirate Posted June 1, 2009 Share Posted June 1, 2009 I'm not 100% sure that there isn't another way, but if you just want to know if any limbs are crippled you could make a "hasCrippledLimb" variable to check for that. if GetAV PerceptionCondition > 0 set NoHeadCripple to 1 EndIf if GetAV LeftMobilityCondition > 0 set LeftLegCripple to 1 EndIf if GetAV RightMobilityCondition > 0 set NoRightLegCripple to 1 EndIf if GetAV LeftAttackCondition > 0 set NoLeftArmCripple to 1 EndIf if GetAV RightAttackCondition > 0 set NoRightArmCripple to 1 EndIf if GetAV EnduranceCondition > 0 set NoTorsoCripple to 1 EndIf set NoCrippledParts to NoHeadCripple + NoLeftLegCripple + NoRightLegCripple + NoLeftArmCripple + NoRightArmCripple + NoTorsoCripple If NoCrippledParts < 5 This would check each body part then return true for each not being crippled. If the total value is less than 5 the actor has a crippled bodypart. You could do this opposite way and return false for each limb that is ok and then check LimbsCripple == 0. This should be functional but could probably be shortened a lot. Link to comment Share on other sites More sharing options...
Gilg Posted June 1, 2009 Share Posted June 1, 2009 You probably want SetNumericGameSetting.You're right. I also should've noticed in the FOSE documentation where it says in con_SetGameSetting, "Does not accept variables as arguments." Link to comment Share on other sites More sharing options...
Keekerz Posted June 4, 2009 Share Posted June 4, 2009 I've been looking for the script command to modify experience gain (ex. swift learner perk, but based on # of npc kills) and I cannot find it.... any help? Link to comment Share on other sites More sharing options...
TGBlank Posted June 4, 2009 Share Posted June 4, 2009 Can't you just use a script to give an effect that works similar to swift learner? Link to comment Share on other sites More sharing options...
Alfierulz Posted June 4, 2009 Share Posted June 4, 2009 I put my FOSE download in my Fallout 3 folder and when I load up fallout using the fose_launcher I have no saves. I did what the readme said like moving the saves out from "C:\Users\name\Documents\My Games\Fallout3" and back in again. That didn't work. This is my Fallout 3 directory "C:\Program Files\Steam\steamapps\common\fallout 3". halp. :( Link to comment Share on other sites More sharing options...
thefourwings Posted June 4, 2009 Share Posted June 4, 2009 Trying to make a break in conversation where the NPC will tell you to come back in an hour. I have a feeling it's got to to with TimePassed, which seems to be used for timer-oriented conditions, but I'm not sure how to make use of it. Can someone please clarify this for me? Thanks in advance Link to comment Share on other sites More sharing options...
cmal Posted June 5, 2009 Share Posted June 5, 2009 I've got a ScriptEffectStart block that sets a variable, Rand, to GetRandomPercent. Rand is then used as a conditional. However, after some testing, it seems to not work as I thought. If the compare value is less than 70, my effect never fires. At 70, it always fires and all the other conditions are ignored. I've also tried changing the blocktype to ScriptEffectUpdate, but the results weren't much different. The Wiki pages are kinda vague regarding the function's behaviours, so I was wondering if anyone can shed any light on what's going on. Link to comment Share on other sites More sharing options...
Recommended Posts