Jump to content

OvadWolfeye

Members
  • Posts

    34
  • Joined

  • Last visited

Posts posted by OvadWolfeye

  1. 1. ModAV2. Or ModAVMod Magicka damage, which is essentially the same thing.

     

    2. That's a tricky one. What I would probably do is hide the UI element using SetMenuFloatValue command. The path to menu element could be different depending on UI mod used, if any.

     

    3. Set item as non-playable? I did not understand the part about having Chameleon and not updating quests, however.

     

    1) doesn't seem like a solution as it would cause a change in the Total amount of Magicka a player can have either up or down, bypassing the Magicka recharge.

     

    unless it needs to be followed up by combining a timer, GetAV, and ModAv2 or ModAvMod

    or am I using this function incorrectly?

     

    2) am still investigating

     

    3) wouldn't work as shown here

     

     

    3) Non-playable items cannot be equipped or seen, which makes your exact needs kinda useless. However, you can instead use what modders called "tokens" which are non-playable items added to the player that have a script attached to them. They're kinda weird, but you can basically use this a "watch" script to see if the player is sneaking or not. A better option is a quest script that runs continuously and only updates with an event handler as to not bog down the game. This would probably be the better script option, its why tokens ended up going away

  2. 2. If you find a solution for that one, it would have been great but I am so used to it now, that it does not bother me any longer but it did not appeared until I started to use Midas spells, turning the mobs into gold. :smile: Now the targetname can get stuck at anything but as soon as I target something else, it disappears. But it does not get stuck all times as it is very random.

     

    Yeah It is random, I have noticed that when this bug appears in my Ovad's Quicker Looting Mod, that the name gets stuck more often if I activate the Rings Looting Capabilities that use the moveto on dead bodies more often if I never opened the targets inventory before using.

    If I open the Targets inventory to see what's inside close it without taking anything and then using it the bug happens less often around 2/10 uses. this lead me to believe the issue was regarding time so I used it while not moving and was stopped for a second or two while the intended target was in my Crosshair, this also seemed to have a much lower bug chance.

    2) GetCrosshairRef is very weird and I've experienced similar issues as you. You need to flush out the reference variable immediately after you're done, it doesn't do it automatically. Its very wonky and not a good function overall, so limit its use if possible

    I have the ref variable named harvest in my script that has this bug at the very end of each use it sets harvest to 0, this does nothing to minimize or fix the said bug.

  3. 1) I have not found anything that answers this question

     

    2) I see plenty of stuff about using GetCrossHairRef but nothing on the bug I mentioned

     

    3) I have Tried to make my sneak boots with the Activator item being invisible if the player opens there menu. I have not found anything yet. I made a pair of boots that cast a long lasting Chameleon spell on the player via a trigger and it works and dispels if the player is no longer sneaking, however once activated all future quests no longer move to the nest stage without sneaking and leaving sneak mode, so the best solution I could think of is have an item capable of being equipped but that would not appear in the players inventory should they check.

  4. Hi I hope this Post becomes a handy place to put up questions and find answers to some questions that seem to allude those who are still learning how to use CS scripting, or other modding questions for that matter dealing with there creation. That being said I have two questions that no trying a multitude of typing different ways into google I have yet to find something either matching or similar to what I am looking for, to suite my needs.

     

    1) What's the proper function to set the players Current amount of remaining Magicka? I do not want to change the players overall Magicka limit just the amount they have at there current disposal ( without just changing a spell cost) I am looking for a scripting solution for various different scripts for the most part I would like my infinite ammo bow to require magic depending on the cost of the arrow

     

    2) If I use the GetCrossHairRef to set a Ref in a script ( example Ref Target) and then have the script use the moveto function on that Ref the name of that ref becomes stuck on screen until the crosshair looks at something else within touch range. is there a workaround for this?

     

    3) is there a way to make inventory item invisible while in menumode yet keep them equipped on the player?

  5. The way you feel about your 3D meshes is how I feel with scripting at times( mostly when I think I have a great idea, but find out my knowledge base is insufficient for the set task, to the point that I have to search 6 hours worth of reading material because not knowing how to ask the question the correct way) but then I break down and post a question here and Pellape ( and others your not unloved, thats right DrakeThe Dragon, Mixxa77, and QQuiz I am calling yall out for the awesome help ya'll have been giving me) and I start to make progress again.

     

    CS gets more action on my PC then the actual game does right now lol.

  6. Ok I think I get what your wanting. How about a Magic script that sets a ref and a variable for each equipment slot

     

    Then set them each using the getequippedobject function in the Begin ScriptEffectStart Block

     

    In the Begin ScriptEffectUpdate Block use the isarmor on each ref to set the Variables to allow a toggle for the OnScriptEffectFinish Block Set up a timer for the spell and have it dispel at a set time

  7. Thanks Guys. My thoughts were broadened and I changed the script to this:

    scn OvadBowScript
    short active
    short Igot
    short Iwant
    short Ineed
    Ref OvadArrow
    Ref HadArrow
    
    
    
    Begin OnEquip
    	set Ovadarrow to player.getequippedobject 17
    	set active to 1
    End
    
    Begin OnUnEquip
    	set active to 0
    End
    
    Begin GameMode
    	If Active == 0
    
    	Endif
    
    	If active == 1
    	If onkeydown 256
    		set Ovadarrow to player.getequippedobject 17
    		If OvadArrow == 0
    			If Player.getItemCount Arrow1Iron < 1
    				Player.additemNS Arrow1Iron 1
    			Endif
    			Player.equipitemsilent Arrow1Iron 
    			set Ovadarrow to player.getequippedobject 17
    		Endif
    	endif
    
    		set Igot to Player.GetItemCount OvadArrow
    		set Iwant to 2
    			If Igot == 1 || Igot < 1
    			set Ineed to Iwant - Igot
    			player.additemNS OvadArrow Ineed
    			endif
    
    	endif
    	
    end
    
    Begin MenuMode
    	If Active == 0
    
    	Endif
    End
    
    

    I will be tweaking this script more for perfection but minus a small arrow count bug( which I will be working on repairing) we now have a working bow that can shoot unlimited arrows regardless if vanilla or from a custom mod. as soon as I perfect this bow the stealth boots, and learn the dialog stuff I will upload my mod upon completing it.

  8. 
    scn OvadBowScript
    short active
    short Igot
    short Iwant
    short Ineed
    Ref OvadArrow
    
    
    Begin OnEquip
    set active to 1
    End
    
    Begin OnUnEquip
    set active to 0
    End
    
    Begin GameMode
    If Active == 0
    
    Endif
    
    If active == 1
    If onkeydown 256
    set Ovadarrow to player.getequippedobject 17
    Else
    Return
    endif
    
    set Igot to Player.GetItemCount OvadArrow
    set Iwant to 2
    If Igot == 1 || Igot < 1
    set Ineed to Iwant - Igot
    player.additemNS OvadArrow Ineed
    endif
    
    endif
    
    end
    
    Begin MenuMode
    If Active == 0
    
    Endif
    End
    

     

    So I am attempting to make a Bow that will have unlimited arrows. The arrows will be whatever arrows the player has equipped, allowing the bow to use any arrow in game. This portion works well and I was able to fix my original issue I had ( and posted in a wrong Forum ) of the script freezing when the bow was unequipped. Is there a variable that can be used to determine if the ammo slot is empty, like using the equipment slot bit assignments?

  9. Ok I fixed the error of the bow being unequipped by changing script to this:

    scn OvadBowScript
    short active
    short Igot
    short Iwant
    short Ineed
    Ref OvadArrow
    
    
    Begin OnEquip
    	set active to 1
    End
    
    Begin OnUnEquip
    	set active to 0
    End
    
    Begin GameMode
    	If Active == 0
    		set Ovadarrow to Arrow1Iron
    	Endif
    
    	If active == 1
    	If onkeydown 256
    		set Ovadarrow to player.getequippedobject 17
    	Else
    		 Return
    	endif
    
    		set Igot to Player.GetItemCount OvadArrow
    		set Iwant to 2
    			If Igot == 1 || Igot < 1
    			set Ineed to Iwant - Igot
    			player.additemNS OvadArrow Ineed
    			endif
    
    	endif
    	
    end
    
    Begin MenuMode
    	If Active == 0
    		set Ovadarrow to Arrow1Iron
    	Endif
    End
    
    

    Now I need to determine how to prevent attacking if no arrow is equipped from freezing this script.

  10. scn OvadBowScript
    short active
    short Igot
    short Iwant
    short Ineed
    Ref OvadArrow
    
    
    Begin OnEquip
    	set OvadArrow to Player.GetEquippedObject 17
    	set active to 1
    End
    
    Begin OnUnEquip
    	set active to 0
    End
    
    Begin GameMode
    
    		If OnKeyDown 256 && Active == 1
    			set OvadArrow to Player.GetEquippedObject 17
    		Else
    		 Return
    		endif
    
    		If active == 1
    			set Igot to Player.GetItemCount OvadArrow
    			set Iwant to 2
    				If Igot == 1 || Igot < 1
    				set Ineed to Iwant - Igot
    				Player.AddItemNS OvadArrow Ineed
    				endif
    
    		endif
    end
    
    Begin MenuMode
    
    End
    

    So My script if for a bow to have unlimited arrows for whatever arrow is currently equipped. It works well enough, but has a major flaw. When I unequip an arrow and change arrows the bow changes the reference to the new narrow and life goes on, however, if I mistakenly unequip the bow ( whether or not the currently associated arrow remains equipped or has already been unequipped) the script seems to stop functioning.

     

    Any advice on where to look for a remedy to this headache would be greatly appreciated.

     

     

     

    I also just realized that I am posting in the wrong section, sorry I am still a bit new to all this forum stuff. I will be posting scripting questions under the mod talk construction set forum in the future.

  11. Ok Almost there folks. Pellape was correct about the spell and DrakeTheDragon is correct on not needing a script to be placed on the activator. I still need to tinker with it a bit because my DoOnce to keep the spell from being cast a billion times back to back isn't working

    (Probably due to my being tired as having a million and one edits to what would probably be easier for you more experienced modders). So Thanks for getting me headed in the right direction I will finish later ( after much needed sleep).

     

    for the curious I am still using a trigger for my Activator heres the script on my boots thus far.

    scn OvadBootsScript
    Ref Trigger
    ref Home
    short DoOnce
    
    Begin OnEquip Player
    
    		set trigger to OvadBootsTriggerRef
    		set Home to OvadTriggerHomeRef
    End
    
    Begin GameMode
    	
    	If player.issneaking == 1 && player.getequippedobject 5 == OvadBoots
    		If DoOnce == 0
    		trigger.moveto player 10,10,10
    		trigger.cast OvadBootsSpell player
    		trigger.moveto home 100,100,100
    		Set DoOnce to 1
    		ElseIf DoOnce == 1
    		Endif
    	Endif
    		
    	if player.issneaking == 0
    		player.dispel OvadBootsSpell
    		set DoOnce to 0
    		
    	Endif
    End
    
    
  12. Thanks I will look into activators I used a trigger box because its invisible. I believe I have misinterpreted what I read at Cast - The Elder Scrolls Construction Set Wiki

     

     

    • Cast must be called from a reference. Items in inventories aren't references. Therefore cast won't run if called from a scripted object in an inventory. See talk page for details and workarounds.

    The discussion page also led me to believe the script that uses the cast feature cant be part of an item in my inventory. I read somewhere that to get it to work the way I need to is to make an invisible object that still has the ability to collide with in order to use cast function but was not able to find anything on how to make an item or custom npc that would be invisible ( unless its as easy as choosing no nif file which I will test after this post.)

     

    with regards to the using the <> to add a script. I type 1 for what line to start on and selected the PHP/Auto/Generic Detect for code selection and I did use copy paste feature. I will try again and leave the 1 out using same code type.

    scn OvadBootsScript
    Ref Trigger
    
    Begin OnEquip Player
    
    		set trigger to OvadBootsTriggerRef
    
    End
    
    Begin GameMode
    	
    		If player.issneaking == 1 && player.getequippedobject 5 == OvadBoots
    		trigger.moveto player
    		elseif player.issneaking == 0
    		player.dispel OvadBootsSpell
    		endif
    	
    End
    
    

    this is my code put on the boots I used Begin OnEquip Player to fix an issue I had with CM Mod follower equipping a pair of my boots and causing me to stay vanished after I used them.

  13. test run

    ok hope that worked. thanks for info. I checked and my spell was set to Self. I changed this to Target. mag of chameleon on said spell is 30 and the duration is 5000. I reloaded game and tested the box popped up I clicked ok, then I hear the spell see a small green poof like my player farted ( no joke only the location of fart was not directly behind his rear) but no chameleon effect was put on player. I think its somewhere in my timing I have the cast function listed before the move to home. Do you think I need to ad a timer in-between these steps? Is the moveto function preventing the cast function to complete?

    as far you saying a similar one you done was that the player to far away from the trigger, I have move to without coords so it should be right on top of my player. Could this effect the outcome possibly need to change it to trigger.moveto player 10,10,10 as an exmple?

     

    bonus question if the blue <> didnt work correctly how do i get it to work correctly for future posts?

     

    Test run blue<> #2

    Scn OvadBootsTriggerScript
     
    short triggered
    Ref Trigger
    Ref Home
     
     
     
    Begin OnTrigger Player
    set trigger to OvadBootsTriggerRef
    Set Home to OvadTriggerHomeRef
    if triggered == 0
    set triggered to 1
    endif
    end
     
    begin gameMode
      if triggered == 1
      cast OvadBootsSpell Player
    messagebox" test if working thus far"
      set triggered to 2
     endif
     
    If Triggered == 2
    trigger.moveto home
    endif
    End
    
  14. Ok sorry guys for taking so long to reply this is what I am trying to do. I got a pair of boots that I want to have chameleon only while crouching.

    I made a working pair that adds a ring with chameleon enchantment without a specified equipment slot. when in crouch item is added and equipped when nor item is unequipped and removed. it works, but I want it to work with a spell instead so I made a trigger and placed in a test cell the boots now when entering crouch mode use the moveto function to move the trigger to the player and the trigger is scripted

     

    scn ovadbootstriggerscript

    ref trigger

    ref home

    short triggered
    float timer

    begin onTrigger

    set trigger to ovadbootstriggerref

    set home to ovadtriggerhomeref
    if triggered == 0
    trigger.cast ovadbootsspell player
    set triggered to 1
    set timer to 2 ;2 delay before reset
    endif
    end

    begin gameMode
    if triggered == 1
    if timer <= 0
    set triggered to 0
    else
    set timer to timer - getSecondsPassed
    endif
    endif
    end

     

     

     

    I thought it might be a syntax error so I tinkered with it a bit to this :

     

    Scn OvadBootsTriggerScript
    short triggered
    Ref Trigger
    Ref Home
    Begin OnTrigger Player
    set trigger to OvadBootsTriggerRef
    Set Home to OvadTriggerHomeRef
    if triggered == 0
    set triggered to 1
    endif
    end
    begin gameMode
    if triggered == 1
    cast OvadBootsSpell Player
    messagebox" test if working thus far"
    set triggered to 2
    endif
    If Triggered == 2
    trigger.moveto home
    endif
    End
    so my player never gets the chameleon spell cast on him but the messagebox does appear. what am I doing Wrong?????
    also the boots script has the if issneaking == 1 && DoOnce == 0 so that the boots do not just cause the trigger to repeatedly cycle between moveto functions.
  15. So I am trying to make a script that when I try to pick up an object a spell effect (aka curse) is put on the player. I looked at the Alter of Arkay script and the syntax it appears to use to cause this to happen to the player is Cast AltarArkay Player. Am I missing something or is it impossible to have a spell effect be placed on a player via scripting?

  16. As for the bindings, you understood it correctly:

    XXXX is keyboard, YY mouse button and ZZ is joystick.

    FF means no none/no assignment

     

    If you look in your Oblivion INI file you will find a line saying:

    Block=003801FF

    0038 is the hex code for the keyboard LEFT-ALT key – Check the table on the WIKI pages mixxa linked.

    01 is the right mouse button

    FF means no joystick assignment

    In other words, you can Block either by pressing LEFT-ALT or right clicking. Cannot Block with the joystick.

     

    If you want to Block with, say, key ‘B’, you change that line to Block=003001FF (Hex 30 for key B).

     

    Or, if you want to block with your fourth mouse button, change it to Block=003803FF (although there is a note saying this does not work. I do not know why. I've never changed those settings myself. May need some trial and error.).

     

    So I would have to pick something like block or cast etc. to change something to the 4th and 5th mouse button in the ini file gotcha I think, an example to change block to my 4th mouse button only would be to open ini find block=line and change it to Block=FFFF03FF. You got me curious so I tried to change run mapping to test mouse buttons changed it to Run=002A03FF

    Always Run=003A04FF

    It didn't seem to work. It is interesting and I might have a use for this. If I can get it working correctly, would it be ok if I do use this feature in my mods to incorporate some from your The Collector to have the keybindings only work under certain conditions(like the number keys only work if Collector scroll is open) to minimize other mod interferences?

     

    By the way The Collector rocks, I think I will attempt to learn from that and your many other mods(geeking out, geeking out .... oh my I am geeking out)

×
×
  • Create New...