Jump to content

JPTR1

Premium Member
  • Posts

    86
  • Joined

  • Last visited

Posts posted by JPTR1

  1. It is always my intention not to bother others with unnecessary details, but considering the various possibilities, it might would have been useful in this case.

     

    For me, your first solution should be fine, since the note has no importance and doesn't bother even if my mod isn't played or has been finished. It's just a letter that explains the background of the story a bit. More like an easter egg if you find it.

     

    Happy holiday!

     

    Edit: Works now, even as quest-alias with showing the Player's name inside the letter.

  2. Hi, I would like to add a note to an existing actor's inventory without editing the source.

     

    Favorite way would be that it is in his inventory as soon as my mod is installed/started. (It is possible that he is dead, hope this isn't a problem?!)

    Alternative way would be to add the note with the first quest stage. (It is not a questitem)

     

    Is this even possible, and if yes, can someone provide me a script or method for this?

     

    greetings

    JPTR

  3. [EDIT: Solved... All Movement Preferences, Gizmo Size etc. everything was at 0. No idea why and how, never was in these settings. Changed back to defaults. Panic mode off.]

     

    Hello,

     

    Just started CK like thousand times before to continue my work, but it behaves different at loading and isn't reacting to mouse input properly.

     

    When loading my cell, there is an empty grey renderwindow now, instead of the topview at the COC Marker.

    Doubleclick on a static object in the objectlist, makes the level visible now, but I can't move the camera anymore. I can doubleclick on an object in the renderwindow and it still opens the object settings,

    but there are no movement arrows/circle showing up at pressing "E" or "W". Drag and drop an object with the mouse is not working, moving the object with arrows on keyboard is still working.

    Holding middle mousebutton or shift to move the camera, is not working.

  4. Much thanks for the answers, realy though there were a more comfortable solution.

     

    @Sovrath

    Yes in some areas there are absolutly no lights, but ofc in Skyrim without graficmod, I wouldn't call it pitchblack. Basicly it is still very bright, but for the enemies it seems to be pitchblack indeed...

    Would be nice to have more possibilities to play with lights and shadows for player and npc behaviors.

  5. Hello,

     

    is there a way to improve the night sight of enemies?

    Much parts of my dungeons are dark, my intention is to make it more difficult and more frightning, but if you play sneaky it becomes to easy sometimes.

    Some enemies, bandits too, do not detect you even if you shoot multiple arrows at them, which is of course not good.

     

    I have added the werewolf nighteye ability to the most of my created races (draugr, skeletons, trolls etc.. ), but somehow I have the feeling it doesn't work.

    Maybe I need to tweak this nighteye spell/ability to make it work for other races?

     

    However, it should improve the view only, not the overall detection, due to a lot of narrow areas.

     

    greetings JPTR

     

  6. Hello, could someone check this script for me pls, it's not working.

     

    Function should be:

    If the "wooden Horn" is in players inventory, remove only this. If player doesn't have the wooden one, then the "golden Horn" should be removed.

    If player misses both horns, just the debug message.

     

     

     

    Scriptname MansionHornPlaceWoodOrGold extends ObjectReference

    ObjectReference Property OrbOfTeenhood Auto
    ObjectReference Property Collision Auto
    MiscObject Property ItemWood Auto
    MiscObject Property ItemGold Auto

    Event OnActivate(ObjectReference akActionRef)
    if Game.GetPlayer().GetItemCount(ItemWood) == 1) ->Line X1
    Game.GetPlayer().RemoveItem(ItemWood, 1, true)
    Debug.Notification("The Wooden Warhorn has been placed.")
    (GetLinkedRef() as ObjectReference).SetOpen(True)
    OrbOfTeenhood.enable()
    Collision.enable()

    elseif Game.GetPlayer().GetItemCount(ItemGold) == 1) ->Line X2
    Game.GetPlayer().RemoveItem(ItemGold, 1, true)
    Debug.Notification("The Golden Warhorn has been placed.")
    (GetLinkedRef() as ObjectReference).SetOpen(True)
    OrbOfTeenhood.enable()
    Collision.enable()

    else
    Debug.Notification("A warhorn rack.")
    endif

    EndEvent

     

     

    Compile error in editor:

    LineX1, Col47: required (...)+ loop did not match anything at input ')'

    LineX2, Col51: required (...)+ loop did not match anything at input ')'

  7. You could set invisible activators above the buttons, making the player think to use buttons while its an inv.Activator. (create them and give them a button sound).

    That way you can enable/disable these activators without the player recognizing. And whatever inv.Activator is enabled it can have different outcomes.

  8. EDIT: Sorry missleading topic. Being Essential is not necessary.

     

    EDIT2: Solved! My Troll starts attacking others after ambush release and is not beeing attacked before. Just copied the "masterambushscript" and changed the "float property fAggression = 2.0 auto hidden" to 3.0, (Frenzied)

     

    However, setting the actor directly to a frenzied aggression did not work. Obviously the masterambushscript was overwritting this actor setting.

     

     

    default masterambushscript:

     

    ScriptName masterAmbushScript extends Actor
    {Script that lives on the actor and takes care of all instances of how an actor can come out of idle state while in ambush mode}

    import game
    import debug

    string property sActorVariable = "Variable01" auto hidden
    {By default, this property is set to Variable01.}

    float property fActorVariable = 1.0 auto hidden
    {By default this property is set to 1.}

    float property fActorVariableOnReset = 0.0 auto hidden

    float property fAggression = 2.0 auto hidden
    {
    By default this property is set to 2 (very aggressive).
    0 - Unaggressive - will not initiate combat
    1 - Aggressive - will attack enemies on sight
    2 - Very Aggressive - Will attack enemies and neutrals on sight
    3 - Frenzied - Will attack anyone else
    }

    float property fAggressionOnReset = 0.0 auto hidden

    keyword property linkKeyword auto
    {if this has a linkedRef with this keyword, we will activate it once when hit, activated, or on combat begin}

    bool property ambushOnTrigger = false auto
    {By default, this is set to false. Set to true if you want encounter to come out of ambush when player enters trigger}


    Event onReset()
    ;messagebox ("in reset")
    self.setAV(sActorVariable, fACtorVariableonReset)
    self.setAv("Aggression", fAggressionOnReset)
    self.evaluatePackage()
    endEvent


    auto State waiting
    ;The actor can exit the furniture in multiple ways. We need to listen for all of these
    ;events and if any are called, then go to All Done state, since we don't need to listen
    ;for any other events because any of the events will get the actor out of the furniture.

    ;Handle Activation
    Event onActivate(ObjectReference triggerRef)
    ;trace("in onactivate")
    Actor actorRef = triggerRef as Actor
    if((actorRef == game.getPlayer()) || (ambushOnTrigger == true))
    ;player has activated draugr, so leave state
    gotoState("allDone")
    else
    ;trigger activated them, so set their aggression to 2, but do not leave state
    self.setAV("Aggression", fAggression)
    self.EvaluatePackage()
    endif
    endEvent

    ;Handle onHit
    Event onHit(objectReference akAggressor, Form akWeapon, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
    ;trace("in onhit")
    gotoState("allDone")
    endEvent

    ;Handle other cases that cause them to come out of furniture

    ;Using onGetUp as a safety net
    Event onGetUp(ObjectReference myFurniture)
    Cell parentCell = GetParentCell()
    ;trace("in getup")
    if (parentCell && parentCell.IsAttached() && (is3DLoaded()))
    gotoState("allDone")
    endif
    endEvent

    Event OnCombatStateChanged(Actor actorRef,int aeCombatState)
    ;trace("in combatstatechanged")
    if (aeCombatState != 0) ; 0 = not in combat, so non-0 means we entered combat
    gotoState("allDone")
    endIf
    endEvent

    ;if any of the events above are caught, we leave this state, but first we need to take care
    ;of setting up everything we need when we get out of our furniture.
    Event onEndState()
    ;trace("in end state")
    ;handle things like sarcophagus lids that are the linkedRef of the furniture
    if(getLinkedRef())
    getLinkedRef().activate(self)
    endif

    if(getNthLinkedRef(1))
    getNthLinkedRef(1).activate(self)
    endif

    if(getNthLinkedRef(2))
    getNthLinkedRef(2).activate(self)
    endif

    ;set actor variables
    self.setAV(sActorVariable, fACtorVariable)
    self.setAV("Aggression", fAggression)
    self.evaluatePackage()

    ;check to see if actor has a linkedRef with this keyword, if so, then activate it
    if (GetLinkedRef(linkKeyword) as objectReference)
    (getLinkedRef(linkKeyword) as objectReference).activate(self)
    endif
    endEvent
    endState


    State allDone
    ;do nothing
    endState

     

  9. OrbofChildhood in this case is the static map.

    ActivatorBox enables an XMarker, which removes the trigger as its parent.

     

    I see this "Souls mod" is widely spreaded, so maybe to avoid the wait function i could simply let enable a triggerbox(actorzone, with the static map as parent) with the "GetItemCount(BookRef) == 0" check. So everytime the map is taken it will check and re-enable the mapTriggers if it was not taken, when leaving the room for example. Not the most immersive solution, but the result would be fine.

     

    Now you wrote some things i never focused on. Is there any point in keeping it "none skse"? I have so much scripts now, how do i know if SKSE is needed? And is SKSE compatible with all Skyrim editions now? Sry i'm realy not into this, if this is escalating the topic just ignore it.

  10. Fantastic, "it just works" (realy)

    Thanks again dylbill! :thumbsup:

     

    Maybe do you have an idea for a solution if the reading screen is left with ESC? The note is gone then, my trigger too ofc. It's not a big thing, but probably players want the map keep hanging there, so they leave with ESC.

     

     

     

    Scriptname MansionTakeFloorMap02B extends ObjectReference
    {Take the map}

    ObjectReference Property OrbOfChildhood Auto
    ObjectReference Property ActivatorBox Auto
    ObjectReference Property BookRef Auto

    Event OnActivate(ObjectReference akActionRef)
    OrbOfChildhood.disable()
    Self.BookRef.Activate(Game.GetPlayer())
    ActivatorBox.enable()
    EndEvent


  11. Good morning!

     

    I made a map as an static object hanging on the wall with an activator on it. If the player clicks the activator it disables the static map and adds the map (book form) in the players inventory.

    Could i add something to the script, so that the player UI opens/reads the map before it gets added to the inventory? Just like if you pick up a book directly with the "read" action.

     

    I tried placing the map item somewhere and let it be activated by my trigger, but that was too easy and didn't work. :laugh:

     

    Self.GetLinkedRef(LinkedRefKeyword).Activate(Self) - Is there an read command maybe to replace activate?

     

     

     

     

  12. Might be a stupid question, but i have a lot of scripts now (but still a noob) and i did not realy care about the horizontal position of the command lines in the scripts... so i might better ask before publish it.

     

    Are there any possible issues i should be aware of?

     

    Example with spaces:

     

     

    Scriptname MansionHornPlaceGold extends ObjectReference

    ObjectReference Property OrbOfTeenhood Auto
    ObjectReference Property Collision Auto
    ObjectReference Property CollisionD Auto
    MiscObject Property Item Auto

    Event OnActivate(ObjectReference akActionRef)
    if (Game.GetPlayer().GetItemCount(Item) == 0)
    Debug.Notification("A warhorn rack.")

    else
    Game.GetPlayer().RemoveItem(Item, 1, true)
    Debug.Notification("The Golden Warhorn has been placed.")
    (GetLinkedRef() as ObjectReference).SetOpen(True)
    OrbOfTeenhood.enable()
    Collision.enable()
    CollisionD.disable()

    endIf

    EndEvent

     

     

     

    Example without spaces:

     

     

    Scriptname MansionHornPlaceGold extends ObjectReference

    ObjectReference Property OrbOfTeenhood Auto
    ObjectReference Property Collision Auto
    ObjectReference Property CollisionD Auto
    MiscObject Property Item Auto

    Event OnActivate(ObjectReference akActionRef)
    if (Game.GetPlayer().GetItemCount(Item) == 0)
    Debug.Notification("A warhorn rack.")

    else

    Game.GetPlayer().RemoveItem(Item, 1, true)
    Debug.Notification("The Golden Warhorn has been placed.")
    (GetLinkedRef() as ObjectReference).SetOpen(True)
    OrbOfTeenhood.enable()
    Collision.enable()
    CollisionD.disable()

    endIf
    EndEvent

     

     

  13. Hello,

    I've found this "simple" script (defaultOnHitActivateLinkedRef), it just does not work like intended. Instead of "onHit" the NPC activates the link ref immediately after the cell is loaded.

    I would need the Enemy to activate(run to) the lever when the combat begins.

     

     

    ScriptName defaultOnHitActivateLinkedRef extends Actor
    {Default script that lives on an actor. On hit, activate the specified linkedref.}

    import game
    import debug

    bool property doOnce = false auto
    keyword property linkKeyword auto
    {if this has a linkedRef with this keyword, we will activate it once when hit}

    auto State waiting
    Event onHit(objectReference akAggressor, Form akWeapon, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
    (getLinkedRef(linkKeyword) as objectReference).activate(self)
    if (doOnce)
    GoToState("allDone")
    EndIf
    endEvent
    endState

    State allDone
    ;do nothing
    endState

     

     

    Any idea what i'm doing wrong? Thanks in advance!

     

     

  14. Good evening,

     

    i have found some hagraven animations, but without any infos where they realy come from and how to use.

    https://www.youtube.com/watch?v=hhpNboBP5Es

    I'm just updating my mod "The Evil Mansion", and these animations showed in the video would be extremly helpful as i have a special hagraven. But i'm not realy trustful depending on the source and the .rar file which is linked for download. (seems russian...)

     

    Does anyone knows these or other animations for hagravens, or are there any upcoming probelms when i try to make my hagraven use these animations?

     

    Greetings and thx in advance!

    JP'TR

  15. Hello,

    i would need a reliable triggerzone(firetrap) to kill an NPC, no matter which Level, which resistences, it has.

    If i use the "DB10FireDamageTriggerBox" for example, its not able to kill my enemy at high levels, and on low levels it dies to fast, same for the player.

     

    Now i found this script, seems to have a constant percentage damage output, ignoring armor and resistences, which is perfect, but it only affects the player.

    Is there any chance to let this script affect the NPC only and ignore the player?

     

     

    Scriptname MansionLightDamageScript extends ObjectReference
    {the trigger that deals damage to the player if they are in the light}

    ; false = minimum damage
    ; true = maximum damage
    BOOL PROPERTY maxDmg AUTO
    EFFECTSHADER PROPERTY effect AUTO

    INT INTRIGGER=0


    EVENT ONTRIGGERENTER(objectreference ref)

    IF(ref as ACTOR == game.getPlayer())

    INTRIGGER += 1

    effect.play(game.getPlayer())

    while(INTRIGGER > 0)
    IF(maxDMG)
    game.getPlayer().damageAV("health", (game.getPlayer().getBaseAV("health") * 0.2))

    ELSEIF(maxDMG == FALSE)
    game.getPlayer().damageAV("health", (game.getPlayer().getBaseAV("health") * 0.05))

    ENDIF

    utility.wait(0.5)
    endWHILE

    effect.stop(game.getPlayer())

    ENDIF

    ENDEVENT


    EVENT ONTRIGGERLEAVE(objectreference ref)

    IF(ref as ACTOR == game.getPlayer())
    INTRIGGER -= 1

    ENDIF

    ENDEVENT

     

  16. Good Morning,

    i'm still working on an slightly.. bigger Update for my Mod "The Evil Mansion" https://www.nexusmods.com/skyrim/mods/47795 , but i am totaly out of knowledge about the status of the game at all, never played any AddOns, meaning i don't know them.

     

    Currently i keep it compatible for Skyrim standart version, without AddOns needed, and will port it to SSE later.

     

    Question now:

    As my mod is a large adventure and playerhouse, are there important features which i should add from DLCs (from Hearthfire for example), are people still playing the game without AddOns? Does it even makes sense to keep it compatible to the basic version? And will there be any problems for me adding the DLC content to my mod? Or does it makes sense to add Hearthfire content only to my mod, without using other DLCs? Or should i only add dlc-contents to the SSE version? Are there disadvantages using them, regarding stability for example?

     

    Finally, i don't think the are any information about the upcoming Anv.Edition, and what we would have to do to make our mods compatible, but if there are, please let me know.

     

    Thank you!

×
×
  • Create New...