Guest Posted June 4, 2014 Posted June 4, 2014 yes, but I doubt it will be useful for you in this case As I said I did a mistake, it was my misinterpretation of the function since it's not documented Specifically: set MyVar to PlaceAtReticle blablabla Now I wrongly used MyVar as reference, while it's a boolean. The result was still "correct", it was going to 1 when the reference was spawned. Doing the same with let, the result was different, it was always zero
jaam Posted June 4, 2014 Posted June 4, 2014 Splitting up Dialogue: Wrote a fucking monologue. Due to additions, some sentences are out of order. Is there a way to restructure these, or will I have to recreate them? +++++++++++++++++ And in addition, can a person move dialogues in topic? I mean in "Greeting" I have many dialogues and I want to move one at the bottom to the very top. Can I do it without creating new one? Use the left and right arrow keys to move something in a list if the GECK does not provide its own buttons. .
jaam Posted June 4, 2014 Posted June 4, 2014 The main difference is that set will usually use ExtractArgs as provided in vanilla, where let will always use ExtractArgsEx provided by NVSE. It is suppose to superseed ExtractArgs but as everything it can be bugged or some undocumented/usnseen behavior could have been overlooked.
DoctaSax Posted June 4, 2014 Posted June 4, 2014 Use the left and right arrow keys to move something in a list if the GECK does not provide its own buttons. . I could've used that bit of knowledge 2 years ago
jaam Posted June 4, 2014 Posted June 4, 2014 Yeah, I also found it way later that I should. I don't have any idea where unfortunately.
Guest Posted June 4, 2014 Posted June 4, 2014 Use the left and right arrow keys to move something in a list if the GECK does not provide its own buttons. . Oh god thank you! I was going to be crazy with all that copy paste to change their order...
jaam Posted June 4, 2014 Posted June 4, 2014 GetRace should work fine for custom races, why wouldn't it? Yes, generally speaking functions works independently of masters, they just manipulate opaque numbers or pointers. The exception being reference to hardcoded formID (those below $800), player/playerRef and all the enumerations that are in the base game ESM.
Odessa Posted June 4, 2014 Posted June 4, 2014 The main difference is that set will usually use ExtractArgs as provided in vanilla, where let will always use ExtractArgsEx provided by NVSE. It is suppose to superseed ExtractArgs but as everything it can be bugged or some undocumented/usnseen behavior could have been overlooked. One difference I've just noticed is that: 'set rActor to Player' works fine, but 'let rActor := Player' will give you an error: "Attempting to call a function on a NULL reference or base object" So, you have to use 'PlayerREF' instead.
Guest Posted June 4, 2014 Posted June 4, 2014 So, you have to use 'PlayerREF' instead. I have to use PlayerREF on the other NVSE functions too (like GetType), but I think it's just related to NVSE, vanilla scripting still make no difference from the two, they're like (aliases?) EDIT: mmmh... or it was when I was checking if the player was the reference? don't remember... anyway yes I had many times that kind of error with NVSE if I wasn't specifing playerREF
t3589 Posted June 4, 2014 Posted June 4, 2014 So, you have to use 'PlayerREF' instead. I have to use PlayerREF on the other NVSE functions too (like GetType), but I think it's just related to NVSE, vanilla scripting still make no difference from the two, they're like (aliases?) EDIT: mmmh... or it was when I was checking if the player was the reference? don't remember... anyway yes I had many times that kind of error with NVSE if I wasn't specifing playerREF Some things don't play well with PlayerREF. I've had problems with it here and there. StartConversation I think is one that doesn't like PlayerREF, but rather only Player.
jaam Posted June 4, 2014 Posted June 4, 2014 player is supposed to be a baseForm and playerRef a ref. For reasons I don't understand, vanilla replace player by playerRef pretty much anywhere so you almost cannot "reference" the player object (formID 7). NVSE will translate player as the NPC_ except where a baseForm cannot be used in which case it will be translated to playerRef. Anyway it's better to explicitly use playerRef when you mean playerRef
jaam Posted June 4, 2014 Posted June 4, 2014 Also, I'm pretty sure the maximum size of a compiled script is 16K. Max compiled script size is 16384, max compile line size is 512, and max source line size handled by NVSE in GECK is also 512, though NVSE extend the line buffer to a lot more (2048).
nyaalich Posted June 4, 2014 Posted June 4, 2014 LL 6:18-20: And lo! The venerable jaam did descend from his precipice and impart his knowledge of the esoteric inner-workings of the GECK to the huddled mass of frustrated modders. They rejoiced and praised him thusly, lauding his wisdom and imparting +1s upon him, although they were frustrated that they could not Like his lesson since the choice had been taken away from them during the dark times of the burdened server.
prideslayer Posted June 5, 2014 Posted June 5, 2014 Also, I'm pretty sure the maximum size of a compiled script is 16K. Max compiled script size is 16384, max compile line size is 512, and max source line size handled by NVSE in GECK is also 512, though NVSE extend the line buffer to a lot more (2048). I figured. That was in response to this: I never tried to determine the maximum size of the script once complied, or the maximum size of a compiled individual line. But if it is also at least 32767, it should not be possible to reach it with a 32767 script source. I got 16k from looking at failing script records in FNVEdit, well before I had started working on NX or NVSE.
jaam Posted June 5, 2014 Posted June 5, 2014 yes, went through the relevant structure yesterday while debugging something.
Guest tomm434 Posted June 6, 2014 Posted June 6, 2014 How exactly does "Begin SayToDone" block work? Does it checl for a line to be said every frame or it is every line that is said checks if there is any SayToDone block in object script? And Can I somehow use this block not in Object script. I tried adding it in Spell script, it compiled but didn't wotk ingame.
jaam Posted June 6, 2014 Posted June 6, 2014 it should be in a quest script, the one containing the line said
Guest tomm434 Posted June 6, 2014 Posted June 6, 2014 it should be in a quest script, the one conatining the line said GECK says that Begin "SayToDone" is "invalid block type" for quest script
Guest tomm434 Posted June 6, 2014 Posted June 6, 2014 Quite strange , try the NPC saying the line. Well, here it is.
prideslayer Posted June 6, 2014 Posted June 6, 2014 I think that blocktype is only valid in an Object script, and will only run on scripts assigned directly to NPCs.
Guest tomm434 Posted June 6, 2014 Posted June 6, 2014 I think that blocktype is only valid in an Object script, and will only run on scripts assigned directly to NPCs. Do you think this block is executed every frame?
prideslayer Posted June 6, 2014 Posted June 6, 2014 I doubt it. It only works with Say/SayTo so when SayTo finishes, it will run. It shouldn't run at other times.
prideslayer Posted June 6, 2014 Posted June 6, 2014 http://geck.bethsoft.com/index.php?title=Three_Way_Conversation_Tutorial
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