noodlesdefyyou Posted January 26, 2013 Share Posted January 26, 2013 Several years ago, just before the crappy white console that has a notorious red ring of death was released; I had thought of a core gameplay concept for an RPG story I was writing. I won't go in to detail about that, you'll have to wait and see if I ever get around to making it. Anyway, after talking with a friend of mine, he gave me the idea to make a 'basic' version as a mod for Skyrim, and after thinking about it for a bit (and seeing some of the realism mod's he was using) I came to the conclusion that this in fact could be accomplished. However, I am completely unsure where to begin. As an example, there is a Realism Disease mod on the nexus site, complete with hunger and thirst and whatnot. While my mod is far from any of that, the core concepts are 'relatively' the same. When X happens, Y is the result, etc etc. Now, I have dabbled in some extremely minor scripting, and I feel that to effectively make this work, I will require advanced scripts to be used with SKSE. This is where I am lost. I can't seem to find any guides on how to script for SKSE, what language to use, or anything. Another thing, back to the disease mod, they are time based, My scripts would be 'area' based. When player enters x area, y effect is yielded. Where do I begin? Link to comment Share on other sites More sharing options...
noodlesdefyyou Posted January 30, 2013 Author Share Posted January 30, 2013 Anyone? Link to comment Share on other sites More sharing options...
noodlesdefyyou Posted February 2, 2013 Author Share Posted February 2, 2013 Bump. Link to comment Share on other sites More sharing options...
jack013 Posted February 2, 2013 Share Posted February 2, 2013 i' think it just adds to the scripts you can use in papyrus. the creationkit.com wiki has a lot of the stuff on it. Link to comment Share on other sites More sharing options...
VectorPlexus Posted February 2, 2013 Share Posted February 2, 2013 i' think it just adds to the scripts you can use in papyrus. the creationkit.com wiki has a lot of the stuff on it. Unfortunately, the CK is not up to date when it comes to SKSE functions, so the best way to see what functions are available, is simply go to the scripts source folder, and open for example actor.psc. You can see all the functions that are built in for use with the Extend Actor. But I dont think you need SKSE for that: you could do that with either a magic effect or a reference alias pointing to the player. if the locations you want that to happen can be set (imagine you want it in players house), create a formlist and put all desired locations in that form list. On the script (extend MagicEffect or extend ReferenceAlias) use this event: http://www.creationkit.com/OnLocationChange_-_Actor check if akNewLoc is in the formlist, if so, apply the Y spell/magiceffect or whatever... The End! Link to comment Share on other sites More sharing options...
IsharaMeradin Posted February 2, 2013 Share Posted February 2, 2013 As far as things happening in specific areas...You can do what VectorPlexus suggested should whatever you want done be viable for anywhere in that given cell/area. If however you want more control or a very specific area you can place trigger boxes and use the OnTriggerEnter or OnTriggerLeave events within scripts on those triggers. Another possibility is if certain actions are to take place near or in sight of a specific object you may be able to use some of the LOS or line of sight commands. Regarding SKSEThese are just extra events and functions that you can utilize as if they were stock events and functions. There is no special scripting for them. The only thing different about them is that they require SKSE to function. However don't brush aside the CK wiki because it may not be "up to date" on SKSE features. It is still full of good information. Link to comment Share on other sites More sharing options...
VectorPlexus Posted February 2, 2013 Share Posted February 2, 2013 As far as things happening in specific areas...You can do what VectorPlexus suggested should whatever you want done be viable for anywhere in that given cell/area. If however you want more control or a very specific area you can place trigger boxes and use the OnTriggerEnter or OnTriggerLeave events within scripts on those triggers. Another possibility is if certain actions are to take place near or in sight of a specific object you may be able to use some of the LOS or line of sight commands. Regarding SKSEThese are just extra events and functions that you can utilize as if they were stock events and functions. There is no special scripting for them. The only thing different about them is that they require SKSE to function. However don't brush aside the CK wiki because it may not be "up to date" on SKSE features. It is still full of good information. Yeah, triggers is the more commoly used situation, but he didnt specified what he meant by area, so I just explained the most straight forward solution (in my PoV) without needing to add objects in cells. And no, I never said "brush aside the CK", I use it on a daily basis, and I'm always learning each day with it on how papyrus works. But, I also like to check the .psc files to see the undocumented functions from the latest releases. And since last SKSE is pretty recent, its always a good idea to do it aswell =) Case in point, CK doesnt even have documented the Armor Addon functions: Scriptname ArmorAddon extends Form Hidden ; returns the model path of the particular modelstring Function GetModelPath(bool firstPerson, bool female) native ; sets the model path of the particular modelFunction SetModelPath(string path, bool firstPerson, bool female) native ; returns the number of texturesets for the particular modelint Function GetModelNumTextureSets(bool first, bool female) native ; returns the nth textureset for the particular modelTextureSet Function GetModelNthTextureSet(int n, bool first, bool female) native ; sets the nth textureset for the particular modelFunction SetModelNthTextureSet(TextureSet texture, int n, bool first, bool female) native ; returns the number of races this armor addon applies toint Function GetNumAdditionalRaces() native ; returns the nth race this armor addon applies toRace Function GetNthAdditionalRace(int n) native Which imo, are great for manipulating armors in game ;) Link to comment Share on other sites More sharing options...
noodlesdefyyou Posted February 3, 2013 Author Share Posted February 3, 2013 Without going in to detail, this is what I want to achieve. I'll use the different Hold areas as example for now, as they are defined areas. Let's say you enter Eastmarch Hold, the northeast region home to Windhelm. While in Eastmarch, you could experience things such as reduced heavy armor rating, and are more prone to diseases. You'd be able to have heat sources, start 'campfires', reducing risk of disease.. However, those same penalities would not apply in, say, Haafingar Hold, as it is a 'warmer' area. Link to comment Share on other sites More sharing options...
VectorPlexus Posted February 3, 2013 Share Posted February 3, 2013 Without going in to detail, this is what I want to achieve. I'll use the different Hold areas as example for now, as they are defined areas. Let's say you enter Eastmarch Hold, the northeast region home to Windhelm. While in Eastmarch, you could experience things such as reduced heavy armor rating, and are more prone to diseases. You'd be able to have heat sources, start 'campfires', reducing risk of disease.. However, those same penalities would not apply in, say, Haafingar Hold, as it is a 'warmer' area. I would use both solutions: If you want a specific location to be checked, use that formlist and on locationchange thingy. But lets say you are near a campfire, use the trigger thingy. You can even setup a script, that places a trigger at runtime when the PC aproaches a campfire, and when it moves away, remove that same trigger. That way it avoids you from manually having to place triggers everywhere where a campfire or another heat source exists. Link to comment Share on other sites More sharing options...
Recommended Posts