Delzaron Posted February 23, 2017 Posted February 23, 2017 Hi I met a problem : I need to design a quest like Radiant prostitution, for TID and a brothel management mod project. - so, it should randomly pick a whore, and a client. - the have a chat (a scene), and they go to bed... Problem is : how to trigger the quest, and set the actors ? Note : I studied also Maria Eden, but the quest have stages, and it far more complex... and it not contains any clue about triggering the scenes or fill the aliases.
Alter Native Posted February 23, 2017 Posted February 23, 2017 You can randomly fill aliases using keywords. You would need to add give each potential client a keyword and each prostitute. Maybe you can reuse exiting vanilla keywords for the clients... depending on what you want to do. It's been a while since I last added a quest to the game but I'm quite sure this should work. Once you have the aliases you can add scenes etc. normally.
Guest Posted February 23, 2017 Posted February 23, 2017 Radiant Quest System supports a dozen events that can be used to actually start quests. Check the items (in CK) inside "SM Events" (Story Manager Events) You can add your nodes and quests here. Then many of the events (not all of them) will trigger the associated quest(s) and fill one or two aliases (that have to be defined in the quest.)
Delzaron Posted February 23, 2017 Author Posted February 23, 2017 You can randomly fill aliases using keywords. You would need to add give each potential client a keyword and each prostitute. Maybe you can reuse exiting vanilla keywords for the clients... depending on what you want to do. It's been a while since I last added a quest to the game but I'm quite sure this should work. Once you have the aliases you can add scenes etc. normally. So, I need to add keywords to potential whores and clients ? In Radiant prostitution, the keyword is on the clothes. I chosen to use Factions... I designed the quest, it almost the same as "damn competition" in radiant prostitution... except I don't see how keywords can fill aliases or trigger something... Radiant Quest System supports a dozen events that can be used to actually start quests. Check the items (in CK) inside "SM Events" (Story Manager Events) You can add your nodes and quests here. Then many of the events (not all of them) will trigger the associated quest(s) and fill one or two aliases (that have to be defined in the quest.) I don't understand... how it will trigger the aliases filling, and the scene ? Another problem : Another problem : I wish to adapt a the furniture script from Maria Eden. For now, I just deleted the parts I don't need (in fact, I just need the milkpump and the cross). It don't work, as expected. Scriptname aTIDPlayerrefScript Actor Property PlayerRef Auto Actor Property sexVictim = none auto SexLabFramework Property SexLab Auto Armor property ZaZMoMSuctionCups01 Auto Armor Property zbfBlindHood auto keyword property zbfFurnitureMilkOMatic auto keyword property zbfFurnitureMilkoMaticII auto Keyword Property zbfFurniturePillory02 Auto Keyword Property zbfFurnitureXCross Auto keyword property WeapTypeDagger auto keyword property WeapTypeSword auto Keyword Property zbfFurniture Auto Keyword property zbfFurnitureTypeDeadly auto Keyword property zbfFurnitureTypeWicked auto Keyword property zbfFurnitureTypePainful auto bool keepDoorsOpen = false bool consensualAct = false bool lockedPose = false int property slotGag = 0 AutoReadOnly int property slotCollar = 1 AutoReadOnly int property slotArmbinder = 2 AutoReadOnly int property slotAnalPlug = 3 AutoReadOnly int property slotBelt = 4 AutoReadOnly int property slotVaginalPiercing = 5 AutoReadOnly int property slotNipplePiercing = 6 AutoReadOnly int property slotAnkleCuffs = 7 AutoReadOnly int property slotBlindfold = 8 AutoReadOnly int property slotVaginalPlug = 9 AutoReadOnly int property slotCorset = 10 AutoReadOnly int property slotWristCuffs = 11 AutoReadOnly ; ################################################################################################################################# ; Furniture ; ################################################################################################################################# state wickedfurniture event OnBeginState() debug.notification("enter wicked furniture") PlayerRef.SetExpressionOverride(10) RegisterForSingleUpdate(2) endevent event OnEndState() PlayerRef.ClearExpressionOverride() UnregisterForUpdate() endevent event OnUpdate() Game.ShakeController(0.5, 0.5, 1.0) ; Moan() PlayerRef.DamageActorValue("Stamina",20) RegisterForSingleUpdate(8) endevent endstate float oldHealthRate float oldDamageResist float oldStamniaRate state deadlyfurniture event OnBeginState() Trace("enter deadly furniture") PlayerRef.SetExpressionOverride(9) oldHealthRate = PlayerRef.GetActorValue("HealRate") oldDamageResist = PlayerRef.GetActorValue("DamageResist") oldStamniaRate = PlayerRef.GetActorValue("StaminaRate") PlayerRef.ForceActorValue("HealRate",0) PlayerRef.ForceActorValue("DamageResist",0) PlayerRef.ForceActorValue("StaminaRate",0) RegisterForSingleUpdate(5) endevent event OnEndState() PlayerRef.ClearExpressionOverride() PlayerRef.ForceActorValue("HealRate",oldHealthRate) PlayerRef.ForceActorValue("DamageResist",oldDamageResist) PlayerRef.ForceActorValue("StaminaRate",oldStamniaRate) UnregisterForUpdate() endevent event OnUpdate() Tantalization() PlayerRef.DamageActorValue("Stamina",10) if PlayerRef.GetAV("Stamina") < 20 PlayerRef.DamageActorValue("Health",10) endif RegisterForSingleUpdate(5) endevent endstate state painfullfurniture event OnBeginState() Trace("enter painful furniture") PlayerRef.SetExpressionOverride(9) RegisterForSingleUpdate(5) endevent event OnEndState() PlayerRef.ClearExpressionOverride() UnregisterForUpdate() endevent event OnUpdate() Game.ShakeController(0.5, 0.5, 1.0) if PlayerRef.GetActorValue("Health") > 50 PlayerRef.DamageActorValue("Health",10) endif PlayerRef.DamageActorValue("Stamina",20) ; Cry() RegisterForSingleUpdate(5) endevent endstate state milkingMachine1 event OnBeginState() PlayerRef.SetExpressionOverride(9) PlayerRef.EquipItem(ZaZMoMSuctionCups01,true) Debug.SendAnimationEvent(PlayerRef,"ZaZMOMBoundFurn_13") RegisterForSingleUpdate(5) endevent event OnEndState() PlayerRef.ClearExpressionOverride() PlayerRef.UnEquipItem(ZaZMoMSuctionCups01) UnregisterForUpdate() endevent event OnUpdate() Game.ShakeController(0.5, 0.5, 1.0) PlayerRef.DamageActorValue("Stamina",20) ; Cry() RegisterForSingleUpdate(5) endevent endstate state milkingMachine2 event OnBeginState() PlayerRef.SetExpressionOverride(9) PlayerRef.EquipItem(ZaZMoMSuctionCups01,true) Debug.SendAnimationEvent(PlayerRef,"ZaZMOMFreeFurn_11") RegisterForSingleUpdate(5) endevent event OnEndState() PlayerRef.ClearExpressionOverride() PlayerRef.UnEquipItem(ZaZMoMSuctionCups01) UnregisterForUpdate() endevent event OnUpdate() Game.ShakeController(0.5, 0.5, 1.0) PlayerRef.DamageActorValue("Stamina",20) ; Cry() RegisterForSingleUpdate(5) endevent endstate And I got that : Starting 1 compile threads for 1 files... Compiling "aTIDPlayerrefScript"... C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(50,2): RegisterForSingleUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(54,2): UnregisterForUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(60,2): RegisterForSingleUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(56,1): function onupdate cannot be defined in state wickedfurniture without also being defined in the empty state C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(70,2): Trace is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(78,2): RegisterForSingleUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(85,2): UnregisterForUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(88,2): Tantalization is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(93,2): RegisterForSingleUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(87,1): function onupdate cannot be defined in state deadlyfurniture without also being defined in the empty state C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(99,2): Trace is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(101,2): RegisterForSingleUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(105,2): UnregisterForUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(114,2): RegisterForSingleUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(107,1): function onupdate cannot be defined in state painfullfurniture without also being defined in the empty state C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(123,2): RegisterForSingleUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(128,2): UnregisterForUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(134,2): RegisterForSingleUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(130,1): function onupdate cannot be defined in state milkingmachine1 without also being defined in the empty state C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(143,2): RegisterForSingleUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(148,2): UnregisterForUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(154,2): RegisterForSingleUpdate is not a function or does not exist C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\aTIDPlayerrefScript.psc(150,1): function onupdate cannot be defined in state milkingmachine2 without also being defined in the empty state No output generated for aTIDPlayerrefScript, compilation failed. Batch compile of 1 files finished. 0 succeeded, 1 failed. Failed on aTIDPlayerrefScript
Alter Native Posted February 23, 2017 Posted February 23, 2017 You can randomly fill aliases using keywords. You would need to add give each potential client a keyword and each prostitute. Maybe you can reuse exiting vanilla keywords for the clients... depending on what you want to do. It's been a while since I last added a quest to the game but I'm quite sure this should work. Once you have the aliases you can add scenes etc. normally. So, I need to add keywords to potential whores and clients ? In Radiant prostitution, the keyword is on the clothes. I chosen to use Factions... I designed the quest, it almost the same as "damn competition" in radiant prostitution... except I don't see how keywords can fill aliases or trigger something... You can fill your aliases via 'Find Matching Reference' and you specify your conditions below. You can use 'HasKeyword' or 'IsInFaction' or whatever you want, factions work just as well as keywords. Of course if your quest is not running from the beginning of the game none of this does actually start your quest. You have to do that using the Story Manger Events mentioned above or a script.
Delzaron Posted February 23, 2017 Author Posted February 23, 2017 You can randomly fill aliases using keywords. You would need to add give each potential client a keyword and each prostitute. Maybe you can reuse exiting vanilla keywords for the clients... depending on what you want to do. It's been a while since I last added a quest to the game but I'm quite sure this should work. Once you have the aliases you can add scenes etc. normally. So, I need to add keywords to potential whores and clients ? In Radiant prostitution, the keyword is on the clothes. I chosen to use Factions... I designed the quest, it almost the same as "damn competition" in radiant prostitution... except I don't see how keywords can fill aliases or trigger something... You can fill your aliases via 'Find Matching Reference' and you specify your conditions below. You can use 'HasKeyword' or 'IsInFaction' or whatever you want, factions work just as well as keywords. Of course if your quest is not running from the beginning of the game none of this does actually start your quest. You have to do that using the Story Manger Events mentioned above or a script. The quest is set to begin with the game. The scene also. I made the keywords.... I just don't know how to use story event manager... Edit : I finnaly find it, and how it can be filled. I'll try something... i have only one quest to put inside, after all...
Delzaron Posted February 23, 2017 Author Posted February 23, 2017 I developped a node as you said. Except the sex scene at the end, things works pretty well. Thanks a lot ! Now, I just need to fix the player script for animated furnitures !
Recommended Posts
Archived
This topic is now archived and is closed to further replies.