-
Posts
39 -
Joined
-
Last visited
Everything posted by ProgMath2
-
Player doesn't get any damage
ProgMath2 replied to ProgMath2's topic in Oblivion's Mod troubleshooting
I meant that I might had something like this foreach rItem <- rContainer if rItem.IsClonedForm rItem.SetObjectHealth 1000000 else let rBase := rItem.GetBaseObject let rItem := CloneForm rBase rItem.SetObjectHealth 1000000 ; that's it loop...except that there were a five more options aside from making it undestructible and other distracting stuff, like restoring a health percentage after fortifying. In that case your conjecture was true, and I am inattentive imbecile that can't understand his own script. Anyway, like I said, I've rewritten it without using a container. Now the target item is taken from Telekinesis spell, and the process looks quite lovely (although I suspect that it leaves a garbage of disabled basic items on the floor). Thanks for your help. It always useful to know your mistakes. -
Okay. I'm a complete noob at 3d modelling, blender and things. All I've done with meshes before was deleting extra parts or resizing armor to other body type. Now I have this hat. And I want the hood to disappear. The problem is that the hood and the hat is one solid mesh, so I can't just delete a block and be happy. I undertook that: - exported the model to .dae - opened it in Blender and deleted hood's vertices - exported it to .obj and reimported it to Nifscope - added texture property to the block and adjusted material And now I have this: (Blue color is an area of texture that shouldn't appear on model) So, consuming all that rambling: the model has lost it's UV mapping, and now the texture is laying that freaky way. What I am doing wrong? How to do it right? Is there a way to copy UV map from the old healthy mesh to the imported cutted one?
-
Player doesn't get any damage
ProgMath2 replied to ProgMath2's topic in Oblivion's Mod troubleshooting
froli A have already rewritten the code and made it work with world reference, so there's no point to analyse it. I had a foreach cycle in container that ran for the proper items and called a function on each of them. The function created a cloned form if needed, and changed it's health to million. So my characer got a million of hp. Wait a minute. If I made a muddle at the point where I create a cloned form, I really could pass that new base object to setting health. Your supposition now looks quite possible. You said you used this function. Did you try it on inventory references? Setting a base object's health? -
Player doesn't get any damage
ProgMath2 replied to ProgMath2's topic in Oblivion's Mod troubleshooting
No-no-no. It isn't a base object. rItem is a good inventory ref. And yes, SetObjectHealth works for world ref. -
Player doesn't get any damage
ProgMath2 replied to ProgMath2's topic in Oblivion's Mod troubleshooting
Found it. rItem.SetObjectHealth xThat line modifies player's HP, not rItem's base's. let rBase := rItem.GetBaseObject SetObjectHealth x rBaseAnd that two doesn't modify anything at all. Just beautiful. -
Suddently noticed that my char became invincible. Mana and Fatigue goes down as they should, but Health stays full whatever I do: getting hit by sword, magic, my own spells, gas traps, etc... Tried to turn on-off TGM and con_TGM. Nothing changed. Tried to check my Active Effect list with a script - no unexpected effects found. What could it be? What characteristics can cause such a cheaty state?
-
I am currently remembering the base object. But the thing is that my objects are soulgems, and each reference has it's own unique soul level and ref var of contained victim (in it's script). In the first cycle I determine the most suitable gem. When I need to remove it's ref, I have to perform another search. Nothing crucial, but the code is looking bad and the script is running slow. Comparatively.
-
Have somebody used this function? I have an inventory reference with two variables in it's script, both are initialized (tested before and after the script). In the other script I say: ForEach rItem <- playerRef if (rItem is the one i need) let rTemp:= rItem.GetRefVariable rVictim ; this one is ref let iTemp:= rItem.GetVariable iVictimLevel ; that is short And when i try to use that values, rTemp occures to be bad, while iTemp is initialized and have a right value. I tried to use rItem.GetVariable "rVictim", nothing changed. Tried to get ref with GetVariable. The same. I can't just call EquipMe and work in item's script, because my item is a soulgem, and it calls recharge menu on equipping. Any thoughts? UPDATE I've noticed that GetArrayVar is working, so i can exchange an array of one element. But what's a deal with GetRefVariable?
-
Hoooh! Yes. I've made it work. Thanks for your answer, DrakeTheDragon, it helped me very much. First of all, during the past tries my script tured into a mess, and I have grown too dizzy to notice it. In my message here i wrote 'GetBaseItems rBase', when in my code was 'rBase.GetBaseItems', like if rBase was a reference. Second. The quotes. Despite of the example in the official manual, my game does not like 'aItems[0][item]' syntax. 'aItems[0]["item"]' works. Third, I've replaced 'foreach' with common 'while i < max'. Don't know if the 'foreach' is connected to the errors, but i don't trust it anymore. One last thing is left to do: to catch leveled lists in that array and calculate the result item before adding it to an actor. But I will do that the other time. So in case someone will have the similiar problems, here's the code of running through a Base Object's inventory: let aItems := GetBaseItems rBase let i := 0 let iLast := ar_last aItems while i <= iLast let rTemp := aItems["item"] let iTemp := aItems["count"] rActor.Additem rTemp iTemp let i += 1 loop
-
I have an actor's Base Object and a reference (of other base) I need to be equipped identically. I tried to use that let aItems := GetBaseItems rBase foreach aIterator <- aItems let rTemp := aIterator[item] let i := aIterator[count] rActor.Additem rTemp i loop And that does not work. As well as the 20 other variants I tried in past two hours. For now the only working one is to summon a copy of rBase and duplicateallitems. But it has it's own problems... Now the question. How in the Almsivi's name can I get an item from aIterator?!
-
Thanks for your answer. Sounds plausible - at least for a person who knows nothing about 3d modelling (that's me). Fortunately, on the other forum someone mentioned function that solved my problem: update3d Here is the finished mod: http://www.nexusmods.com/oblivion/mods/46509/?
-
After ending the new idle an npc is starting to move legs endlessly in all the common standing idles. https://youtu.be/sCmxVQqlijk I'm getting npc play idle (kf file from Human Chairs). additem token playidle 1. Everything is going right. Actor is playing anim. removeitem token playidle 1 Actor stops the new animation but if it is standing, it's legs continue to slowly move! An effect persists after the target sits, walks, after cell reloads. As soon as the npc is standing idle, it's legs are moving. I've tried to write pickidle 1 several times. Tried to use playgroup idle 1. Nothing changed. I've tried to use reset3dstate - it helps, but only for one current idle. For example, if the target is readlig book and moving it's feet, then after the command it will stand like the good npc should. But after idle is renewed, the actor is doing it's dance again! Is that kf file really bad and unusable? Is there a way to make my little puppets behave?