-
Posts
1576 -
Joined
-
Last visited
Everything posted by Surilindur
-
Unable to play in first camera mode
Surilindur replied to Kirtoblivion's topic in Oblivion's Mod troubleshooting
It could be the camera feature from Oblivion Reloaded that is causing it. Disable it in the mod's ini and see if it fixes the issue. If it does, you can try re-enabling the camera feature and playing aound with the settings to see if you could have the camera mode so that it works. If it is something else than OR camera mode, I cannot help you. I have a pretty different mod setup myself. -
Until someone posts in this thread to say that "when someone else posts, you are no longer winning" and fulfills the prophecy simultaneously. Pretty efficient, eh? :dance:
-
Is STREAMLINE / OSR still reccomended?
Surilindur replied to candedspam's topic in Oblivion's Mod troubleshooting
But I thought Oblivion Reloaded did not touch heaps and such. But that OR already featured a framerate manager superior to that of Streamline. So that is why I use OSR and OR, but not Streamline (I do not use quicksaves). OSR for heap replacement and other tweaks, OR for visuals, memory purging and framerate manager. -
Probably. If they know what causes it. I have not thought about absorption much, really. And it is only the average chance, like if you get hit 10 000 times, approximately 5 000 hits should be absorbed at 50% chance. I do not know how it shows with a hundred hits. But it should be something that can be seen, I think... hmm. So maybe the UOP people might know something. Might also be that they do not. Only one way to find out? :P
-
Is STREAMLINE / OSR still reccomended?
Surilindur replied to candedspam's topic in Oblivion's Mod troubleshooting
Of those two mods, I only use OSR myself. Also Oblivion Reloaded, which offers some framerate control and memory purging and much more. I cannot comment on whether OSR is still relevant, but at least I have not had too many issues with it myself. Maybe it has helped, but I cannot tell, as I have not actually measured anything, so there is no hard data I could provide you. At least the game works for me just fine. Streamline I have no idea of, never used it myself. -
The film was a brilliant one - again. Taken at the flood it was named. The only thing that bothered me was that the murderer, one David Hunter swimming in money, was so easy to guess. He acted like a... umm... butt (to mind the language) all the way from the start. Then there were also numerous other interesting characters. Thoroughly enjoyable. Next one will be shown next Friday. Midsomer Murders, each episode cut in two parts, will be shown on Saturday and Sunday. And I just love he weekends for it. :D Too bad I have a heap of homework from the university. Takes so much time away from modding in addition to all the TV series. :sad: And indeed odd from the UOP team. But they must have had a reason for it. I cannot see how it could cause bugs to be able to absord a spell, as it is not a too special one, just a normal buff. Hmm. Or maybe it is something obvious that just cannot be seen when looked at. :blink:
-
The way I understood it, Aderon has all the source files in the right place. But I could be wrong. What Kuno said is true, caught me by surprise, too, the first time. But whatever you do, do not touch the 'fundamental' sort of source files! These are things like Actor.psc, Quest.psc and such. No need to touch them, it will only cause issues. Just a tip. One thing that comes to mind is script naming. Which could be connected to some SCRIPTNAME errors. Maybe? If you have a script declared like ScriptName MyFirstScript Extends Questyou will need to have the source file saved with the same name MyFirstScript.pscand then the compiled script will also be named the same (happens automatically) MyFirstScript.pexSo in case you do not have the names same, it will refuse to compile. I think. Been a while since I tried to compile a script with a different source file name and scriptname.
-
Ah. Well. No trouble at all. I checked it, and UOP indeed adds the flag to the spell to prevent it from being absorbed. So no wonder you were unable to do it. UOP also changes it to lesser power. Wonder why they did that. But of course, there must have been a reason behind it. So basically UOP flags it as unable to be absorbed and thus renders it useless to users playing atronach class. Here is a small fix that should work (will not be there forever, so if someone is reading this after a while, the link will probably not work anymore): https://drive.google.com/file/d/0B0058mGt5uf7cDZIT0JJVlhFc0E/view?usp=sharing Put the .esp somewhere below UOP and such. The lower, the better. Or not - depends on your other mods. If you use Wrye Bash, it might be able to do something to the .esp as it colours it all green. But the main thing is to overwrite the flags for the spell, and so it needs to be after UOP. Sorry to hear you went through all that trouble. Things like that are usually caused by mods, so that would be the first place to look. Especially when it is about spells or armour or such. The engine just puts it all together when playing.
-
Then you can just make a small personal tweak .esp for restoring the absorption possibility if UOP disables it. No need to reinstall anything. If you want, I can even make it for you. It is just a few clicks in the CS and basically a no-brainer. But it will take a few hours because they are showing Agatha Christie's Hercule Poirot films on TV and I just have to see them again, they are so brilliant! I have also read many of them as books. One starts in ten minutes, so I can do the tweak after the film (probably before midnight, though). :P I can paste you a link here when it is done, so you can download it tomorrow, too. Google Drive should do the trick. No need to reinstall or uninstall anything if UOP just ticks the box in the CS. :D
-
Do you have a "Scripts" archive or something like it inside your Data folder? If you have, you need to unpack it, as you need the source files (.psc) for compiling scripts. So that you have ...Skyrim\Data\Scripts\Source\ Folder with all the .psc files (like Quest.psc and Actor.psc) inside it. I think DLC scripts have their own subfolders inside the Source folder, so keep them in the subfolders. Hopefully that helps a little. :smile: Edit: Also, if you ever end up using SKSE for scripting, you need to ovewrite the source files that came with CK with the ones from SKSE. If you use Mod Organizer, things become a lot easier. But I will not write a guide here now on how to do it, as the way I do it requires Sublime text with Sublime Papyrus and MO combined. You can figure out how to do it yourself, at least it provided a fine learning (a.k.a :wallbash: ) experience for me. :tongue:
-
Then I have no idea what might have changed it... hmm... mysterious. Hopefully someone else knows better. Of course you could always make a small .esp in which to set the spell as 'ignore resist/absorb' or something like it and then placing that small tweak at the end of your load order. But there is nothing I could think of that could cause it. UOP changelog did not mention it, either, I think. And I have never played as atronach, always mage or some custom mage-archer-combination class. :confused:
-
The UESP wiki says it should be possible to absord it. http://www.uesp.net/wiki/Oblivion:Bravil And do remember that, in Oblivion, spell absorption is the percentage chance to absorb the whole spell. It is everything or nothing, and the spell absorption is the chance, in percent, to absorb the spell completely. http://www.uesp.net/wiki/Oblivion:Spell_Absorption Other than that, I have no idea. Unless you have a mod that ticks the 'no absorption' box of the spell. It is easy to change it in the Construction Set, but finding the mod that changes it to be 'unabsorbable' (probably not a real word) would require loading all your mods in TES4Edit, finding the lucky old lady spell in the spells category of Oblivion.esm file and checking which mod changes it to be... umm... 'unabsorbable' (still not a real word, I think). Of course, you could also have a mod that changes magic systems or something like that. It could even be a wild edit in a mod that is supposed to do something completely different and not touch spells at all. So it is very difficult to tell what the reason behind it is. Hopefully that helps a little. :smile:
-
Well... I have not tried any scripting for Morrowind, but it seems to be a bit different if the tuorials I have read are correct. But I cannot comment on it. Even with MWSE, it would seem more limited to me. Or at least one would need to use more workarounds for things that are present in Oblivion with OBSE as normal commands. For Skyrim... umm... it uses the new Papyrus thing. Basic Oblivion scripting will not be of much help. It will be of some, but knowing how Oblivion scripting works will not make you a master of Papyrus. If you get far enough in Oblivion scripting so that you end up using OBSE event handlers and user-created functions, they are most likely the best thing OBSE has to offer on your way to Papyrus. But both Oblivion scripting and Papyrus are pretty simple, maybe. At least the basics. Papyrus just changes the syntax a bit and overhauls how scripts interact with the rest of the game, as they sort of just ripped the old scripting system out and pasted Papyrus on top of the game. Or that is how I view it. It does allow for more modularity or such, reusing scripts and whatnot, but it is a bit different. :tongue: For example if you can reference an actor in Oblivion the following way: MyActorRef.AddItem WeapIronLongsword 10But Papyrus cannot directly reference anything in the game. :sad: So in Papyrus, you would need to make a property for the actor ref and the sword, fill them with the actor and the sword (possible in the CK menu, is pretty easy) and then use the properties in your script. Actor Property MyActor Auto Weapon Property MyWeapon Auto ... MyActor.AddItem(MyWeapon, 10, false)So... well... it is not that difficult. The basics of arrays (indexes and such) are not too different, though. Once you get the basic principles, you will have very little to learn about the... well... principles. :tongue: Syntax can change, but the ideas remain. The thing with Papyrus and OBSE event handlers and user-created functions is that once you get the idea of how to call a user-created function, and know how event handlers work, you will know the basic principles of working with Papyrus. If you had a script like this as on OBSE user-created function: ScriptName MyOBSEFunction float fNumber float fMultiplier float fOutput Begin Function { fNumber fMultiplier } let fOutput := ( fNumber * fMultiplier ) SetFunctionValue fOutput EndAnd you would want to use it, to get the value of, for example 2.0 x 1.5, you would call it like (in Oblivion script): float fNumber ... let fNumber := Call MyOBSEFunction 2.0 1.5And it would return to you the value. For Papyrus, you could have them both in the same script. But the idea of calling a function and possibly supplying some arguments, also probably getting something back from it, are the same. Like (if it were an activator that returns the result as a messagebox): ScriptName MyPapyrusScript Extends ObjectReference Function FnMyPapyrusFunction(Float fNumber, Float fMultiplier) Float fOutput = (fNumber * fMultiplier) Return fOutput EndFunction Event OnActivate(ObjectReference akActionRef) If(akActionRef == Game.GetPlayer()) Float fNumber = FnMyPapyrusFunction(2.0, 1.5) Debug.MessageBox("Result is " + fNumber) EndIf EndEventAnd you can already see the Event OnActivate in there. Which works like an OBSE event handler, but is a script block that is executed upon the relevant event by the game. If you had an OBSE event handler, your event handler could look something like this (as an example, not a working one): ScriptName MyOBSEEventHandler ref rArgumentA ref rArgumentB Begin Function { rArgumentA rArgumentB } ; Code here EndAnd the event handler could receive the arguments from Oblivion when the event it is registered for is fired. In Papyrus, there is no need to place separate event handlers (except for maybe SKSE mod events, but you will not need to know about them now). Every event in Papyrus scripts will be called when appropriate and the game will supply it the necessary arguments. To put it simply. I hope that does not make you too confused. I only know Papyrus and the Oblivion scripting thingy (plus a little Python). And I am pretty bad at explaining things. :tongue: About future games, I have no idea. Also I have no idea about other games. I like to make mods for the Elder Scrolls series only, because it is still simple enough for me. But I know Fallout 3 and Fallout New Vegas work in a similar way, although both are from the same publisher. Also, unless Bethesda goes completely nutters, I suspect Fallout 4 will use something similar to Papyrus. So if you learn scripting for Oblivion, it can Help you learn the very basic ideas behind arrays, strings and different variable types and how to manipulate themHelp you learn about variable operators and comparison operatorsHelp you understand the idea behind If-ElseIf-Else-EndIf and loops (While, ForEach, Label-GoTo)Help you learn how the game (scripts and such) works under the hood (handy for anyone using mods)Make it easier to move on to Fallout 3 or New Vegas, I thinkMake it easier to learn Papyrus, but only if you get far enough with Oblivion + OBSE, and you will still need to do some reading and such (still not a piece of cake)The Oblivion scripting is not the game code, it is code that the game runs. It is not a real programming language, and is pretty specific to those few games listed. Future titles from Bethesda will probably use different language thingy, hopefully a new version of their Papyrus language used for Skyrim, which is still not a real scripting language as it is, though. Hopefully that helps a little. I might be wrong, so anyone is free to correct. :smile:
-
But it will make writing easier. Write it once, then use it for one follower, two followers, twenty followers, a hundred followers, whatever! As long as the game can handle it, though. Definitely recommended. I would call it the lazy one's choice were it not for the learning if one is completely new to arrays. And I also asked for help on the forums. Or at least I received help, so I must have asked. :smile: I dare not comment on the quest script implementation. If it works for you, that is fantastic. I assume you know how to stop the quest when not necessary? So as to spare game resources? Also, the actor script could do with some improvement maybe. Or maybe not. In high level processing, an actor's script is run every frame and it happens for each individual actor. You could use a variable to restrict the amount of processing when not relevant. But I am not sure how it would work with that thingy. Using an array could solve everything, and you could just have one quest script with an array (quest script update interval irrelevant) with a spell that handles commands. A simple version could maybe work a bit like the following (not your script, but the idea) if using OBSE and arrays? Quest script ScriptName SomeQuestScript float fQuestDelayTime int iTemp Array_var aFollowers Begin GameMode If ( GetGameLoaded == 0 ) ; Only run the rest of the script when a save has been loaded Return EndIf let iTemp := ar_Size aFollowers ; Check if array has been initialised If ( iTemp < 0 ) ; If not, initialise it let aFollowers := ar_Construct Array EndIf EndSpell script effect for control spell ScriptName SomeControlSpellScript int iButton ref rTemp Array_var aTemp Begin ScriptEffectStart MessageBox "Option A" "Option B" "Option C" End Begin ScriptEffectUpdate let iButton := GetButtonPressed ; Get the pressed button If ( iButton < 0 ) ; If not relevant, skip the rest of the script Return EndIf let aTemp := ar_Construct Array ; Initialise temp array ; This following could also be done with indexes, which is what I do. ; Indexes work better if you have added several StringMap type arrays to ; aFollowers and therfore cannot directly access followers the following way. ForEach aTemp <- SomeQuest.aFollowers ; For every element thingy in aFollowers let rTemp := *aTemp ; Get the actor reference from the element If ( iButton == 0 ) ; Choice A, for example: rTemp.MoveTo Player rTemp.RemoveScriptPackage ElseIf ( iButton == 1 ) ; Choice B ElseIf ( iButton == 2 ) ; Choice C EndIf Loop let iButton := -1 ; Prevent running this again let aTemp := ar_Null ; Just emptying the temp array, probably not necessary EndAnd how to add a follower to the array of followers (just place it somewhere): int iTemp ref rTarget ... let rTarget := TargetToRecruit let iTemp := ar_Find rTarget SomeQuest.aFollowers If ( iTemp < 0 ) ; Only if the actor is not already in the array ar_Append SomeQuest.aFollowers rTarget rTarget.AddScriptPackage SomePackage EndIfAnd for dismissing the actor int iTemp ref rTarget ... let rTarget := TargetToDismiss let iTemp := ar_Find rTarget SomeQuest.aFollowers If ( iTemp >= 0 ) ar_Erase SomeQuest.aFollowers iTemp EndIf rTarget.RemoveScriptPackageSo it would work completely without touching actors' scripts, making it universally compatible. :smile: Those examples are guaranteed to be 100% made-up-on-the-fly and fully untested! But just to give you an idea of how it could work. The OBSE command documentation has a pretty good explanation of how arrays work. :tongue:
-
Script effects use something like Begin ScriptEffectUpdate ... EndAnd not GameMode. I have managed to do messageboxes with spells, so it should theoretically work. Edit: Also, the GetButtonPressed returns the correct button only once. Grab it once, and then use it. Like this: short iButton ... Begin ScriptEffectUpdate set iButton to GetButtonPressed If ( iButton < 0 ) Return EndIf ... Your scripts here with iButton as the button pressed ... set iButton to -1 End Also, you could try learning how arrays work. OBSE adds them. In my follower management mod, there is an array that stores information about the followers. When issuing a command, you could then cycle through the array and access each follower that way instead of using a quest script and actor scripts. Just an idea, might take a little learning.
-
Fame points from quest mods?
Surilindur replied to fgoron2000's topic in Oblivion's Classic Discussion
Okay. Glad you got it sorted out. And I am beginning to suspect the "OnQuestComplete" was a script block identifier thingy. Or not. I have not had time to check it, but having such an event handler would be way too easy. Almost like cheating, but when making a mod, not playing one. :P My characters usually do the Mages Guild questline first, or at least most of it. I try to avoid being bad, as I try to roleplay as a sort of nobleman. Now I just need to get my castle mod finished before I can play again. At this rate, it will be Christmas 2016 before it is done. I had hoped it would be Christmas 2015, but... well... that is just not going to happen if I continue to have as much free time for modding as I have had for these few weeks now. :( -
Okay. Thank you. My characters always fight for the Empire, but that is just my choice. Better let others pick their sides but still enjoy the assassinations. Rogue was a very interesting game. I jumped straight to it from Revelations, and enjoyed both naval battles and the storyline. I like to keep things organised and in good order, and I am also a sort of fan of the historical British Empire, so the storyline was definitely fantastic. Also a very minimal amount of bugs. The only complaint I have is how short the story was. And that the British NPCs never turned into allies, so I ended up killing them still. :( And yes, an assassin interception works by first reaching and identifying an ally, after which a timer starts ticking. Before the timer reaches null, player can try to find/identify and kill assassins. When the timer reaches null, the assassins begin to approach the ally and try to kill it. If the ally is killed, mission fails. If player kills all assassins and the ally lives, it is a success. That might not be overly complicated to do, either. Unless, of course, it all needs to be sort of 'radiant' but still work as intended.
-
Sounds brilliant! Instantly inspired my inner Ezio to imagine all sorts of assassination plans. :tongue: There is nothing I could add to the current plan, I think. The Assassin's Creed series is full of brilliant tactics. Or maybe I just made them up myself, but still. Here are the target thingies I thought of (in case someone reading has not played AC much): High priority target with bodyguards, travels between two or more locationsInformant or traitor, to be followed to his/her employer, then kill bothAgent, disguised as a part of another group, needs to identify the target and kill, killing innocents will fail mission or cause target to fleeAssassin interceptions (you know, like in Rogue, for example)Also, having played Rogue a bit, how about NPCs that tail player, get close and then attack with something paralyzing or just attack normally? With poisoned crossbows (how would that work???)? As a result of killing enough people for example? I like the Empire - as I believe the Thalmor are the main evil and they are just blackmailing the Empire to do things like outlawing Talos worship - so I would definitely love to see some sort of extension of the Penitus Oculatus. In the base game, the are a bore. But they are supposed to be the Emperor's bodyguard or something like that. So what I would suggest is making an extension for the Penitus Oculatus. For example, after the Dark Brotherhood is destroyed, player could be given assignments by the Penitus Oculatus. Or before player has joined them? So that the conditions could be combined from: Player has joined the Empire in civil war or at least not joined the StormcloaksPlayer has destroyed the DB or at least not joined themAnd player could work for the Penitus Oculatus, to fight other intelligence services, like the possible ones from Thalmor or Stormcloaks. But because the Empire has been forced to that insane agreement with the Thalmor, everything player does that involves fighting the Thalmor, assassinating Thalmor agents or such would need to be done discreetly, or else it could cause diplomatic issues for the Empire. So, working for the Empire and Penitus Oculatus, fighting against the Thalmor while keeping it a secret OR making others take the blame. Also maybe fighting against the Stormcloaks? I know adding everything to Penitus Oculatus would reduce the mod's potential target audience, but that is just my suggestion, as I would love to kick some Thalmor butt because they have humiliated the Empire that I fight for. My thoughts on the matter. Good luck with the project. :smile:
-
I absolutely love Oblivion. Morrowind is nice, but there is something in Oblivion I like more. Also the scripting language thingy in Oblivion is much better, so I can do all sorts of fun things with it. Plus the world of Oblivion is still simple enough for me, whereas Skyrim has been crammed full of stuff and looks more like Fallout New Vegas under the hood, maybe. Though Skyrim might look a bit better, I still prefer Oblivion. One just cannot compare Skyrim to it. :P
-
Where did you get the game from? Which mods? What is the game version? Did you activate the possible .esp files in either the launcher or your mod manager? If it was a texture mod, did you do archive invalidation? Also, you could consider putting that email in a spoiler or something like that, unless it is meant for spam. Just in case someone thinking about spam posting passes by, as this is an open forum that anyone can view. :smile:
-
It does affect? Oh my. I have not noticed that... now I need to rethink my follower management mod again. At first, I had to remove the renaming feature because it renamed the base object. And now I need to remove the essential toggle because it also affects the base object? :facepalm: Are you sure it affects the base object? I found it in OBSE command doc and it mentions ref, not base object... hmm. http://obse.silverlock.org/obse_command_doc.html Edit: I have not used it from the console, come to think of it, only in scripts.
-
Well I have not found a way to rename single references to a base object without renaming all references to the same base object, as well. But for essential status, have you tried the SetRefEssential command? Something like (cannot remember exactly): <reference>.SetRefEssential <essential:bool>Essential status works with 0 and 1, and only affects single references, I think. Might require OBSE (I do not remember if it does).
-
Need Dialogue Scripting Help
Surilindur replied to unknownhero2827's topic in Oblivion's Classic Discussion
My pleasure. :) -
Fame points from quest mods?
Surilindur replied to fgoron2000's topic in Oblivion's Classic Discussion
No, sorry. I have never really paid much attention to quest mods' fame or infamy points. :( I think I have heard of an OnQuestComplete sort of event handler. That would easily fix everything. Now I just need to see if there is one. If there is, it would be possible to add fame points or whatever whenever a quest is completed. Filtering plugins that already give something would also be relatively easy, I think. I hope someone else knows better. I think I have never had that high infamy, either.
