Jump to content

“campcampfire.psc” from the “Campfire” mod does not recompile


Recommended Posts

Hello.
I'm trying to install an item through the campfire menu of the Campfire mod in the same way as installing a cooking pot next to a campfire. To do this I added "MiscObject property" and "Furniture property" to "campcampfire.psc". I don't know if this will work because I'm not good with scripts. I'm making my first small mod. But this particular change looks simple and I decided to give it a try. However
"Creation Kit" does not allow me to compile even the original script "campcampfire.psc".
Configuration:
The Elder Scrolls V: Skyrim - Anniversary Edition (GOG) 1.6.1179.0.8 (SKSE64 2.2.6 rel 72).
Creation Kit 64 1.6.1130.0, Creation Kit Platform Extended for Skyrim.
A set of script sources in the following sequence:
C:\GOG Games\Skyrim Anniversary Edition\Data\Scripts\Source
1) Those that were originally there (at that moment SKSE64 was installed;
2) Source scripts from the “Creation Kit” with overwriting of existing files;
3) Sources of SKSE64 scripts with overwriting of existing files;
4.1) Sources of “SkyUI” scripts https://github.com/schlangster/skyui/tree/master/dist/Data/Scripts/Source ;
4.2) Sources of the “SkyUI” scripts (with replacement) https://github.com/schlangster/skyui/tree/master/dist/Examples/MCM
4.3) Sources of “SkyUI” scripts https://github.com/schlangster/skyui/tree/master/dist/Data/Scripts/Headers ;
4.4) Sources of “SkyUI” scripts https://github.com/schlangster/skyui/tree/master/misc/ArrowCount/Scripts/Source ;
4.5) Sources of “SkyUI” scripts https://github.com/schlangster/skyui/tree/master/misc/PrimaryNeeds/Scripts/Source ;
5.1) Sources of scripts “PapyrusUtil SE” 4.6 2024.02.26;
5.2) Source scripts that somehow ended up in my PapyrusUtil SE 4.6 2024.02.26 folders:
- Debris.psc
- FootstepSet.psc
- LightingTemplate.psc
- MaterialObject.psc
- PO3_Events_Alias.psc
- PO3_Events_AME.psc
- PO3_Events_Form.psc
- PO3_SKSEFunctions.psc
6) Sources of the “Equipping Overhaul” LE scripts;
7.1) Script sources unpacked from the “Campfire” mod 1.12.1SEVR 05 Sep 2018, 3:14AM (with replacement) (without the old “PapyrusUtil SE” script sources) https://www.nexusmods.com/skyrimspecialedition/mods/667 ;
7.2) Source scripts for the “Campfire” mod https://github.com/chesko256/CheskoPapyrusShared/tree/master/Scripts/Source ;
7.3) Source scripts, unpacked from the mod “Frostfall” 3.4.1SE 15 Oct 2022, 4:57PM https://www.nexusmods.com/skyrimspecialedition/mods/671 ;
7.4) Source scripts for the “Campfire” and “Frostfall” mods (with replacement) https://github.com/chesko256/Campfire/tree/master/Scripts/Source (they are largely repeated with the previous ones, but there are also missing ones).

As a result, the compiler produces errors (the first three lines are original, I gave the rest as examples, because there are many of them and they are similar):
C:\GOG Games\Skyrim Anniversary Edition\Data\Scripts\Source\_camp_skyuiconfigpanelscript.psc(411,33): AddInputOption is not a function or does not exist
C:\GOG Games\Skyrim Anniversary Edition\Data\Scripts\Source\_camp_skyuiconfigpanelscript.psc(411,4): type mismatch while assigning to a int (cast missing or types unrelated)
C:\GOG Games\Skyrim Anniversary Edition\Data\Scripts\Source\_camp_skyuiconfigpanelscript.psc(924,2): SetInputDialogStartText is not a function or does not exist
C:\GOG Games\Skyrim Anniversary Edition\Data\Scripts\Source\_frost_legacyarmordatastore.psc(3098,2): LinkedArrayAddArmor is not a function or does not exist
C:\GOG Games\Skyrim Anniversary Edition\Data\Scripts\Source\_frost_legacyarmordatastore.psc(3340,1): LinkedArrayRemoveArmor is not a function or does not exist
C:\GOG Games\Skyrim Anniversary C:\GOG Games\Skyrim Anniversary Edition\Data\Scripts\Source\_frost_legacyarmordatastore.psc(3559,4): LinkedArrayHasArmor is not a function or does not exist

“LinkedArrayAddArmor”, “LinkedArrayRemoveArmor”, “LinkedArrayHasArmor” is constantly repeated.

A small part of the script source versions are replaced by others, I try different combinations, but the example above is the best that came out. I guess there are some other script sources missing, or I'm using the wrong version of the same source code.
During this torture, I found the following correspondence (https://www.reddit.com/r/skyrimmods/comments/6zyrfm/pcfrostfall_and_skse64/):
sveinjustice 7y ago:
"I have been trying to compile the frostfall compatibility script for a while and it keeps asking for "LinkedArrayHasArmor" and fails to compile. I disabled the SKSE check in the script but it keeps failing to compile.
https://pastebin.com/cY8UjGGu (the error message)
I know you said you don't have time and that's fine, please don't feel obligated to help or whatever, I am happy with Frostfall as it is."

PossiblyChesko 7y ago:
“Yeah you won't be able to recompile my scripts without recreating my development environment. Sorry."

Does this mean that the author of Campfire specifically prevented the recompilation of his script sources and I will have to stop trying? Or am I simply unable to find the missing script sources? I can no longer figure out which script sources to look for and what they are called.

 

By the way, I managed to compile two simple scripts and recompile one script “Complete Alchemy and Cooking Overhaul” from the source (although the idea didn't work for some reason). Therefore, I believe that the "Creation Kit" is installed correctly.

Edited by RayhardRau
Link to comment
Share on other sites

Worry about compiling your scripts, not theirs.. you have no problem.. and desist in this action, it leads to trouble you do not understand, that why you where being ignored.. it was the best course of action...  you are asking for help to do something that is utterly stupid and dangerous

FYI

you can package a faulty recompiled  master pex into your mod and publish it, causing untold users on the nexus  heaps of trouble.. 

Stop trying to compile what you should not

 

 

 

 

 

 

Link to comment
Share on other sites

Posted (edited)

The main problem is not even the compilation of my script. My mod is simple, and the idea to make it came spontaneously. But it took a lot more effort, so I really wouldn’t want to hide it. Many people would not be able to do even this minimum, and they might need a mod. I tried to make something less similar to other mods. That's why I wanted to recompile the script. But while I was looking for a solution, I found Chesko's instructions: “Tutorial 1: Hello, Chair” https://skyrimsurvival.com/home/campfire/mod-developers/creating-campfire-mods/tutorial-1-my-first-chair / , “Tutorial 2: My Chair, Now with More Cowbell” https://skyrimsurvival.com/home/campfire/mod-developers/creating-campfire-mods/tutorial-2-my-chair-now-with-more- cowbell/ .


Chesko WISHED that people would create other mods based on his mod. Following the example of other mods, I repeated “Tutorial 1” in “SSEEdit” even before I knew about “Tutorial 1”. And later I installed the “Creation Kit” and repeated “Tutorial 1” in it. But in both cases I had the same problem: I select an item in the inventory (I used the vanilla Flagon model 00044e70 https://elderscrolls.fandom.com/wiki/Flagon ), its indicator appears to select the installation location, but the indicator the object flies off from my character’s feet and rolls along the ground, the blue silhouette of the indicator lies somewhere in the bushes, and then does not move anymore. At this point, the game often even crashes. But the item is installed in the correct place even without an indicator, although not always. And after installation, the item can be kicked and held in your hands without placing in inventory. However, Campfire technology should not allow you to kick or hold an object. The item must not fall. Campfire works correctly for me. Installing the kettle in “Warm Drinks SSE - Simple Tea And Coffee Recipes - for Campfire” https://www.nexusmods.com/skyrimspecialedition/mods/14645 works correctly for me. However, when I change the model of the teapot in “SSEEdit” (only one model!) in “Warm Drinks SSE”, it works with the errors described above. When I return the kettle model from “Warm Drinks SSE” to “SSEEdit”, the error still does not disappear, and the kettle can even be installed partially underground. Conclusion: Campfire scripts partially do not work in mods created or modified by me, both in SSEEdit and in the Creation Kit.


I disabled all mods, disabled "Navigator - Navmesh Fixes" https://www.nexusmods.com/skyrimspecialedition/mods/52641 and "Vanilla Script (micro)Optimizations" https://www.nexusmods.com/skyrimspecialedition/mods/ 54061 , but I did not disable basic mods such as “SkyUI”, “USSEP”, “PapyrusUtil SE”, “USMP”, I did not disable “SurvivalMode CC”, “Campfire”, “iNeed”, “CACO”, “Attack” Speed Framework", "My Survival Mode AE" and their dependencies. But it did not help.


The simplest thing doesn't work for me. I repeated "Tutorial 2" but the main item keeps falling, can be held, kicked, the indicator doesn't move and sometimes causes crashes. I even tried to add an item to Campfire using the Campfire cooking pot technology without changing the scripts, but the cooking pot was replaced with my kettle in the main Campfire menu, but it can still be held, kicked, it falls, indicator does not work. But you can’t do this with normally working items using the Campfire technology.


I have no idea what to do. Can you help me fix at least this problem? There is no need to change scripts here. What Chesko intended does not work.

I already described this problem in the topic https://forums.nexusmods.com/topic/13490582-sseedit-my-keyword-causes-ctd/ (I fixed the other two problems described there).

 

On 6/30/2024 at 12:48 AM, Sphered said:

Extract the pscs for all prereq mods too.

Above I have listed everything that can be a dependency, according to the descriptions of mods on Nexusmods. That's the problem, I can't find what else is a dependency.

 

On 6/30/2024 at 9:35 AM, PeterMartyr said:

it leads to trouble

In any case, I still have no idea what the compiler is missing.
I understand that mod incompatibility may arise, then people will have to choose. And I want it to work for me first of all. If it doesn't work for me, it doesn't work at all.
There's nothing to break there. I added lines like this and moved the cancel button.

 

MiscObject property Teapot_for_Brewing_MISC auto
Furniture property Teapot_for_Brewing_FURN auto

 

        elseif i == 8
            ;Place Teapot for Brewing
            if PlayerRef.GetItemCount(Teapot_for_Brewing_MISC) > 0
                myCookPotSnapMarker.PlaceAtMe(Teapot_for_Brewing_FURN, abForcePersist = !(IsPlaceableObjectTemporary(Teapot_for_Brewing_FURN)))
                PlayerRef.RemoveItem(Teapot_for_Brewing_MISC, 1, true)
            endif
        elseif i == 9
            ;Cancel


I simply repeated Chesko's lines about the cooking pot, trying to add an additional item:

MiscObject property _Camp_CookingPot_MISC auto

Furniture property _Camp_CookingPot auto

 

        elseif i == 5
            ;Place Cooking Pot
            if PlayerRef.GetItemCount(_Camp_CookingPot_MISC) > 0
                myCookPotSnapMarker.PlaceAtMe(_Camp_CookingPot, abForcePersist = !(IsPlaceableObjectTemporary(_Camp_CookingPot)))
                PlayerRef.RemoveItem(_Camp_CookingPot_MISC, 1, true)
            endif

 

If it didn't work, I would search for a way until I ran out of ideas. It might be necessary to make a copy of "myCookPotSnapMarker.PlaceAtMe" for the teapot.

Edited by RayhardRau
Link to comment
Share on other sites

The "error" you are describing, the item falling and being affected by the havok system is not an error.  You've selected an object whose mesh is designed to interact with the havok system.  You will need to copy the NIF file and edit it such that it cannot be affected by the havok system or choose a different model (one that is already a static).

Falling, dropping and being able to be kicked around has nothing to do with the papyrus scripts.

Link to comment
Share on other sites

On 7/6/2024 at 1:59 PM, IsharaMeradin said:

You've selected an object whose mesh is designed to interact with the havok system.  You will need to copy the NIF file and edit it such that it cannot be affected by the havok system or choose a different model (one that is already a static).

Oh thanks! I succeeded!

I'm explaining this for newbies like me.
I had the idea that the graphical model itself contained non-graphical settings, but this led to a lot of uncertainty, and I might not have realized that these were Havoc and collision settings.
I used the NifSkope program. It turned out that the collision mechanism of the Campfire and Warm Drinks SSE models differs from the collision mechanism of the vanilla Flagon model 00044e70 https://elderscrolls.fandom.com/wiki/Flagon.

In the NifSkope program, the Block List menu for the Campfire and Warm Drinks SSE mods looks like this: BSFadeNode → NiNode → bhkCollisionObject → bhkRigidBody → bhkMoppBvTreeShape → bhkCompressedMeshShape → bhkCompressedMeshShapeData.

And for Flagon model 00044e70 like this: BSFadeNode → bhkCollisionObject → bhkRigidBody → bhkConvexVerticesShape.

While I was trying to figure it out, I found the instructions: https://wiki.nexusmods.com/index.php/Removing_havoc_on_an_object “Removing havoc on an object”. But she didn't help. Experimentally, I found out which sample settings allow me to make an object motionless:

For "Campfire" and "Warm Drinks SSE" the BSFadeNode should have the setting "Collision Object - None - Ref<NiCollisionObject>", and the "NiNode" should have the setting "Collision Object - bhkCollisionObject - Ref<NiCollisionObject>".
For Flagon model 00044e70, the “BSFadeNode” must have the setting “Collision Object - bhkCollisionObject – Ref<NiCollisionObject>”.

The following settings are the same for both options:
“BhkCollisionObject” contains only 3 settings, usually they are initially identical:
“Target” (the name that exists in a specific model is displayed here)
“Flags – ACTIVE | SYNC_ON_UPDATE"
"Body - bhkRigidBody"

"bhkRigidBody" contains many settings. In my case, the following turned out to achieve the desired result (some of them are repeated for some reason), although it’s not a fact that that’s all, I haven’t experimented that much:

Layer – SKYL_STATIC
Broad Phase Type – BROAD_PHASE_ENTITY
Collision Response – RESPONSE_SIMPLE_CONTACT
Layer – SKYL_STATIC
Collision Response – RESPONSE_SIMPLE_CONTACT
Mass – 0.0 (especially important since a mass of 0 kg makes the object motionless)
Motion System – MO_SYS_BOX_STABILIZED
Solver Deactivation – SOLVER_DEACTIVATION_OFF
Quality Type - MO_QUAL_INVALID

End. Save the model under a new name in the desired folder. Then all you have to do is write a link to this model in your mod in that same folder.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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