Jump to content

Fallout New Vegas GECK & Scripting Help 101


Recommended Posts

Posted

Don't understand pother about that mod - nothing special I think.

 

It is if you hate every last pixel related to one of the worst designed game interfaces ever invented in all of history!! :@

 

Ahem. That is... the pipboy. I may not be terribly fond of it. :lol: :lol: :lol:

 

It's my primary gripe with the fallouts. The vanilla interface in Oblivion was pretty bad even that was better. Although I only played Oblivion with the modded interface so the Fallouts always feel like I'm taking several steps down in quality.

 

I've found if you install that mod that speeds up the pipboy animation that helps somewhat but since TTW I've had to ditch the Readius (or pipboy 2500 or something, can't remember) so I'm really annoyed at the pipboy again. :s  And that's just the interface part. Let's not get into how ugly it is. :D

Posted

Never used "A Familiar Friend," but it's supposed to be the next closest thing to the Readius for TTW.

 

But...but...it's the pip-boy.  It's not as fallout-y without it.  (Even though the mod does look like the improved inventory Skyrim mod [whatever it's called]).

 

 

poof, a pop up appears with the list of contraceptives you have in your pockets and you just need to click on the desired one

 

OR...if you don't have one...you determine how lucky you feel to stave off potential consequences of getting lucky.

Posted

The Familiar Friend thingy works in TTW? *looks it up and grabs* If so, at least I can get rid of that hideous giant thing on my character's arm.

 

No such luck for the stupid interface though. :lol:

Posted

 

But...but...it's the pip-boy.  It's not as fallout-y without it.  (Even though the mod does look like the improved inventory Skyrim mod [whatever it's called]).

 

Oh, perfectly agree, but you got the point. Just like Skyrim UI, you can handle your datas in the way you want, like sorting them, filtering them, etc. think for example when you get lost (at least, I always get lost) inside the Aid menu, because there are too many items and you can't find what you need... so, want a buff? just use the filter!

Posted

Don't understand pother about that mod - nothing special I think.

 

From mod user point of view - it's a piece of crappy font strings on the display, and I agree with such point xD From scripting point of view - it's a little bit different.

Like DoctaSax said a month ago in array tutorial:

 

this stuff's just begging to be used.

 

And what's the best use of arrays, strings and UDFs all together? Managing extreme amounts of information, refs, vals, vars, hex, blabla, and output it all in a nice, little (but unlimited) grid, if you want. That's what this inventory menu is made of (+ some magic from Jaam) =) So, what's so special? Possibilities. This menu is just one way to use all the functionality we have now in NVSE4+.

What's next? How about interactive map (like those made in flash, available for download from the internet)? Clothing eval menu out of the MCM? Nice little contraceptive menu pop-up? Or complete rework of whole RPG system, dynamic, easy to tweak and kicking vanilla in the face? Who knows) Easy? No. Possible? Yes. How? NVSE4+.

Guest tomm434
Posted
What's next? How about interactive map (like those made in flash, available for download from the internet)? Clothing eval menu out of the MCM? Nice little contraceptive menu pop-up? Or complete rework of whole RPG system, dynamic, easy to tweak and kicking vanilla in the face? Who knows) Easy? No. Possible? Yes. How? NVSE4+.

Тогда чего ты здесь сидишь? Иди и претворяй всё это в жизнь!!

Posted
Тогда чего ты здесь сидишь? Иди и претворяй всё это в жизнь!!

 

In English please)

Guest tomm434
Posted

sorry I was confused. I said that you should do less talking and more action.   I just expresed my opinion that UI is not "WOW! OMG I've been waiting for this since 2009" mod. And you started saying that it's just a beginning. So I say that if you can do  something that is not "piece of crappy font strings on the display" before telling us about possibilities.

 

 

Posted

 

What's next? How about interactive map (like those made in flash, available for download from the internet)

 

 

do you mean something like JIP's fast travel, or to PN when you install implants, or XCars when you decide where to put your hud? interactive in the way that it tracks down where you are clicking with your mouse? I would appreciate using a bit more ingame UI instead of going through menus (MCM is GREAT, but more gamemode and less menumode would be amazing), but my xml knowledge is pretty limited, you know there's not a lot of specific documentation for NV

Posted

Nope. Something like this http://www.gamemapscout.com/falloutnewvegas_interactive.html but with more options. User markers, quest tracking (just like in vanilla Pipboy, but it's definitely out of the current NVSE functionality, so it will probably require some more coding =\), wiki info, maybe something else what we can add on map or what we can do with map.

 

sorry I was confused. I said that you should do less talking and more action.   I just expresed my opinion that UI is not "WOW! OMG I've been waiting for this since 2009" mod. And you started saying that it's just a beginning. So I say that if you can do  something that is not "piece of crappy font strings on the display" before telling us about possibilities.

 

Harsh..)

No, my friend. I already did some action to show possibilities. Now I'm doing talking for those who like to see things from mod user point of view to show them what exactly is WOW OMG (not UI mod) =D

Posted

Aww snap!  Tomm went all Russian on your ass!  Take that Cyrillic script, bitch!

 

Google translate said that the second sentence was "Go and pretend it all to life!"  So, he kind of was doing exactly what you said...daydreaming and pretending.  :lol:

Posted

Perhaps someone will find this interesting- theres a few new NVSE4 functions you might of missed, which I discovered when adding them to the wiki that are really great for creating debug dumps:

 

Con_SCOF and Ar_Dump I'm guessing are pretty well known already.

 

GetUserTime = returns a stringmap with the date and time on the user's system (good for file naming, or April 1st surprises :P)

 

Con_SQV QuestID = Readably prints all the variable names and their values for a quest (except strings/arrays are converted single int/float), plus running state/stage/priority

 

Print = its a much foxier version of PrintC, that lets you skip all the formatting bull shit and do more stuff.

 

So, for example, I just wrote a debug dump function which writes all the installed versions of nvse / mod masters etc, and the status of all the quests to a datetime-named file

 

 

 

 

scn tsolCreateDebugDump

int LastEcho
array_var UT
array_var aQuests
array_var entry
string_var file_name
string_var svkey
string_var SCRVersion
ref rQuest

Begin Function { }

    let file_name := "Sol-Debug-Dump-"
    let UT := GetUserTime
    foreach entry <- (Ar_List "Year", "Month", "Day", "Hour", "Minute", "Second")
        let svkey := entry["value"]
        if eval svkey == "Hour"
            let file_name += "-"
        endif
        let file_name += "-" + $UT[svkey]
    loop
    let file_name += ".txt"

    con_SCOF $file_name

    Print "Dumping to file: " + file_name
    Print "Sol version: " + SexoutSolicitingQuest.sol_version
    Print "Sexout Version: " + $SexoutNG.nVerRelN + " Beta: " + $SexoutNG.iBetaN
    let SCRVersion := Sv_Construct "%.1f" SexoutSQMainFast.fCurrVer ; * otherwise defaults to scientific notation for large floats
    Print "SCR Version: " + SCRVersion
    Print "NVSE Version: " + $(GetNVSEVersion) + "." + $(GetNVSERevision) + "." + $(GetNVSEBeta)
    Print "NX Version: " + $(NX_GetVersion)
    Print "Number of loaded mods: " + $(GetNumLoadedMods)
    Print "GameDaysPassed: " + $GameDaysPassed

    let aQuests := Ar_List SexoutSolicitingQuest, sol, SexoutSolicitingTrickQuest, SexoutSolSexAtLocQuest, SexoutSolNovacQuest, SexoutSolNovacBathhouseQuest, SexoutSolNovacBedroomTrickQuest, SexoutSolHeliosOneQuest, SexoutSolDuntonBrothersSexQuest, SexoutSolGoodSpringsQuest, SexoutSolGSEasyPeteQuest, SexoutSolPrimmQuest, SexoutSolicitingSloanQuest

    let LastEcho := SetConsoleEcho 1
    foreach entry <- aQuests
        let rQuest := entry["value"]
        Print "Quest: " + $rQuest ; * name of quest
        con_SQV rQuest
        Print " * * * * * "
    loop
    SetConsoleEcho LastEcho

    Print "*** All done! ***"

    MessageBoxEx "Soliciting completed a debug dump, please upload this file '%z' in your FNV main directory to Odessa" file_name

    Sv_Destruct file_name, svkey, SCRVersion

End

 

 

Posted

Is it okay if I found them sexy, cause that was the word that I was going to use.  Beautiful, beautiful debug files with the information that is actually (dear god, hopefully) useful to me. 

Guest tomm434
Posted

Oh Odessa you're brilliant! Thanks. I tried to do debug file export feature but I coudn't get getUserTime to work.

 

 

Aww snap!  Tomm went all Russian on your ass!  Take that Cyrillic script, bitch!

Отойду тихо в никуда наверное скрипит

Guest tomm434
Posted

Odessa, you found any way to crypt the information? In story quest variables can contain crucial spoilers. I can come up with only hex-dec conversion method. Any other ideas?

 

ps. On the second thought I don't think game engine can convert variable names into something. ALso  I don't think it's worth trying since someone can open file in GECK and see everything for himself.

Posted

 

 

According to various translator sites, you are writing poetry.

 

"Moving away quietly nowhere probably creaks"  :D

 

 

Posted

I (and doctasax) both ended up making our own versions of ar_dump as UDFs that are a bit better. Mine is in sexout (of course) and can be used by any mods that want to do so. If you want it in your own mod instead of relying on the sexout one, here's the src. Just make sure you change the name!

 

fnSexoutReDump(ar:array, sPrefix:string, iDebugMode:int) code:

 

 

scn fnSexoutReDump
; recursive array dump

; params
array_var ar
string_var sPrefix
int iDebugMode

; internal
string_var sType
string_var sRetval
array_var element
string_var sKey
ref rVal
float fVal

Begin Function{ar sPrefix iDebugMode}
  let sRetval := ""

  foreach element <- ar
    let sKey  := $element["key"]
    let sType := TypeOf element["value"]

    let sRetval += "[" + sKey + "]"

    if eval "Form" == sType
      let rVal    := element["value"]
      let sRetval := sPrefix + "[" + sKey + "] = " + (sv_construct "%i (%n)" rVal rVal)
      if ((0 == iDebugMode) || (GetDebugMode))
        printC $sRetval
      endif
    endif

    if eval "Number" == sType
      let fVal    := element["value"]
      let sRetval := sPrefix + "[" + sKey + "] = " + (sv_construct "%f" fVal)
      if ((0 == iDebugMode) || (GetDebugMode))
        printC $sRetval
      endif
    endif

    if eval "String" == sType
      let sRetval := sPrefix + "[" + sKey + "] = " + element["value"]
      if ((0 == iDebugMode) || (GetDebugMode))
        printC $sRetval
      endif
    endif

    if eval (("Array" == sType) || ("Map" == sType) || ("StringMap" == sType))
      call fnSexoutReDump element["value"] sPrefix+"["+sKey+"]" iDebugMode
    endif

  loop

  sv_destruct sKey
  sv_destruct sRetval
  sv_destruct sType

End

 

 

ar : the array to dump.

 

sPrefix: Pass an empty string, this is used internally for recursion.

 

iDebugMode : Must be set to 1 (or the mod must be in DebugMode) for the UDF to print anything.

 

This will loop recursively through any given array dumping the keys and values in the format:

[key0][key1]...[keyn] = val
Strings and Numbers values are printed as is; Forms are printed as "%i (%n)".
Posted

Passing the empty string as just "", or would a variable need to be set to "" and then passed to the UDF that way?

Posted

Nope. Something like this http://www.gamemapscout.com/falloutnewvegas_interactive.html but with more options. User markers, quest tracking (just like in vanilla Pipboy, but it's definitely out of the current NVSE functionality, so it will probably require some more coding =\), wiki info, maybe something else what we can add on map or what we can do with map.

 

sorry I was confused. I said that you should do less talking and more action.   I just expresed my opinion that UI is not "WOW! OMG I've been waiting for this since 2009" mod. And you started saying that it's just a beginning. So I say that if you can do  something that is not "piece of crappy font strings on the display" before telling us about possibilities.

 

Harsh..)

No, my friend. I already did some action to show possibilities. Now I'm doing talking for those who like to see things from mod user point of view to show them what exactly is WOW OMG (not UI mod) =D

 

That is harsh, tomm. I wouldn't mind seeing some of xilandro's code there, interface/ui stuff is yet another place where all the string & array bits can really expand the possibilities. A finished product that makes you go wow OMG takes time, as any modder worth his salt knows.

 

Guest tomm434
Posted

On the previous page I stated that Real time UI is not "WOW" for me

Then xilandro answered me that this is just the beginning but I didn't ask him to. And then I said that he should show something before telling me about it because I am as an user is intersted in result. And that's not harsh in my opinion because all of this started with me expressing my opinion thus not hurting anyone's feelings and not asking for responses. I say sorry in advance for everything everyone accuses me off, I don't argue that arrays\strings\UDFs open up new possibilities -  just let's finish this issue as quick as possible.

Posted

Con_SQV QuestID = Readably prints all the variable names and their values for a quest (except strings/arrays are converted single int/float), plus running state/stage/priority

People shouldn't forget the SetConsoleEcho thing there.

From what I can tell, array vars aren't 'converted', the numbers displayed seem to be their array IDs. SQV doing that is probably good for ar_dumpID'ing during testing.

 

Print = its a much foxier version of PrintC, that lets you skip all the formatting bull shit and do more stuff.

You wouldn't know if PrintD made it over too? I'd like that one better :)

Posted

A debugmode only version of 'Print'- Unfortunately not (or at least, I can't see it in any documentation, or the Commands_Scripting.cpp source, where 'Print' seems to be). I think we need to bug jaam for that one ;).

 

Other commands that would be useful for debug dumps, and I'm not aware of existing, would be a reverse of GetModIndex (given the index, returns the string of the loaded mod), which would let you get load-orders, and a way to get the localization of the game (eg: French, English). You can do "ActorValueToString" to get the localized string for an actor value though, and could maybe figure out the language from that, if I understand that function right.

Posted

a reverse of GetModIndex (given the index, returns the string of the loaded mod), which would let you get load-orders

GetNthModName returns the mod name as a string, takes the index as parameter (converted to decimal)

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...