Jump to content

DOWNLOAD MODS

Are you looking for something shiny for your load order? We have many exclusive mods and resources you won't find anywhere else. Start your search now...

LEARN MODDING

Ready to try your hand at making your own mod creations? Visit the Enclave, the original ES/FO modding school, and learn the tricks of the trade from veteran modders...

JOIN THE ALLIANCE

Membership is free and registering unlocks image galleries, project hosting, live chat, unlimited downloads, & more...

Tonycubed2

Allies
  • Posts

    42
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Tonycubed2

  1. Acitvates when Actor Enters Combat ScriptName activateSelfOnCombatBegin extends Actor {Script that lives on an actor that simply activates itself on Combat Begin} import game import debug auto State waiting Event OnCombatStateChanged(Actor actorRef, int combatState) if combatState != 0 ; 0 = not in combat, so if the state isn't 0, they entered combat gotoState("allDone") activate(Self) endIf endEvent endState State allDone ;do nothing endState
  2. I would like to expand my mod that deals with ambushes while sleeping. Fast Travel and uisng the "T" key to mediate where highly requested additons. Players have requested that I add ambushes to them as well. But unlike the sleep procedure there are no quests associated with them, no script I could find. Fast Travel has a function command but that is all. I need to be ablle to interrupt both and add an encounter, then continue the event wether it be meditating or fast traveling. Any clues appreciated.
  3. I got the answer from "Tunaisafish" from Nexus, may help others: When you're editing a fragment you're only seeing part of a full auto-generated script. The parts you write in will reside within a function body... so use syntax appropriately for that. This means you can't declare or use properties right off the bat. It's a 3 stage process if you want to do that. 1/ Save a dummy script in the fragment. ; Save me to create the fragment file. 2/ Go to the properties editor and Add your property there. 3/ Go back to the fragment and paste in your final function body. See the last part of the wiki FAQ about the not so intuitive fragment interface when using your own properties. At: http://www.creationkit.com/FAQ:_My_Script_Doesn%27t_Work! note: I had to follow the wiki instructions and rename the feragment to get access to the properties. Weird black magic stuff.
  4. Let me try to eplain better. If you go the Ckit, and go to the quest sections, then right click on any quest and go to edit, you will see a box with many tabs. One of the tabs says "dialogue views". Go there. Then in the column that says "Dialog Views" (same name as the tab, yes) go ahead and highlight a dialog. On the right hand side you will see a flowchart with the dialogue mapped out. Now, if you double click on a dialogue box, you will get a "Topic Info" box. this box has a place to type in the prompt in the conversation as well as a place for the npc response text. On the bottom of this Topic info box is a place to enter scripts, you can enter scripts in the begin section, and in the end section as papyrus fragments. There is also a place for a regular script. Since I am using dialogue options as a menu to raise or lower the odds of an encounter while sleeping, I need to run the script I posted here. To raise the odds by 10 . But it will no tlet me. the script runs everytime the player wants to raise the likelihood of being ambuhed while sleeping.
  5. Greetings, As part of my mod Sands of Time, which provides random ambushes while sleeping, I am making an in game menu to let the players set their own odds. Tedious because so much dialogue is needed and branching, but doable. I am using a npc that is spawned when a ring is worn and with conversation the player selects the odds for encounters. That all works, what I cannot solve is how to add either a script or papyrus frgment that does not need an Event to compile. I posted my script below. It will compile fine IF I put the code inside an Event, like for example "Event OnActivate(ObjectReference akActionRef)" with "EndEvent" at the end will let the script compile just fine. But since there is no activate event it does not fire off. I just need the script to run and make changes to the global variable. , I do not need any events at all to be checked for. Seems simple but I am stuck. Any ideas? Tonycubed2 Scriptname innplus10 extends TopicInfo GlobalVariable Property DreamsInn Auto Int increase if DreamsInn.GetValue()<91 increase = DreamsInn.GetValueInt() DreamsInn.SetValue(Increase+10) Debug.MessageBox("Increased to : "+DreamsInn.GetValue()) Elseif DreamsInn.GetValue()<90 Debug.MessageBox("Cannot increase beyong 100%") endif
  6. Well, that explains why my ini file did not work. Any ideas on how to do this?
  7. The ini file is to let players set their own parameters for encounters. The higher the numbers the bigger chance of monsters. I need to be able to import the values in the ini file to my mod.
  8. Hello, Been trying for hours to pass simple integer variables from a ini file to the mod/game. The wiki by Bethesda just says to make sure the ini file has the same name as the mod and that it will then be loaded. But it gives no idea of syntax. I tied this: [General] InnChance=99 DungeonChance=40 DraugrKeepChance=45 AllOtherChance=99 but the values never get seen by the mod in the game. Ther are all zero. Is there a special way to import them in?
  9. This is the hear of my mod Sands of Time. It modifies the game script PlayerSleepQuest (000FC1A2) to allow for sleeping to be randomly interrupted with the type of attackers beind dermined by location. the move to comand that moves the player to the exact spot he is in is crucial. It causes the sleep countdown to stop. ScriptName PlayerSleepQuestScript extends Quest import form Spell Property Rested Auto Spell Property WellRested Auto Spell Property MarriageSleepAbility Auto ReferenceAlias Property LoveInterest Auto Keyword Property LocTypeInn Auto Keyword Property LocTypePlayerHouse Auto Keyword Property LocTypeDungeon Auto Keyword Property LocTypeDraugrCrypt Auto Quest Property RelationshipMarriageFIN Auto Spell Property pDoomLoverAbility Auto CompanionsHousekeepingScript Property CHScript Auto int Property pSleeping Auto Conditional Int random Int ambushnumb Int ambushnum2 Int Property chance Auto ; all the actorbase monsters need to be deffined in properties. ActorBase Property Ambushers1 Auto ActorBase Property Ambushers2 Auto ActorBase Property Ambushers3 Auto ActorBase Property Ambushers4 Auto ActorBase Property Ambushers5 Auto ActorBase Property Ambushers6 Auto ActorBase Property Ambushers7 Auto ActorBase Property Ambushers8 Auto ActorBase Property Ambushers9 Auto ActorBase Property Ambushers10 Auto ActorBase Property Ambushers11 Auto ActorBase Property Ambushers12 Auto ActorBase Property Ambushers13 Auto ActorBase Property Ambushers14 Auto ActorBase Property Ambushers15 Auto ActorBase Property Ambushers16 Auto ActorBase Property Ambushers17 Auto ActorBase Property Ambushers18 Auto ActorBase Property Ambushers19 Auto ActorBase Property Ambushers20 Auto ActorBase Property Ambushers21 Auto ActorBase Property Ambushers22 Auto ActorBase Property Ambushers23 Auto ActorBase Property Ambushers24 Auto ActorBase Property Ambushers25 Auto ActorBase Property Ambushers26 Auto ActorBase Property Ambushers27 Auto ActorBase Property Ambushers28 Auto ActorBase Property Ambushers29 Auto ActorBase Property Ambushers30 Auto Function RemoveRested() ;remove all previous rested states Game.GetPlayer().RemoveSpell(Rested) Game.GetPlayer().RemoveSpell(WellRested) Game.GetPlayer().RemoveSpell(MarriageSleepAbility) EndFunction Event OnSleepStart(float afSleepStartTime, float afDesiredSleepEndTime) If Game.GetPlayer().GetCurrentLocation().HasKeyword(LocTypePlayerHouse) == False random = Utility.RandomInt(1, 100) ambushnumb = Utility.RandomInt(1, 10) ambushnum2 = ambushnumb chance = 20 If Game.GetPlayer().GetCurrentLocation().HasKeyword(LocTypeInn) == True chance = 3 EndIf If Game.GetPlayer().GetCurrentLocation().HasKeyword(LocTypeDungeon) == True chance = 40 ambushnumb = ambushnum2 + 10 EndIf If Game.GetPlayer().GetCurrentLocation().HasKeyword(LocTypeDraugrCrypt) == True chance = 45 ambushnumb = ambushnum2 + 20 EndIf if random <= chance pSleeping = 1 ;Utility.WaitMenuMode(Utility.RandomInt(1, 6)) float SleepStart = afSleepStartTime * 24 float SleepEnd = afDesiredSleepEndTime * 24 float SleepTime = (SleepEnd - SleepStart) - 1 Utility.WaitMenuMode(Utility.RandomFloat(0, SleepTime)) Game.DisablePlayerControls(ablooking = true, abCamSwitch = true) Game.ForceFirstPerson() ObjectReference PlayerRef = Game.GetPlayer() Game.GetPlayer().MoveTo(PlayerRef) Debug.MessageBox("Ambush!") Woozy.Apply() Game.GetPlayer().PlayIdle (WakeUp) Utility.Wait (1) if ambushnumb == 1 PlayerRef.PlaceActorAtMe (Ambushers1, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 2 PlayerRef.PlaceActorAtMe (Ambushers2, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 3 PlayerRef.PlaceActorAtMe (Ambushers3, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 4 PlayerRef.PlaceActorAtMe (Ambushers4, 1).StartCombat(Game.GetPlayer()) PlayerRef.PlaceActorAtMe (Ambushers7, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 5 PlayerRef.PlaceActorAtMe(Ambushers5, 1).StartCombat(Game.GetPlayer()) PlayerRef.PlaceActorAtMe (Ambushers8, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 6 PlayerRef.PlaceActorAtMe (Ambushers6, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 7 PlayerRef.PlaceActorAtMe (Ambushers7, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 8 PlayerRef.PlaceActorAtMe (Ambushers8, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 9 PlayerRef.PlaceActorAtMe(Ambushers9, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 10 PlayerRef.PlaceActorAtMe(Ambushers10, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 10 PlayerRef.PlaceActorAtMe(Ambushers10, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 11 PlayerRef.PlaceActorAtMe(Ambushers11, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 12 PlayerRef.PlaceActorAtMe(Ambushers12, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 13 PlayerRef.PlaceActorAtMe(Ambushers13, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 14 PlayerRef.PlaceActorAtMe(Ambushers14, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 15 PlayerRef.PlaceActorAtMe(Ambushers15, 1).StartCombat(Game.GetPlayer()) PlayerRef.PlaceActorAtMe(Ambushers13, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 16 PlayerRef.PlaceActorAtMe(Ambushers16, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 17 PlayerRef.PlaceActorAtMe(Ambushers17, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 18 PlayerRef.PlaceActorAtMe(Ambushers18, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 19 PlayerRef.PlaceActorAtMe(Ambushers17, 1).StartCombat(Game.GetPlayer()) PlayerRef.PlaceActorAtMe(Ambushers19, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 20 PlayerRef.PlaceActorAtMe(Ambushers20, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 21 PlayerRef.PlaceActorAtMe(Ambushers21, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 22 PlayerRef.PlaceActorAtMe(Ambushers22, 1).StartCombat(Game.GetPlayer()) PlayerRef.PlaceActorAtMe(Ambushers21, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 23 PlayerRef.PlaceActorAtMe(Ambushers23, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 24 PlayerRef.PlaceActorAtMe(Ambushers24, 1).StartCombat(Game.GetPlayer()) PlayerRef.PlaceActorAtMe(Ambushers25, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 25 PlayerRef.PlaceActorAtMe(Ambushers25, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 26 PlayerRef.PlaceActorAtMe(Ambushers26, 1).StartCombat(Game.GetPlayer()) PlayerRef.PlaceActorAtMe(Ambushers27, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 27 PlayerRef.PlaceActorAtMe(Ambushers27, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 28 PlayerRef.PlaceActorAtMe(Ambushers28, 1).StartCombat(Game.GetPlayer()) PlayerRef.PlaceActorAtMe(Ambushers29, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 29 PlayerRef.PlaceActorAtMe(Ambushers29, 1).StartCombat(Game.GetPlayer()) ElseIf ambushnumb == 30 PlayerRef.PlaceActorAtMe(Ambushers30, 1).StartCombat(Game.GetPlayer()) PlayerRef.PlaceActorAtMe(Ambushers21, 1).StartCombat(Game.GetPlayer()) EndIf Game.EnablePlayerControls() EndIf EndIf EndEvent Event OnSleepStop(bool abInterrupted) if pSleeping == 0 ; debug.trace(self + "Player is sleeping") If CHScript.PlayerHasBeastBlood == 1 && Utility.RandomInt(1, 100)>50 ; Debug.Trace(Self + "Player is werewolf; no restedness on sleep.") ;RemoveRested() ;BeastBloodMessage.Show() ElseIf Game.GetPlayer().HasSpell(pDoomLoverAbility) == 0 ;don't run this if player has the Lover sign If RelationshipMarriageFIN.IsRunning() == True && RelationshipMarriageFIN.GetStage() > 10 && Game.GetPlayer().GetCurrentLocation() == LoveInterest.GetActorRef().GetCurrentLocation() ; debug.trace(Self + "Giving player the Lover's Comfort spell on Sleep End") MarriageRestedMessage.Show() RemoveRested() Game.GetPlayer().AddSpell(MarriageSleepAbility, abVerbose = false) ElseIf Game.GetPlayer().GetCurrentLocation().HasKeyword(LocTypeInn) == True ; debug.trace(Self + "Giving player the Well Rested spell for sleeping in an Inn") WellRestedMessage.Show() RemoveRested() Game.GetPlayer().AddSpell(WellRested, abVerbose = false) ElseIf Game.GetPlayer().GetCurrentLocation().HasKeyword(LocTypePlayerHouse) == True ; debug.trace(Self + "Giving player the Well Rested spell for sleeping in Player House") Game.GetPlayer().AddSpell(WellRested, abVerbose = false) Else ; debug.trace(Self + "Giving player the Rested spell for sleeping") RestedMessage.Show() RemoveRested() Game.GetPlayer().AddSpell(Rested, abVerbose = false) EndIf EndIf ElseIf pSleeping == 1 pSleeping = 0 EndIf EndEvent Message Property RestedMessage Auto Message Property WellRestedMessage Auto Message Property MarriageRestedMessage Auto Message Property BeastBloodMessage Auto ImageSpaceModifier Property Woozy Auto Idle Property WakeUp Auto
  10. This forum is for quest scripts. Remember that not all quest scripts deal with an actual quest. Some, like the PlayerSleepQuest, deal with events in Skyrim.
  11. I found out that sleeping is a quest, and I found the relateted scripts attached to the quest, as well as a sleep package. But I am missing the one thing that calls the event. That counts down time. That is what I need to find. Don't want to use skse, trying to keep this simple for users. The Dark Brotherhood quest "with friends like this..." was a possible clue, as SPOILER SPOILER SPOILER once you receive a courier note and sleep in any bed you wake up some place else. So they are able to redirect the normal course of sleeping. Spent a couple of hours there, missing the part that checks wether a player is sleeping and transports him. Can't find it. END OF SPOILER
  12. I found the ck commands for sleep start and sleep finish, even a function for seeing how long a player has slept. But nowhere can I find a way to wake him up bofore the time is up. In m mod Danger Danger I want to cause random encounters when a player is sleeping in the wilds. We had this for Oblivion. Say, a 20 percent chance of bandits attacking, something like that. A work around I though of is using the endsleep event to insert my script there, then resetting time a few hours to make it look like the sleep was interrupted. But could not find any way to set the time to a past time.
  13. This section is for Timer Scripts
  14. This section is for Trigger Scripts
  15. This topic is for Activator Scripts
  16. Wow. I will try it and report back. Beats the other solution I found, using a "as" keyword and referring back to another script which takes forever to setup (at least for me :-) ), then calling a function. Any downside to using a global variable? Seems to good to be true. This is me trying to justify the two days I spent on the other solution.
  17. This topic is for scritps dealing with special visual effects, such as spell visuals, explosions, anything related.
  18. This script will play 10 different random spooky sounds in a graveyard. Remember to assign your sounds in Properties. Scriptname TombsHaunted extends ObjectReference import sound import game import utility GlobalVariable property GameHour auto Float Property NoEarlierThan = 20.0 Auto Float Property NoLaterThan = 4.0 Auto int random int random1 int random2 int random3 int random4 int myNum int myLoop int timer int instanceID00 ObjectReference property mySoundOrigin auto bool function IsTimeValid() Float TT = GameHour.GetValue() if TT > 13 if TT >= NoEarlierThan return TRUE endif elseif TT <= NoLaterThan return TRUE endif Return FALSE endFunction Event OnTrigger(ObjectReference akActionRef) Debug.Notification("Triggered") if (akActionRef == Game.GetPlayer()) if IsTimeValid() Debug.Notification("Time is Valid") Debug.Notification("timer is now: "+timer) if timer < 1 timer = Utility.RandomInt(5, 25) Debug.Notification("timer initialize: "+timer) random = Utility.RandomInt(1, 100) Debug.Notification("20 percent chance of moan: "+random) if random < 21 random1 = Utility.RandomInt(1, 100) Debug.Notification("random1: "+random1) if random1 < 8 && random1 > 0 instanceID00 = Zombie1TT.Play(Self) elseif random1 < 15 && random1 > 8 instanceID00 = Zombie2TT.Play(Self) elseif random1 < 20 && random1 > 15 instanceID00 = Zombie3TT.Play(Self) elseif random1 < 30 && random1 > 20 instanceID00 = Zombie4TT.Play(Self) elseif random1 < 40 && random1 > 30 instanceID00 = Zombie5TT.Play(Self) elseif random1 < 50 && random1 > 40 instanceID00 = Zombie6TT.Play(Self) elseif random1 < 60 && random1 > 50 instanceID00 = Zombie7TT.Play(Self) elseif random1 < 70 && random1 > 60 instanceID00 = Zombie8TT.Play(Self) elseif random1 < 80 && random1 > 70 instanceID00 = Zombie9TT.Play(Self) elseif random1 < 90 && random1 > 80 instanceID00 = Zombie10TT.Play(Self) elseif random1 <101 && random1 > 90 instanceID00 = Zombie11TT.Play(Self) endif endif endif endif endif if timer >0 timer = timer - 1 Debug.Notification("timer minus 1: "+timer) endif EndEvent Sound Property Zombie1TT Auto Sound Property Zombie2TT Auto Sound Property Zombie3TT Auto Sound Property Zombie4TT Auto Sound Property Zombie5TT Auto Sound Property Zombie6TT Auto Sound Property Zombie7TT Auto Sound Property Zombie8TT Auto Sound Property Zombie9TT Auto Sound Property Zombie10TT Auto Sound Property Zombie11TT Auto
  19. This topis is only for scripts that deal with sound, sound effects, voice, etc
  20. This topic will be pinned and used for script requests. I do not think we will have quick responses until the forum grows and users know it exists. But you are welcome to posts any requests.
  21. Welcome to the Skyrim Script Depository. Overtime this will contain working scripts to freely copy and learn from. It will take time, but I am hoping it will grow and be useful. The idea came from the NeverWinter days where such forums were very popular and helpful. Begginers were able to put several scripts together to create mods and grow in their skills. Special thanks to WilliSea for allowing this to be created under his classroom. He is also helping to administer it. There will be two topics that will be *sticky*, this one and "Script Requests" Basic Rules: 1) Posting a script here makes it public for public use. Please do not post copyrighted scripts. 2) Scripts need to be able to compile. Not a forum for developing or correcting scripts. 3) Please be patient with me. I am learning most of this as I go along, including setting up this forum.
  22. First, the variable is not part of a quest script, and thus the CK wiki does not work for it. So maybe it has to be a quest script for a variable to be passed between two scripts? I doubt it though. In any case, the following script succesfully summons a ghoul when a potion is picked up the floor. Uses a local counter to only summon the ghoul one time even if picked up again. Works fine. But I need to let a second script elsewhere know that the potion was picked up. That is where I used the "Int Property TookPotion Auto" line. My script elsewhere needs to query TookPotion and if it is "5" perform stuff. But I cannot get it to do it. I tried using GetLinkedRef() but it confuses me and complained about mismatched types. I tried to "cast" the type using "PotionTaken = GetLinkedRef() as SpawnGhostPotion" and compiled but that does not allow me to query the Int "TookPotion". Help! I spent hours and hours on this. Scriptname SpawnGhostPotion extends ObjectReference Import Game ActorBase Property UndeadGhost Auto ObjectReference Property bornpoint Auto Int Property PotionCurse Auto Int Property TookPotion Auto Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer) if PotionCurse==0 if akNewContainer == Game.GetPlayer() bornpoint.PlaceAtMe (UndeadGhost, 2) Debug.Notification("Undead!!") PotionCurse=PotionCurse+1 TookPotion=5 EndIf EndIf EndEvent
  23. Lilith, thanks for the info. In my case, it does not apply , but good stuff to know. There is a way, there are several mods out that add sounds to skyrim and do so with a bsa file. I belive one of them is posted at tes. Maybe I can email the author.. update: tried again with the kit. This time it DID save the wav files. Flaky software. .
  24. Ok, tried that with mix results. It does indeed create a bsa file with all the scripts. But even though the sounds I added to the game are listed as being part of the export to bsa, they do not make it into the bsa. It matters not if I drag and drop them to the windows, either way they do not get packed...
  25. Thank you. It was HELL to setup, the wiki is sorely lacking and not everything was as straightforward as it said. But it is working!
×
×
  • Create New...