astymma Posted September 16, 2012 Author Posted September 16, 2012 Thanks for the quick replies. @astymma can I assume this could be used in a quest script to provide a persistent variable reference to the list? i.e. somequest.refList Persistent for the current session, yes. the AddFormToFormList lines aren't needed in the exact place my example gave. They could, as you're asking, be used later using a quest variable as the reference. The IsModLoaded/getmodIndex/BuildRef calls *should* be used like the example. Since AddFormToFormlist doesn't reliably persist through a save and load, I would also place any AddFormToFormlist calls *also* in a GetGameLoaded/GetGameRestarted if/endif block. Not 100% sure if using ListAddForm works reliably through a save/load but it's an option instead of AddFormToFormlist.
rikuth Posted September 16, 2012 Posted September 16, 2012 Thanks for the quick replies. @astymma can I assume this could be used in a quest script to provide a persistent variable reference to the list? i.e. somequest.refList Persistent for the current session' date=' yes. the AddFormToFormList lines aren't needed in the exact place my example gave. They could, as you're asking, be used later using a quest variable as the reference. The IsModLoaded/getmodIndex/BuildRef calls *should* be used like the example. Since AddFormToFormlist doesn't reliably persist through a save and load, I would also place any AddFormToFormlist calls *also* in a GetGameLoaded/GetGameRestarted if/endif block. Not 100% sure if using ListAddForm works reliably through a save/load but it's an option instead of AddFormToFormlist. [/quote'] thanks, working great for adding to / removing from faction and removing tokens, I'll probably avoid the formlist for now since the faction does what I need it to.
mojodajojo Posted September 16, 2012 Posted September 16, 2012 Found this if anyone sucks at math stuffs like me. http://www.statman.info/conversions/hexadecimal.html
jaam Posted September 16, 2012 Posted September 16, 2012 Thanks for the quick replies. @astymma can I assume this could be used in a quest script to provide a persistent variable reference to the list? i.e. somequest.refList Persistent for the current session' date=' yes. the AddFormToFormList lines aren't needed in the exact place my example gave. They could, as you're asking, be used later using a quest variable as the reference. The IsModLoaded/getmodIndex/BuildRef calls *should* be used like the example. Since AddFormToFormlist doesn't reliably persist through a save and load, I would also place any AddFormToFormlist calls *also* in a GetGameLoaded/GetGameRestarted if/endif block. Not 100% sure if using ListAddForm works reliably through a save/load but it's an option instead of AddFormToFormlist. [/quote'] Well, ListAddForm is reliably NOT SAVED. AddFormToFormList "should" save.
zippy57 Posted September 16, 2012 Posted September 16, 2012 Since this doesn't need to be persistent over saves because it's not a variable that would be changed you should just use ListAddForm in a GetGameLoaded || GetGameRestarted block.
astymma Posted September 17, 2012 Author Posted September 17, 2012 Found this if anyone sucks at math stuffs like me. http://www.statman.info/conversions/hexadecimal.html Well windows comes with a program called "calc". Just click start menu, click run, type in calc. Click the Hex radio button and type in the Hex value from the refid. Once you have it typed in, click the Dec radio button to convert to decimal. If you can't see those radio buttons, click the view menu and choose "scientific".
astymma Posted September 17, 2012 Author Posted September 17, 2012 Thanks jaam and zippy57 for the added information about formlist commands.
KainsChylde Posted September 17, 2012 Posted September 17, 2012 Found this if anyone sucks at math stuffs like me. http://www.statman.info/conversions/hexadecimal.html Well windows comes with a program called "calc". Just click start menu' date=' click run, type in calc. Click the Hex radio button and type in the Hex value from the refid. Once you have it typed in, click the Dec radio button to convert to decimal. If you can't see those radio buttons, click the view menu and choose "scientific". [/quote'] I just looked, its actually "Programmer" to get the hexidecimal conversions.
astymma Posted September 17, 2012 Author Posted September 17, 2012 Found this if anyone sucks at math stuffs like me. http://www.statman.info/conversions/hexadecimal.html Well windows comes with a program called "calc". Just click start menu' date=' click run, type in calc. Click the Hex radio button and type in the Hex value from the refid. Once you have it typed in, click the Dec radio button to convert to decimal. If you can't see those radio buttons, click the view menu and choose "scientific". [/quote'] I just looked, its actually "Programmer" to get the hexidecimal conversions. Ahh that must have changed after windows xp (yes, I'm a curmudgeon).
astymma Posted October 7, 2012 Author Posted October 7, 2012 Release v1.2.6 Prefaced all debug messages with "SmallerTalk: ".
nero2016 Posted October 29, 2012 Posted October 29, 2012 I hate to be a "that" guy but I'm having an issue. After a sex action, I'm getting an infinite loop of the post-sex dialogue. This is after I had installed V1.2.6. from an earlier version. I have tried deactivating smaller talk from the MCM as well as deleting/reinstalling the .esp. Has anyone seen this manifested before?
zippy57 Posted October 29, 2012 Posted October 29, 2012 SmallerTalk only deals with allowing the player to being a conversation with NPCs that would be otherwise unable to do so. The issue you are having is not related to SmallerTalk and is most likely related to the plugin that is providing the dialogue.
Zanan Posted November 7, 2012 Posted November 7, 2012 Thank you for the mod, I had a question to the developer. Would it be possible to disable this entirely for companions, as a toggle?
astymma Posted November 7, 2012 Author Posted November 7, 2012 Thank you for the mod' date=' I had a question to the developer. Would it be possible to disable this entirely for companions, as a toggle? [/quote'] It would probably be possible to disable it for known companions but not for ALL companions in a generic sense. The problem arises in there not being a reliable way to determine who is a companion or not. The simplest method would be for you to open the console and click on the companion you want to exclude and then type: addtofaction xx0091A1 0 Instead of the xx in the above, use the load order of SmallerTalk.esp. That will add that companion NPC to the SmallerTalkIgnoreFaction and the NPC will then be ignored by SmallerTalk.
CGi Posted November 10, 2012 Posted November 10, 2012 So the faction is used instead of the FormList? if yes, this would explain why adding to the FormList didn't work for me. Edit: Nope, not working either. if ( GetGameLoaded || GetGameRestarted == 1 ) NBdTestMannequinF.SetActorsAi 0 PrintToConsole "Nervous Breakdown: Starting..." if ( isModLoaded "Sexout.esm" == 1 ) PrintToConsole " Sexout found -> adding Mannequin to ListBannedActor..." Set modi To GetModIndex "Sexout.esm" Set modL To BuildRef modi 53734 Set modC To ListGetCount modL Set modC To modC - 1 ListAddForm modL NBdTestMannequinF modC Endif if ( isModLoaded "SexoutCommonResources.esm" == 1 ) PrintToConsole " SexoutCommonResources found -> adding Mannequin to SLActorDataIsSterile..." Set modi To GetModIndex "SexoutCommonResources.esm" Set modL To BuildRef modi 122324 Set modC To ListGetCount modL Set modC To modC - 1 ListAddForm modL NBdTestMannequinF modC Endif if ( isModLoaded "SexoutSlavery.esm" == 1 ) PrintToConsole " SexoutSlavery found -> adding Mannequin to CantBeEnslavedList..." Set modi To GetModIndex "SexoutSlavery.esm" Set modL To BuildRef modi 41315 Set modC To ListGetCount modL Set modC To modC - 1 ListAddForm modL NBdTestMannequinF modC Endif if ( isModLoaded "SexoutLegion.esm" == 1 ) PrintToConsole " SexoutLegion found -> adding Mannequin to ListBannedActor..." Set modi To GetModIndex "SexoutLegion.esm" Set modL To BuildRef modi 156200 Set modC To ListGetCount modL Set modC To modC - 1 ListAddForm modL NBdTestMannequinF modC Endif if ( isModLoaded "SmallerTalk.esp" == 1 ) PrintToConsole " SmallerTalk found -> adding Mannequin to IgnoreList..." Set modi To GetModIndex "SmallerTalk.esp" Set modL To BuildRef modi 37282 Set modC To ListGetCount modL Set modC To modC - 1 ListAddForm modL NBdTestMannequinF modC PrintToConsole " SmallerTalk found -> adding Mannequin to IgnoreFaction..." Set modL To BuildRef modi 37281 AddToFaction modL 0 Endif if ( isModLoaded "SexoutBrutalRapers.esp" == 1 ) PrintToConsole " SexoutBrutalRapers found -> adding Mannequin to ListBannedActor..." Set modi To GetModIndex "SexoutBrutalRapers.esp" Set modL To BuildRef modi 37282 Set modC To ListGetCount modL Set modC To modC - 1 ListAddForm modL NBdTestMannequinF modC Endif if ( isModLoaded "SexoutFiends.esp" == 1 ) PrintToConsole " SexoutFiends found -> adding Mannequin to ListBannedActor..." Set modi To GetModIndex "SexoutFiends.esp" Set modL To BuildRef modi 155465 Set modC To ListGetCount modL Set modC To modC - 1 ListAddForm modL NBdTestMannequinF modC Endif if ( isModLoaded "SexoutKhans.esp" == 1 ) PrintToConsole " SexoutKhans found -> adding Mannequin to ListBannedActor..." Set modi To GetModIndex "SexoutKhans.esp" Set modL To BuildRef modi 155465 Set modC To ListGetCount modL Set modC To modC - 1 ListAddForm modL NBdTestMannequinF modC Endif PrintToConsole "Nervous Breakdown: Done." Endif Something wrong with my script? Excluding from BrutalRapers works just fine, as noone tries to mate with the mannequin anymore. The script didn't break, as after this GameMode-block follows the code for controlling the Mannequin. And this still works ... over and over with Smallertalk interrupting the final positioning, after the inventory trade window is closed. Edit2: Exchanged every "Set modC To modC - 1" line with the following: if ( modC > 0 ) Set modC To modC - 1 Else Set modC To 0 Endif in case the list is empty. Still no success. Help, please. Edit3: Nvm. Fixed the problem by including another timed animation stage. Must have overread something, as i didn't know that SmallerTalk has an included timeout that needs to be reached before the forced dialogue takes place. Well done. Even tho i might run into a problem if people set SmallerTalk activation over 3s in MCM (in case this controls the timeour as well). :/ Anyone an idea how to prevent this or how to solve the earlier problem, as the new animation stage seems to be one animation to much.
astymma Posted November 11, 2012 Author Posted November 11, 2012 You can use either the Faction or the FormList. Your addtofaction calls aren't being made on any reference. You're calling: AddToFaction modL 0 and need to call: ActorREF.AddToFaction modL 0 The timer SmallerTalk works on is on the token handed to the actor. If the actor is in the FormList and/or Faction, they don't even receive the token.
CGi Posted November 11, 2012 Posted November 11, 2012 You can use either the Faction or the FormList. Your addtofaction calls aren't being made on any reference. Atm this script run's on the ActorREF' date=' so i didn't set it for the AddToFaction function. Will move the whole mod support into a quests script later, after i made it read a Formlist instead of hardcoding the mod's into the script. The timer SmallerTalk works on is on the token handed to the actor. If the actor is in the FormList and/or Faction, they don't even receive the token. The old problem still remain. Added the mannequin to the SmallerTalk formlist only and removed the 6th animation step from the mannequin -> SmallTalk pops up. Same script, just without the AddToFaction lines.
zippy57 Posted November 11, 2012 Posted November 11, 2012 What are you doing with modC? Getting the number of things in the list, and then replacing the last item in the list with your new one or something? Is there some reason you can't just add directly to the end of the list?
astymma Posted November 11, 2012 Author Posted November 11, 2012 You can use either the Faction or the FormList. Your addtofaction calls aren't being made on any reference. Atm this script run's on the ActorREF' date=' so i didn't set it for the AddToFaction function. Will move the whole mod support into a quests script later, after i made it read a Formlist instead of hardcoding the mod's into the script. The timer SmallerTalk works on is on the token handed to the actor. If the actor is in the FormList and/or Faction, they don't even receive the token. The old problem still remain. Added the mannequin to the SmallerTalk formlist only and removed the 6th animation step from the mannequin -> SmallTalk pops up. Same script, just without the AddToFaction lines. If you are having trouble with the formlist and/or the faction and you're sure you are actually adding (my advice, be explicit and never implicit as you did above) your reference to them... you likely have an issue from using a temporary reference. SmallerTalk checks before adding the token for the following (with refTarget being = to GetCrosshairRef when the user presses the activation key): if ListGetFormIndex SmallerTalkIgnoreList refTarget >= 0 return endif if refTarget.GetInFaction SmallerTalkIgnoreFaction == 1 return endif It's why I generally suggest using the faction ignore list rather than the form list... less chance of a temporary reference issue. If SmallerTalk is firing it's because the token is being handed out to the actor, which means it's passing every test in the SmallerTalkScript which includes not being found in the ignore form list and not being a member of the ignore faction. What I'd do is some testing... compare your npc reference id's to the actual contents of the ignore formlist or testing to make sure the npc is actually a member of the ignore faction with a rank of 0 or greater.
CGi Posted November 11, 2012 Posted November 11, 2012 FiNAL POST EDiT: What are you doing with modC? Getting the number of things in the list' date=' and then replacing the last item in the list with your new one or something? Is there some reason you can't just add directly to the end of the list?[/quote']Removed, as the modC code was errornous. Thanks for pushing me to remove it as i never got around to do it. If you are having trouble with the formlist and/or the faction and you're sure you are actually adding (my advice' date=' be explicit and never implicit as you did above) your reference to them... you likely have an issue from using a temporary reference. SmallerTalk checks before adding the token for the following (with refTarget being = to GetCrosshairRef when the user presses the activation key): if ListGetFormIndex SmallerTalkIgnoreList refTarget >= 0 return endif if refTarget.GetInFaction SmallerTalkIgnoreFaction == 1 return endif [/quote'] included it in my code. Thanks for the snippet. Helped me find a typo and other errors. It's why I generally suggest using the faction ignore list rather than the form list... less chance of a temporary reference issue. If SmallerTalk is firing it's because the token is being handed out to the actor' date=' which means it's passing every test in the SmallerTalkScript which includes not being found in the ignore form list and not being a member of the ignore faction. What I'd do is some testing... compare your npc reference id's to the actual contents of the ignore formlist or testing to make sure the npc is actually a member of the ignore faction with a rank of 0 or greater.[/quote']Even tho i don't know the console command for displaying a FormList content, i changed the script to display a notification if the token is added and it was. in the end, i solved the problem. Even tho i was adding to the wrong FormList for BrutalRapers (used the ref from the official release as i didn't remember i switched to the unofficial one) it was working, but now i support both versions. SmallTalk is working as well. i'm adding to the FormList and to the Faction. So thanks again for all the help. in the end it was a mix of typos and logic errors. Reordered the script, fixed the typos and it works flawless. Can't thank you guys enough, for pointing me in the right direction. One question remains: As i have to use the ref's to use AddToFaction, i guess i would need to make a new cell, holding the templates for the mannequin. it's even working without using AddToFaction now, so i would really try to avoid using it for flexibilty's sake, unless there's a really good reason not to. Can't really understand why astymma prefers the AddToFaction way, as i don't know what errors could arise. Someone willing, maybe astymma himself^^, to explain it in more detail? For anyone interessted in the code, to make mannequins (i know it's not this hard unless you try to make them compatible with Sexout while producing massive typos ^^): Quest script for mod support (unfinished): ScN NBdTestMannequinMSQS2 Short modi Ref modL Begin GameMode if ( GetGameLoaded || GetGameRestarted == 1 ) PrintToConsole "Nervous Breakdown: Starting..." if ( isModLoaded "Sexout.esm" == 1 ) PrintToConsole " Sexout found -> adding Mannequin to ListBannedActor..." Set modi To GetModindex "Sexout.esm" Set modL To BuildRef modi 53734 ListAddForm modL NBdTestMannequinF if ( ListGetFormIndex modL NBdTestMannequinF < 0 ) PrintToConsole " ERROR adding NBdTestMannequinF !!!" endif ListAddForm modL NBdTestMannequinM if ( ListGetFormIndex modL NBdTestMannequinM < 0 ) PrintToConsole " ERROR adding NBdTestMannequinM !!!" endif Endif if ( isModLoaded "SexoutCommonResources.esm" == 1 ) PrintToConsole " SexoutCommonResources found -> adding Mannequin to SLActorDataIsSterile..." Set modi To GetModindex "SexoutCommonResources.esm" Set modL To BuildRef modi 122324 ListAddForm modL NBdTestMannequinF if ( ListGetFormIndex modL NBdTestMannequinF < 0 ) PrintToConsole " ERROR adding NBdTestMannequinF !!!" endif ListAddForm modL NBdTestMannequinM if ( ListGetFormIndex modL NBdTestMannequinM < 0 ) PrintToConsole " ERROR adding NBdTestMannequinM !!!" endif Endif if ( isModLoaded "SexoutSlavery.esm" == 1 ) PrintToConsole " SexoutSlavery found -> adding Mannequin to CantBeEnslavedList..." Set modi To GetModindex "SexoutSlavery.esm" Set modL To BuildRef modi 41315 ListAddForm modL NBdTestMannequinF if ( ListGetFormIndex modL NBdTestMannequinF < 0 ) PrintToConsole " ERROR adding NBdTestMannequinF !!!" endif ListAddForm modL NBdTestMannequinM if ( ListGetFormIndex modL NBdTestMannequinM < 0 ) PrintToConsole " ERROR adding NBdTestMannequinM !!!" endif Endif if ( isModLoaded "SexoutLegion.esm" == 1 ) PrintToConsole " SexoutLegion found -> adding Mannequin to ListBannedActor..." Set modi To GetModindex "SexoutLegion.esm" Set modL To BuildRef modi 156200 ListAddForm modL NBdTestMannequinF if ( ListGetFormIndex modL NBdTestMannequinF < 0 ) PrintToConsole " ERROR adding NBdTestMannequinF !!!" endif ListAddForm modL NBdTestMannequinM if ( ListGetFormIndex modL NBdTestMannequinM < 0 ) PrintToConsole " ERROR adding NBdTestMannequinM !!!" endif Endif if ( isModLoaded "SmallerTalk.esp" == 1 ) PrintToConsole " SmallerTalk found -> adding Mannequin to IgnoreList & IgnoreFaction..." Set modi To GetModindex "SmallerTalk.esp" Set modL To BuildRef modi 37282 ListAddForm modL NBdTestMannequinF if ( ListGetFormIndex modL NBdTestMannequinF < 0 ) PrintToConsole " ERROR adding NBdTestMannequinF to List !!!" endif ListAddForm modL NBdTestMannequinM if ( ListGetFormIndex modL NBdTestMannequinM < 0 ) PrintToConsole " ERROR adding NBdTestMannequinM to List !!!" endif Set modL To BuildRef modi 37281 NBdTestMannequinFRef.AddToFaction modL 0 if ( NBdTestMannequinFRef.GetInFaction modL == 0 ) PrintToConsole " ERROR adding NBdTestMannequinFRef to Faction !!!" endif NBdTestMannequinMRef.AddToFaction modL 0 if ( NBdTestMannequinMRef.GetInFaction modL == 0 ) PrintToConsole " ERROR adding NBdTestMannequinMRef to Faction !!!" endif Endif if ( isModLoaded "SexoutBrutalRapers.esp" == 1 ) PrintToConsole " SexoutBrutalRapers found -> adding Mannequin to ListBannedActor (official)..." Set modi To GetModindex "SexoutBrutalRapers.esp" Set modL To BuildRef modi 37282 ListAddForm modL NBdTestMannequinF if ( ListGetFormIndex modL NBdTestMannequinF < 0 ) PrintToConsole " ERROR adding NBdTestMannequinF to List !!!" endif ListAddForm modL NBdTestMannequinM if ( ListGetFormIndex modL NBdTestMannequinM < 0 ) PrintToConsole " ERROR adding NBdTestMannequinM to List !!!" endif PrintToConsole " SexoutBrutalRapers found -> adding Mannequin to ListBannedActor (unofficial)..." Set modL To BuildRef modi 14550 ListAddForm modL NBdTestMannequinF if ( ListGetFormIndex modL NBdTestMannequinF < 0 ) PrintToConsole " ERROR adding NBdTestMannequinF to List !!!" endif ListAddForm modL NBdTestMannequinM if ( ListGetFormIndex modL NBdTestMannequinM < 0 ) PrintToConsole " ERROR adding NBdTestMannequinM to List !!!" endif Endif if ( isModLoaded "SexoutFiends.esp" == 1 ) PrintToConsole " SexoutFiends found -> adding Mannequin to ListBannedActor..." Set modi To GetModindex "SexoutFiends.esp" Set modL To BuildRef modi 155465 ListAddForm modL NBdTestMannequinF if ( ListGetFormIndex modL NBdTestMannequinF < 0 ) PrintToConsole " ERROR adding NBdTestMannequinF to List !!!" endif ListAddForm modL NBdTestMannequinM if ( ListGetFormIndex modL NBdTestMannequinM < 0 ) PrintToConsole " ERROR adding NBdTestMannequinM to List !!!" endif Endif if ( isModLoaded "SexoutKhans.esp" == 1 ) PrintToConsole " SexoutKhans found -> adding Mannequin to ListBannedActor..." Set modi To GetModindex "SexoutKhans.esp" Set modL To BuildRef modi 155465 ListAddForm modL NBdTestMannequinF if ( ListGetFormIndex modL NBdTestMannequinF < 0 ) PrintToConsole " ERROR adding NBdTestMannequinF to List !!!" endif ListAddForm modL NBdTestMannequinM if ( ListGetFormIndex modL NBdTestMannequinM < 0 ) PrintToConsole " ERROR adding NBdTestMannequinM to List !!!" endif Endif PrintToConsole "Nervous Breakdown: Done." Endif End Script running on the mannequins (be aware of the AddToFaction ref's): (based on Mannequins V3.3 for FallOut 3, just simplified) ScN NBdTestMannequinS Short Active Short Step Float Counter Short LPos Begin OnLoad SetActorsAi 0 End Begin OnActivate if ( Active == 0 ) Set Active To 1 if ( GetActionRef == Player ) if ( LPos != 0 ) SetActorsAi 1 AddScriptPackage NBdTestMannequinDefault EvP Set Counter To 2.0 Set Step To 1 MessageEx "Please wait while your mannequin is being prepared..." Else Set Step To 2 Endif Else Set Counter To 0 Set Step To 3 Endif Endif End Begin GameMode if ( Step == 1 ) if ( Counter > 0 ) Set Counter To Counter - GetSecondsPassed Else if ( LPos != 0 ) RemoveScriptPackage NBdTestMannequinDefault EvP SetActorsAi 0 Endif Set Step To 2 Endif Elseif ( Step == 2 ) SetPlayerTeammate 1 OpenTeammateContainer 1 SetPlayerTeammate 0 Set Counter To 0.5 Set Step To 3 MessageEx "Please wait while your mannequin is being prepared..." Elseif ( Step == 3 ) if ( Counter > 0 ) Set Counter To Counter - GetSecondsPassed Else SetActorsAi 1 AddScriptPackage NBdTestMannequinWeapon EvP Set Counter To 2.0 Set Step To 4 Endif Elseif ( Step == 4 ) if ( Counter > 0 ) Set Counter To Counter - GetSecondsPassed Else SetActorsAi 1 if ( GetEquippedObject 5 == 0 ) RemoveScriptPackage NBdTestMannequinWeapon AddScriptPackage NBdTestMannequinDefault EvP Set Counter To 2.0 Set Step To 5 Else RemoveScriptPackage NBdTestMannequinWeapon SetActorsAi 0 Set Counter To 0.5 Set LPos To 1 Set Step To 6 Endif Endif Elseif ( Step == 5 ) if ( Counter > 0 ) Set Counter To Counter - GetSecondsPassed Else RemoveScriptPackage NBdTestMannequinDefault EvP SetActorsAi 0 Set Counter To 0.5 Set Step To 6 Set LPos To 0 Endif Elseif ( Step == 6 ) if ( Counter > 0 ) Set Counter To Counter - GetSecondsPassed Else Set Active To 0 Endif Endif End Misses X, Y and Z coordination as well, to hold the mannequins in place. They will be invisible/underground/in the air if you re-enter the cell they are in.
astymma Posted November 11, 2012 Author Posted November 11, 2012 TBH, you should use whichever fits your mod best. If it's simpler to use the form list, use the form list. If it's simpler to use the faction, use the faction. The only reason I'd suggest the faction over the form list is if there's a base reference/temporary reference issue... say, for example, with temporarily spawned NPC's such as placeatme's or leveled npc/critter spawn markers. If you're using non-temporary references and moving them from a holding cell to where you need them to be, then there's no advantage to using the faction and the form list is probably preferred.
CGi Posted November 11, 2012 Posted November 11, 2012 You just mentioned why i prefer the formlist, as my mannequin mod will let the player spawn as many as his PC can handle, before the game turn's into a slideshow. Doing this based on persistant ref's that are placed as templates somewhere, would be an area of scripting i'ver never been before but i can feel this would make things really complicated. So thank's to your answer i feel better using the FormList only. Thanks for taking the time, explaining it for me. Now that this problem is solved, on to my question about the SO callback system ... in the appropriate thread. Thanks again, zippy and astymma.
CGi Posted November 12, 2012 Posted November 12, 2012 Ok. Was testing my mod for a while now and stumbled across the old problem, that SmallerTalk kicks in on the mannequins and other NPC's that should be excluded by adding them to the FormList. i'm now trying to follow astymma's suggestion, as i can't identify the exact cause of the problem, by using an token item (unplayable armor to hide it from the players eyes). The item is added and should assign the faction by using the following script: ScN NBdMannequinFactionTS Short modi Ref modL Ref Mannequin Begin OnAdd Set Mannequin To GetContainer if ( Mannequin != 0 ) PrintToConsole "Nervous Breakdown: Faction Token added to %n." Mannequin Else PrintToConsole "Nervous Breakdown: GetContainer failed !!!" Endif End Begin GameMode Set Mannequin To GetContainer if ( Mannequin != 0 ) if ( GetGameLoaded || GetGameRestarted == 1 ) if ( isModLoaded "SmallerTalk.esp" == 1 ) PrintToConsole " SmallerTalk found -> checking faction dependencie for %n..." Mannequin Set modi To GetModindex "SmallerTalk.esp" Set modL To BuildRef modi 37281 if ( Mannequin.GetInFaction modL == 0 ) PrintToConsole " Adding %n to IgnoreFaction..." Mannequin Mannequin.AddToFaction modL 0 if ( Mannequin.GetInFaction modL == 0 ) PrintToConsole " ERROR adding %n to Faction !!!" Mannequin Endif Endif Endif Endif Else PrintToConsole "Nervous Breakdown: GetContainer failed !!!" Endif End Adding to the faction fails, as the self-check in the script tells me. The kicking in SmallerTalk tells me the same. The strange thing is, SmallerTalk is not kicking in for a while but then again it does and doesn't stop, even tho they are still in the ignoreList. Was looking for the reason almost the whole day now, but can't find it. Someone an idea why the script and/or method fails? P.s.: i know, the script is not "load game" save, as it only works right on first adding. But it's solely experimental.
zippy57 Posted November 12, 2012 Posted November 12, 2012 Why don't you just directly add your NPCs to the Faction using the GECK?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now