• Content count

  • Joined

  • Last visited

Community Reputation

0 Please Give Cookies

About UmTheMuse

  • Rank
  • Birthday 12/31/1985

Profile Information

  • Gender
  • Interests
    6%-9% APY
    Currently learning beginning Java and Oblivion modding
  1. So, did you ever figure out how to get the spell to recognize pesky things like walls yet? I'd be interested in seeing the results if you have. You'd think that it would be easy enough, given that spells have that check-box "ignore LOS" or whatever it's called. Is the problem that the spell abruptly ends before it runs the ScriptEffectFinish block whenever it hits a non-actor? In that case, I bet HeyYou is on the right track; to my mind, you'd want to have a marker reference follow the spell as it heads away from the caster with a script attached that moves the caster to its location as soon as the marker stops moving. I dunno; maybe somebody more knowledgeable could tell us a better solution, but I bet that this would at least work. In fact, if you don't mind, I'm going to go ahead and write it for myself
  2. Steady there, emrepus. I'm sure no slight was intended. I know it can be frustrating at times when you first get started, having just started myself. One thing that you might want to consider doing is looking up the various leveling mods that already exist. See if you can unravel how they did things. Oblivion seems to have quite a few idiosyncrasies, but if you take things one step at a time, you should be able to get it in no time. From the comments posted above, I think that the "ridiculous number" that they're talking about here is a ridiculously high number. The idea being that the amount of experience neccessary to advance to the next level would be so huge that the player cannot reach it on their own.
  3. Thanks, but I actually posted this because it didn't work and I wanted to see what was wrong. I still don't know what the issue was, but it's got something to do with the mod itself, instead of the script.
  4. Alright. That's too bad. With Java (and I assume most modern languages), you can test parts of your code without testing all of it. Many IDE's will let you "step into" your code, too, for debugging but a harness is more powerful because it lets you catch programming mistakes that the compiler misses--like putting logical or instead of and, like I did. I realize that that would probably be hard to implement in a game environment so I didn't think it would, but I thought there was no harm in asking.
  5. Hi. I've got a question: is it possible to write a testing harness so that you don't have to run Oblivion to test something?
  6. I tried putting the script on the activator, just like I showed in the screenshot. The mod loaded for sure, because the house is part of the mod. The only thing I can think of is that I'd botched my installation of OBSE v. 20 somehow. I think I'm using 18 even though the pieces for v 20 are on the same level as Oblivion. It's kind of a stretch, but that's all I can think of. Unless there's a mistake in syntax? Does capitalization matter? Why do you suggest writing the script in WordPad first? UPDATE: I tried the script in a completely new mod and it worked fine. Dunno what's going on, but it's probably a good idea to start afresh, anyway.
  7. Well, shoot. I tried to attach this to an already existing (custom) container, but it didn't work. Is it because it's a container and already has a messagebox, or is it because it was already placed into the world before I attached the script? Edit: Ack! Now I can't add anything new; it shows up in the CS, but not in-game. I've tried adding a bunch of different items (bedroll, waterfall, activators, and containers) with and without my script attached. I've tried loading my oldest save. I've tried shutting down the CS and turning it back on. Yet, nothing seems to help. What's going on? Here's a screenshot of what my script looks like.
  8. Thanks, DarkRider, for all the help and for your abounding patience. I didn't want to push my luck with doing the release option. That and I was getting a little antsy to start some of the other classes. Thanks again for all that you do.
  9. Ooh, I didn't even think of having them wack the staff--I was thinking of it like a container. Alright, so does that help us retrieve the effect? That sounds like it would make a cleaner transition somehow, though I can't guess how. Wait, I guess I could control the magnitude of the spell by just saying that it's limited by the staff's power (and value). IIrc, it should be easy to just look up the Nth spell effect.
  10. I should probably add that I didn't actually test the above, since you'd want to translate them anyway. Also, I'm a beginner in Java, too, so take it with a grain of salt. Stuff proceeded by a double slash "//" are comments. Semi-colons ";" mark the end of a line of code.
  11. I don't see what the issue is. I don't know how the Oblivion scripting works, but Taylor expansions should be extremely accurate, as long as the angle is between 0 and 360 degrees (and if you know that you're going to go over, just keep subtracting 360 from your angle until it does fit). For the cos x, you should use the same script, except you'd change the line, "set SinResult to X - X2*X/6 + X5/120 - X7/5040 + X9/362880 - X9*X2/39916800 + X9*X4/6227020800 - X8*X7/1.307674368e12" with set cosResult to -x2 / 2 + x4 / (4*3*2) - (x2*x4) / (6*5*4*3*2) + (x4*x4) / (8*7*6*5*4*3*2) - (x2*x4*x4) / (10*9*8*7*6*5*4*3*2) + (x4*x4*x4) / (12*11*10*9*8*7*6*5*4*3*2) if that's not accurate enough, keep repeating the pattern. If you can create subroutines, you can easily adapt it as needed. Again, I don't know how Oblivion works, but in Java: float power (int degree, int base) //Degree is a parameter based on what power you're looking for. Eg. x^2 is degree 2. Base is what you're multiplying, eg. in the phrase 2^x, 2 is the base { int xn = base * base; for ( int i = 2; i > degree; i++) //This is a loop which starts at 2 and will increment by one until it hits degree { xn = base*xn; } return xn; //after the loop finishes, the service "power" will return xn ("x^n") } // you would need to specify which objects can use this. For example, if you have a class named Math, you would call "power" using Math.power(aDegree, aBase); Of course, Java already supports this... float factorial (int numberToFactor) //numberToFactor is the number to be factored { int nFactorial = 1; if ( nFactorial == 0 || nFactorial == 1) //0! is defined as equal to 1. 1! is 1 and is added here for convenience { return nFactorial; } else if nFactorial < 0; //Factorials are only defined for integers greater than or equal to 0. 0 and 1 included above System.out.println ( "I can't let you do that, Dave" ); return nFactorial; //This will give you your number back so you don't break anything. You could set it as an error or return 0 or something else. //Yes, the way I've set it up so far, you could combine the first and second conditions. I've left it like this so you can adjust it as needed. Plus, I like the quote else { for ( int i = 2; i <= numberToFactor; i++) //This loop will increment from 2 to numberToFactor { nFactorial *= i; // *= is equivalent to nFactorial = nFactorial * i; } return nFactorial; } end if }[/code] Then, you could just define your functions to give you cos and sin: [code]float cos(int aPower, int yourBase, int yourAngle) //These should be predefined or defined when called { int cumulativeCosX = 0; for (i = 0; i < aPower; i++) //Loop increments from 0 to aPower - 1 { int termCosX = this.power(2*i, -1)*this.power(i, yourBase) / this.factor(i); cumulativeCosX += termCosX; } return cumulativeCosX; } float sin(int aPower, int yourBase, int yourAngle) //These should be predefined or defined when called { int cumulativeSinX = 0; for (i = 0; i < aPower; i++) //Loop increments from 0 to aPower - 1 { int termSinX = this.power(2*i+1, -1)*this.power(i, yourBase) / this.factor(i); cumulativeSinX += termSinX; } return cumulativeSinX; } This gives you four widely used math functions. Unfortunately, from the little I've learned about Oblivion scripts, I don't know if it's possible to use these code snippets
  12. Hello and welcome!