dizzyman Posted November 9, 2013 Posted November 9, 2013 For what it's worth. I guess regarding other mods, it'd be a case by case thing - with some of the basic non-quest type mods becoming redundant when using this (I would hope Hookups was one of them - no offense). I think some of the quest style mods would have little use for increased complexity or alternate approach mechs to at least remain as playable as they were; though this mod is partly about noticing and reacting to things, but maybe it won't be much of a problem if some things aren't (or even preferable at times). Some quest style mods would need some more integration/alternate versions for things like prostitution I think, which is mainly an issue of someone being able and willing (or not). I think, at the end of the day, pretty much all the mods aren't doing anything all that complex really; so getting things working *shouldn't* be that big a deal. To be honest, I've been a little bit dismayed at times at how some things have been left in certain states when it's been a case of not much work for someone fluent in the language (working in QA can do that). Hopefully, at least one mod will get created that's designed to take advantage of this mod's/framework's features, but heavily relying on it could lead to disappointment. As for stepping on people's toes, the simple answer is: you're not.
t3589 Posted November 10, 2013 Author Posted November 10, 2013 Thanks dizzy Slight problem now. Yesterday I had 2 spells using the same list in the NG scanner. Now today one returns 0 count unless I assign it to its own separate list. Very weird. I don't know what happened. It bugs the piss out of me though to see two lists each returning the same damn thing. I thought a timing issues clearing the central list before the next spell grabs maybe? The only thing I can think of is that yesterday the one that's returning null today was added to the scanner from a token, and now it's adding from a spell. Though as a spell it works fine with it's own list. Curses. EDIT: Yep, http://www.loverslab.com/topic/12826-fighting-the-slaverytryout-stutter/page-6?hl=%2Bscanner+%2Blists+%2Bclear&do=findComment&comment=301481
Halstrom Posted November 10, 2013 Posted November 10, 2013 Be careful with spells, I think I found sometimes that even though I had updated the script in an effect the old script was still there running on actors saved with the old script, doesn't seem to be an issue with token scripts though. Also note spells on NPC's (not the player) often dispel when the Player leaves the cell or on fast travel, sleeping, waiting and going through doors. Token scripts continue to run.
t3589 Posted November 10, 2013 Author Posted November 10, 2013 Well I don't know what happened. Actually I do know what happened, but I can't figure out why it worked before. I must have gotten lucky on timing or something the first time around and it worked when it shouldn't have. I guess I'll stuff everything into the one scanner and then toggle conditions on it instead of trying to add a second temporary spell. I thought about adding a pause to the persistent scanners list clear so that it doesn't clear until the temporary scanner is finished grabbing what it needs. I think this problem isn't a matter of getting things to work. I can make them work no problem. I think this is a matter of standards and practices. The root of the problem is that I'm trying to split things up for easier modification later on. Which, it turns out, the NG scanner hates.
t3589 Posted November 11, 2013 Author Posted November 11, 2013 I've come to the conclusion that spells are a pain in the ass. Making real progress now. Had to re-write a bunch of stuff. Back to adding features now. Just tested gang rapes. Now when the PC is raped, if the NPCs nearby qualify, they get in line and cheer waiting for their turn. Still not sure how tough I should make it to run away after the first one. As it stands everyone who lines up will prob get a shot at the PC before you can turn and escape the next dialogue. Any thoughts? Back to working on PC Prostitution. EDIT: Couldn't stop myself. Now stalkers chase the PC if running by them within range, if the PC walks they walk at you instead. However, if the PC is sneaking before they get an approach you can sneak right up to them and they won't bother you.
dizzyman Posted November 12, 2013 Posted November 12, 2013 I was thinking recently that I'd like to see more gang rape (inadvertently happened to my courier when I was testing something). Takes on a new meaning when using mods like Lust, Wear and Tear and Pregnancy... I imagine it would be hard to get away (and in reality, even harder to not leave something behind). Also, had a good experience recently with SexAssault mod: Was sneaking about, checking for some loot in a bit of a dangerous outdoors area(watching someone probably hostile) after seeing explosions from far away (caused by Endless Warfare I think). Heard the sound of footsteps at walking speed and turned to see a Feral Ghoul alarmingly close. Ran the other way (sprint mod), it aggroed and chased; heard another one do the same from another direction. Managed to kill them with pistol, but took some damage and nearly got combat raped.
t3589 Posted November 14, 2013 Author Posted November 14, 2013 I've come so far, only to discover how far I haven't come. lol I just discovered a better dialogue method. But there's a hitch. I desperately need a way to alter SmallerTalk delay quest variable on the fly without making it a master. So far: - Without SmallerTalk = Generic NPCs like Goodsprings Settler pick up the dialogue instantly, AWOP NPCs and some vanilla NPCs (who have forced dialogue like Barton Thorn) do not. - With SmallerTalk = Generic NPCs and forced dialogue NPCs pick up the dialogue on the SmallerTalk startconversation, only if the SmallerTalk delay is set high enough to allow you to escape the first round of dialogue in time to get the startconversation. I'm thinking: a. I could just relent that this won't support forced dialogue NPCs and pick up the generics with SmallerTalk. b. I could pick up all NPCs through SmallerTalk, but because of the delay factor I would have to exclude forced dialogue NPCs from approaches so you don't get stuck with them. c. I could include my own SmallerTalk-like dialogue initiation method (which is how it is now), but then if you get unlucky with the timing they stack (NPC comes back at you with my dialogue, then on goodbye, comes at you again with SmallerTalk 'sometimes not often'. d. Is what I really need which is to buildref SmallerTalk or something similar so I can adjust the timing on the fly (a delay delay). OR x. Something I'll think of 15 minutes after posting. EDIT: Which of course just happened. Going to take me a few days to rework this, but I've made a lot of progress that isn't reflected in the OP yet. If this new method works I'll have a test case up soon after. I was ready to release one yesterday, but things are changing every 10 minutes due to this dialogue thing I decided to nip it right now. Stay tuned. EDIT EDIT: (Note for those who find this thread by accident looking for answers) The SmallerTalk time out delay runs while in menu mode. The trick is to buildref ST and know when to hand out the ST dialogue token. Thereby, moving forward the startconversation delay so it doesn't get to time out.
t3589 Posted November 15, 2013 Author Posted November 15, 2013 OK on with the show. I've significantly improved dialogue initiation. It should cover just about everyone if you're using SmallerTalk. If not, this won't replace SmallerTalk. I've added a few things now listed in the OP. Next on my hit list is Patronage, but it has enough features right now to be a prostitution/stalker mod. I think I'm going to set up some pref settings in MCM and start releasing some tests. Most of the delays and approach mechs are hard coded, but they really need to be flexible for testing. Maybe then I can start getting some dialogue suggestions. I'm starting to have more fun playing it than working on it which can't be a bad sign. Easy Pete skipped out on paying me and I chased him into the desert. Finally caught him when some rocks slowed him down and demanded my caps. He played innocent as if it slipped his mind. lol I should have asked for the caps up front. This thing is hilarious.
t3589 Posted November 22, 2013 Author Posted November 22, 2013 Been struggling now for 3 days on something that should be very simple. - Hand out a token to 3 people; They all seem to get it at the same time (and when I say the same time I mean precisely). - The token script runs something like: if 0 == QuestVar ref.CIOS Spell set QuestVar to 1 endif Seems simple right? Here's what I get. QuestVar IS 0, spell is not cast, QuestVar is set to 1, everyone with the token is locked out and never gets the spell. Change the spell to a token, same difference, QuestVar is set to 1, no one gets the new token. So very pissed off. I don't understand how set is run AFTER cast and in turn locks cast out (which should have happened previously). It makes zero sense.
DoctaSax Posted November 22, 2013 Posted November 22, 2013 Must be some kind of timing issue with the engine - you should get an IsSpellTarget check in there before you set the quest var.
t3589 Posted November 22, 2013 Author Posted November 22, 2013 Must be some kind of timing issue with the engine - you should get an IsSpellTarget check in there before you set the quest var. It's definitely a timing issue. I can get past that point with a check and have tried that several times. The problem doesn't get solved it simply get's passed on to the spell that is cast and then I'm in the same boat all over again. So for example: is var 0; It is then cast spell; OK check isspelltarget; It is then set var to 1; OK spell sets var back to 0 spell picks a package to run spell runs pacakge for 2 people instead of only just one Both get a package before var is cleared, which was the reason for the lockout in the first place. The third person is excluded as desired. I've been trying to step it with timers and vars and whatever I can find but nothing is working. I guess I could give each of them a random time out var, but I'm worried that in a larger group that some will nail the same random. Arrrrrgh! So frustrating.
DoctaSax Posted November 22, 2013 Posted November 22, 2013 Hm, yeah, with packages in the mix, there's always something that can go wrong too. You could eliminate the spell factor in this though by using UDFs instead, unless that spell script needs to run more than once. They allow for more control over the flow of things, halting the calling script until the UDF's done its work. Edit: also, maybe this is a factor?
Halstrom Posted November 22, 2013 Posted November 22, 2013 Timers are just to unreliable, I sometimes use GetRandomPercent instead or I use a count so the script only fully executes every 200th scan this gives things a time to settle, and hopes are the 3 actors will be at least 1 or 2 scans different then do a GetRandom check every 200th scan to kick it off if the variable in the quest is 0. Depending on whether it's an effect script or object script 200 counts can take around .1 of a second or 2 or 3 seconds, I forget which is which. Can you check in the quest by something like if Actor1GotToken && Actor2GotToken && Actor3GotToken Set AllGotTokens to 1 endif or could you add the ActorsRefs to a formlist and have the QuestScript just use the Formlist to decide which actors to run on and add the spell/token to, remembering that spells on NPC's don't stay on if the player leaves the cell or they fast travel/wait etc.
t3589 Posted November 23, 2013 Author Posted November 23, 2013 I have the part I'm having trouble with working. Had it working 4 days ago. Then while testing, I exited a load door. The actor I left behind the load door never completed the token script they were running. So I made a reset token. This is when all the trouble began. While the above suggestions did improve efficiency (thanks Hal, now using lists and works much more reliably, and thanks Doc I switched from a spell to a token to avoid that problem), I'm still in the same boat I was 4 days ago. Here's the issue: ref refTarget short bClear float fTimer Begin OnAdd set refTarget to GetContainer set bClear to 0 set fTimer to 30 End Begin GameMode if 0 < fTimer set fTimer to fTimer - GetSecondsPassed ; This continues to count towards removal. else set bClear to 1 ; This runs on add!?!?! endif if (1 == bClear) set Quest.Var to 0 ; This runs on add!?!?! RemoveMe ; This waits for the count! endif End It defies reality! If I could just understand why the set runs on add instead of waiting for the timer, I'd be in business. If I print to console anything in the bClear is displays immediately regardless of the count. To illustrate how insane this is, I did in fact test to see if the engine understood that 1 doesn't equal 0.
jaam Posted November 23, 2013 Posted November 23, 2013 add another bool to ensure the gamemode does not run before onAdd ends. ref refTarget short bClear float fTimer short bInitDone Begin OnAdd set refTarget to GetContainer set bClear to 0 set fTimer to 30 set bInitDone to 1 End Begin GameMode if 0 == bInitDone return endif if 0 < fTimer set fTimer to fTimer - GetSecondsPassed ; This continues to count towards removal. else set bClear to 1 ; This runs on add!?!?! endif if (1 == bClear) set Quest.Var to 0 ; This runs on add!?!?! RemoveMe ; This waits for the count! endif End
Halstrom Posted November 23, 2013 Posted November 23, 2013 Also try a clean save, as I've had issues with old versions of scripts still running on actors after I've updated the scripts, I had 2 actors giving me different debug messages telling me they were running the old and the new version of the same effect script, I think it was effect scripts only that did that. I've hit quite a few issue that defied logical sense and a clean save was the only thing that fixed them.
t3589 Posted November 24, 2013 Author Posted November 24, 2013 TY Jaam! It worked. I've never had that happen before. What's ironic is that I have timers in other scripts nearly identical to that one, but they work fine. It was only this one for some reason. Was driving me up the wall. Now I need to learn more about the way lists work and I can push forward. I'm wondering if there's a way to clear out an entire list in one go. I'm thinking I could add a formlist to a formlist and then just remove the added formlist to clear it out in one shot? Or is there a better way? I also wonder if there's a way to step the index up 1. So for example: 3 in the list, pick the first one, remove it, then move index 1 to 0, and index 2 to 1. I know it would be easier to start from the bottom of the list and work towards 0, but while this is happening, others may be added to the list which means I can't start at the bottom. I'm trying to get a 'next in line' sort of thing going. I've accomplished this using Vars and counting but it is extremely unreliable and flakes out sometimes.
t3589 Posted November 25, 2013 Author Posted November 25, 2013 Lists are terrific! Huge hurdle now behind me and as far as I can tell, everything is working as expected. Started From Scratch = x9 Rebuilt Approach Mechs = x4 Rebuilt Dialogue Initiation = x3 Rebuilt Stalking Mechs = x5 Rebuilt Gang Bang Mechs = x3 Rebuilt Prostitution Tracking = X2 Rebuilt Attraction System = x2 Rebuilt Territorial Prostitution Protection = x1 Finally I can move forward! I'm trying to get all the features I consider to be a novelty done first. I'm dieing to get at the romance part. I'm going to put PC Prostitution on hold for a moment as I will need to get further into a play through to work through the rest of the planned features. Next on my list is PC Solicitation, but I'm kind of stumped. I think I may have to put that on hold for a minute as well. I think I'll need to at least hit the strip before I can work that out, also I'm not sure who I should be able to solicit in the vanilla game and I don't want to add new NPCs. I thought of activating solicitation based on NPC apparel, but I'm not sure how to go about picking who and who should not be capable of being solicited. If anyone has any ideas feel free to chime in. Updated the OP. Planning my next course of action now. As I've stated above this thing has been changing several times a day, almost every day. Therefore, I don't think I'll post a test case yet as it wouldn't serve any real purpose. If you would like to help contribute and test things as I go along, feel free to PM me and I'll see about getting my daily test copies to you.
t3589 Posted November 26, 2013 Author Posted November 26, 2013 Moving on to the heart of the mod now. This isn't long for the downloads section I think, simply because I'll really need some feedback for fleshing out dialogue. So far: - If NPC finds the PC appealing they'll come up and say either Hello(Cordial) or A Pick Up Line(Flirtatious). - The PC can respond in one of three ways: Warm(Cordial), Hot(Flirtatious), or Cold(Dislike). - This in turn will establish a first impression on the NPC and begin tracking the relationship. The initial introduction will be based on the PCs overall reputation. It will start as a random 50/50 chance, and then lean one direction or another depending upon the PCs actions. The more promiscuous the PC is, the more likely they'll have NPCs constantly trying to get inside their pants. Or for Male PCs, the more likely they'll be rebuffed as 'just trying to get in my pants'. My intention is to hammer out this system for Female PCs and then reverse it for Male PCs. ie. Male PCs will do most of the approaching and won't get much approach action when it comes to introductions. Male PCs will receive most of their NPC approaches after they have already established a relationship. Where as the Female PC will be opposite. Any input/ideas are welcome.
Pathed Posted December 7, 2013 Posted December 7, 2013 I know you don't want to add new NPCs, but how about renaming a few nameless ones? Then you can just go through the various NPCs in the various places people normally hook up, and go from there?
panthercom Posted December 7, 2013 Posted December 7, 2013 Seems to me that approach types/rates would be affected by location; I would expect someone in a casino to act differently than someone just walking down the street in Freeside. Different casinos would have their own unique settings. I would expect NPCs to act differently in Gomorrah and the Ultra Luxe. The amount of other NPCs in the area would have an effect too, as would the presence of a companion. If an NPC is in a group, the intial approach could be "Are you with someone?" or you could just hit on them more directly and risk an angry dude/chick getting in your face because they are already attached. You could wait until the NPC is circulating around the room to approach, and reduce the percentage likelyhood of a confrontation with a jealous partner. Attach markers to couches/tables rather than individual NPCs, if such a thing is possible, to affect approaches. Approaching a solitary woman in a bad part of town at night could mean getting a knife pulled on you or her running away, whereas she might talk to you if she was part of a group. Approaching a group of guys in the same time and place could lead to a gang-rape. A woman living in the sewers might be desparate to get out and would give it up more readily; but once out could be more likely to run off with another man or cheat. Where do the people in the casinos live? Need a few apartment buildings scattered about with 'communal' rooms; that is, the room is used by whatever NPC you've hooked up with; or you rent a room at the casino for one night stands. Consider the possibility that people would want to use the Populated Casinos mod, because the NPC count in the vanilla game is sad and pathetic.
t3589 Posted December 7, 2013 Author Posted December 7, 2013 Thanks guys. I use pop casinos light. Had a PC outage a few days ago. Still plugging away at it. I've moved on from determining what can be accomplished for the most part and am now more focused on determiining the 'best' way to do things. ie. Creating a rich, plugable, tracking system.
t3589 Posted December 26, 2013 Author Posted December 26, 2013 Updated OP with a proof of concept if you want to help contribute. There is still plenty of planned features on my todo list, but I think at least I've got a framework I can work with now. Remember this is just a POC. It is entirely unfinished, probably broken in places, bound to behave screwy, is missing planned features, etc... Also note that nothing in it to date is set in stone. I welcome any and all feedback, including dialogue requests/submissions and criticisms. There are no MCM options currently. When you enter a committed relationship with someone you will receive an item. Wearing these items decrease approaches, not wearing them increases approaches. Also only Female PC to Male NPC is currently working. This WILL have Male PC support eventually.
ChancellorKremlin Posted December 26, 2013 Posted December 26, 2013 Sounds promising, T-Dog! The OP is a little sparse on information concerning structure - what exactly do you have to do, talk to an NPC and take it from there? Are there any limits on which NPC's can be courted, that sort of thing? Going to give this a try later. Oh, and hope you had a good Xmas!
t3589 Posted December 26, 2013 Author Posted December 26, 2013 Thank you and you too. There's just so much as far as features packed into this already. It is very 'nuanced' if that's even a word. Countless tiny little things that alter reactions. I was just being lazy because to list everything would be enormous but I'll post some tips for the time being. There's not much the player has to do really. Just play the game and this mod will insert different encounters as you play. The most difficult thing about this mod so far has been deciding who likes or wants what. I hate the idea of deciding for the player how X actor should handle things based solely on my opinion. I've kept pretty strict to that rule so far but am willing to alter things on consensus. So for the time being everything is quite random and each play thru should yield different results for different NPCs. Any personality aspects that I couldn't peg down from lore are frankly arbitrary at best currently.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.