-
Posts
42 -
Joined
-
Last visited
Everything posted by Dielos
-
Hello! I think I need help... :confused: I have been trying to split up several clothing items through Outfit Studio, and although everything seems to work great, once in game the player body morphs badly, usually into a somewhat fat lady with a strange stance (textures are still correct though). I don't know why this might be happening nor how to correct it. It almost looks as if it was the fattest setting during character creation, but removing the piece of clothing returns everything to normal. Here are the steps I followed. I'm using the petite version of CBBE with all armor and clothing pieces converted. I loaded the project CBBE vanilla in Outfit Studio and then selected the outfit. I then proceeded to zap several items and saving the project under a different name as I went, separating so the pieces I wanted. I saved the project always without reference, as these are going to be standalone pieces, but for the editing the reference was there. Once done, I checked preview with the zaps applied and built for my body preset. All looking good, the nif generates fine and looks good in NifScope. Created the armor addons and armors in the CK and fired up the game. But upon equipping, the body always morphs... What might I be doing wrong? There is no body anymore in the nif, so why is my body changing into something indescriptible (nothing similar to any other body, nor several together, more like wrong weight setting like max fat and size)? Do I have to edit something in the nif or play with weights or bones for it to work? Afterall, the original armor did have a reference body... Or could it be a problem in CK, something I didn't uncheck? None of the armor pieces or addons are set up under slot 33, and they all use one single slot. I'm sure I'm missing something... Thanks in advance for any help or pointers!!!
-
Game Freezes After Calling Activate() Several Times
Dielos replied to wyz123's topic in Fallout 4's Creation Kit and Modders
Ok. Thanks for clarifying that to me! Seriously no idea why this might happen. I'd expect a script error if there was anything strange, not a freeze... I guess nothing appears in the log after the freeze, right? Just to check, you wait 2.5 seconds in that function. Does the freeze happen when picking up items fast as well? I guess not or you should see those traces in the log after the freeze... -
Game Freezes After Calling Activate() Several Times
Dielos replied to wyz123's topic in Fallout 4's Creation Kit and Modders
Could it be that you have an unending loop here? Sorry if I go in the wrong direction, as I have little experience with states, but you call the Grab function which immediately changes to state "Busy", and the first thing the "Busy" state does is recall the function. As said, no idea how states work, so I might be misleading... -
Help me to fix bug with armors
Dielos replied to khazerruss's topic in Fallout 4's Creation Kit and Modders
No idea if this would work, but there might be a native script that forces to unequip if you're trying to equip something in a slot that is in use already. It might be possible if it works like this to edit the native script for what you want, but you would still need to define a slot in the CK. If this works, then you should be able to equip several object on the same slot. As said, just guessing here... -
SPECIAL check for equipment
Dielos replied to zrovektor's topic in Fallout 4's Creation Kit and Modders
I would use a script, although it might be possible to use a spell or similar on the weapon too, although not sure of the last. -
Hi khazerruss. Really interesting... I understand the idea here is to have most clothes and outfits split into smaller parts for more customization? If it's the case, then I'm all for it. Any outfit packs in the works?
-
Ok sorry, didn't get this was on fragments. Never used them before myself, so I have no idea. And I was sending you to tutorials... Really sorry! Actually, I'm trying to learn packages myself, so this could be really useful for me as well, although I need to control them through script ideally. In theory (didn't try), you should be able to put a condition in your package for when your quest changes stages. Or you could have the activator change a variable and this variable be the condition to start the package. My guess (really, just a guess, never did this before!) is that you could set up a global variable that starts at 0. Your activator or even quest start could change it to 1, and the first package kicks in. Change it then to 2 on another stage and the second package starts. pathtoreference didn't work for me either too well. So now the need for packages for me as well. :mad:
-
No it wont. An event needs a defined start and end, just like my example above. Also, for the OnItemAdded event to fire, you need to have registered for the event before. For that I used in my example the OnInit event, as that one fires when the script is run the first time. On the CK wiki there are nice tutorials that can help you through the basics. You should understand those, and I'd recommend to start with the basic "Hello World" one, as that one already helps define events. It's amazing what you can do once you have some understanding of how scripts work, really tons of fun... If what you want to do is not too complex, explain it here and I can give you some code to start with.
-
Need help with papryus function.
Dielos replied to khazerruss's topic in Fallout 4's Creation Kit and Modders
Well, correct, but then the question might be why you unequip and reequip right away. The loop Reneer means, is that the OnItemEquipped event will fire just straight away if you reequip, so you will have a loop that never ends. If you really need to do this for whatever reason, then you should put a condition variable and add it to the if function once reequipped so it doesn't loop. Maybe something like this: Scriptname PlayerEqupingLimiter extends Actor Const int HasBeenReequipped Event OnInit() HasBeenReequipped = 0 EndEvent Event OnItemEquipped(Form akBaseObject, ObjectReference akReference) if (akBaseObject.HasKeyword(EquipSlot_A_Coat) && HasBeenReequipped == 0) if Game.GetPlayer().HasPerk(SlotEquipped_A_Coat) Game.GetPlayer().RemoveItem(EquipSlot_A_Coat, -1, true) Game.GetPlayer().EquipItem(akBaseObject, False, True) Game.GetPlayer().AddPerk(SlotEquipped_A_Coat) HasBeenReequipped = 1 Else Game.GetPlayer().AddPerk(SlotEquipped_A_Coat) EndIf EndIf endEvent Perk Property SlotEquipped_A_Coat Auto Const Keyword Property EquipSlot_A_Coat Auto Const -
Need help with papryus function.
Dielos replied to khazerruss's topic in Fallout 4's Creation Kit and Modders
Take anything Reneer says as a rule! He's certainly right, as the item was just equipped anyway, so you don't need to reequip it. -
Need help with papryus function.
Dielos replied to khazerruss's topic in Fallout 4's Creation Kit and Modders
I see a couple of problems in your code. Try this to see if it compiles: Scriptname PlayerEqupingLimiter extends Actor Const Event OnItemEquipped(Form akBaseObject, ObjectReference akReference) if akBaseObject.HasKeyword(EquipSlot_A_Coat) if Game.GetPlayer().HasPerk(SlotEquipped_A_Coat) Game.GetPlayer().RemoveItem(EquipSlot_A_Coat, -1, true) Game.GetPlayer().EquipItem(akBaseObject, False, True) Game.GetPlayer().AddPerk(SlotEquipped_A_Coat) Else Game.GetPlayer().AddPerk(SlotEquipped_A_Coat) EndIf EndIf endEvent Perk Property SlotEquipped_A_Coat Auto Const Keyword Property EquipSlot_A_Coat Auto Const -
Need help with papryus function.
Dielos replied to khazerruss's topic in Fallout 4's Creation Kit and Modders
Not with your keyword, but works for me just fine in my scripts with keywords. Also, you don't need to iterate through anything unless you want to do something extra to each object. Setting the parameter aiCount to -1 will remove all items of that type or that contain that keyword. So, theoretically, that simple line should work. Does the log give you any errors? I asked about the property because it has happened to me, something not working for days and then it was the property which had not been correctly registered by the CK. Since then I always use auto-form to fill them just in case. -
Probably better: http://www.creationkit.com/fallout4/index.php?title=PlaceActorAtMe_-_ObjectReference
-
Need help with papryus function.
Dielos replied to khazerruss's topic in Fallout 4's Creation Kit and Modders
The line as Pokepunch described should work fine with keywords. Game.GetPlayer().RemoveItem(EquipSlot_A_Coat, -1, true) Only thing I can imagine why it might not be working is that the keyword property might not be correctly set? Check in the CK just to make sure... -
You have to add an AddInventoryEventFilter for everything you want to catch. A small example for detecting when some armors are added through keywords: Event OnInit() AddInventoryEventFilter(pma_Railroad_ClothingArmor) AddInventoryEventFilter(pObjectTypeArmor) EndEvent Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) If (akBaseItem.HasKeyword(pma_Railroad_ClothingArmor) || akBaseItem.HasKeyword(pObjectTypeArmor)) DoSomethingFunction(akBaseItem) EndIf EndEvent
-
Modified some vanilla armors and clothes and split them in several parts, so I can combine them as I wish. Added them as new items to the game and they work fine. The problem is that when equipping them, the head seems to separate from the body with a very visible seam. It almost looks like there was a mismatching reference body attached to the clothing piece, although there is none in the nif. I did though zap these parts out of full outfits that did originally have a reference body. Could it be that there is a setting in the nif file or somewhere I have to change for these pieces to behave like the armor addons? I fear it's still behaving like if it was a full outfit. Also, I'm using slots as close as possible like What to wear and armorsmith extended. I only use one for each piece, and never slot 33. Thanks in advance for any help!
-
Find Nearest Object And Move To Script Help
Dielos replied to ajs52698's topic in Fallout 4's Creation Kit and Modders
You could use FindClosestReferenceOfTypeFromRef() for this. But using TranslateToRef will have your NPC floating to the target reference, not walking. You might need to use packages for this. Just for the sake of the example, with TranslateToRef, you could do something like this: Function MoveMyNPC() ObjectReference ClosestObj = Game.FindClosestReferenceOfTypeFromRef(ObjToSearch, Game.GetPlayer(), 1500.0) If ClosestObj != none Debug.Notification("Object found and starting movement...") MyNPC.TranslateToRef(ClosestObj, 90.0) Else Debug.Notification("Nothing Found") EndIf EndFunction FindClosestReferenceOfTypeFromRef looks for BaseID's or for a FormList with BaseID's inside. -
Amazing answer, ElPolloAzul! :laugh:
-
Did you run the game with the CK open and the render window active? That thing eats incredible amounts of resources. I've had extreme lag after editing something in the render window, and closing the CK solved it...
-
There is a fade to black already, but I'd like the player to see himself standing up after fade out. He's just standing there at the moment. PushActorAway kinda works, but it's too fast and sometimes pushes him behind a wall. That freezing in player command sounds interesting. Will look for it. Thanks!
-
The ObjectReference parameter is inside the function in this case... Or am I reading this wrong? ObjectReference Function FindClosestReferenceOfAnyTypeInListFromRef(FormList arBaseObjectsA, ObjectReference arCenter, float afRadius) global In my case it would be "PositionMarker", which is a marker I use to search the area from.