Delzaron Posted February 24, 2016 Posted February 24, 2016 Hi everybody I need a special script for a quest : During that quest, I need to check the Ids of the NPCs the player who have sex with. For example, I need to know of the actor if Elissif the fair or Sybille Stentor. If it's elissif, the quest will progress. Of course, I could do that by creating some specific dialogues, but I think a very nice way to do things will be making that kind of script... Thanks in advance
Guest Posted February 24, 2016 Posted February 24, 2016 Just have the actor n a Property and check it. Actor Property Elissif Auto Actor Property Sybille Auto function blah() ... Actor theSexPartner = ... if theSexPartner==Elisif || theSexPartner==Sybille ..do the job... endIf ... EndFunction Then fill the properties with the actors. I am not sure "when" you want to check that. You can also register for a SexLab event (like AnimationEnd) to execute the checking.
Delzaron Posted February 24, 2016 Author Posted February 24, 2016 Just have the actor n a Property and check it. Actor Property Elissif Auto Actor Property Sybille Auto function blah() ... Actor theSexPartner = ... if theSexPartner==Elisif || theSexPartner==Sybille ..do the job... endIf ... EndFunction Then fill the properties with the actors. I am not sure "when" you want to check that. You can also register for a SexLab event (like AnimationEnd) to execute the checking. 1 : during the aTID2Mutator4 quest 2 ; when player have sex The objective of this quest is contaminating some specific NPCs with a parasite... So, I need to check the sex partner of the player. If the sexpartner is in my list of targets, the quest advance, and the NPC receive the desease.
Guest Posted February 24, 2016 Posted February 24, 2016 OK. It is actually pretty easy to do. ...somewhere at the begin... RegisterForModEvent("HookAnimationEnding", "delzWeHadSex") .... Actor[] Property myParassitableActors Auto Event delzWeHadSex(int tid, bool hasPlayer) if hasPlayer sslThreadController tc = SexLab.GetController(tid) Actor[] Positions = tc.Positions int i = Positions.length while i i -= 1 if myParassitableActors.find(Positions[i])!=-1 Actor parasiteDestination = Positions[i] ; "Let' put a parasite here!!!!" endIf endWhile endIf EndEvent And of course remember to fill the Property with all the actors you want to be able to receive the "parasite".
Delzaron Posted February 25, 2016 Author Posted February 25, 2016 It doesn't really work... you can't says "parasitedestination.getactorref().addspell(parasite)" Maybe it could be simple to make something with : If actor = Elisi parasite ElseIf actor = falk parasite Else ;nothing EndIf
Guest Posted February 25, 2016 Posted February 25, 2016 Why it is not working? In your first line "parasitedestination" looks like a ReferenceAlias. And "add spell" will give the spell to the actor, but for sure you are not casting the spell to the actor. You can do a bunch of IFs, not a problem, but if you have a few actors, then the option .find of an array is way faster.
Delzaron Posted February 25, 2016 Author Posted February 25, 2016 Why it is not working? In your first line "parasitedestination" looks like a ReferenceAlias. And "add spell" will give the spell to the actor, but for sure you are not casting the spell to the actor. You can do a bunch of IFs, not a problem, but if you have a few actors, then the option .find of an array is way faster. I tried parasitedestination.getactorref().addspell(), but parasitedestination is not recognized as an alias.
Guest Posted February 25, 2016 Posted February 25, 2016 If you look at my code "parasitedestination" was an actor, not an referencealias. If you like I can provide better help, my code was just an example, but you should post the code you have, and what exactly you want to do. Cordialement.
Delzaron Posted February 25, 2016 Author Posted February 25, 2016 If you look at my code "parasitedestination" was an actor, not an referencealias. If you like I can provide better help, my code was just an example, but you should post the code you have, and what exactly you want to do. Cordialement. Ok, je vais essayer de pondre quelque chose !
Guest Posted February 25, 2016 Posted February 25, 2016 Merci. Tu peux me faire une MP si tu veux. Pour moi Anglais ou Franceis c'est pareil.
Delzaron Posted February 27, 2016 Author Posted February 27, 2016 J'ai testé en mettant des "parasiteactor = specific ID" et des If et elseif de partout. ça marche ! J'ai aussi mis une option de debug au cas où. Le dernier point noir consiste à convertir les NPCs en followers : mon script ne marche pas à tous les coups. En tout cas, TID est fini ! Il n'y a plus qu'à le fignoler !
Guest Posted February 27, 2016 Posted February 27, 2016 Bravo ! Pour convertir une PNJ en Follower est-ce que tu t'appuye sur un Follower Mod (EFF, UFO, etc.) ou tu fais que une substitution des Factions et de l'alias standard? Ou tu fais que du custom followers (donc tu mets aussi le "follower package" a' eux) ?
Delzaron Posted February 27, 2016 Author Posted February 27, 2016 Bravo ! Pour convertir une PNJ en Follower est-ce que tu t'appuye sur un Follower Mod (EFF, UFO, etc.) ou tu fais que une substitution des Factions et de l'alias standard? Ou tu fais que du custom followers (donc tu mets aussi le "follower package" a' eux) ? Non, j'utilise ce script : Function SetColinFollower() aTIDColinREF.setactorvalue("disposition", 80.0) aTIDColinREF.setrelationshiprank(game.getplayer(), 3) aTIDColinREF.addtofaction(PotentialFollowerFaction) aTIDColinREF.addtofaction(CurrentFollowerFaction) aTIDColinREF.SetFactionRank(PotentialFollowerFaction, 0) aTIDColinREF.SetFactionRank(CurrentFollowerFaction, -1) debug.notification("Colin is now a follower!") EndFunction D'ordinaire, ça marche bien. TID est rempli de choses comme ça, ce mod est une usine à followers ! Bon, on peut aussi sacrifier ses followers dans l'arène pour gagner de l'argent, les envoyer à la boucherie pour gagner un cœur et de la chair humaine (oui, j'ai vendu ce follower là à la boucherie), ou les donner à mander à Chaur Tegoth pour qu'il donne sa bénédiction au PJ. Il y aussi un script comme ça dans Haunted House, pour convertir Elizabeth en Follower. ça marche. Mais dans le cadre de Elisif infectée par le Vers Neurax, non, ça ne marche pas...
Guest Posted February 27, 2016 Posted February 27, 2016 ue, je fais presque le meme. Moi je mets aussi une autre ligne : aTIDColinREF.setplayerTeamMate()
Recommended Posts
Archived
This topic is now archived and is closed to further replies.