Difference between revisions of "Basic code scripting"
From XStoryPlayer Wiki
(28 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | All the scripts for the dungeon pack directory can be found in the ./pack/pack_dungeon/init | + | All the scripts for the dungeon pack directory can be found in the <code>./pack/pack_dungeon/init</code> directory. |
===Init sub-directories=== | ===Init sub-directories=== | ||
Line 7: | Line 7: | ||
===Stories sub-directories=== | ===Stories sub-directories=== | ||
− | The /stories/dungeon directory contains the following sub-directories: | + | The /init/stories/dungeon directory contains the following sub-directories: |
* /scenes : Scene settings | * /scenes : Scene settings | ||
Line 17: | Line 17: | ||
* /settings : Settings for custom fastsex menu | * /settings : Settings for custom fastsex menu | ||
− | + | ==Playtime== | |
− | For now we like to play around with some settings/code that are easy to do and have quick visual effect. | + | For now we like to play around with some settings/code that are easy to do and have quick visual effect.<br> |
− | + | We assume you are in the <code>./pack/pack_dungeon/init/stories/dungeon directory</code>. | |
− | We assume you are in the ./pack/pack_dungeon/init/stories/dungeon directory | + | |
− | + | ||
===Changing Saiko character=== | ===Changing Saiko character=== | ||
− | + | <ol> | |
− | Open the /chars/saiko/init.dat file. | + | <li>Make sure there are no save files in the ./save directory</li> |
− | + | <li>Open the /chars/saiko/init.dat file.</li> | |
− | Change the skin color to: | + | <li>Change the skin color to: |
− | + | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
pose | pose | ||
Line 41: | Line 38: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | </li> | ||
+ | <li>Now start XStoryPlayer, select the fastsex dungeon mod, the Saiko character and start it. | ||
+ | Saiko should now appear somewhat silver plastic like.</li> | ||
+ | </ol> | ||
+ | ===Entering dungeon directly=== | ||
+ | <ol> | ||
+ | <li>To be inside the dungeon directly when we enter it we need to make a change to the default entry point for the main player.<br> | ||
+ | Open the /mains/player/init.dat file.</li> | ||
+ | <li>Change the pose to: | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | pose | ||
+ | { | ||
+ | ... | ||
+ | waypoint = "in_wp"; // <<-- Change waypoint | ||
+ | ... | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </li> | ||
+ | <li>Now each tim you enter the dungeon you will be directly inside</li> | ||
+ | </ol> | ||
− | + | ===Changing Saiko hair and cloth=== | |
+ | <ol> | ||
+ | <li>Open the <code>./pack/pack_dungeon/init/std/base/char/char_base.dat'</code> file. In it you will see all the settings that are available for a character.<br> | ||
+ | We will not edit this file because the Saiko character instance is derived from this CHAR_BASE char_object.</li> | ||
+ | <li>Open the /chars/saiko/init.dat file. You will see that at the top it says: <code>char_objecti:CHAR_BASE SAIKO</code>.<br> | ||
+ | This means that the character Saiko instance is derived from the char_object CHAR_BASE. We can override the settings for this character by adding them. | ||
+ | We will do this for the hair and cloth settings in this small tutorial.</li> | ||
+ | <li>Change the saiko/init.dat file settings to: | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | pose | ||
+ | { | ||
+ | ... | ||
+ | skin_color = (240,300,300,255); | ||
+ | skin_spec_shiny = 2.0; | ||
+ | skin_spec_power = 100.0; | ||
− | |||
+ | // Add these lines \/\/\/ | ||
− | == | + | hair_tex = "#"; |
+ | hair_color = (500,1200,1200,255); // <<-- Because texture color is dark and we keep using hair texture we need to have high values for hair color | ||
+ | hair_spec_shiny = 2.0; | ||
+ | hair_spec_power = 100.0; | ||
− | + | cloth_tex[0] = ""; // <<-- Do not use cloth texture # means use standard cloth texture in model | |
+ | cloth_color[0] = (180,150,150,64); // <<-- Color of cloth (red,green,blue,alpha). By settings alpha to 64 it is transparent. | ||
+ | cloth_spec_shiny[0] = 2.0; | ||
+ | cloth_spec_power[0] = 100.0; | ||
+ | |||
+ | cloth_tex[1] = ""; | ||
+ | cloth_color[1] = (180,150,150,64); | ||
+ | cloth_spec_shiny[1] = 2.0; | ||
+ | cloth_spec_power[1] = 100.0; | ||
+ | |||
+ | cloth_tex[2] = ""; | ||
+ | cloth_color[2] = (180,150,150,64); | ||
+ | cloth_spec_shiny[2] = 2.0; | ||
+ | cloth_spec_power[2] = 100.0; | ||
− | + | shoes_tex = ""; | |
+ | shoes_color = (165,150,150,255); | ||
+ | shoes_spec_shiny = 2.0; | ||
+ | shoes_spec_power = 100.0; | ||
− | <syntaxhighlight | + | // Add these lines /\/\/\ |
+ | ... | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </li> | ||
+ | <li>Now start XStoryPlayer, select the fastsex dungeon mod, the Saiko character and start it. | ||
+ | Saiko should have brown transparent cloth, matching shoes and green hair.</li> | ||
+ | </ol> | ||
+ | ===Changing scene color=== | ||
+ | <ol> | ||
+ | <li>Open the /scenes/dungeon1.dat file. It contains the settings for the dungeon scene.</li> | ||
+ | <li>Change the light object to: | ||
+ | <syntaxhighlight lang="cpp"> | ||
data | data | ||
{ | { | ||
... | ... | ||
− | light_ambient = (0. | + | light_ambient = (0.125,0.25,0.125,1); // <<-- Change this to make the global ambient light greenish |
... | ... | ||
} | } | ||
Line 69: | Line 131: | ||
ambient = (0.75,0.75,0.75,0); // This is how much diffuse light is added to the scene by this light | ambient = (0.75,0.75,0.75,0); // This is how much diffuse light is added to the scene by this light | ||
− | color = ( | + | color = (0.85,1,0.85,1); // <<-- Add this to change the color of this light to greenish glow |
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | </li> | |
− | + | <li>Now start XStoryPlayer, select the fastsex dungeon mod and start it. | |
− | Now start XStoryPlayer, select the fastsex dungeon mod and start it. | + | The scene has now an greenish glow applied to it.</li> |
− | + | </ol> | |
− | The scene has now an | + | |
− | + | ||
===Changing object size=== | ===Changing object size=== | ||
− | Open the /scenes/dungeon1.dat file. | + | <ol> |
− | + | <li>Open the /scenes/dungeon1.dat file.</li> | |
− | Change the | + | <li> |
− | + | Change the PSCREEN1 tv object to: | |
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
− | |||
tv_objecti:PSCREEN PSCREEN1 | tv_objecti:PSCREEN PSCREEN1 | ||
{ | { | ||
Line 97: | Line 156: | ||
channels {file = "VIDEO_PATH/*.*";} | channels {file = "VIDEO_PATH/*.*";} | ||
− | scale = ( | + | scale = (3,1,3); // <<-- Add this to resize projection screen |
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | </li> | ||
+ | <li>Now start XStoryPlayer, select the fastsex dungeon mod and start it. | ||
+ | The projection screen is now very wide.</li> | ||
+ | </ol> | ||
− | + | ===Resume=== | |
− | + | You now have taken a small peek inside scripting. There is a lot of code contained within the /init directory but don't let that scare you off, as you have seen it is also easy to get results fast.<br> | |
− | + | You can now proceed with the [[Changing textures]] tutorial. | |
− | + |
Latest revision as of 14:29, 7 January 2015
All the scripts for the dungeon pack directory can be found in the ./pack/pack_dungeon/init
directory.
Contents
Init sub-directories
The /init directory contains the following sub-directories:
- /std : These files are the same for all stories (like .dll files in windows)
- /stories : These files are story specific.
Stories sub-directories
The /init/stories/dungeon directory contains the following sub-directories:
- /scenes : Scene settings
- /chars : Character code
- /mains : Main player code
- /objects : Object settings
- /lib : Defines used in code
- /gamestate : Global gamestate
- /settings : Settings for custom fastsex menu
Playtime
For now we like to play around with some settings/code that are easy to do and have quick visual effect.
We assume you are in the ./pack/pack_dungeon/init/stories/dungeon directory
.
Changing Saiko character
- Make sure there are no save files in the ./save directory
- Open the /chars/saiko/init.dat file.
- Change the skin color to:
pose { ... skin_color = (240,300,300,255); // <<-- Bright silver skin_spec_shiny = 2.0; // <<-- Very shiny skin_spec_power = 100.0; // <<-- Sharp shiny ... }
- Now start XStoryPlayer, select the fastsex dungeon mod, the Saiko character and start it. Saiko should now appear somewhat silver plastic like.
Entering dungeon directly
- To be inside the dungeon directly when we enter it we need to make a change to the default entry point for the main player.
Open the /mains/player/init.dat file. - Change the pose to:
pose { ... waypoint = "in_wp"; // <<-- Change waypoint ... }
- Now each tim you enter the dungeon you will be directly inside
Changing Saiko hair and cloth
- Open the
./pack/pack_dungeon/init/std/base/char/char_base.dat'
file. In it you will see all the settings that are available for a character.
We will not edit this file because the Saiko character instance is derived from this CHAR_BASE char_object. - Open the /chars/saiko/init.dat file. You will see that at the top it says:
char_objecti:CHAR_BASE SAIKO
.
This means that the character Saiko instance is derived from the char_object CHAR_BASE. We can override the settings for this character by adding them. We will do this for the hair and cloth settings in this small tutorial. - Change the saiko/init.dat file settings to:
pose { ... skin_color = (240,300,300,255); skin_spec_shiny = 2.0; skin_spec_power = 100.0; // Add these lines \/\/\/ hair_tex = "#"; hair_color = (500,1200,1200,255); // <<-- Because texture color is dark and we keep using hair texture we need to have high values for hair color hair_spec_shiny = 2.0; hair_spec_power = 100.0; cloth_tex[0] = ""; // <<-- Do not use cloth texture # means use standard cloth texture in model cloth_color[0] = (180,150,150,64); // <<-- Color of cloth (red,green,blue,alpha). By settings alpha to 64 it is transparent. cloth_spec_shiny[0] = 2.0; cloth_spec_power[0] = 100.0; cloth_tex[1] = ""; cloth_color[1] = (180,150,150,64); cloth_spec_shiny[1] = 2.0; cloth_spec_power[1] = 100.0; cloth_tex[2] = ""; cloth_color[2] = (180,150,150,64); cloth_spec_shiny[2] = 2.0; cloth_spec_power[2] = 100.0; shoes_tex = ""; shoes_color = (165,150,150,255); shoes_spec_shiny = 2.0; shoes_spec_power = 100.0; // Add these lines /\/\/\ ... }
- Now start XStoryPlayer, select the fastsex dungeon mod, the Saiko character and start it. Saiko should have brown transparent cloth, matching shoes and green hair.
Changing scene color
- Open the /scenes/dungeon1.dat file. It contains the settings for the dungeon scene.
- Change the light object to:
data { ... light_ambient = (0.125,0.25,0.125,1); // <<-- Change this to make the global ambient light greenish ... } light_objecti:LIGHT LIGHT1 { group = 0; ambient = (0.75,0.75,0.75,0); // This is how much diffuse light is added to the scene by this light color = (0.85,1,0.85,1); // <<-- Add this to change the color of this light to greenish glow }
- Now start XStoryPlayer, select the fastsex dungeon mod and start it. The scene has now an greenish glow applied to it.
Changing object size
- Open the /scenes/dungeon1.dat file.
-
Change the PSCREEN1 tv object to:
tv_objecti:PSCREEN PSCREEN1 { obj_name = "pscreen:pscreen"; enabled = true; channel = 1; channels {file = "VIDEO_PATH/*.*";} scale = (3,1,3); // <<-- Add this to resize projection screen }
- Now start XStoryPlayer, select the fastsex dungeon mod and start it. The projection screen is now very wide.
Resume
You now have taken a small peek inside scripting. There is a lot of code contained within the /init directory but don't let that scare you off, as you have seen it is also easy to get results fast.
You can now proceed with the Changing textures tutorial.