Announcement

Collapse
No announcement yet.

VN Game engine for Studio/NEO/PlayHome/CharaStudio (upd 27-12-2018 - v10.0)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Utilities] VN Game engine for Studio/NEO/PlayHome/CharaStudio (upd 27-12-2018 - v10.0)

    A plugin for making... may be VN-like-games in Studio / Studio NEO / PlayHome Studio / CharaStudio (Koikatsu).
    (Also a lot of utilities to manipulate camera and scene)

    Why?
    Imagine that you have a number of scenes in Studio / NEO, with one storyline. Or multi story-lines with choices. Or just a scene with some cameras to move between them. Or scene you want manipulate by buttons.
    With this plugin you can made a small vn game, where you can navigate between scenes, or cameras, or changing a scene to tell your story.

    It's heavily based on HS Console (http://uqw88.com/forum/forum/...ed-19-mar-2017), so be careful, if you have it. (Also, great thanks to TheHologram for made it)

    Ready games and utils for VN Game Engine (separate thread)

    Features

    All engines (Studio, NEO, CharaStudio from Koikatsu):
    For users:
    - Play games
    - Navigating using mouse or keyboard (Z,X,C,V,B keyboard buttons)
    - Autotranslating (using XUnity.AutoTranslator) for game texts to your own language (unstable and ugly, but it works)
    - Automaking list of all games for startup
    - Includes several games in distro:
    Spoiler

    - Simple demo - small school story for 3-5 minutes (for Studio/NEO/PlayHome/CharaStudio)
    - VNSceneScript / Demos / Simple demo - another small school story for 3-5 minutes (for NEO/PlayHome/CharaStudio)
    - Ruris dream - small intro about sleeping girl (for Old Studio)
    - Laboratory Girl - a laboratory girl story. 5-10 minutes (for CharaStudio)
    - VNSceneScript / Demos / Hot Story - 3-5 minutes story about girls on hot springs (for CharaStudio)
    - VNFrame Tutorial - interactive tutorial for making stories (for NEO/PlayHome/CharaStudio)
    - Techdemo - technical features demo - animated cameras, switching animations, etc. (for Studio/NEO/PlayHome/CharaStudio)

    For scene creators
    - A set of utils for mass replace characters, move/rotate/scale using buttons, add a tree of items etc.
    - Utils for making set of animations (see VNFrame - it evaluate difference bitween scenes and interpolate from one to another)
    For developers
    - show text from different charactes, making choices using buttons, programming game logic using Python
    - loading scene
    - switching between in-scene cameras
    - animate between in-scene cameras
    - loading animation for characters
    - manipulating characters (varies from engine to engine)
    - Utils: setting timers, move to start screen using Ctrl+F3, hiding main text screen using Ctrl+F8, zoom_in, zoom_out animated functions
    - Fake lip sync (since 7.5)
    - Includes several frameworks to make a games and stories (needed for developers):
    Spoiler

    VN Scene Script
    Provides a way to script your story just inside scene editor (by naming the folders)
    Simple and target for beginners. Easily adapts to existed scenes, where story is telled by switching camera from 1 to 10.
    An examples included in core
    Documentation and so on
    Why do you need VNSceneScript? (is under spoiler)
    Spoiler

    If you try VN Game Engine, you understand, that usually you need these resources to make a game:
    - 1 or more scene files - to show graphics )
    - PY (Python script) to save texts, make choices, etc.
    If you want to share your creation, you, of course, need to pack PY, Scenes etc.

    It's a correct way, but it's too long - especially, if you need some simple game in 1 scene and with 1 button "Next >>" (so 1-lined stories also usually called "kinetic novels")

    So, VN Scene Script is a way for not saving texts and game actions in PY file - but, instead of, save it in NAMES of folders in Scene Editor.
    As a result of using VN Scene Script, you don't need PY file - only scene PNG file, that you can share in usual way (or use it in game itself like completed story element - like introduction, one of finales etc. - because we have game functions to show entire VN Scene Script file)

    Of course, saved elements need an interpreter to show the story - and this interpreter is already included in engine. It runs by F7 button (full mode) and F8 (just view).

    So about this approach,
    Pros:
    - compact saving - only PNG file needed. No name handling etc.
    - simple edit just in scene editor. No need for Python knowledge (instead, you must learn several commands of VN Script language)
    - classic Python script has a problem with non-latin chars in PlayHome and CharaStudio. If you work inside editor in VN Scene Script approach, you can show any text, because it loads from folder names, not from PY files.
    - simple working for in-game resources (show/hide elements)
    - you can construct game even in visual mode in touch with VNFrame - see this post: http://uqw88.com/forum/forum/...42#post6224742 for start tutorials

    Cons:
    - one scene - one logic. For several scenes you must use PY file.
    - almost impossible to construct complex logic (several choices etc.)
    - restricted set of scene actions (can be solved by VN Scene Script extensions)

    So, if you want to start making text captions to your scene - it's a good choice. If you want to do more, you can always combine this approach to classic PY code.


    VNActor-VNProp (from countd360)
    Classes that provide functions to manipulate characters and items/folders in NEO-based engines (NEO/PlayHome/CharaStudio)
    You must just mark one or several objects or chars on scene to manipulate it in code.
    Suits, if you want to make one or several changes to concrete character or object.
    (Exampls will be provided in future, now see Laboratory Girl example and core functions scenef_register_actorsprops (for registering actors and properties)
    scenef_get_all_props, scenef_get_all_actors, scenef_get_prop, scenef_get_actor functions)


    VNFrame (from countd360)
    High-quality framework to make an anime-styled movies or kinetic visual novels (for NEO/PlayHome/CharaStudio, but mostly for CharaStudio)
    Provides an utility called "script_helper" to calculate the difference between to scene states and packed it to code (to smoothly animate between them)
    Use it if you want to made a lot of animation inside scene
    There are high-quality demo Laboratory Girl and tutorial for using framework (included in 8.5)
    (this framework is supported by countd360, so all questions is up to him)

    Ruris dream (from @Kningets)
    Framework for Studio (classic).
    Provide the original idea to VNFrame framework.
    Examples include in core.
    Doesn't contain script_helper, so you must calculate the changes in scene manually. Also used in Ruri's Adventure (see in Games section)
    Use it if you want a lot of animation using Studio classic
    Keyboard shorcuts (editable in INI file):
    Spoiler
    - Ctrl+F8 - show/hide main window
    - Ctrl+F3 - return to title screen
    - Ctrl+F4 - dump camera state (saved in dumppython.txt)
    - Ctrl+F5 - dump scene state (saved in dumppython.txt)
    - Ctrl+F6 - print list of scene characters in console





    How to install and use?

    You'll need IPA for Studio/NEO/PlayHome, or Bepis for CharaStudio.

    - download and unzip
    - run Studio / NEO and see throw demos

    Screenshot of correct installation:
    Spoiler
    Click image for larger version  Name:	scr_inst_corr.jpg Views:	3 Size:	140.5 KB ID:	6191980































    Typical troubles during installation:
    Main screen appears on Studio loading and disappears after load complete (see under spoiler)
    Spoiler

    It happens because default installation expects, that Studio will startup quickly.
    If it load slowly, you must correct the time, when Console starts. (Sorry, but you can't restore main VN Game engine screen later, if it disappears on loading screen)

    1. See Console.ini and find string like StartDelay=8000
    2. Set bigger delay, like StartDelay=16000
    (this will wait 16 seconds before start)

    For NEO users I also highly recommends HSUS plugin, it efficiently decrease startup time, from 60-90 to 4-5 seconds on my machine ( http://uqw88.com/forum/forum/...06-08-2018-206 )

    Also screenshots:
    Spoiler

    This is correct installation:
    Click image for larger version  Name:	scr_inst_corr.jpg Views:	3 Size:	140.5 KB ID:	6191978






























    And this is incorrect:
    Click image for larger version  Name:	scr_inst_incorr.jpg Views:	2 Size:	144.0 KB ID:	6191979


































    CharaStudio: console loads and just disappeared
    Spoiler

    Reason: some plugin blocked HS Console
    Solution: find conflicting plugin.
    I have a report, that configurationmanager.dll from some versions conflicts with HS Console, so try disable it.



    - demos can be find in Plugins/Console/Lib - all commented and detailed described
    -- maingamedemo.py - for main demo (example VN game)
    -- simplegamedemoadv.py - for simple demo, where we get only one button (Next >) and only loading scenes (example VN game)
    -- techdemo.py - for technical features demo

    - scenes for Studio located in UserData/Studio/game_subfolder (for NEO - in UserData/studioneo/scene/game_subfolder)

    - to place your game in game list:
    Spoiler

    just set first line for your .py file as
    #vngame;<engine_name>;<game_name>

    Examples:
    for Studio -
    #vngame;studio;My Cool Game
    for NEO -
    #vngame;neo;My Cool Game
    for CharaStudio -
    #vngame;charastudio;My Cool Game
    for PlayHome Studio -
    #vngame;phstudio;My Cool Game

    (old description for version under 5.0 - how to add your buttons to game under spoiler)
    Spoiler

    -change Plugins/Console/Console.ini startup script at end.
    for example, if your game is in file mycoolgame.py, so print:
    >>import mycoolgame
    >>vngameengine.vngame_window_studio(["Start My Cool Game >"], [mycoolgame.start])
    or for NEO:
    >>vngameengine.vngame_window_neo(["Start My Cool Game >"], [mycoolgame.start])


    - game engine located in vngameengine.py, but you don't need it normally

    Recommendations and troubleshooting

    During game made, please, try to use usual (non-moded) clothes and objects - so, if you want to distribute it, other players will have all needed files.

    If you have some troubles in NEO (NEO loads slow) - see under cur

    Spoiler
    ***** Using in NEO
    Since v5.0 - the same as other engines.

    (If your NEO starts slowly, and game engine window disappear after loading try this:
    - rename Plugins/Console/ConsoleNEO.ini to Plugins/Console/Console.ini (default Console.ini is target for Studio)
    - after starting NEO (we don't know, how much time it will be on you computer) press Ctrl+Backquote to show console and auto run startup script)

    I also recommend to use HideUI plugin for NEO - for hide all UI during gameplay


    Sharing your works

    If you want, you can share your results in this theme: http://uqw88.com/forum/forum/...ames-and-utils
    Please, provide in ZIP
    - your game.py in Plugins/Console/Lib (no need for additional scripts)
    - necessary scenes in UserData/Studio/game_subfolder

    Good luck, have fun

    Download

    v10.0 for Honey Select Studio/NEO
    Link: http://mega.nz/#!FrZViIoR
    Key: Baz8SYReLCaV18cPwuouBD4AHzRg1n7Itr6XSu7Y_CY

    v10.0 for Koikatsu CharaStudio:
    Link: http://mega.nz/#!UiRH1KKT
    Key: FS6ZqIit7ccuwR4PTjw0-RI9F1o2jcv0nN3D6ctLeFA

    (Warning: installing HF Patch remove UTF-8 dll libraries from CharaStudio_Data/Managed.
    If you experience problems (some games don't run) - please, reinstall v10.0 afte HF Patch. Or just copy DLL files from installation to CharaStudio_Data/Managed)

    v10.0 for PlayHome Studio:
    Link: http://mega.nz/#!UyBXRILS
    Key: NGs0mwSh-37MlkSP64FxesBOaPKu1PE7LP5eVDR9BHs

    (for Koikatsu CharaStudio users - how to update to latest minor version)
    Spoiler

    Sorry, have no time to support several releases. So, CharaStudio users will have only MAJOR releases, minor you must made by yourself

    How to update to latest minor version:
    1. Download latest major release for Koikatsu and install it:
    2. Download latest minor release for Studio/NEO from this thread and NOT install it
    3. Copy the latest version of files in Lib to BepInEx/Console/Lib, replacing old one

    (description for VN Game engine for CharaStudio here: http://uqw88.com/forum/forum/hentai-lair/hf-modding-translation/5990340-illusion-koikatu-koikatsu-コイカツ!-mods-no-discussion-allowed?p=6034645#post6034645)

    (for PlayHome Studio users - how to update to latest minor version)
    Spoiler

    Sorry, have no time to support several releases. So, PlayHome users will have only MAJOR releases, minor you must made by yourself

    How to update to latest minor version:
    1. Download latest major release for PlayHome and install it:
    2. Download latest minor release for Studio/NEO from this thread and NOT install it
    3. Copy the latest version of files in Lib to Plugins/Console/Lib, replacing old one

    PS: Sorry, PlayHome is not in my main interest. So, PlayHome version can contain bugs and updates non-frequently.

    Short changelog (only main versions)
    Spoiler

    1.0 - supports Studio
    2.0 - supports NEO
    3.0 - supports CharaStudio
    4.0 - animated cameras
    5.0 - full supports NEO+CharaStudio, automaking game list, params in INI file
    6.0 - VNSceneScript appears
    7.0 - supports PlayHome Studio
    8.0 - VNSceneScript 2.0 (simplified playing), first VNFrame support (handling state changes) for all engines
    8.5 - full VNFrame release and help (full scene state handling for NEO-engines)
    9.0 - skin support, SimpleNovelManager added
    10.0 - full UTF-8 support on all engines


    Old versions and full changelog
    Spoiler

    Old versions
    v1.0: - only for Studio
    Link: http://mega.nz/#!Y7pSjZwA
    Key: !TDq-6WxzHBcN66wNc_ng865uKVzAS3kUUgWD3paFx5U
    v2.0: - support Studio and NEO, keyboard navigation and camera changes
    Link: http://mega.nz/#!A7hiBAZQ
    Key: !sB9aaJ-8_3NQUxY0Kh3oGSHqipZWLdyHAUkMSMuX4-I
    v2.1: - support animation in-scene changes in Studio
    Link: http://mega.nz/#!17IX0T7K
    Key: !U51hmxkAXdukZBaV7IJkCDf-rOYn66geV0nQK-i2X5k
    v3.1:
    Link: http://mega.nz/#!VuBAHK5Q
    Key: !bmvmQv9egkfgbxTiHMz-moRnpnMXKWbJAbUVrozgkeo
    v4.0:
    Link: http://mega.nz/#!JyRBlaDI
    Key: !DKRXEfTm4e8hE9JhN5oURfm6SsIyPd7WIDlJfP_0uY8
    v5.0:
    Link: http://mega.nz/#!FrpwDC7T
    Key: !Cn48GHEjh5jMdkOV9YkpJMZtiHDErg8xWetGLJQZ6Xc

    v6.0 for Studio/NEO
    Link: http://mega.nz/#!N75REYxS
    Key: !gP9f0bRtYQ5nupVEg0zHkHCaKhhkaj8WIv9vEZJPqdc

    Folder with other versions (since 6.0):
    Link: http://mega.nz/#F!t25CDITL
    Key: !Nwi9e3CA9YabdUm5U5ll5g

    Changelog:
    2.0
    - added NEO support, some refactor
    2.1
    - for Studio - added change_female_num_animation and change_male_num_animation
    3.0
    - added CharaStudio support (Koikatsu game)
    - added updFunc param for call on latest update
    - due to updFunc feature also added "Loading scene..." feature during scene loading for all engines. See "load_scene" function for example
    3.1
    - Studio: self.isDevDumpButtons removed, for dump camera use Ctrl+F4, dump scene - Ctrl + F5
    - All engines: set_timer function available. Example in maingameunstablefeatures
    - All: functions anim_sim_zoom_in and anim_sim_zoom_out available. Example in maingamedemo
    - All: return to main screen using Ctrl+F2
    - Studio: anim_to_camera_num and anim_to_camera funcs available. They are for animation move between cameras.
    Latest param is animation style - linear,slow-fast,fast-slow,slow-fast3,fast-slow3,slow-fast4,fast-slow4
    - Studio: added high quality demo for manipulating chars - Ruris Dream by Kningets
    4.0
    - NEO,CharaStudio: dump camera using Ctrl+F4, move_camera func available
    - NEO,CharaStudio: anim_to_camera, anim_to_camera_num funcs available
    - NEO,CharaStudio: changed to_camera function to more correct code
    - NEO,CharaStudio: internal changes - common code moved to VNNeoController
    - All: game.isHideWindowDuringCameraAnimation option for hide game window during camera animation
    - All: function on end camera movement can be defined
    - All: funcs show_blocking_message, show_blocking_message_time, hide_blocking_message available. Used during dump camera or scene
    - All: return to main screen switched to Ctrl+F3
    - All: params can be passed in Buttons actions - if it is tuple.
    Example: game.set_buttons(["Simple examples", "Advanced examples"], [simple_tests, (adv_tests, "Advanced examples as param")])
    def adv_tests(game, param):
    - Studio: specific code moved to vngameenginestudio.py
    - NEO,CharaStudio: manipulating characters functions + dumping scene (Ctrl+F5):
    -- save position, rotation, scale for chars
    -- save animation state for chars
    - NEO,CharaStudio: new advanced cool camera moves:
    -- try game.anim_to_camera_num(3, param, {'style':"linear",'zooming_in_target_camera':6}) # cool camera move with zoom-out - zoom-in
    -- try game.anim_to_camera_num(5, 0, {'style':"linear",'add_distance_target_camera':-0.2}) # this is example of slow zoom out - 5 seconds, -0.2 camera distance from 0 - current camera
    - All: menus features - see examples in techdemo
    - All: use Ctrl+F6 to print list of scene chars in Console
    5.0
    - NEO,CharaStudio: buttons works with mouse clicking
    - All: function to set background to arbitrary PNG-file - use game.scene_set_bg_png(filepng) (filepng must be in all scenes game folder)
    - All: unified code for camera animation and targeting
    - All: techdemo - new cool options and demos for camera movement
    - All: set_buttons_alt function - example:
    game.set_buttons_alt([ # set_buttons_alt receive 1 array intermediately placed Text and Functions
    "Text test", toText,
    "Timer test(15 seconds)", toTimer,
    "System message", toSysMsg
    ])
    - All: game autoprocess large number of buttons, splitting it by pages by game.maxBtnsBeforeSeparator items.
    By default game.maxBtnsBeforeSeparator = 5, so max 5 buttons on page.
    See example in techdemo / Simple examples - how 10 buttons in a row processed.
    So, you don't need to manually split buttons/actions by pages - game do it by itself
    - All: automaking list of available games
    first line of your game must be
    #vngame;<engine_name>;<game_name>
    Engine names are: studio, neo, charastudio (also "all" in case of your game is engine-independent - like in examples)
    As an example:
    #vngame;studio;Ruri Adventure
    - All: autoreloading game during the next run (after Ctrl+F3) - so, you can change it and reload without reloading Studio
    - All: autochoose the correct engine (no switch between Studio/NEO/Chara) using vngame_window_autogames_uni() call in Console.ini
    Also, no annoying windows in games itself
    - All: support for AutoTranslation of game texts using XUnity.AutoTranslator. So, you can see the game texts on your own language!
    Detailed desc in AutoTranslation_desc.txt
    - All: some options - keys for buttons, show/hide, reset and auto-translations are located in vngameengine.ini file. Edit it carefully!
    6.0
    - All: INI can be configured to run games by hotkeys
    Hint for developers: game code will be reloaded by hotkey run, so it extremely useful for debugging
    - All: INI key shortcut for hot reload of full vngameengine.py
    - All: INI option for start at hidden mode
    - All: Developer console instead of direct dump calls. Enabled by Ctrl+F4 (config in INI)
    - Chara: known BUG: temporary return to_camera function to simulating key presses.
    Due to unknown reason we are not always setting camera at correct position by num by classic code.
    - All: INI option to disable keyboard shortcuts for buttons
    - NEO, CharaStudio: VNSceneScript engine released!!!
    VN Scene Script is a framework/script for running stories, written in folder names just in scene files.
    So, in simplest cases you don't need PY scripts at all - just scene.png file
    - NEO, Chara: added functions to run VNSceneScript scenes as intro with returning to main game
    function: vnscenescript_run_filescene(file,onEnd)
    see example in techdemo
    - CharaStudio: functions to get and set frames for scene
    scene_set_framefile and scene_get_framefile (see in techdemo)
    - All: optimization: autogames feature scan only .py files
    6.5
    - Neo,Char: fixed bug in HSNeoOCIChar.animate function
    - Neo,Chara: HSNeoOCI has property visible_treenode to manipulate treenode
    - also set_parent function
    - All: set_timer allows you to pass tuple as onTimerEnd function
    - Neo,Chara: HSNeoOCIFolder class available, added to techdemo
    - Neo,Chara: lots of properties for HSNeoOCIChar - look eyes etc.
    - All: set_buttons(_,_,"compact") for place buttons compact (up to 8) on screen
    - Neo,Chara: HSNeoOCIFolder has static functions add, find_all, find_single, find_all_startswith, find_single_startswith
    - Neo,Chara: Added dummyneoclasses.py file to get dummy classes for Studio internals.
    - Neo,Chara: HSNeoOCIChar contains much new functions
    - VNSceneScript updated to 1.1:
    -- Added Developer utils - button to add typical header
    -- Devutil: save action with current camera in debug mode
    -- Devutil: can add dummy texts on default cameras
    -- Devutil: sync with file vnscene_sync.txt (you can load commands from external text file, not write it in Studio!)
    7.0
    !! ready for PlayHome - engine, demos etc.
    !! (Main was tagged set of NEO-engines - NEO, PlayHomeStudio, CharaStudio)
    - All: error handling for incorrect menu calls
    - Main: functions for manipualate backgrounds - see techdemo
    - All: param game.isHideGameButtons - for temporarily hiding the buttons
    - All: adapted set_timer and clear_timer functions (thanks countd360)
    - All: auto stop camera animation during set new camera animation (thanks countd360)
    - All: added game.onSetTextCallback param - if you want to made some auto-actions during set_text call (needed for framework authors)
    - Studio: fixed a bug with camera animation and reset
    - Main: game.onDumpSceneOverride param - set it for your own dump scene script
    - VNSceneScript 1.2
    -- Cleanup after finishing game (for fast garbage collection and increased performance)
    -- Dutil: added function dutil_syncwithfile_full
    7.5
    - Main: HSNeoOCIItem added to manipulate items
    - Main: functions scene_get_all_items, scene_get_all_folders
    - Main: functions HSNeoOCIChar.add_female(path), HSNeoOCIItem.add_item(no)
    - Main: functions HSNeoOCIFolder - rot, pos set/get
    - Main: global functions dump_selected_item_tree() and load_item_tree(obj,parentItemTreeObj) for saving item tree and load it
    - Main: dev console - ability to dump selected item tree
    - All: define your own custom buttons interface when you need - colorize, labels, etc - all Unity abilities
    use game.set_buttons_alt([],("function", custFunctionGUI)) for this - example in techdemo
    - Main: HSNeoOCIChar.as_actor property - return Actor from countd360 framework
    - Main: include vnactor.py - Actor class from countd360 (thanks!)
    Actor allows to manipulate chara in different ways. It was developed for CharaStudio, but usable in NEO too.
    - All: try to clearing game data after returning to main screen
    (Please, save your game information in game.gdata property - it will be cleared automatically)
    - Main: integrated Actor and Props framework. New functions available:
    scenef_register_actorsprops (for registering actors and properties)
    scenef_get_all_props, scenef_get_all_actors, scenef_get_prop, scenef_get_actor
    - Main: integrated fake lip sync (thanks countd360). Example can be found in all demos - it's modified Simple game demo
    v7.6
    - All: call_game_func achieved calls like [func] and ([func] param). This calls don't pass game params to func
    - All: key shortcut for restart current game - F10 (INI)
    - All: key shortcut for run VNFrame developer console - Ctrl+F5 (INI)
    - Main: dump camera bug fixed
    - Main: dump scene bug fixed (on non-latin chars) (i hope)
    - Main: lip sync moved to vngelipsync,
    - Main: lip sync - you can define engine for lip sync! set self.fAutoLipSyncVer = "v10" or self.fAutoLipSyncVer = "v11"
    - Main: VNActor updated to 1.1
    7.7
    - All: get_engine_id() function return name of engine
    - VNActor and VNFrame v1.2.1 - more powerful functions, more simple code, script_helper to made an animations
    (script_helper mostly support only CharaStudio at now) (great thanks to @countd360)
    - VNSceneScript 1.5:
    -- Dev: some useful buttons
    -- A action: return no more than 3 params. Third param can contain : symbols (needed for vnframe ext)
    - VNSceneScript: vnframe10 extension. This extension provide a way to use VNFrame functions inside VNSceneScript!
    -- So, you can change almost whatever from VNSceneScript - blush, movement, cloth, juice etc. and also animate some props!
    8.0
    (sorry, no tutorials for new features, please, wait for next versions)
    - Main: dev console button "VNFrame scene dump"
    - Main: functions scenef_clean_actorsprops, scenef_get_propf (return Prop)
    - All: event system - allows your code "listen" to some events in system
    -- functions event_dispatch, event_reg_listener, event_unreg_listener
    -- example is in techdemo
    -- available system events:
    set_text - on set_text call
    update - on every update (please, use it wisely, it calls frequently)
    before_scene_load (calls only during system load_scene call)
    before_scene_unload (calls only during system load_scene or reset calls)
    - listeners auto-clean during return to main screen (end game and cleaning functions)
    - All: game.scenedata var
    Please, use this var for save scene-specific data - links for objects etc.
    game.scenedata autocleans during scene unload
    - VNFrame and VNActor updated to 1.2.3 - support for NEO and PlayHome, but on limited properties
    limitations for NEO, PlayHome: no FK/IK support, no cloth/accessory changes, no juice handling.
    almost all other supported (pos, rotate, scale, visible, face and neck states)
    aditional limitation for PlayHome: not all face states
    VNFrame contains hack for run VNSceneScript_helper
    - VNSceneScript 2.0
    !! acode construction
    - dev utils for new version
    - version is saved in game.scenedata.scVer
    - internal vars moved to game.scenedata to correct cleaning
    !! "nul" action - do nothing
    - in text actions - "\n" replaces to \n
    !! "txtf" action - show text as third param, can contain ":" symbols;
    example :a:1:txtf:s::Some text with : symbol
    - flipsync10 extension to start engine fake lip sync
    -- VNSceneScript_helper for VNFrame (file vnframe_vnscenescripthelper)
    - provides a fast way for making states in Studio interface
    - support NEO, PlayHome, CharaStudio
    8.1
    - VNActor and VNFrame v2.0 - full support for NEO and PlayHome (thanks to @countd360)
    (and also a lot of other features in them, waiting for tutorials)
    - Mains: changed scenef_register_actorsprops, scenef_get_propf for correct work with Actor 2.0
    - HSNeoOCIChar: changed as_actor for correct work with Actor2.0
    8.2
    - NEO: removed unused reference clr.AddReference('UnityEngine.UI.Translation') from console.ini
    - VNFrame docs added (see folder VNFrame docs)
    - VNFrame_VNSceneScript: added option "EXCLUDE FK&IK&Voice". Option allow remove this options from full/diff dump (if you want minify it).
    - techdemo: added example for using VNActor
    - VNFrame and VNActor updated to 2.1
    - VNSceneScript 2.1
    -- Devutil: sync with files acode, sync
    -- Devutil: template for v20
    -- Devutil: colorizing buttons
    8.5
    - Main: added VNFrame Tutorial for all engines! (thanks @countd360)
    - All: INI - up to 10 games run using keyboard shortcuts
    - Main: sync_h function for syncronizing female and male animation
    - VNSceneScript updated to 2.2
    -- Devutil: added extension vnframe11
    -- Devutil: added extension gagency01
    - Main: VNFrame and VNActor updated to 2.2
    - Chara: finally included Laboratory Girl high-quality demo (thanks @countd360)
    8.6
    - All: gpersdata set of functions. Allows you to auto save/load game data.
    gpersdata_load(), gpersdata_save(), gpersdata_set(param,val), gpersdata_get(param)
    Examples are in techdemo / Simple Examples
    - All: checkpoints set of functions. Allows you to make galleries, game checkpoints etc.
    Examples in All Demos / Main Demo with checkpoints
    - VNActor and VNFrame updated to 2.3
    - Mains: fixed small bug in scenef_register_actorsprops()
    8.7
    - VNActor and VNFrame updated to 2.3.2
    # - allow call "game_func" to run game functions
    # example: {'game_func': [(sup_print, "1"), (sup_print, "2")]} or {'game_func': (sup_print, "test1")}
    - dump_camera - added , to vnframe code
    - folders in prepare_auto_games() list (thanks to @Kningets)
    Examples: #vngame;neoemos/Subdemos/Demo game 1, #vngame;neoemos/Demo2
    Also rules: please, use from now folder Demos for demos, Utilities for utilities.
    - rule for lip sync - if text started with "!", no fake lip sync starts (see simplegamedemoadv2 for examples)
    - vnlibfaceexpressions.py - face expressions lib. Allows you to change face in standart script.
    example of use: game.texts_next([
    ["me//angry_whatyousay", "What are YOU say??"],
    ]...)
    examples in simplegamedemoadv2 (for NEO - simple game demo - lip sync in All demos)
    8.9 (9.0 beta)
    - All: skin system!!
    -- there are three skin in package: skin_default, skin_renpy, skin_customwindow
    -- for VN skin_renpy is best (see Simple game demo)
    -- for utils like ScriptHelper you can use skin_customwindow
    -- you can dev your own skins, see skin_renpy or skin_customwindow as reference
    - Main: VNActor and VNFrame 2.3.5 - updated for FK items and skin system (thanks to @countd360)
    - Main: Dev console has VNActor select dump allows you to dump state of selected chara in tree (even without id)
    - Main: libfaceexpressions 1.1 - added lot of NEO male faces (thanks to @cochese42)
    - All: markupreplacer lib - some text processing if you want (thanks to @cochese42)
    - Main: vnscenescript - you can set default skin for your VNSceneScript (INI)
    8.10 (9.0 beta 2)
    - Main: HSNeoOCIProp class. This allows you to convert object to correct Prop class from VNActor.
    - Main: global params HSNeoOCIChar.globalActorClass and HSNeoOCIProp.globalPropClass
    this uses for overriding actor and prop classes due to concrete using
    (for example, if you detect a plugin and want to share additional properties)
    it's not good to use them, but it's necessary for some cases
    - VNFrame 2.3.8 - allows you to pass object as 'act' function params.
    9.0
    - All: show version, start text adjust to it
    - All: Console window hidden at startup, to see it change showAtStartup=1 in Console.ini
    - Mains: integrated Simple Novel Manager 1.1 - now available from main screen
    - VNActor 2.3.9
    -- contains import_status for Prop and Actor
    - skin_renpy 1.1 - reduced window height, set up max buttons
    - All: skin system allows you set max number of buttons in params
    - All: simplegamedemo uses skin_renpy by default
    9.1
    - Mains: Added HSNeoOCILight, HSNeoOCI now supports OCILight (thanks to @chickenman)
    - VNFrame 2.3.10 - chickenman, Keitaro (thanks to @chickenman)
    # - added support for OCILight as Prop
    # - import_status_optimized_diff for Actor
    - VNFrame (register_autoprops) supports -propchild: property (needed for Light handling)
    - extplugins.py 1.1 added - for extended plugins handling (thanks to @chickenman)
    9.1.1
    - All: fixed bug in CustomGUI calls in skins: default and renpy. Now "game" param is sent as first param.
    10.0
    - CharaStudio, PlayHome: UTF-8 support! (some libraries added to X_Data/Managed)
    - All: functions file_get_firstline_utf8, file_get_content_utf8
    - Main: VNFrame 2.4 - (thanks to @countd360)
    # vnactor:
    # - support IK&FK mode, need extplugins.py.
    # to use IK&FK, need HSStudioNEOAddon.dll for NEO, PHSAddon.dll for Playhome.
    # - Support for light extends to Playhome and KoiKatsu.
    # Though the light support is not good in playhome and koikatsu, these function still work.
    # (To add a light in playhome you need PHIBL.dll. And light in koikatsu can not effect character.)
    # vnframe:
    # - support UTF-8!
    # - [Create TAG] button in ScriptHelper can create -propchild: tag for lights now.
    - PlayHome: extplugins support PHSAddon.dll (thanks to @countd360)
    - Main: Simple Novel Manager v1.2
    # - UTF-8 support in config and text files
    # - support "skin" param in config. Example: "skin": "skin_renpy"
    - Main: VN Scene Script v2.3 - UTF-8 support during sync with text files
    - All: added libjsoncoder lib (thanks to @chickenman)
    - HSNeoOCILight: fixed bug with pos and rot properties


    FAQ for VN developers
    Spoiler

    How to make my first game?
    1. See Simple game demo - this is the simplest example.
    2. See simplegamedemoadv.py - code for this game
    3. Try to change something to understand it.
    4. Make a copy of this code and some scenes for your own - and this will be your first game!

    or, if you afraid of code in Python, and want make only simple kinetic visual novels from start
    - check Simple Novel Manager here: http://uqw88.com/forum/forum/...28#post6568928

    How to make in-game choices?
    See maingamedemo.py examples

    How to animate between cameras?
    See Simple game demo - there are one simple animation.
    For advanced examples see - Tech demo / Advanced examples / Animated camera movements section

    Can I move camera to arbitrary position, not-saved in scene?
    Yes, using dumping a camera. Press Ctrl+F4 and read dumpython.txt for code.
    Also, see examples in Tech demo / Advanced examples / Animated camera movements section

    I want to manipulate characters state - change clothes, animations. How can I do that?
    It's a complex question because such manipulation vary from engine to engine (Studio, NEO, CharaStudio).
    Simple examples can be found in Tech demo / Advanced examples / Manipulating characters

    For advanced:
    - if you work in Studio, see Ruris Dream demo by Kningets
    - if you work in NEO / CharaStudio, check the Tech demo / Advanced examples / Manipulating characters / Change chara (VNActor)
    also you can find VNFrame documentation useful (is in package)

    It's HIGHLY recommended:
    - to pass VNFrame Tutorial (included as game in VNGE installation package)
    - see VNFrame docs (located under Lib/VNFrame docs)
    - see VNSceneScript fast tutorial

    <another question>
    - please, read start of vngameengine.py file, and also try all techdemo.py demos
    - ask on this theme


    Easy way to make Kinetic Visual Novels (VN with no choices) without writing a code
    Spoiler

    Actually, there is a TWO ways to do this.

    1. You can use ScriptHelper by countd360 - (it's a little bit complicated, but you can make animations etc.)
    How:
    - please, see Demos / VNFrame Tutorial game demo
    - also, please, read PDF-s in Lib/VNFrame docs

    2. You can use Scene Save State and Simple Novel Manager together - (as for me, it's easier. Also, you will get editable scenes in future)
    How:

    1. Download and run Scene Save State mod for VNGE. This mod allows you to save multiple scene states and cameras.
    2. Use it to make scene states and cams you need. When you need VN text, please, set checkbox "Use cam in Visual Novel". (Not checked cams will not be exported; but all states will be)
    3. When you'll be ok, goto tab Load/Save and press button "Export to VNSceneScript". This will add some folders make a scene playable by another engine - VNSceneScript (it's a simple player for novels, located inside folders)

    4. Save and test your scene. Close Scene Save State and press F8 - this will run VNSceneScript player. Hope all is ok. If you will not satisfied, you can edit it once more time, and export too.

    5. If you are satisfied you are able to:
    - send everyone this scene as VNSceneScript file (and novel inside it)
    or
    - make a VN with a number of such scenes (see step 6)

    6. (Bonus). Collect all VNSceneScript scenes you need in your novel.
    Open folder in your scene folder and find "simple_novels". There are novels for Simple Novel Manager (second button on main screen).
    Copy demo folder and:
    - change something in _sn_config.txt to name your novel.
    - just add your prepared VNSceneScript scenes to folder. DON'T make text files for them!!

    Return back and run your Simple Novel. Your scenes will be played one-by-one.
    ​​​​​


    Screenshots is in attachements.

    ---

    Feel free to redistribute it on other sites, or steal some parts of it.

    Want to support? Share here your scene, game, or at least say "thank you" in comments.
    Attached Files
    Last edited by keitaro1978; Today, 10:02 AM. Reason: info about problems with HF Patch (Koikatsu)

  • I wrote a function to convert unicode texts into an u string, and load them. May be helpful for some utils.
    Though the converted unicode texts are unreadable by human, at least they can be saved into text file... and when loaded, can be displayed correctly in game UI.
    I am thinking to use these code in script helper, to save the unicode dialog.

    Code:
    def uni2str(input):
        from struct import unpack
        bytes = unpack("%dB"%len(input), input)
        output = "u'"
        for i in range(len(input)):
            if input[i].isunicode():
                output += "\\u%04x"%bytes[i]
            else:
                output += input[i]
        output += "'"
        return output
    
    def str2uni(input):
        if len(input) >= 3 and input[0] == "u" and ((input[1] == "'" and input[-1] == "'") or (input[1] == '"' and input[-1] == '"')):
            return eval(input)
        else:
            return input

    Comment


    • 9.1.1 release
      - All: fixed bug in CustomGUI calls in skins: default and renpy. Now "game" param is sent as first param.

      Sorry, this bug may affect RePlayHome game... and some others (may I don't now). Please, upgrade to this version.

      Comment


      • Hey, guys,

        seems I have breaking news about support UTF-8 (and Japanese and etc. symbols) in PlayHome and Koikatsu.

        Please, unpack this libraries
        http://mega.nz/#!J7whHCZD!O6vj3pGxz...-72-auhbPagcOQ
        to
        PlayHome: PlayHomeStudio64bit_Data/Managed
        Koikatsu: CharaStudio_Data\Managed

        Seems after that Python can load files with UTF-8 header; also codecs standart library is available.

        Please, test this solution - if all is ok, I'll include it to next release.

        Comment


        • countd360
          countd360 commented
          Editing a comment
          What a great news!! Tested in Playhome and Koikatsu, works good!
          Finally I can get rid of the ugly unicode support codes!

        • keitaro1978
          keitaro1978 commented
          Editing a comment
          Agreed - unicode support was a real pain. Finally we solve this )

      • Update vnframe2.4
        Hello, guys.
        I made some update for vnactor and vnframe

        vnactor:
        - support IK&FK mode, need extplugins.py.
        to use IK&FK, need HSStudioNEOAddon.dll for NEO, PHSAddon.dll for Playhome.
        I don't know any mod to support IK&FK in Koikatsu. If anyone knows please tell me.
        - Support for light extends to Playhome and KoiKatsu.
        Though the light support is not good in playhome and koikatsu, these function still work.
        (To add a light in playhome you need PHIBL.dll. And light in koikatsu can not effect character.)

        vnframe:
        - support UTF-8! Download the above patch for PH and KK for now.
        - [Create TAG] button in ScriptHelper can create -propchild: tag for lights now.

        To keitaro1978
        Spoiler

        There is a bug in vngameengine. In HSNeoOCILight's pos and rot property, about line 1888 and line 1892.
        The light object does not have "itemInfo", it should be "objectInfo".

        Attached Files

        Comment


        • countd360
          countd360 commented
          Editing a comment
          cochese42 I think reload extplugin module may fix this problem. I added an importOrReload call in game's start() function, and seems it works after reset engine. In my test, reload scene or restart script wouldn't cause this problem, only restart engine will, so I'm not sure...
          Can you try it? Add these code in the very beginning of start() function.
          Code:
          from vngameengine import importOrReload
          importOrReload("extplugins")

        • keitaro1978
          keitaro1978 commented
          Editing a comment
          cochese42
          Strange question - why do you need to reload vngameengine using Ctrl+F1? I did that only during kernel development, and not need this now.
          More standart way to return to main screen is Ctrl+F3.
          Resetting engine fully reloads main module in Python, and may be buggy (because of external code links to that object).

        • cochese42
          cochese42 commented
          Editing a comment
          countd360 That seems to work well! Thank you!
          keitaro1978 I prefer to reload the script without reloading the scene file, since it's quicker and seems to lead to less slow-down (the one I talked about earlier, where the whole game just gets slower and slower until I restart HSNeo).

      • Happy New Year to everyone! Hope to see your new amazing games in 2019!

        v10.0 released
        - main feature - support for UTF-8 for all engines! So, you can use Japanese and other non-latin symbols in most cases in your games ^_^

        10.0
        - CharaStudio, PlayHome: UTF-8 support! (some libraries added to X_Data/Managed)
        - All: functions file_get_firstline_utf8, file_get_content_utf8
        - Main: VNFrame 2.4 - (thanks to @countd360)
        # vnactor:
        # - support IK&FK mode, need extplugins.py.
        # to use IK&FK, need HSStudioNEOAddon.dll for NEO, PHSAddon.dll for Playhome.
        # - Support for light extends to Playhome and KoiKatsu.
        # Though the light support is not good in playhome and koikatsu, these function still work.
        # (To add a light in playhome you need PHIBL.dll. And light in koikatsu can not effect character.)
        # vnframe:
        # - support UTF-8!
        # - [Create TAG] button in ScriptHelper can create -propchild: tag for lights now.
        - PlayHome: extplugins support PHSAddon.dll (thanks to @countd360)
        - Main: Simple Novel Manager v1.2
        # - UTF-8 support in config and text files
        # - support "skin" param in config. Example: "skin": "skin_renpy"
        - Main: VN Scene Script v2.3 - UTF-8 support during sync with text files
        - All: added libjsoncoder lib (thanks to @chickenman)
        - HSNeoOCILight: fixed bug with pos and rot properties
        Last edited by keitaro1978; 12-27-2018, 08:47 AM. Reason: typos

        Comment


        • countd360
          countd360 commented
          Editing a comment
          Happy new year!
          Great to see new version with UTF8 support!

      • Also - added tutorial to main post naming
        Easy way to make Kinetic Visual Novels (VN with no choices) without writing a code

        Comment


        • Hey all, two hopefully simple questions. I'm using the KK VN mode.

          1. Can I use scripts to change the character lighting within a scene? I'd like the light source to be better (The in-game spot lights don't seem to affect characters)

          2. When I load a scene, the BG music stops from what I chose. The script shows 'sys': {'bgm': (9, 1)}. But it doesn't play in game. How can I activate this when the script begins?

          Thanks in advance.

          Comment


          • countd360
            countd360 commented
            Editing a comment
            Hi,
            1. For the light, no such script now. There are no light mod for KK as far as I know.
            2. I tested a game made from auto script template, bgm do play from the first script, No problem found. Do you use auto script template (use [New Python] from scene helper to create game)? If the timer works for you, I wonder if you had run the script before scene was completely loaded, such as run the script just after game.load_scene("png_file") function call.

          • kroby
            kroby commented
            Editing a comment
            Shame about the lighting.

            The bgm works until I load a new file (ie. toSeq1 -> toSeq2) then music stop again unless I run the same timer function. I use the create new from script helper, but I've modded several of the scenes. I'm trying to create a small fighting game with the battle animations, but when I swap scenes and the bgm stops, well, it kind of sucks. Plus I can't seem to make the chara's neck behave. I've tried using IK, and FK, but several animes need to use the default "use anime" function. The following scene(s) will have the player's neck in a messed up angle. Most likely user error, though. The VN script is a frikkin gem of a tool. I just need to learn python, I think.

          • countd360
            countd360 commented
            Editing a comment
            Making a fighting game is a big work! I hope you can upload some of your code and I can try to debug the BGM problem. The neck problem happens in HS Neo, maybe it should be fixed in KK too.

        • Hello, I am enjoying your plugin, and would like to make a game based on help girls agency. A request I would have if can be is to have text input. To clarify, ability to user input words into game that are used later. Look like
          System...
          (text)Please create your player name
          (input)[ ]

          Thank you again

          Comment


          • keitaro1978
            keitaro1978 commented
            Editing a comment
            Hi!
            Snippet is below.

            Hope you make an interesting game. I also have an idea to redone it in something like girl-trainer game... but I have luck of time.
            Also I recommend you to use Scene Save State to prepare VN Scene Script files (which are used as mods) in more visual way. (Details in main post, in chapter Easy way to make Kinetic Visual Novels (VN with no choices) without writing a code)

          • keitaro1978
            keitaro1978 commented
            Editing a comment
            Hi!
            Snippet is below.

            Hope you make an interesting game. I also have an idea to redone it in something like girl-trainer game... but I have luck of time.
            Also I recommend you to use Scene Save State to prepare VN Scene Script files (which are used as mods) in more visual way. (Details in main post, in chapter Easy way to make Kinetic Visual Novels (VN with no choices) without writing a code)

        • Useful snippet for making input box:
          (based on countd360 RePlayHome code)

          Code:
          def start(game):
              input_box(game, onEndTxt, "Enter something", "something", "OOOK!")
          
          def onEndTxt(game,result):
              game.set_text_s("You entered: "+result)
              game.set_buttons_alt([])
          
          # ---- library code ----
          def input_box(game, onEnd, asktxt, deftxt = "", btntxt = "OK"):
              game.gdata.inputbox_ask = asktxt
              game.set_text_s("")
              game.gdata.inputbox_txt = deftxt
              game.gdata.inputbox_btntxt = btntxt
              game.gdata.inputbox_onEnd = onEnd
              game.set_buttons_alt([], ("function", input_box_GUI))
          
          def input_box_GUI(game, info):
              """:type game: vngameengine.VNNeoController"""
              from UnityEngine import GUI, GUILayout, GUIStyle, GUIContent, GUIUtility, Screen, Rect, Vector3, Input, KeyCode
          
              fullw = info["fwidth"]
              btnheight = info["btnheight"]
              btnstyle = info["btnstyle"]
              labelstyle = info["labelstyle"]
          
              # setting
              GUILayout.BeginHorizontal()
              GUILayout.Label(game.gdata.inputbox_ask, labelstyle, GUILayout.Width(fullw))
              GUILayout.EndHorizontal()
              GUILayout.BeginHorizontal()
              game.gdata.inputbox_txt = GUILayout.TextField(game.gdata.inputbox_txt,
                                                                           GUILayout.Width(fullw))
              GUILayout.EndHorizontal()
              GUILayout.Space(80)
          
              GUILayout.BeginHorizontal()
              if GUILayout.Button(game.gdata.inputbox_btntxt, btnstyle, GUILayout.Width(fullw), GUILayout.Height(btnheight)):
                  game.call_game_func((game.gdata.inputbox_onEnd, game.gdata.inputbox_txt))
              GUILayout.EndHorizontal()

          Comment


          • defong
            defong commented
            Editing a comment
            Thank you, I will try this, have been making classes for game, have not made UI yet.

        • Whenever I try to make a scene with scene save state, I get this error.


          Scene Console error: Failed to read past end of stream

          I've been trying to get this to work for a couple days, and I can't fix it. Anyone know what this means and how to fix it?

          Comment


          • how to go back in menu guys?Ctrl + F3 just reset the whole scence

            Comment


            • keitaro1978
              keitaro1978 commented
              Editing a comment
              Strange. Ctrl+F3 must reset scene and return back to menu (if you not work with SceneSaveState or SceneConsole - they somewhere redefine window, so you must use they own Close Window button)

            • fanto0m
              fanto0m commented
              Editing a comment
              Thanks for replies, i mean how can i go back to previous menu without reset the scene,but thank u anyway for this awesome mod.Now i need learn python to use it...

            • keitaro1978
              keitaro1978 commented
              Editing a comment
              Sorry, but there is no special button to return to prev menu.

          • Thanks author for making such a great plugin.
            I have a small question. When I use the HoneyPot plugin, some items from HoneySelect will show a pink shade until press F12 key. I want to know if I can add some code to automatically simulate press F12 key when the VNgame start.

            Comment


            • keitaro1978
              keitaro1978 commented
              Editing a comment
              Code (hope it works):

              from WindowsInput import InputSimulator
              from WindowsInput import VirtualKeyCode
              InputSimulator.SimulateKeyPress(VirtualKeyCode.F12 )

            • jacks1991
              jacks1991 commented
              Editing a comment
              Sorry not working, maybe I put the code in the wrong place?
              I put 'InputSimulator.SimulateKeyPress' this line behind 'load_and_init_scene(game, "XXX.png", init_scene)',
              I am not a programmer, sorry.

            • keitaro1978
              keitaro1978 commented
              Editing a comment
              You must place it AFTER loading scene, for example in init_scene.

          • Update vnframe3.0
            Hello and Happy new year!
            At last the vnframe 3.0, with a new key frame clip engine, is ready to release.
            You can make key frame animation in studio now!

            vnactor 3.0:
            - import_status_diff_optimized() function for Prop
            vnframe 3.0:
            - A new feature: "key frame clips" added!
            - Create and manage key frame based animation clips in Script Helper!
            - A clip can animate tagged actors and props, camera and system, and sync which another clip.
            - Several clips can be run in the same time. So you can create one clip for one actor, or
            even several clips for one actor, and then run them at same time to make an animation.
            - Clip can be controlled in act script like a game build-in anime.
            Clip status can be dumped by script helper.
            - In script builder can choose which actor/prop/clip you want to dump now.
            - Auto script template update:
            - Support key frame clips
            - Support skin selection
            - Choice to show a "restart" button the end of game
            - Choice to use quick reload, which restart game without reload the scene file.
            - (act function) call import_status_diff_optimized for Prop and Actor instead of direct processing.
            - [Create Tag] button in scene helper will register the new tagged object to actor/prop automatically.
            vnanime 1.0:
            - The new key frame animation clip engine.

            I think the key frame clip is much easier than create script anime, if you familiar with any of other animation soft. Because most of soft use key frame to animation.
            Before, we need track IK to a gimmick like piston to make custom animation, and now we can animate the IK of FK directly.
            Though, you must get use to the UI for create/manager clips. Here I wrote a tutorial game for HoneySelect Studio Neo, introduce the new features in vnframe 3.0. Copy the vnftut2_neo.py to lib folder and you can load it in demos. It shares scene file with vnftut_neo.py which ships with vngameengine.
            The same tutorials will be ready for PH and KK in some weeks. But by now just refer to vnftut2_neo. VNFrame is same for all engine.

            Oh, there may be bugs, I don't have enough time to test.
            So, please tell me if you meet any problem, and advice are always welcomed.
            Attached Files

            Comment


            • countd360
              countd360 commented
              Editing a comment
              cochese42 Thank you for feedback. I tested in KK and found the "Invalid screen index: 99" problem maybe related to reset game engine (By ctrl-F1). May be you are not in a game, just using ScriptHelper in main window. It is OK for the first time, but when reset the game engine, vnframe didn't got reset, and it refer to an old game object and cause this problem. The script helper can be reset manually, after reset engine you must type:
              Code:
                import vnframe
                vnframe._sh = None
              in the console window to do that. But still I recommend to setup a auto script game for the scene, which have the proper reset code at initialization. In my test in KK, even I reseted script helper, still can't edit the clip because select char in workspace seams get wrong object, and I cannot edit the keyframes for selected actor...

            • keitaro1978
              keitaro1978 commented
              Editing a comment
              Hey, guys,
              I plan to remove "scene reset" during Ctrl+F3, so you can use it to return to main menu without scene resetting. Seems I need it too.
              Internal non-released 10.1 VNGE main file with this fix: http://mega.nz/#!xyABQAxC!-Xs-1xwMg...QOJF2I8qgzloD4

              If you need scene reset in your game, you can use call "game.reset()"

            • cochese42
              cochese42 commented
              Editing a comment
              countd360 Ah, great. That makes sense and you are right, that is what was happening for me. I get into situations where I just need to set everything back to initial status, because things have gone wrong. I am testing this clip manager without a game, as I usually do dev stuff without a game to start with. I'll use that script for now, but maybe something better for future.

          • Is there a form to make a "dating sim" with rpg elements, and choices?.
            Last edited by thekeynomaster; 01-11-2019, 08:10 PM.

            Comment


            • keitaro1978
              keitaro1978 commented
              Editing a comment
              You can do such, if you want. But there is no template for such a game, so you must do it by yourself.
              As a logic template, I recommend to use Help Girls Agency - http://uqw88.com/forum/forum/...48#post6388548 - it's some kind of trainer game but code is pretty understandable.

          • Scene Save State 2.0 released: http://uqw88.com/forum/forum/...upd-15-01-2019

            Now it includes
            - Pose Library (ported from PoseConsole by chickenManX )
            - Scene Utils (my set of utils for operate with scenes)

            Comment

            Working...
            X