Jump to content

Tutorials WITHOUT "youtoob"


Allannaa

Recommended Posts

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 round

this PlayerAlias thing

 

 

 

 

Scriptname DragonPriestCircletScript Extends PlayerDragonCircletAlias

;Priest Masks being checked for
Armor Property PriestMask Auto

;Circlet to add when mask is picked up
Armor Property PriestCirclet Auto

;bool to prevent duplicates
bool GotIt

;reference to player
Actor Property PlayerRef Auto

Event OnInit()
GotIt = False
EndEvent

Event 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 = True
EndIf
EndEvent

 

 

 

 

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_Circlet

KHDragonPriest_02_Ahzidal_Circlet

 

KHDragonPriest_Krosis_Bronze_Circlet

KHDragonPriest_Morokei_Moonstone_Circlet

KHDragonPriest_Konahrik_Circlet

 

Is the naming I use for the items in CK

Link to comment
Share on other sites

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

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 <----- Heavy

KHDragonBorn_Miraak_CircletL <----- Light

KHDragonPriest_01_Zahkriisos_Circlet <----- Shock

KHDragonPriest_02_Ahzidal_Circlet <----- Fire

KHDragonPriest_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 dialog

Quest Data TAB

Set Quest ID: "KHDragonPriestCircletQuest" Quest Name "Dragon Priest Circlets Quest"

 

Quest Aliases TAB

New Ref Alias

Alias 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 KHPlayerDragonCircletAlias
No 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 for
Armor Property PriestMask1 Auto ;eg. Krosis Mask
Armor Property PriestMask2 Auto ;eg. Konahrik Mask
Armor Property PriestMask3 Auto ;eg. Volsung Mask
Armor Property PriestMask4 Auto ;eg. Nahkriin Mask
Armor Property PriestMask5 Auto ;eg. Hevnoraak Mask
Armor Property PriestMask6 Auto ;eg. Otar Mask
Armor Property PriestMask7 Auto ;eg. Morokei Mask
Armor Property PriestMask8 Auto ;eg. Rahgot Mask
Armor Property PriestMask9 Auto ;eg. Vokun Mask
Armor Property PriestMask10 Auto ;eg. Zahkriisos Mask
Armor Property PriestMask11 Auto ;eg. Ahzidal Mask
Armor Property PriestMask12 Auto ;eg. Dukaan Mask
Armor Property PriestMask13 Auto ;eg. MiraakL Mask
Armor Property PriestMask14 Auto ;eg. MiraakH Mask
;Circlet to add when mask is picked up
Armor Property PriestCirclet1 Auto ;eg. Krosis Circlet
Armor Property PriestCirclet2 Auto ;eg. Konahrik Circlet
Armor Property PriestCirclet3 Auto ;eg. Volsung Circlet
Armor Property PriestCirclet4 Auto ;eg. Nahkriin Circlet
Armor Property PriestCirclet5 Auto ;eg. Hevnoraak Circlet
Armor Property PriestCirclet6 Auto ;eg. Otar Circlet
Armor Property PriestCirclet7 Auto ;eg. Morokei Circlet
Armor Property PriestCirclet8 Auto ;eg. Rahgot Circlet
Armor Property PriestCirclet9 Auto ;eg. Vokun Circlet
Armor Property PriestCirclet10 Auto ;eg. Zahkriisos Circlet
Armor Property PriestCirclet11 Auto ;eg. Ahzidal Circlet
Armor Property PriestCirclet12 Auto ;eg. Dukaan Circlet
Armor Property PriestCirclet13 Auto ;eg. MiraakL Circlet
Armor Property PriestCirclet14 Auto ;eg. MiraakH Circlet
;bool to prevent duplicates
bool GotIt1 ;Krosis bool
bool GotIt2 ;Konahrik bool
bool GotIt3 ;Volsung bool
bool GotIt4 ;Nahkriin bool
bool GotIt5 ;Hevnoraak bool
bool GotIt6 ;Otar bool
bool GotIt7 ;Morokei bool
bool GotIt8 ;Rahgot bool
bool GotIt9 ;Vokun bool
bool GotIt10 ;Zahkriisos bool
bool GotIt11 ;Ahzidal bool
bool GotIt12 ;Dukaan bool
bool GotIt13 ;MiraakL bool
bool GotIt14 ;MiraakH bool
;reference to player
Actor 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 = 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 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
EndIf
EndEvent

 

 

 

Link to comment
Share on other sites

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

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

  • 2 weeks later...

Kia ora

 

 

Thank you for this help, this ole falla's way out of his depth, I'd like to get

this working then work on SkyRe support, seems my mask enchants use the default

and 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: KHDragonPriestCircletScript

Extends: 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 for
Armor Property PriestMask1 Auto ;eg. Krosis Mask
Armor Property PriestMask2 Auto ;eg. Konahrik Mask
Armor Property PriestMask3 Auto ;eg. Volsung Mask
Armor Property PriestMask4 Auto ;eg. Nahkriin Mask
Armor Property PriestMask5 Auto ;eg. Hevnoraak Mask
Armor Property PriestMask6 Auto ;eg. Otar Mask
Armor Property PriestMask7 Auto ;eg. Morokei Mask
Armor Property PriestMask8 Auto ;eg. Rahgot Mask
Armor Property PriestMask9 Auto ;eg. Vokun Mask
Armor Property PriestMask10 Auto ;eg. Zahkriisos Mask
Armor Property PriestMask11 Auto ;eg. Ahzidal Mask
Armor Property PriestMask12 Auto ;eg. Dukaan Mask
Armor Property PriestMask13 Auto ;eg. MiraakL Mask
Armor Property PriestMask14 Auto ;eg. MiraakH Mask
;Circlet to add when mask is picked up
Armor Property PriestCirclet1 Auto ;eg. Krosis Circlet
Armor Property PriestCirclet2 Auto ;eg. Konahrik Circlet
Armor Property PriestCirclet3 Auto ;eg. Volsung Circlet
Armor Property PriestCirclet4 Auto ;eg. Nahkriin Circlet
Armor Property PriestCirclet5 Auto ;eg. Hevnoraak Circlet
Armor Property PriestCirclet6 Auto ;eg. Otar Circlet
Armor Property PriestCirclet7 Auto ;eg. Morokei Circlet
Armor Property PriestCirclet8 Auto ;eg. Rahgot Circlet
Armor Property PriestCirclet9 Auto ;eg. Vokun Circlet
Armor Property PriestCirclet10 Auto ;eg. Zahkriisos Circlet
Armor Property PriestCirclet11 Auto ;eg. Ahzidal Circlet
Armor Property PriestCirclet12 Auto ;eg. Dukaan Circlet
Armor Property PriestCirclet13 Auto ;eg. MiraakL Circlet
Armor Property PriestCirclet14 Auto ;eg. MiraakH Circlet
;bool to prevent duplicates
bool GotIt1 ;Krosis bool
bool GotIt2 ;Konahrik bool
bool GotIt3 ;Volsung bool
bool GotIt4 ;Nahkriin bool
bool GotIt5 ;Hevnoraak bool
bool GotIt6 ;Otar bool
bool GotIt7 ;Morokei bool
bool GotIt8 ;Rahgot bool
bool GotIt9 ;Vokun bool
bool GotIt10 ;Zahkriisos bool
bool GotIt11 ;Ahzidal bool
bool GotIt12 ;Dukaan bool
bool GotIt13 ;MiraakL bool
bool GotIt14 ;MiraakH bool
;reference to player
Actor 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 = 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 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
EndIf
EndEvent

 

 

 

Sorry about long time between posts, both Nexus sites are hell on wheels for me at the moment, the lagging is

unreal at times. I just walk away in frustration

Link to comment
Share on other sites

Two things:

 

#1

In the Add New Script window... You want to extend ReferenceAlias (the script) not your actual alias on the quest.

 

#2

Do 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 have

Scriptname KHDragonPriestCircletScript Extends ReferenceAlias

Link to comment
Share on other sites

Copying this from my mannequin tutorial....

 

 

 

  1. Open the actor record
  2. At the top left beneath the ID & Name entries are a series of check boxes
    http://isharameradin.zxq.net/img/CKimg0018.jpg
  3. Select Is CharGen Face Preset -- This tells the game that it can be used as a preset entry.
  4. Select Unique -- This tells the game that this actor can only be used in the instances you dictate.
  5. Press Ok to save and close the actor record.
  6. In Object Window navigate to Character - Race and open the Race entry that corresponds to your actor
  7. Select the Presets tab in the Race window.
  8. Move the Race window out of the way and go back to the Object window
  9. 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
  10. Drag and drop the actor entry from the Object window into the Presets list in the Race window
  11. Press Ok on the Race window to save and close it
  12. Save your plugin.
  13. Test it out in Skyrim.
    1. Make sure the plugin is selected via the game's launcher or a mod manager program.
    2. 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

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 Manager

search for my script "KHDragonPriestCircletScript" and opened it, there was already the line:

"Scriptname KHDragonPriestCircletScript extends ReferenceAlias" so I pasted the rest of the script

a 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 masks

from 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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...