Jump to content

luthienanarion

Premium Member
  • Posts

    1938
  • Joined

  • Last visited

Everything posted by luthienanarion

  1. I don't think it's possible to change the abbreviated name of an ammo with existing script functions. That would require a custom function loaded from an NVSE plugin. PM me if you're interested in going that route.
  2. Brilliant first post. This isn't the Skyrim section of the forums, so it's a little slow around here.
  3. The general consensus is that the GECK compiler parses inputs that begin with numerical values as FormIDs instead of EditorIDs.
  4. As it happens, I'm a gamepad user as well as a hobbyist programmer. Check out my NVSE plugin for gamepad-detection functions. I'm also working on a button->keypress translation mod that you can configure to emulate keypresses for other mods. All we really need is a reliable way to disable and re-enable the game reading controller input (e.g. when a "shift" button is pressed) to make it perfect.
  5. Try upping the z-axis position so that the weapon has some time to fall before hitting the ground. That should help with ground collision detection. I used 0,0,140 to drop the Configuration Duck on the player's head in LCWE-FO3 and never had it fall through the ground.
  6. ENBoost is ENB without support for any of the graphical enhancements. The functionality of ENBoost is built-into ENB. Either go back to an older version of ENB or continue tweaking your preset.
  7. Message forms can be made to take parameters using format specifiers. http://geck.bethsoft.com/index.php?title=ShowMessage I'm guessing that aaBMHECCCOchemStatsMSG's text has 9 such specifiers, which means that you must pass 9 parameters. The buttons are irrelevant to this error.
  8. You can either convert them to ESPs by changing the file extension and removing the ESM flag from the plugin header or use the GECK PowerUp to edit them directly in the GECK.
  9. Ugh, that reminds me of the time I learned Java in order to make a SkyProc patcher. I'm glad I passed that project on to someone else so that they can play tech-support. I've updated my NVSE plugin with the GetLoadedType function, so feel free to pull forms from other plugins like there's no tomorrow.
  10. NVSE's source code is included in the download, in the "src" folder. The included project files are for Visual C++ 2005 or 2008. Keep in mind that you'll have to install the DirectX SDK and add its libraries to the build path in order to compile it. I'll release my plugin's source when I finish up version 3; it could stand to be cleaned up a little. On the subject of *Edit scripts, I definitely could use some good source examples. I never learned PASCAL having jumped straight from BASIC to C++ when I was a kid. I'll check out your automation scripts, Mator.
  11. The developers fixing things was a new trend that started with Skyrim. Yes, FNV still needs a patch (or preferably a loader) in order to use 3GB of RAM.
  12. Well, five hours later I have a working NVSE plugin function. The function code: You pass a form list and a type code, and it fills the list with all items of that type from all loaded plugins. Here's the script I tested it with: short count short index ref varref string_var typefile begin gamemode if getgamerestarted set count to 0 while count < 200 getloadedtype testList count if listgetcount testList set index to 0 let typefile := "typedumps\" + $count + ".txt" con_scof $typefile while index < listgetcount testList set varref to listgetnthform testList index printc "[%i] %n" varref varref let index += 1 loop endif set count to count + 1 loop endif end ; gamemode Note that iterating through the form list and printing its contents is the longest part of the loop, and the GetLoadedType function is quite fast; type 32 (statics) took a minute to dump 9,686 forms, but there shouldn't be a reason to add all statics to a form list. Here are the resulting text files: http://www.mediafire.com/download/ki4taxaxxk1854i Expect to see this added to my NVSE plugin (link in sig).
  13. It's a good thing I know a thing or two about programming/scripting, then. I wrote an NVSE plugin function to test that, too: BBoundObjectListHead* objects = g_data->Get()->boundObjectList; TESBoundObject* object = objects->first; do{ object = object->next; if(object->GetTypeID() == type) { _MESSAGE("%d", object->refID); list->AddAt(DYNAMIC_CAST(object, TESBoundObject, TESForm), eListEnd); } }while(object != objects->last); (Ian will probably shoot me for this.) This function scans the DataHandler's list of bound objects and dumps the IDs of weapons to a log file. This output was instantaneous: http://pastebin.com/raw.php?i=N9xw7F7Z (The IDs are in decimal.) Non-object record types are even easier to scan. As an example, this dumps loaded races: tList<TESRace> races = g_data->Get()->raceList; for(tList<TESRace>::Iterator iter = races.Begin(); !iter.End(); ++iter) { TESRace* tempRace = iter.Get(); if(tempRace) _MESSAGE("%s", tempRace->GetName()); } If you want to check these methods out yourself, g_data in my examples is a pointer of the DataHandler class defined in GameData.h in the NVSE source.My weapon-scan example could probably have dumped the names of the weapon forms instead of the IDs if I had typcasted them or something. /shrug I'll see if I can polish these methods into a useful function or two that you can call in your scripts to load an array or formlist with data of whatever type you want.
  14. There is no direct way to determine determine the rank of a perk. You can use IsSpellTarget to check for the specific effects granted by different ranks, however.
  15. /facepalm @ezzublez: camaro has the right idea. Delete everything and let Steam fix it for you.
  16. That made me chuckle. Not at all. I even tested the idea just for posterity's sake. Here's a script I attached to a start-game-enabled quest: scn lutModScanTest long scanindex ; Yes, there really are long integers in this scripting engine. short modcount ref itemref begin gamemode if(getgamerestarted) con_scof "modscanoutput.txt" set modcount to 0 while(modcount < getnumloadedmods) set scanindex to 0 while(scanindex < 16777216) set itemref to buildref modcount scanindex if(isreference itemref) else if(gettype itemref == 40) printc "[%i] : %n" itemref itemref endif endif let scanindex += 1 loop let modcount += 1 loop endif end ; gamemode I loaded up the game with only the DLCs and pre-order packs active (plus my plugin holding the quest for the script) and the game locked up for about 20 minutes generating this output: http://pastebin.com/raw.php?i=PqjqFGAS The problem is not difficulty, as I've just shown; the problem is practicality. The value 16777216 used above isn't pulled out of thin air. The script checks for weapon base forms (as an example) for IDs ranging from 0x000000 to 0xFFFFFF. While it's true that you'll probably never see a normal plugin with FormIDs in even the 0x200000 range (FalloutNV.esm doesn't even hit 0x180000), a common practice when merging plugins into a master is to renumber them starting at a unique value in order to avoid conflicts with existing IDs. NVEC, for example, has FormIDs in the 0x480000 range. That means that in order to pull all forms from the load order you have to check 16.7 million values for each plugin. Obviously, doing this in a single frame is insane. However, you have to remember that my machine took 20 minutes just doing that for the DLCs. If you ran that scan in chunks it would take even longer to complete. I don't think there's any viability in an initialization method that takes an hour in-game to finish. Have I proven myself yet? (Now I'm being sarcastic. :smile:)
  17. If a plugin was created before April 25, 2011 it is incompatible with the current version of New Vegas. PPA and all plugins need to the updated following FormID changes made by the 1.3 patch. That said, you don't have Ambient Temperature.
  18. One of your Sexout plugins is likely to blame, but I'm not going to download them all to figure out which one. Naturally, Sexout only works with certain races and is known for trapping and/or killing the player if you try to use it with certain other races.
  19. That tab is almost useless, because you cannot edit anything in it even if your GECK doesn't crash.
  20. If there was ever an NVSE function that should have had an abbreviated form...
  21. You can modify the body slot of an item to an unused slot, but it will always render and probably clip through other clothing. Just ask Uoud how complicated it has proven to get underwear to work properly.
×
×
  • Create New...