-
Posts
1576 -
Joined
-
Last visited
Posts posted by Surilindur
-
-
If the script is attached to a base... thingy (the one created in the Object Windows of the Construction Set), it will run separately on each instance of that object in the game world. Like if that is attached to the boat in the CS, it will run separately on every instance of that boat in the world. And if a script runs on a reference, it will automatically target that reference, like a magic effect script will automatically target the thing the effect is cast on. So if a command has a syntax defined (in the Construction Set Wiki, for example) like this:
<target>.IsPlayersLastRiddenHorse
It will, if run on the target reference, automatically target it, in which case (if the target is BoatRef)
BoatRef.IsPlayersLastRiddenHorse
Is equal to
IsPlayersLastRiddenHorse
If the script runs on BoatRef, which it does, if you have selected that script as the script for the base boat created in the Construction Set. It will then also work with an unlimited number of boats, as there is no need to target a specific reference in the script, as every instance of that script (on every boat placed in the game world) automatically uses the boat it runs on as the target. So you can place a hundred boats in the world and every one of them will just check itself if the script is written so that no specific reference is defined as the target.
scriptname BOATstopFASTtravelSCRIPT Begin GameMode If ( IsPlayersLastRiddenHorse == 0 ) Return ; Stop here, to prevent doing a GetDistance check EndIf If ( GetDistance Player >= 50 ) ; This is only done if the boat is the last ridden one ClearPlayersLastRiddenHorse EndIf EndThe script will, if the boat is an actor, run on the boat every time its AI updates (as it is GameMode block). And if written that way, it will work on each and every boat separately, which allows for an unlimited amount of boats.
Some have said the GetDistance function is performance-heavy, but others have said it is not. That is why I put below the check for last ridden horse. Not sure if it makes any difference, but as the CS wiki says AI for actors in high-level AI processing is updated every frame - in which case that script, if the boat mount is in high-level AI processing, is updated every frame - it probably does not hurt to limit the distance check to only the case if the boat actually is player's last ridden one.
Just my thoughts on the matter. In case they happen to be useful. I am not an expert, though, so if someone better with scripting happens to read this, feel free to correct me. :)
-
I have no skills whatsoever in making models, so I am of no use to anyone. Sorry. I would have to start from the very basics to learn it. And with my brains, it would probably take several years before I could make models someone would even consider using somewhere.
-
I do not know how it would be possible to determine heavy or light rain, but OBSE offers a command to get the precipitation type for the current weather, to help determine if it is raining. In the unlikely case you have not yet noticed it. I myself just use light rain boxes, check if it is raining, enable them if it is and hope no one with too much eye for detail happens to use the mod.
The GetCurrentWeatherID and then GetWeatherClassification commands should help determine whether it is raining. The OBSE command documentation says type 3 is rain and 4 snowing, but when it was raining, it reported the type as 4 to me. Perhaps it was just All Natural. But in case you also run into it, see which one the type is when it rains.
The thing I came up with just used All Natural to achieve the different weathers and such, but I suppose with all the OBSE commands, it might be possible to just copy certain aspects of the outside weather to inside weather. But I am not sure. There do not seem to be that many commands available.
Lazy me just used AN to get it working by checking if All Natural Base.esm was loaded and then either make the cell behave as exterior or not and set climate to the one AN uses for interiors with windows (or to the one meant for closed interiors for interios without windows). The way I did it, with All Natural, was something like
ref rTemp ... If ( IsModLoaded "All Natural Base.esm" ) SetCellBehavesAsExterior SomeCell 1 let rTemp := GetFromFromMod "either AN base or the esp" "form id of the AN interior climate" SetCellClimate SomeCell rTemp Else SetCellBehavesAsExterior SomeCell 0 EndIfAnd maybe the rain could work like
ref rTemp int iTemp ... let rTemp := GetCurrentWeatherID let iTemp := GetWeatherClassification rTemp If ( iTemp == 3 ) && ( RainBoxEnableParent.GetDisabled ) RainBoxEnableParent.Enable ElseIf ( iTemp != 3 ) && ( RainBoxEnableParent.GetDisabled == 0 ) RainBoxEnableParent.Disable EndIfSomething that would probably help determine if it is raining. It might also be worth checking what weather GetCurrentWeatherID returns when called in an interior cell, as I do not remember exactly how I managed to get the current exterior weather anymore. Maybe it was just luck and AN did it for me somehow. :sad:
I am not an expert when it comes to weathers (if someone has not yet noticed the obvious from my brainless rambling), so I do not know how it might be possible to try to get the overcast things. Maybe copying sky textures from outside weather somehow if there are any commands to do it. Or use some weather lighting or HDR values to determine it somehow? Maybe? I have no idea. Can the difference be gotten from anywhere else other than sky textures? Or some light values? Or fog?
-
You could also try setting the game setting "fMoveRunMult" to a higher value. Maybe that could help? I have not tested it, though. It is 3.0 by default, it seems.
-
1. Yes, that can easily be done if All Natural is also installed
2. No
If you use a custom house model, with vanilla window textures AND holes in the wall behind the window (so that if there were no window, there would be a hole in the wall, NOT wall behind the window), it is easy to have it support Weather - All Natural. But to easily achieve weather features, they can only be active if All Natural is installed. But that can be done without having any All Natural files as a master, thanks to OBSE. It offers commands to modify a cell's behaviour and climate-related things, as well as detect if a plugin is loaded.
So if you use a custom mesh for the house, it woul need to be possible to have both transparent (with no wall behind them) and non-transparent windows. The transparent version would be used with All Natural features enabled (All Natural is loaded) and the non-transparent one without All Natural, like with 'vanilla' interiors. The rain box resources can either be included in your mod, or the ones that come with All Natural can be used, as the rain box feature would only be used when All Natural support is enabled (All Natural is loaded, and so the resources are present) and thus sky can be seen from inside (with transparent windows version of the house mesh).
Maybe it could be enough if the windows just used 'vanilla' textures, as All Natural says it comes with transparent versions of the original window textures. Just the holes in the walls behind windows would be handy. My castle project uses mr_siika's Castle Seaview meshes, and some windows have wall behind them, so it is not possible to make all windows transparent to support All Natural. At least not with my nonexistent skills with making models and such. :sad:
I am really bad at explaning things. But I hope that makes at least a little sense. When the new version is ready, I can see if I could make a version of it that supports both normal game and All Natural. If you do not manage to make one yourself, that is. Not that I would be especially good at this, either.Edit: Took a look at Nagasteim and removed the unnecessary ramble from this post. Glowplug, your Apocrypha looks incredible in the screenshots. Now I definitely need to try the mod. Aww. But where do I find the time with all my projects. I need to finish them before I can play the game properly. :tongue:
-
You can, for example (the easiest way, if you are using the Construction Set):
- Download and install the Construction Set Extender by shademe
- Remember to download and install all its requirements if you do not have them
- Launch the CS using the Launch CSE.bat (or make a shortcut to obse_loader.exe with -editor and -notimeout arguments)
- Select all plugins you want to use as a master (double-click, I think)
- Select your mod and set it as the active file (it should turn purple)
- Click OK or something like it and continue as usual, there will be everything from all plugins you selected there now
- The green ones in object window (by default) are the ones you have edited
- Save the mod as usual, the CSE will allow you to use .esp files as masters without any additional work
- The plugin should now have all the files you loaded with it as its masters
And you should use the CSE anyway. The .esp files as masters without extra work -feature is just one of the incredible improvements it does. I definitely recommend it.
Hopefully that helps a little. :)
-
It is possible to make the mod compatible with Weather - All Natural also without having to use it as a master. So that there would only be one version that supports both vanilla game and All Natural, depending on whether All Natural Base.esm is loaded. With rain outside windows, too. :P
Took me a while to figure it out when making a mod of mine, but it was definitely worth the additional work. Supporting two versions would have been way too much for me. Making mods is supposed to be fun, after all, not frustrating. If you need help with including AN support, I could try to do it for you.
The way I did it was using OBSE to detect if All Natural Base.esm is loaded and then modify the interior cells accordingly, as well as enable/disable rain boxes outside windows depending on the current weather. Perhaps it would not even be necessary to include the rain box resources in your mod, if Weather - All Natural already supplies them, which it does. But I need to find them first to get their paths.
-
Probably yes, but I am not sure, as you are not distributing the meshes and textures. But there will always be problems when combining the official DLC:
A. The plugin you distribute must not be playable as it is, but somehow require the official DLC to be playable
B. The game will not necessarily load all .bsa files automatically, as there will not be plugins with the same name anymore
C. The unofficial patches will not be usable, as they cannot find their masters and such
D. Maybe form IDs could also cause issues, if a mod not directly dependent on the official plugins uses them for something
And probably something else. But you can always use CSE and load all official plugins (and maybe also their unofficial patches) as masters for the plugin you are creating. That way, you will have one new plugin that modifies all NPCs in the official DLC, without having to merge the official plugins and distribute it. Maybe that would be worth considering? What is it that you are trying to do, exactly?
-
No. Event handler needs to be set once. Just setting it once after game has been restarted should be enough. Maybe it would even be possible to only ever set it once, but I have not tested it, so I cannot tell.
An event handler is a user-created function, another feature added by OBSE. A user-created function is defined in the editor, when writing, as an object script. But it must not be attached to anything. It needs to written, compiled as an object script and then left there. Elsewhere, in a quest, for example, that script (which is classified as an object script, but is a user-created function) is added as an event handler for an event that takes place in game. After it is added, OBSE will automatically call the function when the event, as a handler of which the function has been set, takes place and pass to it the information assocciated with the event (the things listed in OBSE Command Documentation).
So the function will just sit there, alone, not attached to anything. If it has been added as an event handler, OBSE will call it when necessary, after which it can continue sitting alone somewhere out of the way until it is called again. The function does not need to be attached to anything.
So, there only needs to be the script used as an event handler, the one defined as an object script, but that in reality is a user-created function that can be called - also on references, when it will work like a magic effect script (but still be defined as an object script).
ScriptName MyEventHandler ref rTarget ; The function receives this from OBSE ref rAttacker ; The function receives this from OBSE ref rWeapon ; Weapon of the attacker, the slot 16 one Begin Function { rTarget rAttacker } let rWeapon := rAttacker.GetEquippedObject 16 If ( rWeapon ) MessageEX "Oh dear! %n hit %n with %n!", rAttacker rTarget rWeapon Else MessageEX "Oh dear! %n hit %n with no weapon in slot 16!", rAttacker rTarget EndIf EndThe references in {...} need to be in the same order as the ones in OBSE Command Documentation, as OBSE will send them to the function in the order described there.
That user-created function can then be set as an event handler in, for example, a quest script. Once when the game is restarted should be enough. It does not need to be set again every second, as it does not get "used up" in any way.
ScriptName MyQuestScript Begin GameMode ; Things that need to run every time quest updates If ( GetGameRestarted == 0 ) Return EndIf SetEventHandler "OnHit" MyEventHandler ; <-- No restrictions to attacker & target ; All other SetEventHandlers here, too, and everything else ; that onlt needs to be run once when game is restarted EndWhen an event handler is no longer needed, it can also be removed by RemoveEventHandler command or something like it, which works like the SetEventHandler but does the opposite (tells OBSE not to call the specific function upon that specific event again, unless it is added as an event handler again).
Hopefully that helps a little. :smile:
-
Probably something in the engine and lack of occlusion culling with planes like in Skyrim. Or something else. I have gotten a bit excited about mods, and having played with them for quite some time, I cannot go back now. But there is always the price to pay for it. :D
Luckily, the game now usually runs around 30 fps outdoors (I have capped i here and use framerate manager of OR to keep it close to it instead of too much below it). Not counting drops to 20 or lower because "in" cities (due to Open Cities Reborn and a heap of other mods), the game runs acceptably now. Also RAEVWD might be the greatest culprit behind lower fps. I tried removing all other mods, but my fps did not change much. Maybe 2 fps. Turning off AF (16x) gave also maybe 2 fps. Uninstalling RAEVWD gave maybe 10 or more (I cannot remember, but it was a lot) fps. But I just cannot let go of it. And I have not yet managed to make the ramdisk LOD stuff feature of OR work (admittedly, I have not even tried much). :(
Which tweaks have you tried to improve multithreading? I have an i3-2120 (2 physical cores, but with 4... threads?) running at 3.3Ghz and I have only ever managed to make it use 100% of the first one, something like 20% of the second and 0% of the rest two... not sure if it possible to make is use more, but it should not hurt to try. Or maybe it does. Difficult to say.
But yes, having played with an acceptable fps for a while, it is difficult to go back. I first bought Skyrim on PS3 and it felt incredible after Oblivion. But when I finally bought it on PC and played on it, PS3 felt terrible and laggy, resolution looked pretty low (could be the TV, too), loading screens took ages, the whole console froze every now and then and the game was full of bugs because I could use the USKP on a console. :( But then again, I do play Assassin's Creed Revelations on PS3 (which runs fine, in my opinion) because I have Brotherhood on PC and me playing it with keyboard is a far greater thread to Ezio than the Borgias. :tongue:
-
The game is old, the engine is old, it does not do much multithreading, stuffing it with mods is a bad idea and so on. Utilities like Oblivion Stutter Remover and Oblivion Reloaded can help, but the game itself is the greatest limit. 30 fps looks very smooth in my opinion and with a modded Oblivion it is quite the achievement. The game is old, and it can only take so much. And anyway, does it really make that much of a difference to see 30, 60 or 300 frames per second? There must be a limit to how many frames human eye can see. Videos usually have 25 fps, I think, or at least the ones I have edited have had. They were filmed with a camera, though, so I do not know if it is a standard or not - probably not.
Unless you have a 60+ Hz monitor, there will only ever be a maximum of 60 frames shown to you a second.
I do not use Morroblivion myself, so I do not know how much it affects performance. But I doubt it does anything to performance.
Edit: Come to think of it, it does make a difference to see 30 or 60 frames a second. I have capped it to 30 in Oblivion and 40 in Skyrim, so I seem to forget about it. :)
-
The Unofficial Elder Scrolls Pages is the best wiki type of site I have found for everything Elder Scrolls. In case you have not yet found it, ilawana. I am, mildly put, suspicious about all the other Elder Scrolls wiki pages on the Internet. Or at least all the wikia pages. But that could be just me having used the UESP forever. :tongue:
It just seems all the images you have recently linked are from some sort of wikia page. Or perhaps you just used Google and it gives links to some wikia site first. Not sure. In case you did now know about UESP, there you go. In case you did, sorry about wasting a post. :D
But perhaps glowplug meant something like it. Difficult to say. If psychics just were real, we could know it before he happens by again. Or course, it would be necessary to locate and use one before that, too. :)
-
There is also the Skyrim Holds guard armor mod my Medtech that has hold guard armour in case that might be something you are looking for. It seems he also paid some attention to the hold symbols; which ones can be made look like the Skyrim ones and which ones cannot because the events resulting in the Skyrim symbols have not yet taken place. Or something like it. In case it might be useful.
Or did you mean something completely different by Hold armour? I just assumed it was Skyrim-related. :)
-
It seems UESP has a separate page for him. Or her. Or whatever he/she is to become. :tongue:
Also, there is a link to a small lore section about King Bendu Olo of Anvil. I had never really thought much about the name. And I think it could also sound a bit like a Dunmer name, maybe? Could it?
Edit: There is also this title (or description?, maybe?) on UESP page of Pocket Guide to Empire, 1st Edition for Bendu Olo: Bendu Olo, West King of Anvil and Baron-Admiral of the All Flags Navy, and Dealer of Swift Justice to the Foul Spot of Thras.
The Skyrim main character was just "Prisoner", was it? No fancy name for him/her. :happy:
-
This one does use SetStringGameSettingEX and RunBatchScript with sort of an ini file, but the way the variables are named is a bit strange, perhaps. Sorry about it. I am not a professional scripter. But I am learning a bit more every day. :D
http://www.nexusmods.com/oblivion/mods/46044/?
RunBatchScript with an "ini" (sort of) file works with String_var, but the variable needs to be set in the batch script like:
Set SomeQuest.sStringThing to sv_Construct "Skeever Tail Soup"
Maybe that helps a little... ? -
obse_loader.exe needs to be in the game folder, the same folder as Oblivion.exe, NOT in data folder. And it needs to be installed manually because of that. The only files from OBSE that go in Data folder are the ones in the ...Data\OBSE folder (obse.ini and Plugins folder). You can see it from how it is packed when you download OBSE.
Also, if you use Mod Organizer, the OBSE plugins need to be copied to the actual ...Oblivion\Data\OBSE\Plugins folder. Not sure how it works with other mod managers, though, MO is a bit different to them.
-
I have yet to test those, but it seems odd if you add the event handlers every time the quest (I assume the first is a quest) updates. Maybe they could be added like once when game is restarted? Or only ever once? I do not know if they are discarded when game is closed and then restarted or what. Something to think about, maybe.
Begin GameMode If ( GetGameRestarted == 0 ) Return EndIf SetEventHandler "OnHit" Blablabla .... EndThe OnStagger handler description says it is called when an actor begins stagger animation... so it will probably only be called when someone is staggered. The reason why weapon is printed as 0 is probably using the %.0f thing. It is useful with numbers, like if you want to print a float variable with four decimals, you would use:Message "Player has %.4f bananas", fNumberOfBananasWhich should always print the float with four decimals:Player has 0.0000 bananasBecause there are not any. Without mods, I think :D The OBSE command doc has the "Format Specifiers" section in which all the different ones are listed. You will probably need %n to print the name of the reference. Maybe that could solve it? Also, check the other weapon slot, as well. Number 16 works with sheathed ones, at least, but I do not know if it works with drawn one... Maybe that could be worth checking?And the Return command cuts the script's processing (like you know), so I normally use it in an If...EndIf thing as short as possible and place all that should be run in case it is not true after it. Not sure if makes any difference, but at least I can avoid all large If...EndIf things. Like:
If ( Target.IsBlocking ) Return EndIf ; All other things hereThe effects sound... interesting. Maybe I should try your mod when it is finished. Make my enemies burn. :) There is also the StopMagicXXX commands, if you want to stop the effects one day. I do not know what happens if they are not stopped. Probably nothing, though. But I am not sure. -
I checked how the KotN followers work, and, as one could have expected, they all have their own AI package sets and so forth. So adding an NPC to a faction does not make it a follower. You will need to create new dialogue topics and AI packages, as well some little scripts. But the KotN followers should provide some examples on how to do it. The generic KotN knights have ND prefix in editor ID and the word generic in it. When making the packages and scripts and such, remember to change the editor ID so that it will not overwrite the original one and so on. There should be tutorials on AI and gialogue available somewhere. So, you will need:
- A follow package and a wait package
- Topics to tell her to follow, wait or dismiss her (with custom variable as a condition)
- Variable to control whether she should follow, wait or go about her daily life (AI packages need to check this)
- Small "set" commands in the topics to change the variable accordingly
It should not be overly complicated. Shame it is not as easy as adding an NPC to some faction. But then again, Bethesda did not have OBSE available. Or they could not use it for obvious reasons. Difficult to say. I hope you will manage to make the mod. Good luck, and lots of patience. :)
-
I answered the CS thing on the other thread.
The followers from Battlehorn Castle (the original Bethesda creation) use AI packages, a quest variable and small scripts in dialogue topics to manage their follower thing. So I doubt they created a system that makes all NPCs in some faction work as followers without editing the NPCs themselves. If they did, I would be more than surprised. It might work that way in Skyrim, but all Bethesda-created followers I have seen thus far have some AI packages added, as well as dialogue, to control whether they should follow player, wait or leave home. The Battlehorn followers even had separate topics for each and every one of them. :D It might be possible to make it so that all NPCs in a faction are available as followers, but that might require OBSE or some veeeeeeery creative use of the vanilla scripting language, so I doubt it really works by just adding an NPC to a faction and then have it work as a follower. Unless you have a mod that makes it so. Something like CM? I do not use it, so I do not know. But I have a small project under construction that should make it possible to recruit anyone and add some simple follower functions for them. Not sure when it will be finished, though... :(
I need to check the KotN followers to see how they work, but I suspect you will need to add new dialogue topics and maybe also AI packages for the follower-to-be...
-
The normal Construction Set apparently cannot use an .esp as a master of another .esp. All masters must be .esm files, which can be achieved by backing up the original .esp (copying it somewhere) and then making the .esp you want to use as a master an .esm (Wrye Bash has the feature, I think, when right-clicking the .esp in the plugins list). After the plugin is created, with the two .esm files as its master, the original .esp version of the other master (in this case, the Knights.esp) can be restored and the .esm version gotten rid of. Then it is probably necessary to change the other master stored in the created plugin (the list of its masters) to point to the .esp version instead of the .esm version of it with which the mod was created. TES4Edit or Wrye Bash might help. I have never done that myself, though, as it is a bit... overly complicated.
The easiest way to use an .esp as a master would be to use the Construction Set Extender by shademe. It makes the CS work much better, makes it more user-friendly and allows you to load any plugins to use as a new mod's master without the need to 'esmify' or 'espify' anything. I highly recommend it.
Also, you will not need to use OCO 2 as a master. You can just make the mod, place it above OCO 2 and add some Bash tags to it. So that changes from your mod will be made to the NPC in addition to the face changes from OCO 2. It requires Wrye Bash and a bashed patch, though. You can add the tags in Wrye Bash by either right-clicking and the modifying the bash tags list under the mod's description or add them to the description itself. You will probably need tags related to AI packages, stats, factions and inventory. You can find all bash tags in the Wrye Bash advanced readme. They will probably be something like:
{{BASH:Actors.ACBS;Actors.AIData;Actors.AIPackagesForceAdd;Actors.Stats;Factions}}
In the description if you add them that way. I do not remember if it was ; that separates them. You can check the UOP description for an example of how to use them.
Hopefully that helps a little. I am extremely bad at explaining things. :)
Edit: I answered the follower thingy on the other thread you created. I think these two threads are at least enough, as they both concern the same mod project, so you can post all new questions in one of them if you want to avoid creating a new thread for every question. Just an idea. :)
-
But the event handler function does work and is called when the event takes place? Could it be possible for you to post it here? The event handler script? Assuming, of course, that the event handler is "added" succesfully, and the issue is within the event handler function itself.
This is odd. The command works for me (in other things), so the problem has to be in the scripts. Seeing them could help solve the issue, I think. Maybe it is something obvious? Like not calling the function on the proper actor? Or trying to call GetEquippedObject on a bear? Cannot tell before seeing it. :D
-
You can make her essential, change her armour and improve her stats easily using the Construction Set. TES4Edit might also work, but I would recommend the CS. Making her a follower, however, might be slightly more difficult. Unless it is possible to make NPC a member of some KotN faction and then have it magically turn into a follower (if there is, I would love to hear it). Should there not, however, be such a feature, you will either need to make use of an existing companion management mod somehow (I have no idea how any of them work, so I cannot help), build your own simple system somehow or just add a few dialogue topics and AI packages for her. The vanilla Dark Brotherhood followers might be a good place to start looking for a simple way to make followers.
Modifying an NPC in the CS is pretty easy to learn, but if you need to work with AI packages and dialogue, you could see the pages for them on the Construction Set wiki. A little scripting might also be needed, but only a little. Something to change a variable somewhere that controls whether she should follow player, wait or go about her daily life maybe? Or something else? Difficult to say. I am not an expert on this type of things. :D
-
Anikma, on 13 Jun 2015 - 3:36 PM, said:http://forums.nexusmods.com/public/style_images/underground/snapback.png
On an ancient engine. Their own fork of Gamebryo that has been tweaked a little for every new title. Morrowind in 2002, Oblivion in 2006, Fallout 3 in 2008, Fallout NV in 2010, Skyrim in 2011... probably Fallout 4 this year, too, if they carry on the tradition. :D
actually they did overhaul their engine for both FONV and Skyrim
Oh. Good to know. Thank you, sir Qwertyzeldar. :) All the changes to different things must have come from somewhere, come to think of it.... :D And the engine is not a bad one, I think. Making a completely new one with the current type of suppot for mods would probably be quite time-consuming. Probably expensive, as well. So just overhauling it is, in my opinion, acceptable, as it must have gotten better every time. It would, however, be nice if they would one day manage to alleviate the issue with memory not being emptied properly. If there will be sunschafts in Fallout 4, like in the trailer, that would certainly be a welcome addition, too. But improving the performance, system resource utilisation and memory management would probably be nice. Maybe they will one day manage to improve them, as well. I am not an expert, though, so I do not know what is possible and what is not...
-
You can, for example, try to check if the attacker's currently equipped weapon is defined as blunt. Getting a hammer might be difficult... you could, for example, see if the model path includes the word "hammer" in addition to the weapon being blunt. But that might report all blunt weapons in a "Hammerfell" directory as hammers if a mod adds such. Or all blunt weapons made by someone with a username that contains "hammer". Or if the name contains the word "hammer", too. It might get a bit tricky in the end. :tongue: There are only one- and two-handed weapons, either blades or blunts in Oblivion... :sad:
Like
ref rWeapon ref rAttacker ; The one from event handler ... let rWeapon := rAttacker.GetEquippedObject 9 ; or 16, they are both weapons... hmm... If ( GetWeaponType rWeapon == 2 || GetWeaponType rWeapon == 3 ) && ( CompareModelPath "hammer" rWeapon ) ; This is blunt (1H or 2H) hammer? Maybe... ? EndIfI have not yet figured out how to get rid of that error message, though. An OnEquip event handler for a project of mine (that got overly complicated and heavy so I abandoned it) worked despite the warning, though. So I am not sure what it means. Maybe someone with an idea of how to fix it happens to pass by. Like malonn, I suspect (or hope, but dare not confess it). :smile:
Does it make any difference to have
Object::PlayerRef
or
Ref::PlayerRef
in the script that sets the handler? And, come to think of it, are the restrictions even necessary if you want it to work every time someone is hit? Could it just be
SetEventHandler "OnHit" YourFunction
and the function will still receive both attacker and target. So that
ScriptName YourFunction ref rAttacker ref rTarget Begin Function { rTarget rAttacker } ; something Endwould still work? And work for every attacker-target pair, without limits? Or was that what you wanted? Would it work... ?
Edit: Oops. Mixed GetEquippedObject with GetEquippedItems into GetEquippedItem. :D Corrected that. And it seems GetEquippedObject return base object. Changed the example thing a bit. And it seems you have edited your post, too. :smile: Try slot 9 instead of 16. Slot 16 worked with sheathed weapon when I used it, though. Maybe 9 works with a drawn one? I am not sure.
Edit 2: And the Construction Set Extender is not quilty. It works just fine for me. I think it just receives the commands available from OBSE. The OBSE log shows how OBSE digs up all commands from the plugins. But I am not sure.

AMD and AA
in Mod troubleshooting
Posted
I have an AMD card, too, but I use Oblivion Reloaded by Alenet for AA. It works wonders. If you do not want to use OR and want to use the card, I would recommend the "Adaptive multisampling" AA, as it seems to give the best result for me, regardless of the game (at least the ones I have played this far with it). I am not sure how the jagged edges do not disappear with AA. Have you tried just the game without OBGE and then forcing AA from the card? Also, make sure that, in your Oblivion.ini (not the one in game folder) you have something like:
iMultisample=0
So that the game will not try to use its own AA. I have no idea if it makes a difference, though, but just something to test maybe. Or maybe not.
Also one option could be using the Catalyst Control Centre to set a profile (or some sort of settings preset) for Oblivion.exe that will be used for it. I do not know if the interface is the same for you (I had an HD5570 with ancient drivers before and changed to a new card with latest drivers straight from it), but there should be a list of application profiles in Gaming -> 3D Application Settings where you can add new executables. It should then be possible to select to override application settings in AA (also AF if you want it). Making a profile for an executable works better for me than just forcing AA and AF for everything for most games. But it will then use AA everywhere in the game, including menus, which will result in veeery smooth and possibly difficult to read letters. :D
In any case, the separate profiles are very handy. Making a profile for The Saboteur in there with "enhance application settings" and "adaptive multisampling" AA (also AF) actually made AA in that game work, as it left edges jagged before, and also solved issues with shadows 'lagging' when moving the camera. :)
I know absolutely nothing about NVIDIA, so I cannot help with anything related to the differences between it and AMD or such. But it is definitely possible to get rid of jagged edges with an AMD card. AA worked in Oblivion with HD5570 and it worked with R9 290 (before I found OR), so it will most likely work with whatever you have, as well.