Quick Questions -- Quick Answers, The 26th

Post » Fri Sep 24, 2010 12:48 am

My question is, would this work:
...
I don't think that will work, as the levelled lists in modC is not considered the same as the leveled lists in modB even if you make modB a master afterwards.
Fortunately, there is a somewhat similar way I know works (the way I have made quite a few of my patches).

1. Take a backup of modB.esp (if you don't already have it backed up).
2. Edit modB.esp directly, adding the levelled lists from modA.esm that you need.
3. Open the changed modB.esp in TES4Edit, right-click on the things you want in modC, and select "Copy as override into..."
4. Check , write the name of the patch (modC), and answer Yes to the confirmation box that this will add modB as a master to modC (this is exactly what you want).
5. Repeat step 4 until all the parts of modB you want is copied into modC (but now you select modC and not
6. Exit TES4Edit and answer yes to save modC
7. Restore modB from the backup.
User avatar
Mason Nevitt
 
Posts: 3346
Joined: Fri May 11, 2007 8:49 pm

Post » Thu Sep 23, 2010 8:17 pm

Yes, that should work thanks!

My above mentioned theory didn't work because when I deleted everything except lists they were broken because they referenced to non existing stuff so TES4Edit couldn't even save it.

Now, I just hope CS will let me save without crash! :)

Thanks TheNiceOne, everything worked as planned!
User avatar
DAVId Bryant
 
Posts: 3366
Joined: Wed Nov 14, 2007 11:41 pm

Post » Fri Sep 24, 2010 12:39 am

Is there a function to get the level of experience a person has? Or one to reset the experience a person has to getting to the next level?
User avatar
Siidney
 
Posts: 3378
Joined: Fri Mar 23, 2007 11:54 pm

Post » Thu Sep 23, 2010 8:34 pm

Creature have stats like 'combat', 'stealth' and 'magic'. Is there any way to mod these stats like modav does for regular actor values?
User avatar
Rob Davidson
 
Posts: 3422
Joined: Thu Aug 02, 2007 2:52 am

Post » Thu Sep 23, 2010 4:00 pm

How do you alter the size a creature spawns at?
User avatar
Charlotte Henderson
 
Posts: 3337
Joined: Wed Oct 11, 2006 12:37 pm

Post » Thu Sep 23, 2010 10:22 am

Is there a function to get the level of experience a person has? Or one to reset the experience a person has to getting to the next level?


I'm assuming you are referring to vanilla levelling? If so, then no, I don't believe so. You would have to evaluate all the skills individually and find out which ones are major skills. http://obse.silverlock.org/obse_command_doc.html does have a variety of class related functions, but I'm not sure those would help you much here. You might try having a look at this http://cs.elderscrolls.com/constwiki/index.php/Stats_List in the CS wiki. It lists everything as well as some of the functions you'd need to look at for getting into this stuff.

Creature have stats like 'combat', 'stealth' and 'magic'. Is there any way to mod these stats like modav does for regular actor values?


I don't think so. With OBSE, you can get the values - see GetCreatureCombatSkill in the http://obse.silverlock.org/obse_command_doc.html. They've got setters for combat style, but I don't see any set or mod functions for creatures. You might try asking in the OBSE thread. Scruggsy is adding a bunch of functions right now :)

How do you alter the size a creature spawns at?


Use http://cs.elderscrolls.com/constwiki/index.php/SetScale.
User avatar
Laura Shipley
 
Posts: 3564
Joined: Thu Oct 26, 2006 4:47 am

Post » Thu Sep 23, 2010 11:29 am

I don't think so. With OBSE, you can get the values - see GetCreatureCombatSkill in the http://obse.silverlock.org/obse_command_doc.html. They've got setters for combat style, but I don't see any set or mod functions for creatures. You might try asking in the OBSE thread. Scruggsy is adding a bunch of functions right now :)


Thanks, couldn't find anything on the OBSE page either, but I guessed asking wouldn't hurt. Posted a request in the OBSE thread (tend to get ignored there though :P).
User avatar
Stephanie I
 
Posts: 3357
Joined: Thu Apr 05, 2007 3:28 pm

Post » Thu Sep 23, 2010 6:48 pm

I'm assuming you are referring to vanilla levelling? If so, then no, I don't believe so. You would have to evaluate all the skills individually and find out which ones are major skills. http://obse.silverlock.org/obse_command_doc.html does have a variety of class related functions, but I'm not sure those would help you much here. You might try having a look at this http://cs.elderscrolls.com/constwiki/index.php/Stats_List in the CS wiki. It lists everything as well as some of the functions you'd need to look at for getting into this stuff.

I wanted to stop people from leveling, so that I could make a skill-based leveling system, where you always stay the same level. :shrug: Ah well.
User avatar
bimsy
 
Posts: 3541
Joined: Wed Oct 11, 2006 3:04 pm

Post » Thu Sep 23, 2010 11:33 pm

I wanted to stop people from leveling, so that I could make a skill-based leveling system, where you always stay the same level. :shrug: Ah well.


Ah, ok, that's a little different. Being the custodian of Oblivion XP, I know a wee bit about controlling the player's level :)

Have a look at these functions and game settings in the CS wiki:

getGameSetting iLevelUpSkillCount
setPCMajorSkillUps

setPCMajorSkillUps 0 will prevent the player from levelling. You probably still want to go through the page I linked earlier. There are also other levelling mods out there that would control a player's levelling to this extent as well. In particular, you might want to check out http://www.tesnexus.com/downloads/file.php?id=23322. This one is unique because you pay gold to level. I know some players use it once to set their level to a certain value and never touch it again.
User avatar
bonita mathews
 
Posts: 3405
Joined: Sun Aug 06, 2006 5:04 am

Post » Fri Sep 24, 2010 1:06 am

Ah, ok, that's a little different. Being the custodian of Oblivion XP, I know a wee bit about controlling the player's level :)

Have a look at these functions and game settings in the CS wiki:

getGameSetting iLevelUpSkillCount
setPCMajorSkillUps

setPCMajorSkillUps 0 will prevent the player from levelling. You probably still want to go through the page I linked earlier. There are also other levelling mods out there that would control a player's levelling to this extent as well. In particular, you might want to check out http://www.tesnexus.com/downloads/file.php?id=23322. This one is unique because you pay gold to level. I know some players use it once to set their level to a certain value and never touch it again.

Well, I was going to use it in a worldspace where there wouldn't be any need for leveling. Level wouldn't affect item drops, monsters, events, quests, or anything. A person who starts out as a warrior won't be unable to take down something like a bear; unlike a Politician or something, while still having to train to be able to take down... oh say... a 9-foot-tall predatory land-bird that's native to an Archipelago-Country. :D I'm figuring I'll have people be able to train in numerous ways, they can get up to level "X" by training on training dummies, and then they'll gain much more experience from actual combat, and tutors, and some from reading technique books...

Magic's also a tricky subject because I wanted there to be a random percentage chance that a character you make has magic (unless you specify that you do or don't), so leveling in the spell categories would be relatively the same method but there would be other ways such as reading, watching magical duels in the a school of Magic, using certain other hard-to-find methods, etc.

Speechcraft is wonderful because I can do away with that whole "Conversation Wheel" business, too! :D I'm psyched that I might be able to get this to work.

But thank you SO MUCH for those links, they should help me a lot. It's nice to know there are kind people out there helping others when there's no benefit in it for them other than to be nice. :)
User avatar
Shelby McDonald
 
Posts: 3497
Joined: Sat Jan 13, 2007 2:29 pm

Post » Thu Sep 23, 2010 2:37 pm

Have hit a slight snag with a bone grinding script i'm working on to learn how to mod. What should happen is, providing you have the right equipment, a messagebox appears and prompts a 'yes' or 'no' response. When you click yes it should turn the bone you clicked into bonemeal. However, the issue I'm having is when I click the yes button nothing happens. It's only when I click the yes button a second time it turns the bone, successfully, into bonemeal. Anyone know where I've went wrong?

Spoiler
scn bonegrinderscript                  ;script nameshort stageshort choiceshort countshort count2short count3short count4short totalfloat timerbegin onequip   set stage to 1endbegin menumode   if ( stage == 1 )      messagebox "Would you like to grind these bones into bonemeal?" "Yes.", "No."         set stage to 2   endif   if ( stage == 2 )      set choice to GetButtonPressed         if ( choice == 0 )            if ( player.getitemcount MortarPestle > 0 )               set stage to 3         elseif ( choice == 0 )            if ( player.getitemcount MortarPestle <=  0 )               messagebox "You need a mortar & pestle to grind these bones." "Ok."                  if ( choice == 0 )                     set stage to 0                  endif            endif            endif         endif   endif      if ( stage == 3 )      set count to 0      set total to ( count + count2 + count3 + count4 )         if ( player.getitemcount Alembic > 0 && player.getitemcount Calcinator > 0 && player.getitemcount Retort > 0 )            set count to 4         elseif ( player.getitemcount Alembic > 0 && player.getitemcount Calcinator > 0 && player.getitemcount Retort <= 0 )            set count2 to 3         elseif ( player.getitemcount Alembic > 0 && player.getitemcount Calcinator <= 0 && player.getitemcount Retort > 0 )            set count2 to 3         elseif ( player.getitemcount Alembic <= 0 && player.getitemcount Calcinator > 0 && player.getitemcount Retort > 0 )            set count2 to 3         elseif ( player.getitemcount Alembic > 0 && player.getitemcount Calcinator <= 0 && player.getitemcount Retort <= 0 )            set count3 to 2         elseif ( player.getitemcount Alembic <= 0 && player.getitemcount Calcinator > 0 && player.getitemcount Retort <= 0 )            set count3 to 2         elseif ( player.getitemcount Alembic <= 0 && player.getitemcount Calcinator <= 0 && player.getitemcount Retort > 0 )            set count3 to 2         else             set count4 to 1         endif      set stage to 4   endif   if ( stage == 4 )      if total > 0         player.additem bonemeal total            set timer to 0.2               set stage to 5      endif   endif   if ( stage == 5 )      if ( timer > 0 )         set timer to timer - getsecondspassed      else         removeme      endif   endifend

User avatar
Nick Tyler
 
Posts: 3437
Joined: Thu Aug 30, 2007 8:57 am

Post » Fri Sep 24, 2010 12:55 am

Have hit a slight snag with a bone grinding script i'm working on to learn how to mod.

Your stage == 2 block doesn't look right. It looks like you've misaligned if/elseif/endif, and you're not testing for choice == 1 either (typo?). Maybe instead:

Spoiler
if ( stage == 2 )      set choice to GetButtonPressed      if ( choice == 1 )            if ( player.getitemcount MortarPestle > 0 )               set stage to 3            else               messagebox "You need a mortar & pestle to grind these bones." "Ok."            endif      elseif ( choice == 0 )            set stage to 0      endifendif

User avatar
cassy
 
Posts: 3368
Joined: Mon Mar 05, 2007 12:57 am

Post » Thu Sep 23, 2010 1:54 pm

All of a sudden objects won't align properly when I use snap to grid (for instance, pieces of cave won't come together). What have I bumped that's caused this to happen?
User avatar
Becky Palmer
 
Posts: 3387
Joined: Wed Oct 04, 2006 4:43 am

Post » Thu Sep 23, 2010 2:16 pm

Your stage == 2 block doesn't look right. It looks like you've misaligned if/elseif/endif, and you're not testing for choice == 1 either (typo?). Maybe instead:

Spoiler
if ( stage == 2 )      set choice to GetButtonPressed      if ( choice == 1 )            if ( player.getitemcount MortarPestle > 0 )               set stage to 3            else               messagebox "You need a mortar & pestle to grind these bones." "Ok."            endif      elseif ( choice == 0 )            set stage to 0      endifendif



Didn't do the trick unfortunately. I think it might be something to do with the ' if ( stage == 3 ) ' part of the code. Like I'm missing something that's stopping the messageboxes from moving seamlessly. Gah, now I know why they say programming is all about problem solving.

edit: Nevermind, got it. Just had to change the 'state' variable from 'short' to 'ref '. Thanks for the help.
User avatar
jessica robson
 
Posts: 3436
Joined: Mon Oct 09, 2006 11:54 am

Post » Thu Sep 23, 2010 5:05 pm

All of a sudden objects won't align properly when I use snap to grid (for instance, pieces of cave won't come together). What have I bumped that's caused this to happen?


You may have changed the Grid Preferences-- easy way to find out, double click something, find its X, Y or Z, co-ordinates, and check the box next to it. If it's not a multiple of 2, 4, 8, 16, 32, et cetera, I do not think they will necessarily line up properly. To fix it, click the Preferences button at the top of the screen (looks a bit like a white notebook, if memory serves), and change the Snap to Grid Value.
User avatar
Marilú
 
Posts: 3449
Joined: Sat Oct 07, 2006 7:17 am

Post » Thu Sep 23, 2010 10:06 pm

I am making mods for over 3 years on Windows XP , everything works perfectly.
But now I have windows 7 and I heard that there were some problems with with oblivion.
and indeed, I had alot of problems but then i did this:
1) I installed oblivion into c:/games/oblivion
2) I Made all oblivion, construction set and file transfers (7zip, winrar,...) progams To run as admin and compatibilty with windows XP.
3) I updated my CS with the latest patch from gamesas

When I now make mods with my CS and I choose them in data files when I run oblivion, Oblivion doesn't load them when I play into game.
I also transferred my mods to win XP with a Oblivion and CS that do perfectly work, the oblivion doesn't let them appear into game.
When I download mods from TESNEXUS that do work or when I use mods i made on my Windows XP, then The oblivion on Windows 7 do load them into game.

So now I know that there is something wrong with my CS and not my oblivion on Windows 7.
Oblivion CAN't read the mods that are made in my CS. So my CS saves/make them wrong.


Does anyone have a solution or a reaction on my problem? Maybe you have the same problem? please react.
User avatar
Liv Brown
 
Posts: 3358
Joined: Wed Jan 31, 2007 11:44 pm

Post » Thu Sep 23, 2010 8:21 pm

I've heard that there are problems with the CS with Win7.
A google search brought this link as one of the results.

Good Luck.

http://www.thenexusforums.com/index.php?/topic/149487-tes4-construction-set-crashes-on-windows-7/
User avatar
Leilene Nessel
 
Posts: 3428
Joined: Sun Apr 15, 2007 2:11 am

Post » Fri Sep 24, 2010 3:50 am

All of a sudden objects won't align properly when I use snap to grid (for instance, pieces of cave won't come together). What have I bumped that's caused this to happen?

There's a grid system to make caves and stuff...?

I've been doing it manually for the past two years with no grids and I'm very angry at myself for not knowing that...
User avatar
Rusty Billiot
 
Posts: 3431
Joined: Sat Sep 22, 2007 10:22 pm

Post » Thu Sep 23, 2010 7:09 pm

Okay, I need some help scripting. I want a script that allows an item (when picked up) to change from its current ownership to yours (the player) for a day, and then reverts back to its previous owner.
I'm pretty clueless on scripting, so some help would be great!

@Martut: Yes, to have things snap to the grid, select the grid icon---at the top of the toolset, not hard to miss---same for angles.
User avatar
Elizabeth Falvey
 
Posts: 3347
Joined: Fri Oct 26, 2007 1:37 am

Post » Fri Sep 24, 2010 3:08 am

@Martut: Yes, to have things snap to the grid, select the grid icon---at the top of the toolset, not hard to miss---same for angles.

:shrug: I forgot it was there because of misuse. Haha, I've spent the past two years or so in the CS, and I never used that button 'cause I never thought of what I could use it for. :)

Thanks.
User avatar
sally coker
 
Posts: 3349
Joined: Wed Jul 26, 2006 7:51 pm

Post » Fri Sep 24, 2010 2:09 am

Okay, so I have tried a few different things for my script. If you remember, I want a script that changes the ownership of itself to the player for 24 hours, then reverts back to a different owner. This is what I have so far:

scn SwitchOwnership

Begin OnAdd Player

float fquestdelaytime = 0

if ( fquestdelaytime < 68400 )
setownership PlayerFaction
endif

if ( fquestdelaytime >= 68400 )
setownership nameoffaction
endif

end

I am fairly new to scripting, so I'm not sure if this would really work at all... Some help would be great!
User avatar
Allison Sizemore
 
Posts: 3492
Joined: Wed Jul 19, 2006 6:09 am

Post » Thu Sep 23, 2010 3:46 pm

edit: Nevermind, got it. Just had to change the 'state' variable from 'short' to 'ref '. Thanks for the help.

That's odd. I wouldn't have thought that would have been the right thing to do. I also read a bit more of your code, should your set total line be after you set all those count values? That's probably why it's only working the second time you click yes, not the first, because the first time you click yes, that total value is initialised to 0, as those count values haven't yet been set. The second time, the total variable is set to the value of the count variables from the previous execution of the script, so it works that time, but only with the values from the last time the player clicked yes, not the current values as they should be.
User avatar
Emily Jones
 
Posts: 3425
Joined: Mon Jul 17, 2006 3:33 pm

Post » Thu Sep 23, 2010 8:29 pm

I am fairly new to scripting, so I'm not sure if this would really work at all... Some help would be great!

Ahh, no. Not likely. The fQuestDelayTime variable is for setting the time between executions of your script. Setting it to 0 has no effect, it just reverts to its default of 5. And unless you are setting it to different values throughout your script, checking for its value is pointless.

First, I suggest you jump over to the Oblivion Mods forum and search for a thread entitled Immersive Thievery Request. That should cover setting the ownership of an item the player picks up.

As for setting a timer on the ownership reverting back to its original. I'd suggest a data structure to store the type of item the player has picked up, the number of items (say, if the player picks up a stack of arrows), it's original ownership, and the time it was picked up (I'd suggest in hours, if you're happy to round it to the nearest hour). In other words, an array of arrays (see OBSE docs http://obse.silverlock.org/obse_command_doc.html#Array_Variables, ar_append and ar_list at that link may be helpful too). Then, every hour you can check through your array for each item whose time has elapsed (if you store them in the order that they were collected by the player, you'll only need to iterate through the array up until the first item whose timer has not yet elapsed = better performance :) ).

Once you detect that an items timer has elapsed, you'll need to access the players inventory, once again, http://obse.silverlock.org/obse_command_doc.html#Inventory_Reference is your friend. Make sure you read this thoroughly. You'll need to be careful how you handle stacks of items, where only some of the stack includes items whose ownership you want to revert, and the rest of the stack should stay as the player ownership. GetInvRefsForItem to get those items. GetRefCount to get how many there are. As far as I'm aware there's no way to act on only some of the stack of items, so I'd suggest remove them all with RemoveMeIR. Then use CreateTempRef, SetRefCount to create 2 stacks of that item (with the right number in each obviously), one keeping the player ownership, the other with the original ownership stored in the above data structure. Then put both stacks into the players inventory with CopyIR. You'll also need to be careful here about items with different health and/or other properties.

Hopefully thats enough to get you started...

Edit: Actually, I should add that I haven't actually done this myself. I'm just going off the documentation... oops.
User avatar
Oscar Vazquez
 
Posts: 3418
Joined: Sun Sep 30, 2007 12:08 pm

Post » Thu Sep 23, 2010 11:05 pm

Does the height of the bounding box on actor change with the animation? For example will the bounding box get shorter if the actor bends down to pick up something?
User avatar
marina
 
Posts: 3401
Joined: Tue Mar 13, 2007 10:02 pm

Post » Thu Sep 23, 2010 2:42 pm

Is there any info on world map 'calibration'? How to fix misplaced icons?
User avatar
Aaron Clark
 
Posts: 3439
Joined: Fri Oct 26, 2007 2:23 pm

PreviousNext

Return to IV - Oblivion

cron