Jump to content

Archny

Members
  • Posts

    20
  • Joined

  • Last visited

Posts posted by Archny

  1. I wanted to point this thing out

     

    I went and added a couple of new followers and for some weird reason the bug didn't happened to my Goat follower and my Cow follower (IMPORTANT: only when they are using their vanilla race)

     

    Changing their race to a custom one, will cause the same bug to happen, the bug will persist even if you go and change their race back to the correspondent vanilla ones

     

    PLEASE someone help me with this one. It's been a entire week with this bug, and fixing this bug it is crucial for my mod :sad:

  2. Hi everyone,

     

    So I added new dialogues to my custom follower inside the vanilla quest "Dialogue Follower" and they are working well, they can follow me, wait, trade, do favor and dismiss with no problems.

     

    But if they get hit in battle and then I try to talk to them the dialogue shows up on the screen but, with no possible interaction, they simple don't respond to mouse click nor the pressing of action key "E".

     

    This is preventing my quest to continue since some dialogues shows only after a battle, theses dialogues are showing correctly when you interact with the follower, but I just can't click on them. But if I enter a new cell, then the new dialogues start to respond to click event normally.

     

    Does anyone knows what could be causing this issue?

  3. Hi Susan,

     

    My name is Rony, pleasure :happy:, yes I always add the checks for "none" for safety.

     

    yes I see, because of the return statement the second check is ignored. I have a separated method that does the checking for names depending on the actor passed as argument :laugh:

     

     

    But there is no need for doing both conditions since GetLeveledActorBase() does that it self, check the link below for more information.

     

    https://www.creationkit.com/index.php?title=GetLeveledActorBase_-_Actor

  4. Yah I'm also facing this issue with the mod that I am currently working on that allows you to change the name of a npc by typing in your keyboard. once the name is changed the entire word gets UPPERCASE but not all of them, for example when I typed a new word like the name of a vanilla place like "Riften" or the name of a NPC like "Ralof" these words are not entirely capitalized only the first letter is.

     

    Another case was when I typed a new word "orange" my get function returned this "orANGE". It makes me think that there might be a set of predefined words that don't suffer alteration while the remaining gets entirely capitalized.

     

    If someone find out a solution to this problem please share it with the rest of us.

  5. LOL.

     

    I managed to duplicate a post the other day...

     

    ... good to know I'm not the only one.

    :laugh: :laugh: :laugh: I pressed tab while typing my script and it went to a no permission page, then I pressed the back button to continue typing, when I finished writing my post I went to the list of post to find out the other one was also saved :laugh:

  6.  

    Hello,

     

    Get actor base will get the base actor of a leveled actor. So if it is a leveled list it will be the template actor. The first one on the list. This is where you could run into some issues. Some may be flagged to not use the name of the actorbase. And some may get thier name from the template before the actual actor base. I am not sure getbaseobject will work on an actor.

     

     

    Give this a try and see what it returns.

    Event OnEffectStart(Actor akTarget, Actor akCaster)
    string ABN = akTarget.GetActorBase().getName()
    
    Form f = akTarget.Getbaseoobject() As form
    
    If f
    Debug.Notification("Get Base Object Returned")
    String ABO = f.getname()
      If ABO
    Debug.Notification("ABO" + ABO)
    Debug.Notification("We have actors name")
      EndIf
    else
    Debug.Notification("Get Base Object Did Not Return")
    EnIf
    
    
    
    If ABN
    Debug.Notification("ABN" + ABN)
    Debug.Notification("We have base actor name")
    EndIf
    
    
    EndEvent
    

    Hi SurfsideNaturals, thanks for replaying and helping :D

     

    hmm interesting idea to get it as form but it didn't work either.

     

    I got the message "Get Base Object Returned" but no name was printed, getName() on the form didn't returned anything.

  7. Objective

    A custom spell that when hit, it identify the target if it is for example a Wolf, an Ice Wolf or a Pit Wolf. The goal is to identify only creatures, not humans.

     

     

    So far

    Getting the target race doesn't work well, a good example would be the wolves since all of them are of the same race WolfRace. Also I can't compare them to baseActors since there are several of them for the wolf alone and my mod is currently working with 98 creatures so, it is not a good approach. So currently I'm trying the code below to identify the target by his name instead, which was working well until I found out that some wolves were NOT being identified by their name and I think it is because these wolves were leveled actors and this code apparently doesn't worked for them, I think it's because in creation kit under menu Actors will see that leveled actors don't have names, i'm not sure.

    Event OnEffectStart(Actor akTarget, Actor akCaster)
        ActorBase mActorBase = akTarget.GetBaseObject() as Actorbase
        string actorName = mActorBase.getName();
    EndEvent

    I have already at the end of my mod, and this issue is preventing me from releasing the mod since this functionality is a big feature of the mod.

     

    Please if anyone could help me with this issue I would be deeply grateful. Any ideas on how to identify each creature would be awesome.

     

    Here is a full list of all the creatures roaming Skyrim that I wish to identify with the spell

     

    fox; iceFox; mudCrab; giantMudCrab; mudcrabSolstheim;
    
    
    skeever; venomfangSkeever; wolf; redWolf; iceWolf;
    
    
    dog; huskie; deathHound; sabreCat; iceSabreCat;
    
    
    valeSabreCat; horker; bear; caveBear; iceBear;
    
    
    troll; iceTroll; armoredTroll; armoredIceTroll; Udefrykte;
    
    
    frostbiteSpider; frostbiteSpiderSnow; giantFrostbiteSpider; giantFrostbitSpiderSnow; spriggan;
    
    
    sprigganMatron; BurntSpriggan; sprigganEarthMother; chaurus; chaurusReaper;
    
    
    frozenChaurus; chaurusHunter; chaurusHunterFledgling; mamoth; giant;
    
    
    frostGiant; flameAtronach; frostAtronach; stormAtronach; ancientStormAtronach;
    
    
    ashAtronach; AshHopper; AshSpawn; NetchCalf; Netch
    
    
    Bristleback; Lurker; Seeker; Ice Wraith; Fire wyrm;
    
    
    gargoile; gargoileBrute; gargoileSentinel; darkGargoile; StoneGargoile; 
    
    
    DwarvenSpider; DwarvenSphere; DwarvenBallista; DwarvenCenturion; ForgeMaster
    
    
    skeleton; boneman; mistman; wrathman; soulCairnKeeper;
    
    
    corruptedShade; corruptedShadeImperial; corruptedShadeStormCloak; skeletonPriest; The Reaper;
    
    
    draugr; draugrOverlord_restlesDraugr; draugrWight_Lord; draugrScourge_Lord; draugrDeathLord_draugrDeathOverLord; hulkingDraugr;
    
    
    whispMother; werewolf; werebear; Hagraven; VampireLord
    
    
    dragon priest; skeletalDragon; dragon; bloodDragon; frostDragon; 
    
    
    elderDragon; ancientDragon; reveredDragon; legendaryDragon; serpentineDragon; 
    
    
    MagicAnomaly; pectralDog; HollowedDead
  8.  

    This is because the book is in the player inventory/container, therefore it has no valid ID and the script won't work.

     

     

    Ghaunadaur Big thanks man, you helped me find the solution. Although I didn't go for quest since I don't have a good understand of how it works yet, but I went into a slightly different approach.

     

    I took the book in question and I added it in a custom cell and then I referenced it into the script, and then I used this ObjectReference to register all keys that I need, then I used this same Object to unregister all keys when the player hits "scape" or "tab" in order to close the book. So here is the final solution.

     

     

     

    Scriptname myBookScript extends ObjectReference

    ObjectReference Property myBookRef auto

    int mNumpad1 = 79
    int mNumpad2 = 80
    int mNumpad3 = 81
    int mScape = 1
    int mTab = 15
    Event OnRead()
    myBookRef.RegisterForKey(mNumpad1)
    myBookRef.RegisterForKey(mNumpad2)
    myBookRef.RegisterForKey(mNumpad3)
    myBookRef.RegisterForKey(mScape)
    myBookRef.RegisterForKey(mTab)
    EndEvent
    Event OnKeyDown(Int KeyCode)
    Debug.notification("A registered key has been pressed")
    If KeyCode == mNumpad1
    Debug.notification("1st option")
    elseIf KeyCode == mNumpad2
    Debug.notification("2nd option")
    elseIf KeyCode == mNumpad3
    Debug.notification("3rd option")
    EndIf
    ;==responsable to unregister all registered keys
    if keyCode == mScape || keyCode == mTab
    myBookRef.UnregisterForAllKeys()
    Debug.notification("Book closed, all key unregistered")
    EndIf
    EndEvent
    Thanks to everyone who gave their time to help. Also if you guys find any performance issue with this code please share here.
  9. SKSE isn't installed correctly, the most common mistake made, reinstall it...

     

    btw to fix any potential mistakes first Skyrim, second Dawnguard, followed by Hearthfire, which leads to Dragonborn. Then to Quote Tony Montana. "Then and only then do you install the SKSE scripts" Overwrite where applicable ON Dawnguard, followed by Hearthfire, which leads to Dragonborn and lastly SKSE.

     

    It NOT a matter of just packing Scripts.rar then SKSE. ☺

     

    My Masters are in the right order already and they are also in the right order for the esp I'm currently working on.

     

    And for SKSE not being installed correctly, I would like for you to be more specific, cuz SKSE functions are working fine in my mod, the Scripts are compiling nice and I'm seeing the effects of SKSE functions inside the Game.

     

    The way I installed SKESE was:

    - files (skse64_1_5_80.dll skse64_loader.exe skse64_steam_loader.dll) where put inside Skyrim folder, same level as the data folder

    - Data/Scripts was packed and install via ModManager2

    - Data/Scripts/Source all the .psc files were put inside Skyrim Data folder -> inside Source folder -> inside Scripts folder in order for the creation kit to recognize SKSE scripts

     

    I'm testing mods by launching skryrim through skse64_loader.exe directly and also though ModOrganizer2 just to be sure, but the results are still the same

     

    well if I did something wrong please tell me. Thanks

  10. Also try Debug.Trace and then check the log file. I haven't checked, but it is possible that Notification doesn't work while you're in the book reading menu. So the keys may be getting processed and it is just the notifications that are failing.

     

    I changed debug.notification to debug.trace but, it didn't work either. But this error is showing

     

    Unable to call RegisterForKey - no native object bound to the script object, or object is of incorrect type

  11. As a test, try using OnInit event to register the keys instead of the OnRead event. It may be that the keys are not getting registered at the point you want since the "book menu" pauses the game normally. If this is indeed the case, there will need to be some "workarounds" put into place to ensure that the keys only trigger the OnKeyDown event when you want rather than at any point after the book is first loaded.

     

    Yah I changed the OnRead event to OnInit but, it didn't work out. Oh man is not being easy

  12. Are you starting the game with SKSE? -- OnKeyDown and RegisterForKey require SKSE to function.

     

    Are you starting a new game or using a save where the book in question has not yet been loaded? -- Objects already loaded tend not to recognize changes while new instances will.

     

    yes I'm Starting the with skse64_loader, and yes SKSE is working also, I have another scripts that use SKSE and they are working fine.

     

    I tried to start a new game but it didn't work either.

  13. Hi Everyone, I'm creating this Skyrim Special Edition mod and I have found a big problem and I hope you guys can help me get through it.

     

    Problem: detect if the player has pressed a key like "Numpad1" while reading a book.

     

    The idea is:

    - in the book there is some options for the player to choose from and each option has a small image related to it and a number too. So while the book is open the player will press a button end choose that option. So pressing Numpad1 would choose option with number 1 and so on. The idea of using MessageBox came in mind but it does not give the option to show images and that is an important part of the mod. And it would be great to know how to close the book and the inventory from that single key press.

     

    This is was I already have but it's not working:

     

     

    Scriptname myBookScript extends ObjectReference

     

    int mNumpad1 = 79
    int mNumpad2 = 80
    int mNumpad3 = 81
    Event OnRead()
    RegisterForKey(mNumpad1)
    RegisterForKey(mNumpad2)
    RegisterForKey(mNumpad3)
    EndEvent
    Event OnKeyDown(Int KeyCode)
    Debug.notification("A registered key has been pressed")
    If KeyCode == mNumpad1
    Debug.notification("1st option")
    elseIf KeyCode == mNumpad2
    Debug.notification("2nd option")
    elseIf KeyCode == mNumpad3
    Debug.notification("3rd option")
    EndIf
    EndEvent
    Thanks in advance
×
×
  • Create New...