Jump to content

maxarturo

Supporter
  • Posts

    2204
  • Joined

  • Last visited

Everything posted by maxarturo

  1. The event OnHit() is used when you want something to happen when the target 'gets hit'. I'm trying to understand your idea and i did read carefully your post, but it confuses me. Try explaining in detail and with simple words your idea: a, b, c, d, etc... Don't analyze the problems you faced while trying to make your idea work, but analyze your idea. This is the only way the reader can understand what's actually on your head and can provide the proper assistance.
  2. Using the engine's default Condition Functions it's not possible, you can only achieve this with scripting with a running quest or adding/removing an 'Ability Spell' that will listen for the equipped object and where is equipped. But, there is still the issue that the perk/perks added will not be able to detect when to apply damage, and this is because of how damage is applied by the engine, it's directly connected to the player's camera and not to the weapon. For example: If you have an enemy in front of you and in third person you rotate the camera to an angle that the enemy is no longer in the center / the field of the camera where damage is applied, no matter how and what attack you do you will not apply damage to the anemy.
  3. Now that I feel slightly better from my migraine (after swallowing a whole bottle of pills), I'm posting a cleaner version of mine, because it was full of typos and removed the timer, which wasn't needed to begin with.* Just for the sake of clarity. Scriptname MyMasterControllerScript extends ObjectReference ObjectReference Property Banner0 Auto ObjectReference Property Banner1 Auto ObjectReference Property Banner2 Auto ObjectReference Property Banner3 Auto ObjectReference Property Banner4 Auto ObjectReference Property Banner5 Auto ObjectReference Property Banner6 Auto ObjectReference Property Banner7 Auto Bool Property ButtonA = False Auto Hidden Bool Property ButtonB = False Auto Hidden Bool Property ButtonC = False Auto Hidden Function CountButton01() If ( ButtonA == False ) ButtonA = True Else ButtonA = False EndIf FindMatch() EndFunction Function CountButton02() If ( ButtonB == False ) ButtonB = True Else ButtonB = False EndIf FindMatch() EndFunction Function CountButton03() If ( ButtonC == False ) ButtonC = True Else ButtonC = False EndIf FindMatch() EndFunction Function FindMatch() DisableAllBanners() If ( ButtonA == False ) && ( ButtonB == False ) && ( ButtonC == False ) Banner0.Enable() ElseIf ( ButtonA == True ) && ( ButtonB == False ) && ( ButtonC == False ) Banner1.Enable() ElseIf ( ButtonA == False ) && ( ButtonB == True ) && ( ButtonC == False ) Banner2.Enable() ElseIf ( ButtonA == False ) && ( ButtonB == False ) && ( ButtonC == True ) Banner3.Enable() ElseIf ( ButtonA == True ) && ( ButtonB == True ) && ( ButtonC == False ) Banner4.Enable() ElseIf ( ButtonA == True ) && ( ButtonB == False ) && ( ButtonC == True ) Banner5.Enable() ElseIf ( ButtonA == False ) && ( ButtonB == True ) && ( ButtonC == True ) Banner6.Enable() ElseIf ( ButtonA == True ) && ( ButtonB == True ) && ( ButtonC == True ) Banner7.Enable() EndIf EndFunction Function DisableAllBanners() Banner0.Disable() Banner1.Disable() Banner2.Disable() Banner3.Disable() Banner4.Disable() Banner5.Disable() Banner6.Disable() EndFunction EDIT: Why does this s*** happens every time? I write this code: Function CountButton01() If ( ButtonA == False ) ButtonA = True Else ButtonA = False EndIf FindMatch() EndFunction And I get this post: Function CountButton01() If ( ButtonA == False ) ButtonA = True Else ButtonA = False EndIf FindMatch() EndFunction
  4. @ dylbill. Yeah.... neither yours nor mine needs a timer (both actually apply the same logic). I've this horrible headache and i'm not thinking straight today. Also... 3 buttons = 6 possibilities ???? Instead of multiplying I added... I better take one more pill for my headache and stay in bed until it acts...
  5. The logic is pretty much what dylbill developed further above.But, there is an issue with it, the "Main Script' needs some kind of timer where it will be listening only in that timer time for the buttons and their combination, otherwise it will always fire the first 'ElseIf' with only 1 of the buttons. * Also 3 buttons = 6 possible combinations.* I've a 'kind' of a similar idea on my last quest mod, an activator that it's listening for a 15-digit alphanumeric code and you have each time you enter a group of digits to choose from 9 different possibilities each time, if you choose wrong you get punished and it resets.The only thing I can tell you is that: IT WAS A F****** PAIN IN THE A** TO MAKE IT WORK CORRECTLY!!!!, 15 digits with 9 possibilities each time... now do the math.... i ended up with a huge headache that lasted for weeks!!! I was thinking something like this, but I haven't though of it all the way through, and bare with me one this one... I haven't sleep and I've a terrible headache that I can't even open my eyes or look at the monitor. So here is a set up for this:1) You first palce somwhere an 'xMarkerAcrivator' and in the 'Reference Editor ID' name it 'MyMasterController' and you add this script which plays the role of the 'Master Controller':* Attention: the name of the script must be the same as bellow ( MyMasterControllerScript ), if you give the script another name then it should also change in the script further down, in the button script. Scriptname MyMasterControllerScript extends ObjectReference ObjectReference Property Banner1 Auto ObjectReference Property Banner2 Auto ObjectReference Property Banner3 Auto ObjectReference Property Banner4 Auto ObjectReference Property Banner5 Auto ObjectReference Property Banner6 Auto Bool Property ButtonA = Fasle Auto Hidden Bool Property ButtonB = Fasle Auto Hidden Bool Property ButtonC = Fasle Auto Hidden Function CountButton01() If ( ButtonA == False ) ButtonA = True Else ButtonA = False EndIf Self.Activate(Self) EndFunction Function CountButton01() If ( ButtonB == False ) ButtonB = True Else ButtonB = False EndIf Self.Activate(Self) EndFunction Function CountButton01() If ( ButtonC == False ) ButtonC= True Else ButtonC = False EndIf Self.Activate(Self) EndFunction Function DisableAllBanners() Banner0.Disable() Banner1.Disable() Banner2.Disable() Banner3.Disable() Banner4.Disable() Banner5.Disable() Banner6.Disable() EndFunction AUTO STATE SEQ01 Event OnActivate(ObjectReference akActionRef) RegisterForSingleUpdate(5.0) GoToState("SEQ02") Self.Activate(Self) EndEvent ENDSTATE STATE SEQ02 Event OnActivate(ObjectReference akActionRef) DisableAllBanners() If ( ButtonA == True ) && ( ButtonB == False ) && ( ButtonC == False ) Banner1.Enable() ElseIf ( ButtonA == False ) && ( ButtonB == True ) && ( ButtonC == False ) Banner2.Enable() ElseIf ( ButtonA == False ) && ( ButtonB == False ) && ( ButtonC == True ) Banner3.Enable() ElseIf ( ButtonA == True ) && ( ButtonB == True ) && ( ButtonC == False ) Banner4.Enable() ElseIf ( ButtonA == True ) && ( ButtonB == False ) && ( ButtonC == True ) Banner5.Enable() ElseIf ( ButtonA == False ) && ( ButtonB == True ) && ( ButtonC == True ) Banner6.Enable() EndIf EndEvent ENDSTATE Event OnUpdate() GoToState("SEQ01") EndEvent 2) And this one goes on the buttons.* Attention you need to select for each button a different bool property ( isButton01 ), the first will be 'isButton01', the second 'isButton02', the third isButton03'. ObjectReference Property MyMasterController Auto Bool Property isButton01 = False Auto Bool Property isButton02 = False Auto Bool Property isButton03 = False Auto Event OnActivate(ObjectReference akActionRef) If ( isButton01 == True ) ( MyMasterController as MyMasterControllerScript ).CountButton01() ElseIf ( isButton02 == True ) ( MyMasterController as MyMasterControllerScript ).CountButton02() ElseIf ( isButton03 == True ) ( MyMasterController as MyMasterControllerScript ).CountButton03() EndIf EndEvent Maybe someone with a clearer head can develop this further or check it for any mistakes, sorry but my head is really killing me... EDIT: Why every time i post a script is all F***** UP??!! and i need every time to edit it to get it in order!!. Does this thing happens to everybody or is just me??
  6. To add to the post of above: Every time you create a 'Roombound' box, move it so that it will snap to the cell's grid, sometimes when you select an object so that the roombound box will be created 'that' first roombound box will snap to the mesh position and not to the cell's grid, so after creating your second roombound and third and etc... they will not align with each other.
  7. If I on the other hand understand this correctly, what the user wants is a kind of 'Puzzle Activator' where you have 3 activators / buttons and depending with which button or combination of buttons is activated the corresponding banner is enable. If this is the case then one way to do it is by creating a 'Master Controller' that will be listening for those activators and their combinations. * Which it's kind of a headache to create.... if the activators and the number of banners is big.
  8. There are already mods that do this, I think they are called 'Convenient Horses' or 'Immersive Horses' or something like that... You can check them out and reverse engineered them. Those mods or one of those mods will give to all your companions a horse that the companion will use, those horses utilize the vanilla follower framwork to do it, this means that they ONLY work on followers that use the 'Follower Faction' or through script by the function 'Bool IsPlayerTeammate()'. But if you have a follower that uses its own custom made framework that does not rely on the vanilla, those horses will not work. This also applies for your horse if you want this to work on ANY / random follower, there will be always a chance of it to not work. But it's rare since 99% of followers mods out there use the vanilla framework. "I want any companion to be able to own the Dwemer Horse and that horse should follow that companion." Now if you have only 1 horse and more than 1 follower, and you want to assign to a specific follower your Dwe horse while everybody else uses something else. Well... here things start to become a little complicated.
  9. First of all i need to highlight that if you intend on creating a mod for Skyrim or FO4 that will continue to grow in complexity, you must forget / get it out of your head anything concerning modding Oblivion, modding that game was a million times easier and less demanding than these ones here. Just a friendly advice that will help you advance faster and save you some nasty headaches. The general logic of the set up for a dynamic follow package should be as follow: 1) Create a "Holding" cell, a cell that will not be connected with the game's world and it will be use only for things like this: - Place an xMarker and give it a unique 'Reference Editor ID' 2) Create a quest and a 'Reference Alias', fill that 'Alias' with the xMarker reference in your holding cell. 3) - Create a package and in the section 'Owner Quest' assign your quest that is holding the Alias with the xMarker. - Now in the 'Package Template' assign 'Follow'. - In the 'Target To Follow' press the big button in the right that says 'Linked Reference'. - The 'Package Target' window will open, now click the section 'Ref Alias', and in the 'Object ID' assign your Reference Alias which is pointing to the xMarker in your holding cell. 4) Now you will need a delivery type for the 'Change Following Actor Package Event' so that you can move and force by script the 'Reference Alias' in your xMarker that's living in the 'Holding Cell' to any actor. ** This part here i can't expand any further because I've no idea what you are actually doing, or how you want this whole thing to work: Is this going to work on specific actors on your mod? is this going to work on ANY / random actors of the game and mods? Will this be trigger at a specific stage by a running quest? Will this be trigger at a specific location? Will this be trigger by the player at will? Etc...
  10. "Inspiration for this actually came from 3 items in Vicn's Vigilant mod that behave exactly how I'm trying to make this work. One of them is called the Bone of Jhunal I believe and when consumed, it adds a permanent +10 to magicka. From what I can tell, Vicn did that with the use of a script that is not able to be viewed in CK unfortunately." If i remember correctly (it's been some years since i played it), Vicn's Vigilant assets are set up as "Potions" and not as ingredients, but in any case even if i'm not right, setting up your item as 'Potion' will be an appropriate way to do it and the simplier, you just need to create and add to your 'Potion Item' a magic effect that will run this: Event OnEffectStart(Actor akTarget, Actor akCaster) akTarget.ModActorValue("health", 10.0) EndEvent EDIT: As food can also work.
  11. If you want to translate the game to a language that the company does not support / has not translated to that language, you don't duplicate the quests because this will cause conflicts, you need to get from the Skyrim 'Data' folder the: Dawnguard.esm - Dragonborn.esm - HearthFires.esm - Skyrim.esm And you insert to your translation tool and translate these files, and not a duplicated quests plug-in.
  12. Ok, glad you got it working! :thumbsup: But I feel i've to post the following: 1) Since the swap of worldspaces is done by the anterior you don't need to modify the 'Ship's Wheel' script, as a matter of fact you can revert to its previous state (before adding the global and any other changes). Due to the nature of your ship's set up the 'Ship's Wheel' didn't need to be touch at all to begin with. 2) You should know that there are 2 circumstances that this 'teleport followers / npcs following player' thingy will not work, meaning that the npc will not fast travel with the player, this is a engine issue, well... not exactly an issue but mainly something that was not included in the engine's code. a - If the npc following the player does not have the 'following package' directly assign to its actor record (in the AI Package section), but instead the package is added and handled by a 'Quest' / by a 'Quest Alias', that npc will not fast travel no matter what. b - The same issue above can also occur by a specific arrangement / creation of a custom made 'Npc Following Player' ai package, which to be more detailed I'll have to come back to this some other time because I can't remember exactly and i have to fire Ck and load the specific mod which at the moment I have no time for. Anyway, the thing is that under certain circumstances one of my 'droid follower' does not fast travel, and this is due to its custom made AI packages and in general its set up, which it does not rely on the vanilla follower framework or any other. So, if you ever get an unpleased user complaining about his awesome bombshell follower not following him, to and from your ship, the issue is one of the above. Sorry that I didn't actually help you and that my "help" was very limited. Have a nice summer!
  13. Nope, but what you can do to make your life easy if you make a lot of times this process for creating different mods is to: - Create a 'Resource Plug-in', this ESP will be created only one time and it will have all the 'modders resources' your use frequently already assigned in you ESP/CK. - You load both plug-ins in CK, your 'Resource Plug-in' and you "Active' one which is the new plug-in. - Now with this 'Resource Plug-in' you can duplicate the item you need to use so that it acquires your new ESP's id, and you use the duplicate. - The only thing required for your 'NEW' plugin and the duplicated item to work properly is that you will always provide the exact 'Resource Plug-in' meshes and texture folder with the same folder's name and directory path. Otherwise you will get ingame red exclamation marks. This is the only fast way to cut down time from adding new objects into the game each time. EDIT: I need a new keyboard, it keeps eating my ( r ) letter....
  14. Ok, let see if i got this right. 1) You don't have 2 statics ships, 1 in Skyrim and 1 in Teia, so that you activate the 'Ship's Wheel' to travel / load the corresponding worldspace and teleport there. 2) You have a 'Movable Static' mesh ship: 1 in Skyrim and 1 in Teia that you can sail freely / move with the ship ONLY in 'that' worldspace. 3) This part here is a little confusing: "The interior doors have now two activators: One for teleporting onto the Skyrim ship and one for teleporting onto the Teia ship." So, you don't use the 'exterior ship's wheel' for swapping ships / swapping worldspaces?, but this is done from the common interior cell by another activator of some sort? Did i get this right?
  15. I can tell you for sure that the info on moving/fast travel follower from interiors too exteriors that doesn't work is not valid, I personally do this in a variety of function/events/scenes/spells in very heavily scripted quests and cells, and every single time this teleport follower thing works flawlesly, and still does after a thousands usages. 1) Now, you will have to explain in more detail how your whole ship system is supposed to work, because in your first post you didn't meantion anything on having a 'Movable Static' object being translated. I assumed from your post that you have 2 pre-placed ships with their pre-placed doors activators and their corresponding 'Heading Markers', and not a moving ship. Not that it plays so much of a big role, the logic is the same in the end. 2) I'm once more assuming by your post (the post above) that ALL functions are handle by this script as a 'Master Controller' script. (a global script that does everything). 3) From a quick look at your script, i've to say that: except that the script is a mess and need asap optimization and cleaning up, i didn't saw in the entire script the lines: Player.MoveTo(MyTeleMarker) Game.EnableFastTravel() Game.FastTravel(MyTeleMarker) So, there is no function to move followers. Under another circumstances i would i assumed that the script is either calling that function to another script or another script is calling functions on this one, but there isn't such calling functions. Unfortunately my lady yesterday i took my long waiting vacations and you caught me washing, cleaning and packing things. So, unless another kind soul can intervene here to give you a hand... you will have to wait some time for my answer... a beach is waiting for me!!
  16. 'Stretching' existing vanilla NavMesh is a dirty edit. My advice is that you never touch ANYTHING vanilla unless you are very experienced modder and you know what you are doing. And to answer to the original question: the best way to do it and the recomended is to link the vanilla NavMesh with new NavMesh without touching and / or moving the vanilla NavMesh vertex. EDIT: Stupid copy/pasting in a hurry... and now my laundry got F*!!, I've now matching pink underwear and shirts...
  17. If there isn't any NavMesh below or above and the actors continue walking into non NavMesh parts, then all i can say is that this is the first time I've ever hear of this, and especially on Skyrim's engine. If there is no NavMesh, then the engine will not generate navigation path for the npc. * Unless you are using a follower that teleports to you, those follower mods don't use NavMesh to move the npc to you, but just a code that doesn't care about NavMesh. * If i want to exclude an area to be used by npcs, I either use NavCut or i just don't NavMesh that particular area.
  18. If you want to use a slightly similar syntax for old time sake, then try this: ObjectReference Property InigoHorseRef Auto ObjectReference Property VanaHorseREF Auto Actor PlayerREF Event OnEffectStart(Actor akTarget, Actor akCaster) PlayerREF = akCaster InigoHorseRef.moveto(PlayerREF) VanaHorseREF.moveto(PlayerREF) EndEvent
  19. Remember your previous NavMesh related post? You actor was able to navigate through an Un-NavMesh section of your cell because your cell has NavMesh in a lower section of that cell, in a lower floor. Copy pasting from the previous post: "NPCs use NavMesh not to exactly navigate through the terrain, but NavMesh shows the AI where the npc can navigate, or where is allow to." "2) You don't need to match the geometry of the mesh or the landscape for the NavMesh to work, for example if you make a 'Flat NavMesh' to cover your complex landscape cell and you drag the entire NavMesh bellow the terrain, the NavMesh will still work."
  20. That is just a mesh and texture replacer for the 'Critters Spawn'. 'Critters Spawn' don't use actors, they just run a random algorithm to mimic a random insects movement, which the insects are movable statics objects. The insects from the 'Critters Spawn' or from the mod you pointed out are not 'Rig', you need to rig that insect mesh into a valid Skyrim actor's skeleton ,so that you can create an actor by using CK's actors creation system. In order to do this you will need a program like 3DS or Blender. Unfortunately this is one of those things that is not easy to explain how to do it without writing a wall of text, that in the end will only confuse you more. You will need to start researching this on-line, i'm not sure if there are any tutorials for this, but you never know. EDIT: I meant 'algorithm' and not 'logarithm', I always confuse the two even in my native language which is the mother language of those 2 words, I'll never learn...
  21. Among the many reasons which the most important are that scripts and references object positioning are baked in the save file, so if for example you made a save > and then you change the positioning of an object > and then you go back to your cell using your previously made save file, the object you move in CK will not reflect on your game because the object retains the positioning dectated by the save file. Using 'COC' to check / test your cell's building progress is much more faster and reliable. The use of a save file for testing purpose is only required when you will be testing some sort of scripts, but again here it is not always required and it depends on the nature of the script.
  22. You need to create your insect outside CK, and give it / attach it to a valid actor's skeleton, then you create a custom race and insert your custom made actor to the game, just copy / paste file address directory won't work here.
  23. I asumme that this is for a player's spell, if so: ObjectReference Property InigoHorseRef Auto ObjectReference Property VanaHorseREF Auto Event OnEffectStart(Actor akTarget, Actor akCaster) InigoHorseRef.moveto(akCaster) VanaHorseREF.moveto(akCaster) EndEvent
  24. Skyrim uses 2 timelines, the first is the engines gaming time which is 3.33m (real time) = 1h (Skyrim time). The game also uses 'real world time', for example: If you look at the blessings, they duration is set up to last from 8 to 12 hours, this duration is in real time, meaning it's real world 8 to 12 hours. I haven't looked at how the specific 'Voice/spell' is been set up, but i think that you just change the value to 259200 real world hours.
  25. Try this: - Start the game and from the menu 'COC' to your cell to test things (do not load a save!!), if by 'COC' to your cell everything is working properly, then the issue is with your save file, which by the way you should never use to test things, save file usage is required only under specific circumstances for testing purposes.
×
×
  • Create New...