Jump to content

DOWNLOAD MODS

Are you looking for something shiny for your load order? We have many exclusive mods and resources you won't find anywhere else. Start your search now...

LEARN MODDING

Ready to try your hand at making your own mod creations? Visit the Enclave, the original ES/FO modding school, and learn the tricks of the trade from veteran modders...

JOIN THE ALLIANCE

Membership is free and registering unlocks image galleries, project hosting, live chat, unlimited downloads, & more...

ZuTheSkunk

V.A. Project
  • Posts

    561
  • Joined

  • Days Won

    1

Everything posted by ZuTheSkunk

  1. Hmm, I'm starting to wonder about thing that I'm seeing strangely often in CS. Does the "~" have some specific function in the names of objects etc.?
  2. ZuTheSkunk

    Timers

    I think you should ask DarN, the master of UI. He might know for sure. Personally, I don't think it is possible... You can fake it by showing message "XXX time left!" every 5 seconds (or something).
  3. Yes, you're probably right. Now what can I do to avoid that?
  4. I have following problem: my entire computer (yes, entire computer) gets terribly slow after instantly closing Oblivion (with nothing to say about Oblivion itself opened again, where I'm getting slideshow unless I'm looking straight to the sky or into the floor) - no matter what I'll use to close him, game bug (trying to open a book with too big picture) or Oblivion Exiter program. Everything opens and reacts very slowly after doing so and only after few minutes I'm able to work normally again, but the game itself remains slowed every time I open it once more. And the only solution is to restart the computer. It looks like the computer gets confused after instantly closing OB and is unable to finish some tasks without a bit of time. Now what can I do with this issue? If there's need to show my computer's properties, then tell me please what I must type (I don't have much knowledge about such things).
  5. Yes, this one is much closer to what I had in mind. Thank you.
  6. Thank you about those first three ones. About that description for book, although your version looks good (and I thank you for this), it's not exactly what I had in mind. "Creepy professional" was supposed to mean "so professionally drawn that it gives you the creeps". And those three sentences was supposed to add new facts about the book with every next sentence, making the "OMG" feeling greater and greater. Like it was a one big sentence, but was divided into three to say its content even more emphatically. I hope you get what I mean.
  7. FEEL THE POWAH OF THE YELLOW SQUARE OF DOOM! ...Excuse me, just couldn't refuse.
  8. I'm coming with a bunch of new things that are uncertain for me. Journal entry: My personal smith from Vitharn is able to create armors and weapons from pieces of Obelisks left by Knights and Priests of Order. I should check his offer. Message: You have already taken 10 apples. Wait for some time before taking more. Argonian name (just unsure is it correctly spoken or not): Waves-With-Broom Book text: [The entire book is filled with creepy professional drawings of hearts. Blood-stained, sometimes still pulsating hearts of various living creatures. And in some cases, with additional poem about them.]
  9. My next question should be simple. I have a custom sound that should be heard by "playsound3D" script function from some activator. And now what I must set to actually HEAR this damn sound? Whatever vanilla sound I'll use as a base for my sound is either too quiet or totally mute in-game.
  10. My guess is that the Beth has added some in-game setting to keep FPS rate possibly high - if object is hidden, then he disappears, decreasing the amount of objects to calculate by computer. And in this case this thing becomes a bit officious, unable to distinguish half-transparent object from non-transparent. This is only a wild guess, of course.
  11. It usually happens when Argonian/Khajiit uses skeleton for normal body instead of version for beast races. EDIT: Meh, IS was swifter than me.
  12. Thank you grond for link, it helped me much. Now to my next question... it seems that something in AI makes NPCs to say or not to say their "hello" when player gets near. I have two types of NPCs in my location, one is supposed to always stand in one place (aaaDefaultStayAtEditorLocationSkipFallout) while second one is supposed to making patrols around the place. Those first ones never says their "hello" when player gets near, while this second one always says it in such situation. Now how to force those second ones to keep quiet? Does it have something to do with "Skip Fallout Behaviour"?
  13. I would like to create a NPC-only spell that summons a specific armor and weapon, just like the spell that summons the gear of Mythic Dawn's members. I haven't found anything like that in OOO, which has only a spells to summon custom creatures. Do you know how to create such script? I'm always failing in my efforts.
  14. You should check the script attached to the spell used by Gatekeeper. Anyway, PushActorAway function is a must.
  15. Don't consider me as being impolite, it just makes me a bit "" when someone asks me about things that I've already posted. You probably could feel the same too in similar situation... Thank you anyway for trying to help.
  16. One of them leads directly to the parent worldspace, with obviously second one in this parent worldspace that leads directly to my worldspace, so... Please, read carefully my previous posts. It's Shivering Isles worldspace. Rather big one, with many land to explore...
  17. 1. Find a weapon or spell with Paralyze effect. 2. Find Priest of Order. Be sure that this is the one who revives himself if Obelisk is not deactivated. 3. Kill Priest of Order with usage of paralyzing weapon/spell. 4. Wait for Priest to revive. 5. Kill Priest once more. Effect? Mud of Order! *Benny Hill theme* 1, 2, 3, 4 (Works with NPCs revived by Staff of Worms too.)
  18. This worldspace already contains such door. Even... *counts* ...six doors. Unparenting the worldspace may cause problems with landscape or (again...) with broken map.
  19. This is my first tutorial, so please, be charitable. If you can show me where I've made a mistake - especially grammar one - then I'll appreciate that. ------------------------------------------------------------------- Tutorial for script that updates your leveled items You probably know about level scalling used in entire game. And you probably know about common problem which comes with leveled rewards from quests - once you receive one particular version of the item, including low-leveled ones, then it remains the same forever, what can be quite annoying when your character reaches 30-th level or higher and you still possess that stupid 10-th level version of the sword. If you wish to make level scalling less annoying - no matter for what purpose you might need it, for your own pleasure, or maybe also for other users of your mod - then you should consider creating a script which updates specific leveled items every time your character reaches enough high level. And this is what I am going to show in this tutorial. The idea of the script itself is simple - it runs all the time, checking if you are possessing a specified item with too high level, and if yes, then replaces it with better version. For example, if you type to check does you are possessing a steel longsword while having level 16 or higher, the script will notify if those two conditions are true and will perform the desired result. For the purpose of this tutorial, I have created a custom script of updating the Blackwater Blade from quest "Unexpected Voyage". You can take a look on him at the bottom of this article and see for your own. First of all, we need to check the player's level. For this purpose, we need to type this: if ( LVL != player.getlevel ) set LVL to player.getlevel endif This part will run whenever the "LVL" variable is not equal to the player's level, what means you have reached another level. It is not essential for your script and I am using it to simplify the progress, so you will not need to type every time "player.getlevel", but just "LVL". With this part, our script will look this way so far: scn aaaTestScriptUpdater short LVL Begin GameMode if ( LVL != player.getlevel ) set LVL to player.getlevel endif Now it is a time to create first part of script which checks does the player is possessing specified item with too high level. Since it has been reported that riding a horse when such script runs might create problems, we will add at the beginning the condition which blocks the script while player is on the horse. Also, to prevent situations when player is currectly holding the item in his hand or wearing it and the script suddenly unequips the item from him, we will add the condition which checks does the player is currectly using the specified item. So, we need to type this: if ( player.IsRidingHorse == 0 ) if ( player.getitemcount IDofLowLevelItem > 0 && LVL >= NumberOfLevelWhenPlayerShouldn'tHaveThisItem ) if ( player.getequipped IDofLowLevelItem == 1 ) Obviously, in "IDofLowLevelItem" we need to type the ID name of item that should be replaced with better version, and in "NumberOfLevelWhenPlayerShouldn'tHaveThisItem" we need to type the number of minimum level, when this item becomes too low-level for player and must be replaced with better one. Okay, so we have our first conditions in our script. Now we need to type the lines which takes the low-level item away from player and gives the better version instead. The most simple version may look this way: if ( player.IsRidingHorse == 0 ) if ( player.getitemcount IDofLowLevelItem > 0 && LVL >= NumberOfLevelWhenPlayerShouldn'tHaveThisItem ) if ( player.getequipped IDofLowLevelItem == 1 ) player.unequipitem IDofLowLevelItem player.removeitem IDofLowLevelItem 1 player.additem IDofBetterItemOrLeveledList 1 player.equipitem IDofBetterItem else player.removeitem IDofLowLevelItem 1 player.additem IDofBetterItemOrLeveledList 1 endif As you may guess, "IDofBetterItemOrLeveledList" means ID name of specific better item if there is only one such item, or of the leveled list if there are many of those better versions. "IDofBetterItem" means ONLY a specific better item. This part of script does following: first, it unequips the item and takes him away, then it adds the better item or the leveled list to the player, and finally it equips this better item on the player. You must remember that if there are many of those better versions, then you need to type every single one for the part when script must equip it on the player - it will not guess which one should be equipped, and if player is not currectly possessing the version typed for "equipitem" function, then player will just remain with not holded/weared item. That was the most simple version. For this one, it will just do what it should and you will be notified with this by "XXX removed" and "XXX added" messages. If you would like to remove them, there are two ways to perform that, and you can learn about both of them by checking Message Spam article. Okay, it is time to check what we have made so far: scn aaaTestScriptUpdater short LVL Begin GameMode if ( LVL != player.getlevel ) set LVL to player.getlevel endif if ( player.IsRidingHorse == 0 ) if ( player.getitemcount IDofLowLevelItem > 0 && LVL >= NumberOfLevelWhenPlayerShouldn'tHaveThisItem ) if ( player.getequipped IDofLowLevelItem == 1 ) player.unequipitem IDofLowLevelItem player.removeitem IDofLowLevelItem 1 player.additem IDofBetterItemOrLeveledList 1 player.equipitem IDofBetterItem else player.removeitem IDofLowLevelItem 1 player.additem IDofBetterItemOrLeveledList 1 endif endif Now if you wish to add more versions to replace, then just copy/paste the part after "if ( player.IsRidingHorse == 0 )", and do not forget about replacing "if" with "elseif". To complete the script, finish it with enough "endif" and one "END": scn aaaTestScriptUpdater short LVL Begin GameMode if ( LVL != player.getlevel ) set LVL to player.getlevel endif if ( player.IsRidingHorse == 0 ) if ( player.getitemcount IDofLowLevelItem > 0 && LVL >= NumberOfLevelWhenPlayerShouldn'tHaveThisItem ) if ( player.getequipped IDofLowLevelItem == 1 ) player.unequipitem IDofLowLevelItem player.removeitem IDofLowLevelItem 1 player.additem IDofBetterItemOrLeveledList 1 player.equipitem IDofBetterItem else player.removeitem IDofLowLevelItem 1 player.additem IDofBetterItemOrLeveledList 1 endif endif elseif ( player.getitemcount IDofAnotherLowLevelItem > 0 && LVL >= NumberOfLevelWhenPlayerShouldn'tHaveThisItem ) (...) endif endif End And at this point, your script should be correct. There is only one thing to do - you must add it to the quest in order to make it working. Set type of your script as "Quest" at the top of the script menu, and then open quest menu by button with "Q". Add new quest by clicking RMB on the list and checking "New". Then click this quest and in "Script" part choose your script from the list. You did it! Now save your mod and you are free to go. There is one more feature to add, if you wish. Such updating script can be a bit problematic for the game and can make it working slower if there are many such scripts working in the background. To avoid such problem, you should do following: add also "short NotPerform" below "short LVL", add "set NotPerform to 0" below "set LVL to player.getlevel", add "&& NotPerform == 0" next to "if ( player.IsRidingHorse" and at the end of the script, after last replaced item, add instead of next one: else set NotPerform to 1 In this case, your script will look this way: scn aaaTestScriptUpdater short LVL short NotPerform Begin GameMode if ( LVL != player.getlevel ) set LVL to player.getlevel set NotPerform to 0 endif if ( player.IsRidingHorse == 0 && NotPerform == 0 ) if ( player.getitemcount IDofLowLevelItem > 0 && LVL >= NumberOfLevelWhenPlayerShouldn'tHaveThisItem ) if ( player.getequipped IDofLowLevelItem == 1 ) player.unequipitem IDofLowLevelItem player.removeitem IDofLowLevelItem 1 player.additem IDofBetterItemOrLeveledList 1 player.equipitem IDofBetterItem else player.removeitem IDofLowLevelItem 1 player.additem IDofBetterItemOrLeveledList 1 endif endif elseif ( player.getitemcount IDofAnotherLowLevelItem > 0 && LVL >= NumberOfLevelWhenPlayerShouldn'tHaveThisItem ) (...) else set NotPerform to 1 endif endif End Remember that in this version, this script will replace your item ONLY if you are currently possessing it while gaining a new level, because we have forced the script to block itself after completing his task and to not run again unless you have reached another level. To avoid this, you should also add this script to the item: scn aaaTestScriptUpdaterItem Begin OnAdd Player set IDofTheQuest.NotPerform to 0 End "IDofTheQuest" is a ID name of the quest you have just created. This script will cause game to make quest script running whenever you add the item to your inventory. And this is all. Below you will find my example of complete script, to be absolutely sure that you have understood everything correctly. scn aaaTestScriptUpdater short LVL short NotPerform Begin GameMode if ( LVL != player.getlevel ) set LVL to player.getlevel set NotPerform to 0 endif if ( player.IsRidingHorse == 0 && NotPerform == 0 ) if ( player.getitemcount MS31BlackwaterBlade01 > 0 && LVL >= 5 ) if ( player.getequipped MS31BlackwaterBlade01 == 1 ) message " " message " " player.unequipitem MS31BlackwaterBlade01 message " " message " " player.removeitem MS31BlackwaterBlade01 1 message " " message " " player.additem MS31RewardBlackwaterBladeLeveled 1 message " " message " " player.equipitem MS31BlackwaterBlade05 player.equipitem MS31BlackwaterBlade10 player.equipitem MS31BlackwaterBlade15 player.equipitem MS31BlackwaterBlade20 player.equipitem MS31BlackwaterBlade25 else message " " message " " player.removeitem MS31BlackwaterBlade01 1 message " " message " " player.additem MS31RewardBlackwaterBladeLeveled 1 endif elseif ( player.getitemcount MS31BlackwaterBlade05 > 0 && LVL >= 10 ) if ( player.getequipped MS31BlackwaterBlade05 == 1 ) message " " message " " player.unequipitem MS31BlackwaterBlade05 message " " message " " player.removeitem MS31BlackwaterBlade05 1 message " " message " " player.additem MS31RewardBlackwaterBladeLeveled 1 message " " message " " player.equipitem MS31BlackwaterBlade10 player.equipitem MS31BlackwaterBlade15 player.equipitem MS31BlackwaterBlade20 player.equipitem MS31BlackwaterBlade25 else message " " message " " player.removeitem MS31BlackwaterBlade05 1 message " " message " " player.additem MS31RewardBlackwaterBladeLeveled 1 endif elseif ( player.getitemcount MS31BlackwaterBlade10 > 0 && LVL >= 15 ) if ( player.getequipped MS31BlackwaterBlade10 == 1 ) message " " message " " player.unequipitem MS31BlackwaterBlade10 message " " message " " player.removeitem MS31BlackwaterBlade10 1 message " " message " " player.additem MS31RewardBlackwaterBladeLeveled 1 message " " message " " player.equipitem MS31BlackwaterBlade15 player.equipitem MS31BlackwaterBlade20 player.equipitem MS31BlackwaterBlade25 else message " " message " " player.removeitem MS31BlackwaterBlade10 1 message " " message " " player.additem MS31RewardBlackwaterBladeLeveled 1 endif elseif ( player.getitemcount MS31BlackwaterBlade15 > 0 && LVL >= 20 ) if ( player.getequipped MS31BlackwaterBlade15 == 1 ) message " " message " " player.unequipitem MS31BlackwaterBlade15 message " " message " " player.removeitem MS31BlackwaterBlade15 1 message " " message " " player.additem MS31RewardBlackwaterBladeLeveled 1 message " " message " " player.equipitem MS31BlackwaterBlade20 player.equipitem MS31BlackwaterBlade25 else message " " message " " player.removeitem MS31BlackwaterBlade15 1 message " " message " " player.additem MS31RewardBlackwaterBladeLeveled 1 endif elseif ( player.getitemcount MS31BlackwaterBlade20 > 0 && LVL >= 25 ) if ( player.getequipped MS31BlackwaterBlade20 == 1 ) message " " message " " player.unequipitem MS31BlackwaterBlade20 message " " message " " player.removeitem MS31BlackwaterBlade20 1 message " " message " " player.additem MS31BlackwaterBlade25 1 message " " message " " player.equipitem MS31BlackwaterBlade25 else message " " message " " player.removeitem MS31BlackwaterBlade20 1 message " " message " " player.additem MS31BlackwaterBlade25 1 endif else set NotPerform to 1 endif endif End [/codebox]
  20. Have you already saw The Ultimate MS Paint Hardcore?
  21. I have three NPCs that are supposed to be endlessly wandering between some specified points (namely XMarkers with unique REFs). Two of them should be walking only between two points, while third one must be wandering between three (A->B, B->C, C->A). To specify, "wandering" means getting to the one point, then after reaching him starting to get to the other, and doing so forever. Now how to force them into performing such endless wandering? I've tried script solution, but it seems to not always working, so I guess there's need of more AI specific solution.
  22. It's not required (and not even possible) when the parent worldspace already have some. And it's just the message that shows after clicking some location. If it would be the lack of locations on the map, then I would note it above.
  23. I've thought already about that mask, Galv, but I was thinking that maybe there's some better name. Hmm... nice idea about those names, grond. For this middle one I think that the "thornhelm" would be good. So what you think about Mask, Thornhelm and Helmet? That's just enough difference to distinguish them.
  24. I need some assistance from more knowledgeable folks. I have those three helmets from screenshots below. All of them are made from the same material, while the left and middle ones are light and this right one is heavy. All of them should have names that begins with "<quality adjective> Obelisk", so it would be for example "Perfect Obelisk Helmet". And now I have a little problem - I need to give those helmets different names (other than just "(...) Helmet"), and I don't know what would be the best. I've tried to check some medieval helmets, but that haven't gave me any clue. Can you help me, please?
×
×
  • Create New...