Quick Question -- Quick Answer, Part Fourteen

Post » Fri May 27, 2011 10:24 am

IIRC, there was a map making tutorial on the TES Alliance forums.


Yes the author gave a link to that. :P

I'm on another one now. I'm trying to script a trigzone to enable a collisionbox while the player is in the triggzone. I have it working with one exception. If the player stays walking against the wall until the timer disables it the player can walk through.

I need it to only disable if the player isn't in the trigger zone. Here's the layout of the scripts I have right now.

scn aaFBNPCHatchscriptsampleshort triggeredfloat timerbegin onTrigger player if triggered == 0 && getstage (Quest) <= (Stage)(collisionboxref).enable  set triggered to 1  set timer to 1 endifendbegin gameMode if triggered == 1   if  timer <= 0	 set triggered to 0	(collisionboxref).disable   else	 set timer to timer - getSecondsPassed   endif endifend

User avatar
Phillip Brunyee
 
Posts: 3510
Joined: Tue Jul 31, 2007 7:43 pm

Post » Fri May 27, 2011 7:31 am

Whoops, nevermind
i got my syntax wrong. answered my own question
User avatar
Sammygirl500
 
Posts: 3511
Joined: Wed Jun 14, 2006 4:46 pm

Post » Thu May 26, 2011 10:16 pm

How would one go about changing the color of the projectile fireball in a fire spell to white? If possible, how would one change the lighting effect on said spell to purple?
User avatar
Dark Mogul
 
Posts: 3438
Joined: Tue Feb 20, 2007 11:51 am

Post » Thu May 26, 2011 10:41 pm

How would one go about changing the color of the projectile fireball in a fire spell to white? If possible, how would one change the lighting effect on said spell to purple?
IIRC, the causticsXXX DDS files in the Textures\MagicEffect directory are the one's you're looking for.
User avatar
jeremey wisor
 
Posts: 3458
Joined: Mon Oct 22, 2007 5:30 pm

Post » Thu May 26, 2011 9:45 pm

Repeat of question asked before, but wasn't answered:

What exactly does happen to an actor spawned by a leveled list, when the cell he's in (was spawned in) resets?

Does he stay? Is he replaced by a new iteration from the leveled list?
User avatar
Miguel
 
Posts: 3364
Joined: Sat Jul 14, 2007 9:32 am

Post » Fri May 27, 2011 12:07 am

I think Hi's replaced because when you go to dungeons that you never been to then you don't meet a lot of low lvl creatures or bandits so i think he gets replaced.

Or a quick way to check it, make a room make a lvl list with 2 actors (make them wear different clothes. Enter the room in game first at the lowlvl, do not kill the actor!
second lvl up using the console and check the cell again if the new one is there :D

Hope it helps, and i understood the question xD




Repeated unanswered Question

"I'm looking for a tutorial about how to make a helmet from scratch I tried the wiki and google but i can't seem to find it, does anyone have a link?
A tutorial about how to make armor would also be great"
User avatar
Adam
 
Posts: 3446
Joined: Sat Jun 02, 2007 2:56 pm

Post » Thu May 26, 2011 11:17 pm

Repeat of question asked before, but wasn't answered:

What exactly does happen to an actor spawned by a leveled list, when the cell he's in (was spawned in) resets?

Does he stay? Is he replaced by a new iteration from the leveled list?


When the cell resets everything temporary is removed including spawn-list actors like bandits, necromancers, etc. They vanish just as their dead bodies vanish.

I don't think you can make a spawn character a permanent ref, because the actor piece isn't placed by hand anywhere in the game.
User avatar
Elizabeth Lysons
 
Posts: 3474
Joined: Fri Feb 02, 2007 7:16 am

Post » Thu May 26, 2011 8:17 pm

I have a question about my http://planetelderscrolls.gamespy.com/View.php?view=OblivionMods.Detail&id=265498&id=5052 mod. Many people don't like the renaming feature, where i renamed renamed longswords into swords and caymores into longswords. Is there any way to undo this? I guess it is impossible with CS (except if i would manually rename everything back, which would take a lot of time), but what about other programs? Is TES4Edit or TES Gecko capable of undoing?
User avatar
Amy Melissa
 
Posts: 3390
Joined: Fri Jun 23, 2006 2:35 pm

Post » Fri May 27, 2011 3:11 am

Yes the author gave a link to that. :P

I'm on another one now. I'm trying to script a trigzone to enable a collisionbox while the player is in the triggzone. I have it working with one exception. If the player stays walking against the wall until the timer disables it the player can walk through.

I need it to only disable if the player isn't in the trigger zone. Here's the layout of the scripts I have right now.

scn aaFBNPCHatchscriptsampleshort triggeredfloat timerbegin onTrigger player if triggered == 0 && getstage (Quest) <= (Stage)(collisionboxref).enable  set triggered to 1  set timer to 1 endifendbegin gameMode if triggered == 1   if  timer <= 0	 set triggered to 0	(collisionboxref).disable   else	 set timer to timer - getSecondsPassed   endif endifend


Noone knows??? I've tried placing an xmarkerheading and pushing the player away from it but that doesn't work, I'd have to make it a marker rat instead but I'm still not sure that'd work either. I tried placing a marker and moving the player to that but it just spams the move to function so you get stuck.

EDIT: Nevermind I figured out a way.
User avatar
Wayne W
 
Posts: 3482
Joined: Sun Jun 17, 2007 5:49 am

Post » Thu May 26, 2011 8:05 pm

When the cell resets everything temporary is removed including spawn-list actors like bandits, necromancers, etc. They vanish just as their dead bodies vanish.

I don't think you can make a spawn character a permanent ref, because the actor piece isn't placed by hand anywhere in the game.

Thanks for letting me know!

That's good! Exactly how I like it :).
User avatar
Jessica Thomson
 
Posts: 3337
Joined: Fri Jul 21, 2006 5:10 am

Post » Fri May 27, 2011 7:10 am

More of a curiosity than a problem. How do I view the texture of an item in nifskope? I only ever see a white model.
User avatar
Stephanie Nieves
 
Posts: 3407
Joined: Mon Apr 02, 2007 10:52 pm

Post » Fri May 27, 2011 3:45 am

More of a curiosity than a problem. How do I view the texture of an item in nifskope? I only ever see a white model.


Go to Render then Settings in Nifskope, click on the Rendering tab, and click the Auto-Detect Game Paths button on the left. You should see your Data folder come up in the window top-right. If you already see your data folder there, you can skip this step.

Then click File and Resource Files, and tick the "Automatic Selection" box at the top. You should see all the .bsa files listed there. Now Nifskope will show those textures even though they are still packed in the .bsa files.
User avatar
Louise Dennis
 
Posts: 3489
Joined: Fri Mar 02, 2007 9:23 pm

Post » Fri May 27, 2011 10:31 am

More of a curiosity than a problem. How do I view the texture of an item in nifskope? I only ever see a white model.


You need to setup NIfskope to know what game the Nifs are for so it will know the default pathing ! - Open Nifskope and go to the top bar and select Render - Settings from there go to the Rendering Tab and click on Auto Detect Game Paths (Nifskope will check your system for compatible games installed and will add the default paths for them (For OB it is the Data folder in your install folder) then Nifskope will find the texxtures properly and display them inthe render window !
User avatar
Mark Churchman
 
Posts: 3363
Joined: Sun Aug 05, 2007 5:58 am

Post » Fri May 27, 2011 6:19 am

There may be a size limit for NifSkope. It seems to show me a white texture if it's over 1024 pixels in any direction.
User avatar
Cartoon
 
Posts: 3350
Joined: Mon Jun 25, 2007 4:31 pm

Post » Fri May 27, 2011 1:36 am

There may be a size limit for NifSkope. It seems to show me a white texture if it's over 1024 pixels in any direction.


Ok but at least for the most part I can see now.
User avatar
adam holden
 
Posts: 3339
Joined: Tue Jun 19, 2007 9:34 pm

Post » Fri May 27, 2011 11:10 am

When the cell resets everything temporary is removed including spawn-list actors like bandits, necromancers, etc. They vanish just as their dead bodies vanish.

It may be a bit misleading to think of this as a timed event. It's more a case of the engine checking if you were in the cell last within the respawn period, and if not, it just builds it from scratch. The old contents were deleted when they expired, but the rebuild doesn't happen until it's needed. Much less effort that way.
User avatar
Hannah Whitlock
 
Posts: 3485
Joined: Sat Oct 07, 2006 12:21 am

Post » Fri May 27, 2011 11:58 am

Exactly what are arrays? And what's the point of using them vs. normal variables?
User avatar
Adam
 
Posts: 3446
Joined: Sat Jun 02, 2007 2:56 pm

Post » Fri May 27, 2011 12:08 am

An array is a series of variables that are stored together. So, for example, in a baseball game you could have an array of scores for each team in each inning - say, two arrays of nine integers. So you'd have Team1Score, which is an array, and Team1Score[0] is their score in the 1st inning, Team1Score[1] is their score in the 2nd inning, etc etc. Team2Score[0] would be the other team's score in the 1st, etc.

You could just have 18 variables - Team1Score1st, Team1Score2nd, etc. But what happens if the game goes to extra innings? You could have more variables defined, but you have a limit - however many you need. You could have 60 variables, 30 innings each; that will probably be enough (record for an MLB game is 26 innings), but now you have 42 variables more than you'll usually need. But when you have an array, you can just refer to Team1Score[9] for the 10th inning, and the code will create a slot for Team1Score[9] the first time you assign something to it (in Oblivion script; some programming languages require preparation of the slot first).

Further, you can refer to an inning with a variable. So instead of something like this to add a run to Team 1:
if ( inning == 1 )	set Team1Score1st to Team1Score1st + 1elseif ( inning == 2 )	set Team1Score2nd to Team1Score2nd + 1etc
You can just do this:
Team1Score[inning] = Team1Score[inning] + 1

This kind of just touching the tip of the iceberg; there's a lot more you can do with arrays. For example, you can have multidimensional arrays - like a table, perhaps. So you could actually just do Score[0][2] for Team 1's score in the 3rd.

The big thing to remember is that arrays start at 0. It can be easy to forget that.

OBSE arrays can also have things other than numbers as the "key", so you can do something like have an array called NPC, which stores a variety of information about an NPC, and then use NPC[name] to get its name, or NPC[lastSpokeTo] to get the time when you last spoke to them. Or whatever, it's up to you to define how they're used.
User avatar
Alexandra Ryan
 
Posts: 3438
Joined: Mon Jul 31, 2006 9:01 am

Post » Fri May 27, 2011 3:57 am

Is there any way to have a section of code executed once per load without using OBSE functions?

Thanks
User avatar
LijLuva
 
Posts: 3347
Joined: Wed Sep 20, 2006 1:59 am

Post » Fri May 27, 2011 12:21 am

Is there any way to have a section of code executed once per load without using OBSE functions?
You can attach it to an event that happens only once per load/game session. Since scripts are loaded from the game start, I'd go about with this :
begin menuMode 1044; main menu  set sStart to 1endbegin gameMode   if ( sStart ); do stuff		set sStart to 0   endIfend
Doesn't handle game loads. You could trigger your menumode block with the load screen, but you won't be able to accurately figure out if the player loaded a game or not.
User avatar
Jonathan Windmon
 
Posts: 3410
Joined: Wed Oct 10, 2007 12:23 pm

Post » Fri May 27, 2011 8:03 am

I'm having issues with really shiny normal maps. Can anyone link me to a tutorial to make non-shiny normal maps in photoshop?
User avatar
Ebony Lawson
 
Posts: 3504
Joined: Fri Feb 16, 2007 11:00 am

Post » Fri May 27, 2011 5:06 am

I have a quick question, i want to open a book while in the container.

I have thisItem set to the reference

and have tried thisItem.Activate player 1 and thisItem.Activate2 player 1

The problem is IsActivatable returns 0 and i am not sure why. It is a book. If I use set thisBook to player.Placeatme thisItem 1 256 1 and then thisBook.activate, it works.

But I don't want to use PlaceAtMe if I can avoid it.

thanks
a
User avatar
Logan Greenwood
 
Posts: 3416
Joined: Mon Jul 30, 2007 5:41 pm

Post » Fri May 27, 2011 10:33 am

I have a quick question, i want to open a book while in the container.

I have thisItem set to the reference

and have tried thisItem.Activate player 1 and thisItem.Activate2 player 1

The problem is IsActivatable returns 0 and i am not sure why. It is a book. If I use set thisBook to player.Placeatme thisItem 1 256 1 and then thisBook.activate, it works.

But I don't want to use PlaceAtMe if I can avoid it.
Is the book inside the container ?
User avatar
Unstoppable Judge
 
Posts: 3337
Joined: Sat Jul 29, 2006 11:22 pm

Post » Fri May 27, 2011 11:21 am

Is the book inside the container ?


Yes, I am using GetActiveMenuSelection to retrieve the FormID, and then I wanted to be able to open it from within.

The FormID that I retrieve is a baseFormID and I don't know if that is the issue?

thanks
a
User avatar
StunnaLiike FiiFii
 
Posts: 3373
Joined: Tue Oct 31, 2006 2:30 am

Post » Fri May 27, 2011 7:37 am

Yes, I am using GetActiveMenuSelection to retrieve the FormID, and then I wanted to be able to open it from within.

The FormID that I retrieve is a baseFormID and I don't know if that is the issue?
That might just be - You can't activate a base object. Your alternative - Have a remote copy of the book out side a container and activate it. If you plan on doing so dynamically, create placeAtMe refs and collect their refIDs. Once the player exits the book menu, use OBSE's deleteReference function to destroy the object.
User avatar
Kevan Olson
 
Posts: 3402
Joined: Tue Oct 16, 2007 1:09 am

PreviousNext

Return to IV - Oblivion