Quote: "you must script it right:"
Your script is also incorrect. You do not need the ",state=0" at the end, since you are already in "state=0".
Quote: "also how about making a command that allow us to change the skybox."
You
can change the skybox, but only per level (info
here). It does not work changing it in game unless something new had changed in the source. When the level loads, it reads the "loadinglevel.fpi" and then the "setuplevel.fpi" where the skybox is defined. The engine places the box and then applies the texture to it, giving you the skybox.
For example, in my "setuplevel.fpi", I have a desert sky defined. If I place a trigger using the script example you used above and as soon as I enter the level, the "natural\Pln" skybox shows. I never reach the trigger to trigger the change, and I won't. It is a process that is done before you enter the level.
So if you have a skybox specified in your "setuplevel.fpi" and have a trigger anywhere in the level where the script calls a skybox, the skybox specified in the trigger script will be the one used when you enter the level.
There's no problem that can't be solved without applying a little scripting.