KiwiHawkNZ Posted July 29, 2013 Share Posted July 29, 2013 Kia ora Forgive me if I'm seeming out of my depth here as I am. I been reading up the tutorials to try get me head roundthis PlayerAlias thing Scriptname DragonPriestCircletScript Extends PlayerDragonCircletAlias;Priest Masks being checked forArmor Property PriestMask Auto;Circlet to add when mask is picked upArmor Property PriestCirclet Auto;bool to prevent duplicatesbool GotIt;reference to playerActor Property PlayerRef AutoEvent OnInit()GotIt = FalseEndEventEvent OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)If (akBaseItem == PriestMask) && (GotIt == False)PlayerRef.AddItem(PriestCirclet,1,true)Debug.Notification("I Discovered a circlet when picking up the Priest's mask")GotIt = TrueEndIfEndEvent This attaches to the script tab on a PlayerAlias called "PlayerDragonCircletAlias" Or am I way off, do I need to make one for each Circlet? KHDragonPriest_01_Zahkriisos_CircletKHDragonPriest_02_Ahzidal_Circlet KHDragonPriest_Krosis_Bronze_CircletKHDragonPriest_Morokei_Moonstone_CircletKHDragonPriest_Konahrik_Circlet Is the naming I use for the items in CK Link to comment Share on other sites More sharing options...
IsharaMeradin Posted July 29, 2013 Share Posted July 29, 2013 What you have will work for ONE mask and ONE circlet. To work with more you need to add more properties for each as well as duplicate and adjust the IF statement. Using yours as a base here is an example that will work with TWO sets of mask & circlet Scriptname DragonPriestCircletScript Extends PlayerDragonCircletAlias ;Priest Masks being checked for Armor Property PriestMask1 Auto ;eg. Krosis Mask Armor Property PriestMask2 Auto ;eg. Konahrik Mask ;Circlet to add when mask is picked up Armor Property PriestCirclet1 Auto ;eg. Krosis Circlet Armor Property PriestCirclet2 Auto ;eg. Konahrik Circlet ;bool to prevent duplicates bool GotIt1 ;Krosis bool bool GotIt2 ;Konahrik bool ;reference to player Actor Property PlayerRef Auto Event OnInit() GotIt1 = False GotIt2 = False EndEvent Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) If (akBaseItem == PriestMask1) && (GotIt1 == False) PlayerRef.AddItem(PriestCirclet1,1,true) Debug.Notification("I Discovered a circlet when picking up the Priest's mask") GotIt1 = True ElseIf (akBaseItem == PriestMask2) && (GotIt2 == False) PlayerRef.AddItem(PriestCirclet2,1,true) Debug.Notification("I Discovered a circlet when picking up the Priest's mask") GotIt2 = True EndIf EndEvent Now using mine as a base all you need to do is add additional properties for the masks & for the circlets (as well as the bool). Then you need to merely copy the ElseIF statement and adjust the property variable names as needed. Link to comment Share on other sites More sharing options...
KiwiHawkNZ Posted July 29, 2013 Share Posted July 29, 2013 Kia ora Thank you so very much,. bless your kindness Should I be using the Priest name eg; Mirraak, Ahzidal for these circlets in the script or Fire, Frost etc;? KHDragonBorn_Miraak_CircletH <----- HeavyKHDragonBorn_Miraak_CircletL <----- LightKHDragonPriest_01_Zahkriisos_Circlet <----- ShockKHDragonPriest_02_Ahzidal_Circlet <----- FireKHDragonPriest_03_Dukaan_Circlet <----- Frost I had to add a Miraak mask to make up for the heavy, light version I had not accounted for. Hopefully what I have is correct, (sorry if I'm screwing this up) Steps I've taken so far (Quotes just highlight/mark the name, they're not included) Opened a new quest dialogQuest Data TABSet Quest ID: "KHDragonPriestCircletQuest" Quest Name "Dragon Priest Circlets Quest" Quest Aliases TABNew Ref AliasAlias Name: "KHPlayerDragonCircletAlias" Fill Type: Specific Reference: Ref: 'PlayerRef' (Number) to 'NPC_Player' (number) Script to add to Scripts tab? When I try to add a new script and fill the dialog for script: name "KHDragonPriestCircletScript"Extends: Quest Paste the following script into Documentation String Following error:*******************************************************************************Starting 1 compile threads for 1 files...Compiling "KHDragonPriestCircletScript"...G:\Games\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\KHDragonPriestCircletScript.psc(0,0): unable to locate script KHPlayerDragonCircletAliasNo output generated for KHDragonPriestCircletScript, compilation failed. Batch compile of 1 files finished. 0 succeeded, 1 failed.Failed on KHDragonPriestCircletScript******************************************************************************* Scriptname KHDragonPriestCircletScript Extends KHPlayerDragonCircletAlias ;Priest Masks being checked forArmor Property PriestMask1 Auto ;eg. Krosis MaskArmor Property PriestMask2 Auto ;eg. Konahrik MaskArmor Property PriestMask3 Auto ;eg. Volsung MaskArmor Property PriestMask4 Auto ;eg. Nahkriin MaskArmor Property PriestMask5 Auto ;eg. Hevnoraak MaskArmor Property PriestMask6 Auto ;eg. Otar MaskArmor Property PriestMask7 Auto ;eg. Morokei MaskArmor Property PriestMask8 Auto ;eg. Rahgot MaskArmor Property PriestMask9 Auto ;eg. Vokun MaskArmor Property PriestMask10 Auto ;eg. Zahkriisos MaskArmor Property PriestMask11 Auto ;eg. Ahzidal MaskArmor Property PriestMask12 Auto ;eg. Dukaan MaskArmor Property PriestMask13 Auto ;eg. MiraakL MaskArmor Property PriestMask14 Auto ;eg. MiraakH Mask ;Circlet to add when mask is picked upArmor Property PriestCirclet1 Auto ;eg. Krosis CircletArmor Property PriestCirclet2 Auto ;eg. Konahrik CircletArmor Property PriestCirclet3 Auto ;eg. Volsung CircletArmor Property PriestCirclet4 Auto ;eg. Nahkriin CircletArmor Property PriestCirclet5 Auto ;eg. Hevnoraak CircletArmor Property PriestCirclet6 Auto ;eg. Otar CircletArmor Property PriestCirclet7 Auto ;eg. Morokei CircletArmor Property PriestCirclet8 Auto ;eg. Rahgot CircletArmor Property PriestCirclet9 Auto ;eg. Vokun CircletArmor Property PriestCirclet10 Auto ;eg. Zahkriisos CircletArmor Property PriestCirclet11 Auto ;eg. Ahzidal CircletArmor Property PriestCirclet12 Auto ;eg. Dukaan CircletArmor Property PriestCirclet13 Auto ;eg. MiraakL CircletArmor Property PriestCirclet14 Auto ;eg. MiraakH Circlet ;bool to prevent duplicatesbool GotIt1 ;Krosis boolbool GotIt2 ;Konahrik boolbool GotIt3 ;Volsung boolbool GotIt4 ;Nahkriin boolbool GotIt5 ;Hevnoraak boolbool GotIt6 ;Otar boolbool GotIt7 ;Morokei boolbool GotIt8 ;Rahgot boolbool GotIt9 ;Vokun boolbool GotIt10 ;Zahkriisos boolbool GotIt11 ;Ahzidal boolbool GotIt12 ;Dukaan boolbool GotIt13 ;MiraakL boolbool GotIt14 ;MiraakH bool ;reference to playerActor Property PlayerRef Auto Event OnInit() GotIt1 = False GotIt2 = False GotIt3 = False GotIt4 = False GotIt5 = False GotIt6 = False GotIt7 = False GotIt8 = False GotIt9 = False GotIt10 = False GotIt11 = False GotIt12 = False GotIt13 = False GotIt14 = FalseEndEvent Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) If (akBaseItem == PriestMask1) && (GotIt1 == False) PlayerRef.AddItem(PriestCirclet1,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt1 = True ElseIf (akBaseItem == PriestMask2) && (GotIt2 == False) PlayerRef.AddItem(PriestCirclet2,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt2 = True ElseIf (akBaseItem == PriestMask3) && (GotIt3 == False) PlayerRef.AddItem(PriestCirclet3,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt3 = True ElseIf (akBaseItem == PriestMask4) && (GotIt4 == False) PlayerRef.AddItem(PriestCirclet4,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt4 = True ElseIf (akBaseItem == PriestMask5) && (GotIt5 == False) PlayerRef.AddItem(PriestCirclet5,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt5 = True ElseIf (akBaseItem == PriestMask6) && (GotIt6 == False) PlayerRef.AddItem(PriestCirclet6,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt6 = True ElseIf (akBaseItem == PriestMask7) && (GotIt7 == False) PlayerRef.AddItem(PriestCirclet7,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt7 = True ElseIf (akBaseItem == PriestMask8) && (GotIt8 == False) PlayerRef.AddItem(PriestCirclet8,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt8 = True ElseIf (akBaseItem == PriestMask9) && (GotIt9 == False) PlayerRef.AddItem(PriestCirclet9,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt9 = True ElseIf (akBaseItem == PriestMask10) && (GotIt10 == False) PlayerRef.AddItem(PriestCirclet10,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt10 = True ElseIf (akBaseItem == PriestMask11) && (GotIt11 == False) PlayerRef.AddItem(PriestCirclet11,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt11 = True ElseIf (akBaseItem == PriestMask12) && (GotIt12 == False) PlayerRef.AddItem(PriestCirclet12,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt12 = True ElseIf (akBaseItem == PriestMask13) && (GotIt13 == False) PlayerRef.AddItem(PriestCirclet13,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt13 = True ElseIf (akBaseItem == PriestMask14) && (GotIt14 == False) PlayerRef.AddItem(PriestCirclet14,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt14 = True EndIfEndEvent Link to comment Share on other sites More sharing options...
IsharaMeradin Posted July 30, 2013 Share Posted July 30, 2013 First, you need to apply the script to the player alias script section and extend ReferenceAlias rather than apply it to the quest's script tab. The events won't be recognized as the quest is not the player character, shoot it isn't even an actor or other object that has a container. Second....When you choose to add a new script, you give it a name and whatever other script it extends from. Optionally you can input a comment about the script in the documentation block. After that you press OK and a new window pops up which is where you paste your script code (minus the Scriptname line -- because that was already entered for you with the information you gave on the initial window). Third...As far as naming scheme, that is up to you. So long as YOU understand what variables are what you can name them whatever you want. Link to comment Share on other sites More sharing options...
Cambionn Posted July 30, 2013 Share Posted July 30, 2013 I would love it if someone has a tutorial about how to get a model from 3Ds Max 2013 (wich can't use the nif import/export plug-in) to a working .nif file for Skyrim. I tried exporting it as an .obj but apreantly my settings are all wrong. A tutorial telling us what to do for newer 3Ds Max who can't use the exporter/importer would be really nice, if it could tell wich settings we must give. I personally always have written tutorials if posible, I can do things on my won speed and can re-read things easily, without needing to putt the video a part back. Link to comment Share on other sites More sharing options...
KiwiHawkNZ Posted August 12, 2013 Share Posted August 12, 2013 Kia ora Thank you for this help, this ole falla's way out of his depth, I'd like to getthis working then work on SkyRe support, seems my mask enchants use the defaultand Skyre changes them, Skyre can come much later I have a Quest: KHDragonPriestCircletQuest I double clicked that to open and under that Quest Data ID is KHDragonPriestCircletQuest the Quest name "Dragon Priest Circlet Quest" (Checked) Start Game Enabled (Checked) Run Once (UnChecked) Warn on Alias failure Quest Alias Tab In the Aliases window KHPlayerDragonCircletAlias Fill Type is "Specific Reference" Ref: 'PlayerRef' (00000014) to NPC_'Player' (00000007) Saved mod In Scripts I click Add(Pops a window, "Add Script to Alias KHPLayerDragonCircletAlias on Quest KHDragonPriestCircletQuest (0406fefb) In that window I select [NewScript](Pops a window Add New Script Name: KHDragonPriestCircletScriptExtends: KHPlayerDragonCircletAlias Paste the above Script (In Spoiler tab) into Document String minus the Line: Scriptname KHDragonPriestCircletScript Extends ReferenceAlias I get "Extends Script does not exist, please select one that does" This is what I'm pasting, I left the Title line out "Scriptname KHDragonPriestCircletScript Extends KHPlayerDragonCircletAlias" ;Priest Masks being checked forArmor Property PriestMask1 Auto ;eg. Krosis MaskArmor Property PriestMask2 Auto ;eg. Konahrik MaskArmor Property PriestMask3 Auto ;eg. Volsung MaskArmor Property PriestMask4 Auto ;eg. Nahkriin MaskArmor Property PriestMask5 Auto ;eg. Hevnoraak MaskArmor Property PriestMask6 Auto ;eg. Otar MaskArmor Property PriestMask7 Auto ;eg. Morokei MaskArmor Property PriestMask8 Auto ;eg. Rahgot MaskArmor Property PriestMask9 Auto ;eg. Vokun MaskArmor Property PriestMask10 Auto ;eg. Zahkriisos MaskArmor Property PriestMask11 Auto ;eg. Ahzidal MaskArmor Property PriestMask12 Auto ;eg. Dukaan MaskArmor Property PriestMask13 Auto ;eg. MiraakL MaskArmor Property PriestMask14 Auto ;eg. MiraakH Mask ;Circlet to add when mask is picked upArmor Property PriestCirclet1 Auto ;eg. Krosis CircletArmor Property PriestCirclet2 Auto ;eg. Konahrik CircletArmor Property PriestCirclet3 Auto ;eg. Volsung CircletArmor Property PriestCirclet4 Auto ;eg. Nahkriin CircletArmor Property PriestCirclet5 Auto ;eg. Hevnoraak CircletArmor Property PriestCirclet6 Auto ;eg. Otar CircletArmor Property PriestCirclet7 Auto ;eg. Morokei CircletArmor Property PriestCirclet8 Auto ;eg. Rahgot CircletArmor Property PriestCirclet9 Auto ;eg. Vokun CircletArmor Property PriestCirclet10 Auto ;eg. Zahkriisos CircletArmor Property PriestCirclet11 Auto ;eg. Ahzidal CircletArmor Property PriestCirclet12 Auto ;eg. Dukaan CircletArmor Property PriestCirclet13 Auto ;eg. MiraakL CircletArmor Property PriestCirclet14 Auto ;eg. MiraakH Circlet ;bool to prevent duplicatesbool GotIt1 ;Krosis boolbool GotIt2 ;Konahrik boolbool GotIt3 ;Volsung boolbool GotIt4 ;Nahkriin boolbool GotIt5 ;Hevnoraak boolbool GotIt6 ;Otar boolbool GotIt7 ;Morokei boolbool GotIt8 ;Rahgot boolbool GotIt9 ;Vokun boolbool GotIt10 ;Zahkriisos boolbool GotIt11 ;Ahzidal boolbool GotIt12 ;Dukaan boolbool GotIt13 ;MiraakL boolbool GotIt14 ;MiraakH bool ;reference to playerActor Property PlayerRef Auto Event OnInit() GotIt1 = False GotIt2 = False GotIt3 = False GotIt4 = False GotIt5 = False GotIt6 = False GotIt7 = False GotIt8 = False GotIt9 = False GotIt10 = False GotIt11 = False GotIt12 = False GotIt13 = False GotIt14 = FalseEndEvent Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) If (akBaseItem == PriestMask1) && (GotIt1 == False) PlayerRef.AddItem(PriestCirclet1,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt1 = True ElseIf (akBaseItem == PriestMask2) && (GotIt2 == False) PlayerRef.AddItem(PriestCirclet2,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt2 = True ElseIf (akBaseItem == PriestMask3) && (GotIt3 == False) PlayerRef.AddItem(PriestCirclet3,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt3 = True ElseIf (akBaseItem == PriestMask4) && (GotIt4 == False) PlayerRef.AddItem(PriestCirclet4,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt4 = True ElseIf (akBaseItem == PriestMask5) && (GotIt5 == False) PlayerRef.AddItem(PriestCirclet5,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt5 = True ElseIf (akBaseItem == PriestMask6) && (GotIt6 == False) PlayerRef.AddItem(PriestCirclet6,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt6 = True ElseIf (akBaseItem == PriestMask7) && (GotIt7 == False) PlayerRef.AddItem(PriestCirclet7,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt7 = True ElseIf (akBaseItem == PriestMask8) && (GotIt8 == False) PlayerRef.AddItem(PriestCirclet8,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt8 = True ElseIf (akBaseItem == PriestMask9) && (GotIt9 == False) PlayerRef.AddItem(PriestCirclet9,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt9 = True ElseIf (akBaseItem == PriestMask10) && (GotIt10 == False) PlayerRef.AddItem(PriestCirclet10,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt10 = True ElseIf (akBaseItem == PriestMask11) && (GotIt11 == False) PlayerRef.AddItem(PriestCirclet11,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt11 = True ElseIf (akBaseItem == PriestMask12) && (GotIt12 == False) PlayerRef.AddItem(PriestCirclet12,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt12 = True ElseIf (akBaseItem == PriestMask13) && (GotIt13 == False) PlayerRef.AddItem(PriestCirclet13,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt13 = True ElseIf (akBaseItem == PriestMask14) && (GotIt14 == False) PlayerRef.AddItem(PriestCirclet14,1,true) Debug.Notification("I Discovered a uniquely mystical circlet when picking up the Priest's mask") GotIt14 = True EndIfEndEvent Sorry about long time between posts, both Nexus sites are hell on wheels for me at the moment, the lagging isunreal at times. I just walk away in frustration Link to comment Share on other sites More sharing options...
IsharaMeradin Posted August 13, 2013 Share Posted August 13, 2013 Two things: #1In the Add New Script window... You want to extend ReferenceAlias (the script) not your actual alias on the quest. #2Do not paste the script contents to the Document String window. Skip that window. Press OK and you will be given a new window that will automatically haveScriptname KHDragonPriestCircletScript Extends ReferenceAlias Link to comment Share on other sites More sharing options...
Nevarakka Posted August 13, 2013 Share Posted August 13, 2013 So which tutorial do I use to learn to import my custom ragdolls as playable characters? I need to know everything. Link to comment Share on other sites More sharing options...
IsharaMeradin Posted August 13, 2013 Share Posted August 13, 2013 Copying this from my mannequin tutorial.... Open the actor record At the top left beneath the ID & Name entries are a series of check boxes http://isharameradin.zxq.net/img/CKimg0018.jpg Select Is CharGen Face Preset -- This tells the game that it can be used as a preset entry. Select Unique -- This tells the game that this actor can only be used in the instances you dictate. Press Ok to save and close the actor record. In Object Window navigate to Character - Race and open the Race entry that corresponds to your actor Select the Presets tab in the Race window. Move the Race window out of the way and go back to the Object window Navigate to Actors - Actor - Presets - Your Actors Race - Your Actors Gender. Your actor record was auto moved here when you saved the record with the Is CharGen Face Preset selected Drag and drop the actor entry from the Object window into the Presets list in the Race window Press Ok on the Race window to save and close it Save your plugin. Test it out in Skyrim. Make sure the plugin is selected via the game's launcher or a mod manager program. Start a new game and look for your preset. It should be added to the far right of the preset slider Do the above to a duplicate record of your existing NPC rather than your current NPC record. Link to comment Share on other sites More sharing options...
KiwiHawkNZ Posted August 14, 2013 Share Posted August 14, 2013 Kia ora In Scripts I click Add(Pops a window, "Add Script to Alias KHPLayerDragonCircletAlias on Quest KHDragonPriestCircletQuest (0406fefb) In that window I select [NewScript](Pops a window Add New Script Scriptname KHDragonPriestCircletScript Extends ReferenceAlias Closed it off no ne window opened so I went through the GamePlay menu Papyrus Script Managersearch for my script "KHDragonPriestCircletScript" and opened it, there was already the line:"Scriptname KHDragonPriestCircletScript extends ReferenceAlias" so I pasted the rest of the scripta couple of lines down and saved it. Selected Compile Scripts and searched for my script in the popup window, check it and clicked compile. I have a chest in a test room with all masks in it and when I took a new char in there and took the masksfrom the chest I got nothing, just a message "you're carrying too much". I'm assuming that when the mask is put in the inventory I should get the Circlets and that message? Link to comment Share on other sites More sharing options...
Recommended Posts