Request for help and inspiration to create a similar mod Hi there,First of all, thank you very much for your work. Your mod is really impressive and gave me an idea to create something similar. I was inspired by your mod, and here is where I am. File structure: 1. main.ovl file: This file encapsulates the .lua scripts needed for the mod to work. It contains: config.lua pathwidthfunctions.lua 2. manifest.xml file: The manifest file is used to load the mod into the game and declares the files to include. xml Copy the code PathWidthChanger unique-id-for-pathwidthchanger 1.0 Game Contents of the files encapsulated in main.ovl: config.lua file This file contains the configuration settings of the mod, including the path width values. lua Copy code local config = {} -- Default path width config.defaultPathWidth = 4.0 -- Default path width -- Path width when the "Y" key is pressed config.pathWidthOnKey = 1.0 -- Alternate path width return config pathwidthfunctions.lua file This file contains the functions needed to: Change the width of paths depending on a key pressed. Manage SQL queries to interact with the database. lua Copy code local ScalingDBManager = {} -- Function to execute a SQL query ScalingDBManager._ExecuteQuery = function(database, statementName, ...) local result = nil api.database.SetReadOnly(database, false) local tArgs = table.pack(...) local cPSInstance = api.database.GetPreparedStatementInstance(database, statementName) if cPSInstance then if tArgs > 0 then for i, j in ipairs(tArgs) do api.database.BindParameter(cPSInstance, i, j) end end api.database.BindComplete(cPSInstance) api.database.Step(cPSInstance) local tRows = api.database.GetAllResults(cPSInstance, false) result = tRows or nil else api.debug.Trace("ERROR: Unable to get instance of prepared statement: " .. statementName) end api.database.SetReadOnly(database, true) return result end -- Function to update path widths ScalingDBManager.updatePathWidth = function(newWidth) api.debug.Trace("Updating path width to " .. newWidth) -- Replace this line with the SQL query to update path widths ScalingDBManager._ExecuteQuery("GameDatabase", "UpdatePathWidth", newWidth) end -- Function to listen for keyboard inputs local function onKeyPressed(key) -- Check if the key pressed is "Y" if key == "Y" then -- Change path widths when "Y" is pressed local config = require("config") ScalingDBManager.updatePathWidth(config.pathWidthOnKey) end end -- Record the keyboard event to listen for the "Y" keypress api.events.Add("onKeyPressed", onKeyPressed) -- Initialize the mod local function init() -- Initialize the components needed here api.debug.Trace("PathWidthChanger mod initialized.") end -- Run the initialization init() -- Return the functions needed by other scripts if needed return ScalingDBManager Using Cobra Tool: To get to this point, I used Cobra Tool to decompile the .ovl files of your mod and examine the encapsulated scripts. With this tool, I was able to explore the following files: The .lua scripts needed for the functionality. The manifest.xml file, which allowed me to understand how the mod is loaded into the game. However, although I managed to extract and analyze these files, I am not sure if my current configuration is correct. My current problem: Despite all this, the .ovl file does not seem to generate correctly or be loaded in: C:\Program Files (x86)\Steam\steamapps\common\Planet Coaster 2\Win64\ovldata. I understood that the .lua files should be encapsulated in the .ovl file. However, it seems that: The configuration does not load. The database used in your script escapes me. If you have the time and inclination, could you help me solve this problem or better understand your approach so that I can move forward? Your expertise would be invaluable! Thanks again for your work and attention,oki25660 Otherwise if I can't make the mode with the approach I gave you could maybe make the mode if possible and if you really understand how it works otherwise just give me a clue to be able to move forward on my mode that would be very kind of you Thank you very much
Buenos días. Me gustaría saber si este mod hace que todas las partes del juego que no dejan ampliarlas(hacerlas grandes ) se pueden hacer grandes. O solo es para las que ya el propio juego deja ampliarlas, para hacerlas más grandes. Muchas gracias. Por cierto aún así, un mod genial. Muchas gracias por el mod.
(Had to use a translator to understand your message, bare with me!)
Hey! Currently, it only supports most of the Scalable items (that being those classified as "Non-Grid" and only some of the animatronic pieces). There will be a major update soon that would include all scalable items (even those that weren't accounted for). Thank you for understanding!
Request: No Build Limit Mod for Unlimited ConstructionComment: Hi Modding Community,I’m a huge fan of Planet Coaster 2, and I would absolutely love a mod that removes the building limits in the game. This would allow us to unleash our creativity and design larger parks with more detailed structures without any restrictions.If anyone is interested in creating this, I would be incredibly grateful! It would be an amazing addition to the game for all of us who enjoy limitless design possibilities.Thank you in advance, and I’m looking forward to your responses!
aah, I see what you mean now. There has been works for a 4k x 4k map, but I don't have information for when said mod is ready to be revealed and / or any progress with said mod.
Gracias por contestar tan rápido. Ok lo descargaré y probare. Y estaré esperando la actualización. Porque es uno de los problemas que le veo al juego. Gran trabajo y muchas gracias de nuevo por el mod.ayuda mucho a construir mejor
14 comments
Hi there,First of all, thank you very much for your work. Your mod is really impressive and gave me an idea to create something similar. I was inspired by your mod, and here is where I am.
File structure:
1. main.ovl file:
This file encapsulates the .lua scripts needed for the mod to work. It contains:
config.lua
pathwidthfunctions.lua
2. manifest.xml file:
The manifest file is used to load the mod into the game and declares the files to include.
xml
Copy the code
PathWidthChanger
unique-id-for-pathwidthchanger
1.0
Game
Contents of the files encapsulated in main.ovl:
config.lua file
This file contains the configuration settings of the mod, including the path width values.
lua
Copy code
local config = {}
-- Default path width
config.defaultPathWidth = 4.0 -- Default path width
-- Path width when the "Y" key is pressed
config.pathWidthOnKey = 1.0 -- Alternate path width
return config
pathwidthfunctions.lua file
This file contains the functions needed to:
Change the width of paths depending on a key pressed.
Manage SQL queries to interact with the database.
lua
Copy code
local ScalingDBManager = {}
-- Function to execute a SQL query ScalingDBManager._ExecuteQuery
= function(database, statementName, ...)
local result = nil
api.database.SetReadOnly(database, false)
local tArgs = table.pack(...)
local cPSInstance = api.database.GetPreparedStatementInstance(database, statementName)
if cPSInstance then
if tArgs > 0 then
for i, j in ipairs(tArgs) do
api.database.BindParameter(cPSInstance, i, j)
end
end
api.database.BindComplete(cPSInstance)
api.database.Step(cPSInstance)
local tRows = api.database.GetAllResults(cPSInstance, false)
result = tRows or nil
else
api.debug.Trace("ERROR: Unable to get instance of prepared statement: " .. statementName)
end
api.database.SetReadOnly(database, true)
return result
end
-- Function to update path widths
ScalingDBManager.updatePathWidth = function(newWidth)
api.debug.Trace("Updating path width to " .. newWidth)
-- Replace this line with the SQL query to update path widths
ScalingDBManager._ExecuteQuery("GameDatabase", "UpdatePathWidth", newWidth)
end
-- Function to listen for keyboard inputs
local function onKeyPressed(key)
-- Check if the key pressed is "Y"
if key == "Y" then
-- Change path widths when "Y" is pressed
local config = require("config")
ScalingDBManager.updatePathWidth(config.pathWidthOnKey)
end
end
-- Record the keyboard event to listen for the "Y" keypress
api.events.Add("onKeyPressed", onKeyPressed)
-- Initialize the mod
local function init()
-- Initialize the components needed here
api.debug.Trace("PathWidthChanger mod initialized.")
end
-- Run the initialization
init()
-- Return the functions needed by other scripts if needed
return ScalingDBManager
Using Cobra Tool:
To get to this point, I used Cobra Tool to decompile the .ovl files of your mod and examine the encapsulated scripts. With this tool, I was able to explore the following files:
The .lua scripts needed for the functionality.
The manifest.xml file, which allowed me to understand how the mod is loaded into the game.
However, although I managed to extract and analyze these files, I am not sure if my current configuration is correct.
My current problem:
Despite all this, the .ovl file does not seem to generate correctly or be loaded in:
C:\Program Files (x86)\Steam\steamapps\common\Planet Coaster 2\Win64\ovldata.
I understood that the .lua files should be encapsulated in the .ovl file. However, it seems that:
The configuration does not load.
The database used in your script escapes me.
If you have the time and inclination, could you help me solve this problem or better understand your approach so that I can move forward? Your expertise would be invaluable!
Thanks again for your work and attention,oki25660
Otherwise if I can't make the mode with the approach I gave you could maybe make the mode if possible and if you really understand how it works otherwise just give me a clue to be able to move forward on my mode that would be very kind of you Thank you very much
Hey! Currently, it only supports most of the Scalable items (that being those classified as "Non-Grid" and only some of the animatronic pieces). There will be a major update soon that would include all scalable items (even those that weren't accounted for).
Thank you for understanding!
Hi Modding Community,I’m a huge fan of Planet Coaster 2, and I would absolutely love a mod that removes the building limits in
the game. This would allow us to unleash our creativity and design
larger parks with more detailed structures without any restrictions.If
anyone is interested in creating this, I would be incredibly grateful!
It would be an amazing addition to the game for all of us who enjoy
limitless design possibilities.Thank you in advance, and I’m looking
forward to your responses!
I would like to ask what specific limits of building in Planet Coaster 2 you would want to be "removed".
Right now, gridded items can't be scaled and vice versa unless there's a way to do that we haven't noticed.
Hope this answers your suggestion.
There has been works for a 4k x 4k map, but I don't have information for when said mod is ready to be revealed and / or any progress with said mod.