Jump to content


JCarter426

Member Since 06 Dec 2011
Offline Last Active Today, 05:42 AM
*****

Posts I've Made

In Topic: Fair Strides' Script Shack

28 March 2017 - 08:47 AM

Script looks fine to me. I'd suggest taking k_ptat17_enter, renaming that to something, and then adding

ExecuteScript("WHATEVER_YOU_NAMED_THE_OTHER_SCRIPT", OBJECT_SELF, -1);

to the end of your script.

 

You'll run into compatibility issues with other mods that edit the on enter script, but those are few and it's relatively easy to fix on a case by case basis.

 

Also I don't think this matters, but if it does matter I might as well tell you:

GetIsObjectValid(object oObject)

That's the function I usually use to check if an object is valid. I think your way should work, but just in case it doesn't, you know.


In Topic: (Recruit Atris Mod)I feel I've hit rock bottom....(SPOILERS)

21 March 2017 - 11:13 PM

Well this part isn't entirely true, there are a lot of examples in vanilla and also in scripts I made where it works even if the NPC is not present.

 

Hmm, I must be misremembering then. It was probably just a precaution on my part, or perhaps necessary for some other part of the script. But it shouldn't affect switching back to the PC anyway.

 

 

What I would try next is to create an invisible placeable, and have the placeable start the conversation with itself.

 

I second that. If the character being switched is the owner or initiator of the conversation, that could cause problems that have nothing to do with the switch itself. I only ever scripted it outside of dialogue, so I'm not aware of the complications there.


In Topic: MDLOps

21 March 2017 - 07:49 AM

Yeah, but unfortunately I'm not. I have weighted stuff from scratch before, and it was not fun. There are some possible shortcuts with 3ds' modifiers but I've never managed to consistently get them to work with the game, so I try to avoid losing that data. As far as remapping it... well, technically I know how, but I don't think I have the patience or skills to do it well. It certainly wouldn't look as nice as the above images.

 

In general if I could do that sort of thing I'd be making new models for these projects instead of hacking up the game models.

 

But regarding my specific problems, I did manage to work around most of it. Detaching faces to a new element allowed for the un-mirroring, and the smoothing didn't even look too bad. And for the other project, I'm looking into using other models for the legs.


In Topic: (Recruit Atris Mod)I feel I've hit rock bottom....(SPOILERS)

21 March 2017 - 04:30 AM



I think JCarter has said that he knew some of the reasons why it can crash, maybe he remembers something?

 

My party script is six hundred lines long and I spent about a week debugging it almost five years ago. But let's see if I can recall some things.

 

One thing I do remember, because this was the last thing I had to fix and it took a while to figure out what was wrong. I had to run NoClicksFor() for the duration of the switch, because any sort of player interaction with anything seemed to crash the game. After I had finished all the other debugging, I still got crashes that were seemingly random, and went away once that function was added in.

 

The character you're switching to must also be physically present and available as a party member, or else the game will crash. But that shouldn't cause an issue if you're trying to switch back to the PC. For switching back to the PC, however, it looks like in my script I make sure the temporary PC is set as the party leader before the switch occurs.

 

Additionally, I have two separate cases for the switch. Case 4 sets up the switch, and then case 8 executes the script. I can't remember why I did this... I think it might've been so I could retain the temporary PC as a party member after the switch occurs, so you might not need that. I'm going to assume we can scrap all that, and I'm also ignoring a ton of safeties I built into my script. But with that in mind, I'd say it would look something like this:

void SwitchPC(int iNPC) {
AssignCommand(GetFirstPC(), ClearAllActions());

ActionWait(0.5);

SwitchPlayerCharacter(iNPC);

SetPartyLeader(iNPC);
}
 
void main() {
 
int iNPC0 = 0; // Put in Atris' NPC integer here
 
SetPartyLeader(iNPC0);

NoClicksFor(1.5);

SetGlobalFadeIn(2.0, 1.0, 0.0, 0.0, 0.0);
DelayCommand(0.2, SwitchPC(-1));
 
}

In Topic: MDLOps

20 March 2017 - 07:07 PM

What does work works great. Smoothing on individual mesh elements is fine. No more ugly seams on arms and legs and such. But it won't do smoothing between different meshes or mesh elements - essentially, across seams in the UVW map.

 

It's only a problem depending on what model you're working on. Many of the armors are fine. Where their meshes meet, there isn't supposed to be smoothing, because there's armor or whatever in between the joints. The underwear models are particularly problematic, though, because they're meant to be smooth all over.

 

The issue also crops up on models that have... the nice word would be questionable, questionable UVW mapping. The Jal Shey armor and the Twin Sun models, for example, have faces on the UVW map that are isolated for seemingly no reason, on the pants. The original models get away with it thanks to the smoothing, but MDLOps loses that.