Jump to content

GamerRick

Supporter
  • Posts

    678
  • Joined

  • Last visited

Everything posted by GamerRick

  1. I played it last night to the first promotion, which enabled me to start another quest in mod (Vampire Hunting - Order of the Virtuous Blood), where I challenge a previous chanp to a match in the arena. Your mod worked well and did not conflict with the other mod. Thanks!
  2. Thanks RomanR!! I installed it but haven't tried it yet.
  3. It isn't working perfectly. I had a situation 2 nights ago where a NPC cast a soultrap at another every 5 secs or so, and I saw the message each time. I saved there and went to add a PrintC to find out who the target is, but when I started back up, the NPC stopped casting the spell. Hasn't happened since. So, I have no idea how OBSE deciphered the object::PlayerRef paramter. Looks like it ignored it (which would be my 2nd preference). At least the 2nd param worked to filter for the STRP command. I hoped that it would work like it does for the OnHit event: From the OBSE doc:
  4. In one of my personal mods I changed the scripts for all of the Daedric Statues so that you can just skip to the end of the speech at any time by pressing the 'f' key. If the scripts for the announcers speech work the same, I could do the same for them maybe. I like the idea of doing it for the announcers too.
  5. True that. I looked here first, and when I didn't find it I went searching.
  6. I searched both the Wiki and OBSE lists of blocktypes and didn't find it. Then I did a Google search and see it mentioned for Skyrim. I dunno. Maybe you found an undocumented blocktype.
  7. The last thing I tried last night is this: let iResult := SetEventHandler "OnMagicEffectHit" RFFnOnSoulTrap PrintC"RFLightSpellQuestScript - SetEventHandler result = %g" iResultEven without any filters on it, it just won't call my function when I cast a STRP spell on a creature. Nothing happens. So, I have given up for now. Also, according to your script, I could have just done a GetSelf to get the target of the spell??? I find it hard to believe that would work from within a custom function. However, if it does work, wouldn't it also work if my event were OnSpellCast? "OnMagicApply" is a function for Skyrim. EDIT: I finally got this to work. Gotta use COMMAS to separate the variables in the command in spite of what the OBSE docs say. I tried the GetSelf command and it crashes the script. The quest script (note how using object::PlayerRef changes it to look for the player to cast the spell, whereas ref::PlayerRef looks for the player to be the target of the spell): let iResult := SetEventHandler "OnMagicEffectHit" RFFnOnSoulTrap, object::PlayerRef, object::"STRP"The function (same as before) EDIT: Just remembered that I also had to change the 2nd parameter of the function to a long instead of a string_var. scn RFFnOnSoulTrap ref rTarget long lEffect short iSoulSize begin Function { rTarget, lEffect } PrintC"RFFnOnSoulTrap called on %n" rTarget if rTarget.GetIsReference player return endif if rTarget.IsActor set iSoulSize to GetActorSoulLevel rTarget if iSoulSize == 5 Message "Target soul level is GRAND" 4 Message "Target soul level is GRAND" 4 PrintC "Target soul level is GRAND" else if rTarget.GetLevel >= 18 Message "Target soul level is GRAND" 4 Message "Target soul level is GRAND" 4 PrintC "Target soul level is GRAND" elseif rTarget.GetLevel >= 13 Message "Target soul level is GREATER" 4 Message "Target soul level is GREATER" 4 PrintC "Target soul level is GREATER" elseif rTarget.GetLevel >= 7 Message "Target soul level is COMMON" 4 Message "Target soul level is COMMON" 4 PrintC "Target soul level is COMMON" elseif rTarget.GetLevel >= 2 Message "Target soul level is LESSER" 4 Message "Target soul level is LESSER" 4 PrintC "Target soul level is LESSER" else Message "Target soul level is PETTY" 4 Message "Target soul level is PETTY" 4 PrintC "Target soul level is PETTY" endif endif else Message "Target is not an Actor" 4 Message "Target is not an Actor" 4 endif endThe downside is that if I don't have a soulgem that is big enough for the target, I no longer get the usual message about it.
  8. Wait a sec.... If I use OnMagicEffectHit, I can make sure to not run if I am the target, but how would I know if another NPC cast the spell at another NPC or creature? I only want it to run when I (the playerRef) am the caster. Thanks. I can't get it to work at all: This won't compile without an error saying it will treat "object" as a script SetEventHandler "OnMagicEffectHit" FnOnSoulTrap object::"STRP"These compile, but obviously I don't want it to only work when I am the target or not filter for only STRP commands. SetEventHandler "OnMagicEffectHit" RFFnOnSoulTrap or SetEventHandler "OnMagicEffectHit" RFFnOnSoulTrap ref::PlayerRef object::"STRP"
  9. I would like to display the size of the soul when I (the PC) cast any soultrap spell. Here is the only thing I can think of: Create an event for the spellcast: Begin GameMode if GetGameRestarted PlayerRef.SetEventHandler "OnSpellCast", FnOnSpellCast endif EndIn the function, display the soul size of the target: scn FnOnSpellCast ref refActor ref refSpell short iSoulSize Begin Function { refActor, refSpell } if MagicItemHasEffect STRP, refSpell set refActor to player.GetCrosshairRef if refActor if refActor.IsActor set iSoulSize to GetActorSoulLevel refActor if iSoulSize == 5 Message "Target soul level is GRAND" 4 else if refActor.GetLevel >= 18 Message "Target soul level is GRAND" 4 elseif refActor.GetLevel >= 13 Message "Target soul level is GREATER" 4 elseif refActor.GetLevel >= 7 Message "Target soul level is COMMON" 4 elseif refActor.GetLevel >= 2 Message "Target soul level is LESSER" 4 else Message "Target soul level is PETTY" 4 endif endif else Message "Target is not an Actor" 4 endif else Message "No Target Detected" 4 endif return endif end This technique misses a lot, and displays "No Target Detected". It seems to be hit or miss even if it seems like I had the crosshair on the target. Is where Is there any other way to get a ref of the target?
  10. The NIF of the door to the ship has a NiFogProperty in it that needs to be deleted. \Data\meshes\architecture\ships\shipwreckentrance01.nif
  11. Yea, I love OOO and decided enchanting and spellmaking altars should be available in each guild hall, so I don't have to rush through the quest line to use them. I installed: Enchanting and Spell Making Altars (link)
  12. Change the icon you use to start the CS to launch OBSE so it starts the CS like: F:\Steam\steamapps\common\oblivion\obse_loader.exe -editor -notimeout
  13. The script moves the player in the start block and does the rest in the finish. Is it possible that that the moveto causes a delay (as the game has to pause to load everything for the new location) that prevents the finish block from running?
  14. Does GetInSameCell work for exterior world space cells? bomo99: Show us your code. It sounds like a simple script bug.
  15. You can buy or build a computer today for $500 that can shred Oblivion (2006) and Skyrim (2012), and even Fallout 4 (2014). You can go to Tom's Hardware Guide for info on parts and their articles on the best gaming build for the your budget. The reviews I have seen from Alienware are not good. Cheap and overpriced. I am personally about to buy a new computer from IBuyPower. I am on one I built in 2010, but the Hard drive is going. I am looking at spending around $2000, but I want to start playing newer games too.
  16. The problem turned out to be that the fire's z angle was not zero. This works. I placed one fire in a test cell, and move it around. set rItem to GetCrosshairRef if rItem set rItemBase to rItem.GetBaseObject if rItemBase == FireLogPile01 RFCampFireLIGHTRef.MoveTo Player RFCampFireLIGHTRef.setangle x -90 RFCampFireLIGHTRef.setangle y 0 RFCampFireLIGHTRef.setangle Z 0 set fTemp to rItem.GetPos x set fTemp to fTemp - 2.03 RFCampFireLIGHTRef.setPos x fTemp set fTemp to rItem.GetPos y set fTemp to fTemp - 10.755 RFCampFireLIGHTRef.setPos y fTemp set fTemp to rItem.GetPos z set fTemp to fTemp + 0.719 RFCampFireLIGHTRef.setPos z fTemp return endif endif
  17. You can play for 2 hours before it crashes?! I'm jealous!
  18. You mean like: rItem,AddFlames ; add flames to this FileLogPileI don't think you can do that do a static, can you? Never heard of this. Unfortunately the Wiki on it is broken and provides no info on its use.
  19. Actually, the setangle doesn't work right. The fire gets rotated differently in the game than the CS. So, in the game it is at an odd angle. I tried console commands on it and can't get the fire to be upright in the game. Maybe the solution is also the solution to PlaceAtMe. If you were to put several of those fires in a cell somewhere (like TestingHall), you could orient them correctly, and in the game you would round robin between them, doing a moveto player on them instead of a PlaceAtMe. I just slapped that together in a script I already use for other hotkeys, just to see if the PlaceAtMe and setangle and setpos commands (using the static logpile ref as a reference) would work. It would need more work to be really usable. Like, you could also script the ability of the player to turn it ON/OFF with a fire/frost spell and maybe a torch. So, now you're taking about having the fire be an activator you can attach a script to.
  20. This works for me: I added it to an existing script I use for my own hotkeys. In this case you would put your crosshairs on a logpile and hit LCtrl-F. It will place a specific LIGHT object that is also a fire (FireOpenSmall256), and use the FireLog to positions itself in the game world. QuestScript:
  21. This is the only one I know about that has been updated recently by someone I would trust: Oblivion Comprehensive Modding Guide by Dispensation I haven't tried it myself though.
  22. I think that page is right. It ONLY works for Oblivion gates. I tried it myself and found that the random door thing is done on the base door object. So, I tried to setup a door with several Mage Guild halls as the destination cells. I plopped this door somewhere and then tried it with my current character. I made no changes to the door ref, assuming that the base door would do the work. When activated, nothing happened. It said "this door goes nowhere" (or something like that). So, you're going to have to write a script to do it.
×
×
  • Create New...