├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── README.md ├── docs ├── .nojekyll ├── README.md ├── _sidebar.md ├── dedicates │ ├── digitalocean.md │ └── img-digitalocean │ │ ├── 001-change_to_mysql.png │ │ ├── 002-build_as_server.png │ │ ├── 003-create_droplet_001.png │ │ ├── 004-create_droplet_002.png │ │ ├── 005-create_droplet_003.png │ │ ├── 006-create_droplet_004.png │ │ ├── 007-create_droplet_005.png │ │ ├── 008-create_droplet_006.png │ │ ├── 009-create_droplet_007.png │ │ ├── 010-create_droplet_008.png │ │ ├── 011-mailed_password.png │ │ ├── 012-ssh_login.png │ │ ├── 014-get_password_001.png │ │ ├── 015-get_password_002.png │ │ ├── 016-db_login.png │ │ ├── 017-create_db_001.png │ │ ├── 018-create_db_002.png │ │ ├── 019-create_db_003.png │ │ ├── 020-create_db_004.png │ │ ├── 021-create_db_005.png │ │ ├── 022-create_db_006.png │ │ ├── 023-ftp_login.png │ │ ├── 024-set_permissions_001.png │ │ ├── 025-set_permissions_002.png │ │ ├── 026-open_ports.png │ │ ├── 027-run_server.png │ │ ├── 028-setup_client.PNG │ │ ├── 028-setup_client.png │ │ ├── 029-prepare_configs.png │ │ └── 030-database_index.png ├── files │ └── MMORPG_KIT2021.2_Microsoft.Bcl.AsyncInterfaces5.0.0.dll.unitypackage ├── images │ ├── 101 │ │ ├── 2025 │ │ │ ├── 001.png │ │ │ ├── 002.png │ │ │ ├── 003.png │ │ │ ├── 004.png │ │ │ ├── 005.png │ │ │ ├── 006.png │ │ │ └── 007.png │ │ ├── 001.png │ │ ├── 002.png │ │ ├── 003.png │ │ ├── 004.png │ │ ├── 005.png │ │ ├── 006.png │ │ ├── 007.png │ │ ├── 008.png │ │ ├── 009.png │ │ ├── 010.png │ │ ├── 011.png │ │ └── 012.png │ ├── 103 │ │ └── 001.png │ ├── 105 │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ ├── 141 │ │ ├── 1.png │ │ └── 2.png │ ├── 143 │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ └── 5.png │ ├── 148 │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ ├── 04.png │ │ └── 05.png │ ├── 155 │ │ ├── settings.png │ │ ├── setup-sheath-transforms-2.png │ │ ├── setup-sheath-transforms-3.png │ │ ├── setup-sheath-transforms-4.png │ │ └── setup-sheath-transforms.png │ ├── 157 │ │ ├── 1.png │ │ └── 2.png │ ├── 162 │ │ ├── 1.png │ │ └── 2.png │ ├── 163 │ │ ├── 1.png │ │ ├── 2.png │ │ └── 3.png │ ├── 164 │ │ └── 1.png │ ├── 166 │ │ ├── 1.png │ │ ├── 2.png │ │ └── 3.png │ ├── 167 │ │ └── 1.png │ ├── 173 │ │ ├── 1.png │ │ └── 2.png │ ├── 175 │ │ └── 1.png │ ├── 177 │ │ ├── 1.png │ │ ├── 2.png │ │ └── 3.png │ ├── 178 │ │ ├── 178-1.png │ │ ├── 178-2.png │ │ └── 178-3.png │ ├── 179 │ │ ├── 001-02.png │ │ ├── 001.png │ │ ├── 002.png │ │ ├── 003.png │ │ ├── 004.png │ │ └── 005.png │ ├── 180 │ │ ├── 001.png │ │ └── 002.png │ ├── 181 │ │ ├── 001.png │ │ └── 002.png │ ├── 182 │ │ ├── 001.png │ │ ├── 002.png │ │ ├── 003.png │ │ ├── 004.png │ │ └── 005.png │ ├── 034 │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 13.png │ │ ├── 14.png │ │ ├── 15.png │ │ ├── 16.png │ │ ├── 17.png │ │ ├── 18.png │ │ ├── 19.png │ │ ├── 2.png │ │ ├── 20.png │ │ ├── 21.png │ │ ├── 22.png │ │ ├── 23.png │ │ ├── 24.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ ├── 1-43b-1.png │ ├── 1-43b-2.png │ ├── 1-43b-3.png │ ├── 1-43b-3_2.png │ ├── 1-43b-4.png │ ├── 1-43b-5.png │ ├── 1-43b-6.png │ ├── 1-46-1.png │ ├── 1-46-2.png │ ├── 1-46-3.png │ ├── 1-46-4.png │ ├── 1-62-1.png │ ├── 140-01.png │ ├── advance │ │ ├── export-character-creation-data.png │ │ ├── export-minimal-items.png │ │ └── export-social-system-setting.png │ ├── change_controller_01.png │ ├── change_controller_02.png │ ├── change_database_system.png │ ├── changelog │ │ ├── 1.67b-1.png │ │ ├── 1.67b-2.png │ │ ├── 1.68-1.png │ │ ├── 1.68-2.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 11.png │ │ ├── 12.png │ │ ├── 13.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── 7.png │ │ ├── 8.png │ │ └── 9.png │ ├── characters │ │ ├── 001.png │ │ ├── 002.png │ │ ├── 003.png │ │ └── 004.png │ ├── create-game-database-menu.png │ ├── fps-hands-model │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ └── 4.png │ ├── fps-setup │ │ └── 1.png │ ├── game-database-editor.png │ ├── input-actions-setup.png │ ├── input_setting_manager_01.png │ ├── items │ │ ├── 001.png │ │ ├── 002.png │ │ ├── 003-1.png │ │ ├── 003-10.png │ │ ├── 003-11.png │ │ ├── 003-12.png │ │ ├── 003-13.png │ │ ├── 003-14.png │ │ ├── 003-2.png │ │ ├── 003-3.png │ │ ├── 003-4.png │ │ ├── 003-5.png │ │ ├── 003-6.png │ │ ├── 003-7.png │ │ ├── 003-8.png │ │ ├── 003-9.png │ │ ├── 004.png │ │ ├── 005.png │ │ ├── 006.png │ │ ├── 007.png │ │ └── 008.png │ ├── json-deps.png │ ├── json-package-install-1.png │ ├── json-package-install-2.png │ ├── localization │ │ ├── 0.1.png │ │ ├── 0.2.png │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ └── 6.png │ ├── mmo_arch.png │ ├── mobile │ │ ├── 1.png │ │ ├── 2.png │ │ └── 3.png │ ├── mouse-hover-tooltip.png │ ├── new_character_creation_scene.png │ ├── new_monster_character_entity_setting.png │ ├── new_player_character_entity_setting.png │ ├── npcs │ │ ├── 001.png │ │ ├── 002.png │ │ ├── 003.png │ │ ├── 004.png │ │ ├── 005.png │ │ ├── 006.png │ │ └── 007.png │ ├── old_input_manager.png │ ├── package-find-input.png │ ├── package-unity-registry.png │ ├── queueable-crafting.png │ ├── set_action_clip_to_character_model.png │ ├── set_database_options.png │ ├── setup-mmo-server.png │ ├── setup-offline-lan.png │ ├── setup_character_create_scene.png │ ├── skills │ │ ├── 001.png │ │ ├── 002.png │ │ ├── 003-1.png │ │ ├── 003-2.png │ │ ├── 003-3.png │ │ ├── 003-4.png │ │ ├── 004.png │ │ ├── 005.png │ │ └── 006.png │ ├── switch_database.png │ └── testing_mapserver.png ├── index.html └── pages │ ├── 000-changelog.md │ ├── 007-item-drops-item-drop-entity.md │ ├── 008-building-building-item-building-entity-building-material-building-area.md │ ├── 010-quests.md │ ├── 011-warp-portals.md │ ├── 012-harvestable-harvestable-data-harvestable-entity-harvestable-spawn-area.md │ ├── 018-damage-info.md │ ├── 019-map-info.md │ ├── 020-social-system-setting.md │ ├── 021-in-app-purchasing.md │ ├── 022-customize-uis.md │ ├── 023-gameplay-rule.md │ ├── 024-chat-configs.md │ ├── 025-getting-started-mmo.md │ ├── 026-server-architecture.md │ ├── 027-server-configs.md │ ├── 028-how-to-change-database-system.md │ ├── 029-gm-commands.md │ ├── 030-server-command-line-argument.md │ ├── 031-server-config-files.md │ ├── 032-server-list-for-client.md │ ├── 033-how-to-integrate-facebook-login.md │ ├── 034-how-to-integrate-google-play-login.md │ ├── 035-getting-started-2d-singleplayer-lan.md │ ├── 036-2d-3d-comparison.md │ ├── 037-dev-extension.md │ ├── 046-how-to-change-controller.md │ ├── 047-how-to-change-input.md │ ├── 048-mmo-workflows.md │ ├── 049-npc-workflows.md │ ├── 050-instance-dungeon.md │ ├── 051-fps-gameplay.md │ ├── 052-mobile-platform.md │ ├── 053-localization.md │ ├── 054-troubleshooting-steps.md │ ├── 055-1-46-updates.md │ ├── 101-getting-started-singleplayer-lan.md │ ├── 102-game-instance-and-relates-data.md │ ├── 103-game-database.md │ ├── 104-character-stats-and-relates-data.md │ ├── 106-character-model.md │ ├── 107-animation-character-model.md │ ├── 108-animator-character-model.md │ ├── 109-character-model-2d.md │ ├── 110-fps-hands-model.md │ ├── 112-create-junk-item.md │ ├── 113-create-armor-item.md │ ├── 114-create-weapon-item.md │ ├── 115-create-shield-item.md │ ├── 116-create-potion-item.md │ ├── 117-create-ammo-item.md │ ├── 118-create-building-item.md │ ├── 119-create-pet-item.md │ ├── 120-create-socket-enhancer-item.md │ ├── 121-create-mount-item.md │ ├── 122-create-attribute-increase-item.md │ ├── 123-create-attribute-reset-item.md │ ├── 124-create-skill-item.md │ ├── 125-create-skill-learn-item.md │ ├── 126-create-skill-reset-item.md │ ├── 127-create-passive-skill.md │ ├── 128-create-buff-skill.md │ ├── 129-create-summon-skill.md │ ├── 130-create-mount-skill.md │ ├── 131-create-attack-skill.md │ ├── 132-create-craft-skill.md │ ├── 133-create-area-buff-skill.md │ ├── 134-create-area-attack-skill.md │ ├── 135-player-character-entity.md │ ├── 136-monster-character-entity.md │ ├── 137-monster-spawn-area.md │ ├── 138-mount-entity.md │ ├── 139-npc-entity.md │ ├── 140-water-area.md │ ├── 141-checklist-for-equipment-items.md │ ├── 142-how-attack-function-work.md │ ├── 143-item-drop-entity.md │ ├── 144-guildwar.md │ ├── 145-day-night-time.md │ ├── 146-currency.md │ ├── 147-how-to-update-to-new-version.md │ ├── 148-how-to-create-character-with-editor.md │ ├── 149-playable-character-model.md │ ├── 150-websocket-server.md │ ├── 151-working-with-2021.md │ ├── 152-how-to-create-interactable-objects.md │ ├── 153-how-incremental-calculated.md │ ├── 154-character-battle-points.md │ ├── 155-sheathing-animations.md │ ├── 156-action-restriction.md │ ├── 157-custom-database-client.md │ ├── 158-fix-newtonsoft-not-found-error.md │ ├── 159-something-not-functional-with-my-built-game.md │ ├── 160-before-you-build.md │ ├── 161-dotnet-project.md │ ├── 162-fix-unable-to-add-package-jillejr-newtonsoft.md │ ├── 163-equipment-bones-setup-manager.md │ ├── 164-custom-quest-task-description.md │ ├── 165-npc-dialog-message-by-keys.md │ ├── 166-npc-dialog-menu-conditions.md │ ├── 167-npc-dialog-custom-actions.md │ ├── 168-custom-character-data.md │ ├── 169-player-character-body-part.md │ ├── 170-pk.md │ ├── 171-dueling.md │ ├── 172-channel.md │ ├── 173-how-to-add-skill-to-character.md │ ├── 174-how-to-create-resurrection-skill.md │ ├── 175-building-repairing.md │ ├── 176-custom-map-system-loading-awaiting-procedural-dungeon-generation.md │ ├── 177-game-effect.md │ ├── 178-impact-effect.md │ ├── 179-addressable.md │ ├── 180-zoom-scrolling-slow.md │ ├── 181-urp-android-pink.md │ ├── 182-start-gold-and-items.md │ └── _generating │ ├── 106-character-model.md │ ├── 107-animation-character-model.md │ ├── 108-animator-character-model.md │ ├── 109-character-model-2d.md │ ├── 112-create-junk-item.md │ ├── 113-create-armor-item.md │ ├── 114-create-weapon-item.md │ ├── 115-create-shield-item.md │ ├── 116-create-potion-item.md │ ├── 117-create-ammo-item.md │ ├── 118-create-building-item.md │ ├── 119-create-pet-item.md │ ├── 120-create-socket-enhancer-item.md │ ├── 121-create-mount-item.md │ ├── 122-create-attribute-increase-item.md │ ├── 123-create-attribute-reset-item.md │ ├── 124-create-skill-item.md │ ├── 125-create-skill-learn-item.md │ ├── 126-create-skill-reset-item.md │ ├── 127-create-passive-skill.md │ ├── 128-create-buff-skill.md │ ├── 129-create-summon-skill.md │ ├── 130-create-mount-skill.md │ ├── 131-create-attack-skill.md │ ├── 132-create-craft-skill.md │ ├── 133-create-area-buff-skill.md │ ├── 134-create-area-attack-skill.md │ ├── 135-player-character-entity.md │ ├── 136-monster-character-entity.md │ ├── 138-mount-entity.md │ ├── 139-npc-entity.md │ ├── 149-playable-character-model.md │ ├── _command.md │ └── game-data │ ├── _action-animation.md │ ├── _buff.md │ ├── _character-entity-generic-config.md │ ├── _character-model-generic-config.md │ ├── _character-model-helper-context-menu.md │ ├── _character-model-selection.md │ ├── _entity-movement-selection.md │ ├── _entity-put-to-database.md │ ├── _game-data-generic-config.md │ ├── _game-data-put-to-database.md │ ├── _item-create-scriptable-object.md │ ├── _item-equipment-bonus-stats.md │ ├── _item-equipment-config.md │ ├── _item-equipment-model.md │ ├── _item-generic-config.md │ ├── _skill-create-scriptable-object.md │ └── _skill-generic-config.md ├── import.js └── package.json /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | package-lock.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # mmorpg-kit-docs 2 | 3 | This is document for MMORPG KIT project (https://www.assetstore.unity3d.com/#!/content/110188?aid=1100lGeN) 4 | -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/.nojekyll -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/001-change_to_mysql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/001-change_to_mysql.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/002-build_as_server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/002-build_as_server.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/003-create_droplet_001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/003-create_droplet_001.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/004-create_droplet_002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/004-create_droplet_002.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/005-create_droplet_003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/005-create_droplet_003.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/006-create_droplet_004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/006-create_droplet_004.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/007-create_droplet_005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/007-create_droplet_005.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/008-create_droplet_006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/008-create_droplet_006.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/009-create_droplet_007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/009-create_droplet_007.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/010-create_droplet_008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/010-create_droplet_008.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/011-mailed_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/011-mailed_password.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/012-ssh_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/012-ssh_login.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/014-get_password_001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/014-get_password_001.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/015-get_password_002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/015-get_password_002.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/016-db_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/016-db_login.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/017-create_db_001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/017-create_db_001.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/018-create_db_002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/018-create_db_002.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/019-create_db_003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/019-create_db_003.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/020-create_db_004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/020-create_db_004.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/021-create_db_005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/021-create_db_005.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/022-create_db_006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/022-create_db_006.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/023-ftp_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/023-ftp_login.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/024-set_permissions_001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/024-set_permissions_001.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/025-set_permissions_002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/025-set_permissions_002.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/026-open_ports.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/026-open_ports.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/027-run_server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/027-run_server.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/028-setup_client.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/028-setup_client.PNG -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/028-setup_client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/028-setup_client.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/029-prepare_configs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/029-prepare_configs.png -------------------------------------------------------------------------------- /docs/dedicates/img-digitalocean/030-database_index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/dedicates/img-digitalocean/030-database_index.png -------------------------------------------------------------------------------- /docs/files/MMORPG_KIT2021.2_Microsoft.Bcl.AsyncInterfaces5.0.0.dll.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/files/MMORPG_KIT2021.2_Microsoft.Bcl.AsyncInterfaces5.0.0.dll.unitypackage -------------------------------------------------------------------------------- /docs/images/034/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/1.png -------------------------------------------------------------------------------- /docs/images/034/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/10.png -------------------------------------------------------------------------------- /docs/images/034/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/11.png -------------------------------------------------------------------------------- /docs/images/034/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/12.png -------------------------------------------------------------------------------- /docs/images/034/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/13.png -------------------------------------------------------------------------------- /docs/images/034/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/14.png -------------------------------------------------------------------------------- /docs/images/034/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/15.png -------------------------------------------------------------------------------- /docs/images/034/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/16.png -------------------------------------------------------------------------------- /docs/images/034/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/17.png -------------------------------------------------------------------------------- /docs/images/034/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/18.png -------------------------------------------------------------------------------- /docs/images/034/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/19.png -------------------------------------------------------------------------------- /docs/images/034/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/2.png -------------------------------------------------------------------------------- /docs/images/034/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/20.png -------------------------------------------------------------------------------- /docs/images/034/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/21.png -------------------------------------------------------------------------------- /docs/images/034/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/22.png -------------------------------------------------------------------------------- /docs/images/034/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/23.png -------------------------------------------------------------------------------- /docs/images/034/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/24.png -------------------------------------------------------------------------------- /docs/images/034/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/3.png -------------------------------------------------------------------------------- /docs/images/034/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/4.png -------------------------------------------------------------------------------- /docs/images/034/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/5.png -------------------------------------------------------------------------------- /docs/images/034/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/6.png -------------------------------------------------------------------------------- /docs/images/034/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/7.png -------------------------------------------------------------------------------- /docs/images/034/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/8.png -------------------------------------------------------------------------------- /docs/images/034/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/034/9.png -------------------------------------------------------------------------------- /docs/images/1-43b-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-43b-1.png -------------------------------------------------------------------------------- /docs/images/1-43b-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-43b-2.png -------------------------------------------------------------------------------- /docs/images/1-43b-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-43b-3.png -------------------------------------------------------------------------------- /docs/images/1-43b-3_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-43b-3_2.png -------------------------------------------------------------------------------- /docs/images/1-43b-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-43b-4.png -------------------------------------------------------------------------------- /docs/images/1-43b-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-43b-5.png -------------------------------------------------------------------------------- /docs/images/1-43b-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-43b-6.png -------------------------------------------------------------------------------- /docs/images/1-46-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-46-1.png -------------------------------------------------------------------------------- /docs/images/1-46-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-46-2.png -------------------------------------------------------------------------------- /docs/images/1-46-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-46-3.png -------------------------------------------------------------------------------- /docs/images/1-46-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-46-4.png -------------------------------------------------------------------------------- /docs/images/1-62-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/1-62-1.png -------------------------------------------------------------------------------- /docs/images/101/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/001.png -------------------------------------------------------------------------------- /docs/images/101/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/002.png -------------------------------------------------------------------------------- /docs/images/101/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/003.png -------------------------------------------------------------------------------- /docs/images/101/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/004.png -------------------------------------------------------------------------------- /docs/images/101/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/005.png -------------------------------------------------------------------------------- /docs/images/101/006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/006.png -------------------------------------------------------------------------------- /docs/images/101/007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/007.png -------------------------------------------------------------------------------- /docs/images/101/008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/008.png -------------------------------------------------------------------------------- /docs/images/101/009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/009.png -------------------------------------------------------------------------------- /docs/images/101/010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/010.png -------------------------------------------------------------------------------- /docs/images/101/011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/011.png -------------------------------------------------------------------------------- /docs/images/101/012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/012.png -------------------------------------------------------------------------------- /docs/images/101/2025/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/2025/001.png -------------------------------------------------------------------------------- /docs/images/101/2025/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/2025/002.png -------------------------------------------------------------------------------- /docs/images/101/2025/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/2025/003.png -------------------------------------------------------------------------------- /docs/images/101/2025/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/2025/004.png -------------------------------------------------------------------------------- /docs/images/101/2025/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/2025/005.png -------------------------------------------------------------------------------- /docs/images/101/2025/006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/2025/006.png -------------------------------------------------------------------------------- /docs/images/101/2025/007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/101/2025/007.png -------------------------------------------------------------------------------- /docs/images/103/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/103/001.png -------------------------------------------------------------------------------- /docs/images/105/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/1.png -------------------------------------------------------------------------------- /docs/images/105/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/10.png -------------------------------------------------------------------------------- /docs/images/105/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/11.png -------------------------------------------------------------------------------- /docs/images/105/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/2.png -------------------------------------------------------------------------------- /docs/images/105/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/3.png -------------------------------------------------------------------------------- /docs/images/105/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/4.png -------------------------------------------------------------------------------- /docs/images/105/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/5.png -------------------------------------------------------------------------------- /docs/images/105/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/6.png -------------------------------------------------------------------------------- /docs/images/105/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/7.png -------------------------------------------------------------------------------- /docs/images/105/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/8.png -------------------------------------------------------------------------------- /docs/images/105/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/105/9.png -------------------------------------------------------------------------------- /docs/images/140-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/140-01.png -------------------------------------------------------------------------------- /docs/images/141/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/141/1.png -------------------------------------------------------------------------------- /docs/images/141/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/141/2.png -------------------------------------------------------------------------------- /docs/images/143/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/143/1.png -------------------------------------------------------------------------------- /docs/images/143/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/143/2.png -------------------------------------------------------------------------------- /docs/images/143/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/143/3.png -------------------------------------------------------------------------------- /docs/images/143/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/143/4.png -------------------------------------------------------------------------------- /docs/images/143/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/143/5.png -------------------------------------------------------------------------------- /docs/images/148/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/148/01.png -------------------------------------------------------------------------------- /docs/images/148/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/148/02.png -------------------------------------------------------------------------------- /docs/images/148/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/148/03.png -------------------------------------------------------------------------------- /docs/images/148/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/148/04.png -------------------------------------------------------------------------------- /docs/images/148/05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/148/05.png -------------------------------------------------------------------------------- /docs/images/155/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/155/settings.png -------------------------------------------------------------------------------- /docs/images/155/setup-sheath-transforms-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/155/setup-sheath-transforms-2.png -------------------------------------------------------------------------------- /docs/images/155/setup-sheath-transforms-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/155/setup-sheath-transforms-3.png -------------------------------------------------------------------------------- /docs/images/155/setup-sheath-transforms-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/155/setup-sheath-transforms-4.png -------------------------------------------------------------------------------- /docs/images/155/setup-sheath-transforms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/155/setup-sheath-transforms.png -------------------------------------------------------------------------------- /docs/images/157/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/157/1.png -------------------------------------------------------------------------------- /docs/images/157/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/157/2.png -------------------------------------------------------------------------------- /docs/images/162/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/162/1.png -------------------------------------------------------------------------------- /docs/images/162/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/162/2.png -------------------------------------------------------------------------------- /docs/images/163/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/163/1.png -------------------------------------------------------------------------------- /docs/images/163/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/163/2.png -------------------------------------------------------------------------------- /docs/images/163/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/163/3.png -------------------------------------------------------------------------------- /docs/images/164/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/164/1.png -------------------------------------------------------------------------------- /docs/images/166/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/166/1.png -------------------------------------------------------------------------------- /docs/images/166/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/166/2.png -------------------------------------------------------------------------------- /docs/images/166/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/166/3.png -------------------------------------------------------------------------------- /docs/images/167/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/167/1.png -------------------------------------------------------------------------------- /docs/images/173/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/173/1.png -------------------------------------------------------------------------------- /docs/images/173/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/173/2.png -------------------------------------------------------------------------------- /docs/images/175/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/175/1.png -------------------------------------------------------------------------------- /docs/images/177/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/177/1.png -------------------------------------------------------------------------------- /docs/images/177/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/177/2.png -------------------------------------------------------------------------------- /docs/images/177/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/177/3.png -------------------------------------------------------------------------------- /docs/images/178/178-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/178/178-1.png -------------------------------------------------------------------------------- /docs/images/178/178-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/178/178-2.png -------------------------------------------------------------------------------- /docs/images/178/178-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/178/178-3.png -------------------------------------------------------------------------------- /docs/images/179/001-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/179/001-02.png -------------------------------------------------------------------------------- /docs/images/179/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/179/001.png -------------------------------------------------------------------------------- /docs/images/179/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/179/002.png -------------------------------------------------------------------------------- /docs/images/179/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/179/003.png -------------------------------------------------------------------------------- /docs/images/179/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/179/004.png -------------------------------------------------------------------------------- /docs/images/179/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/179/005.png -------------------------------------------------------------------------------- /docs/images/180/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/180/001.png -------------------------------------------------------------------------------- /docs/images/180/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/180/002.png -------------------------------------------------------------------------------- /docs/images/181/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/181/001.png -------------------------------------------------------------------------------- /docs/images/181/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/181/002.png -------------------------------------------------------------------------------- /docs/images/182/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/182/001.png -------------------------------------------------------------------------------- /docs/images/182/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/182/002.png -------------------------------------------------------------------------------- /docs/images/182/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/182/003.png -------------------------------------------------------------------------------- /docs/images/182/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/182/004.png -------------------------------------------------------------------------------- /docs/images/182/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/182/005.png -------------------------------------------------------------------------------- /docs/images/advance/export-character-creation-data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/advance/export-character-creation-data.png -------------------------------------------------------------------------------- /docs/images/advance/export-minimal-items.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/advance/export-minimal-items.png -------------------------------------------------------------------------------- /docs/images/advance/export-social-system-setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/advance/export-social-system-setting.png -------------------------------------------------------------------------------- /docs/images/change_controller_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/change_controller_01.png -------------------------------------------------------------------------------- /docs/images/change_controller_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/change_controller_02.png -------------------------------------------------------------------------------- /docs/images/change_database_system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/change_database_system.png -------------------------------------------------------------------------------- /docs/images/changelog/1.67b-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/1.67b-1.png -------------------------------------------------------------------------------- /docs/images/changelog/1.67b-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/1.67b-2.png -------------------------------------------------------------------------------- /docs/images/changelog/1.68-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/1.68-1.png -------------------------------------------------------------------------------- /docs/images/changelog/1.68-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/1.68-2.png -------------------------------------------------------------------------------- /docs/images/changelog/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/1.png -------------------------------------------------------------------------------- /docs/images/changelog/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/10.png -------------------------------------------------------------------------------- /docs/images/changelog/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/11.png -------------------------------------------------------------------------------- /docs/images/changelog/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/12.png -------------------------------------------------------------------------------- /docs/images/changelog/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/13.png -------------------------------------------------------------------------------- /docs/images/changelog/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/2.png -------------------------------------------------------------------------------- /docs/images/changelog/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/3.png -------------------------------------------------------------------------------- /docs/images/changelog/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/4.png -------------------------------------------------------------------------------- /docs/images/changelog/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/5.png -------------------------------------------------------------------------------- /docs/images/changelog/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/6.png -------------------------------------------------------------------------------- /docs/images/changelog/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/7.png -------------------------------------------------------------------------------- /docs/images/changelog/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/8.png -------------------------------------------------------------------------------- /docs/images/changelog/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/changelog/9.png -------------------------------------------------------------------------------- /docs/images/characters/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/characters/001.png -------------------------------------------------------------------------------- /docs/images/characters/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/characters/002.png -------------------------------------------------------------------------------- /docs/images/characters/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/characters/003.png -------------------------------------------------------------------------------- /docs/images/characters/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/characters/004.png -------------------------------------------------------------------------------- /docs/images/create-game-database-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/create-game-database-menu.png -------------------------------------------------------------------------------- /docs/images/fps-hands-model/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/fps-hands-model/1.png -------------------------------------------------------------------------------- /docs/images/fps-hands-model/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/fps-hands-model/2.png -------------------------------------------------------------------------------- /docs/images/fps-hands-model/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/fps-hands-model/3.png -------------------------------------------------------------------------------- /docs/images/fps-hands-model/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/fps-hands-model/4.png -------------------------------------------------------------------------------- /docs/images/fps-setup/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/fps-setup/1.png -------------------------------------------------------------------------------- /docs/images/game-database-editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/game-database-editor.png -------------------------------------------------------------------------------- /docs/images/input-actions-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/input-actions-setup.png -------------------------------------------------------------------------------- /docs/images/input_setting_manager_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/input_setting_manager_01.png -------------------------------------------------------------------------------- /docs/images/items/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/001.png -------------------------------------------------------------------------------- /docs/images/items/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/002.png -------------------------------------------------------------------------------- /docs/images/items/003-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-1.png -------------------------------------------------------------------------------- /docs/images/items/003-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-10.png -------------------------------------------------------------------------------- /docs/images/items/003-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-11.png -------------------------------------------------------------------------------- /docs/images/items/003-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-12.png -------------------------------------------------------------------------------- /docs/images/items/003-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-13.png -------------------------------------------------------------------------------- /docs/images/items/003-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-14.png -------------------------------------------------------------------------------- /docs/images/items/003-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-2.png -------------------------------------------------------------------------------- /docs/images/items/003-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-3.png -------------------------------------------------------------------------------- /docs/images/items/003-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-4.png -------------------------------------------------------------------------------- /docs/images/items/003-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-5.png -------------------------------------------------------------------------------- /docs/images/items/003-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-6.png -------------------------------------------------------------------------------- /docs/images/items/003-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-7.png -------------------------------------------------------------------------------- /docs/images/items/003-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-8.png -------------------------------------------------------------------------------- /docs/images/items/003-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/003-9.png -------------------------------------------------------------------------------- /docs/images/items/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/004.png -------------------------------------------------------------------------------- /docs/images/items/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/005.png -------------------------------------------------------------------------------- /docs/images/items/006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/006.png -------------------------------------------------------------------------------- /docs/images/items/007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/007.png -------------------------------------------------------------------------------- /docs/images/items/008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/items/008.png -------------------------------------------------------------------------------- /docs/images/json-deps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/json-deps.png -------------------------------------------------------------------------------- /docs/images/json-package-install-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/json-package-install-1.png -------------------------------------------------------------------------------- /docs/images/json-package-install-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/json-package-install-2.png -------------------------------------------------------------------------------- /docs/images/localization/0.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/localization/0.1.png -------------------------------------------------------------------------------- /docs/images/localization/0.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/localization/0.2.png -------------------------------------------------------------------------------- /docs/images/localization/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/localization/1.png -------------------------------------------------------------------------------- /docs/images/localization/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/localization/2.png -------------------------------------------------------------------------------- /docs/images/localization/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/localization/3.png -------------------------------------------------------------------------------- /docs/images/localization/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/localization/4.png -------------------------------------------------------------------------------- /docs/images/localization/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/localization/5.png -------------------------------------------------------------------------------- /docs/images/localization/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/localization/6.png -------------------------------------------------------------------------------- /docs/images/mmo_arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/mmo_arch.png -------------------------------------------------------------------------------- /docs/images/mobile/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/mobile/1.png -------------------------------------------------------------------------------- /docs/images/mobile/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/mobile/2.png -------------------------------------------------------------------------------- /docs/images/mobile/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/mobile/3.png -------------------------------------------------------------------------------- /docs/images/mouse-hover-tooltip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/mouse-hover-tooltip.png -------------------------------------------------------------------------------- /docs/images/new_character_creation_scene.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/new_character_creation_scene.png -------------------------------------------------------------------------------- /docs/images/new_monster_character_entity_setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/new_monster_character_entity_setting.png -------------------------------------------------------------------------------- /docs/images/new_player_character_entity_setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/new_player_character_entity_setting.png -------------------------------------------------------------------------------- /docs/images/npcs/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/npcs/001.png -------------------------------------------------------------------------------- /docs/images/npcs/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/npcs/002.png -------------------------------------------------------------------------------- /docs/images/npcs/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/npcs/003.png -------------------------------------------------------------------------------- /docs/images/npcs/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/npcs/004.png -------------------------------------------------------------------------------- /docs/images/npcs/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/npcs/005.png -------------------------------------------------------------------------------- /docs/images/npcs/006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/npcs/006.png -------------------------------------------------------------------------------- /docs/images/npcs/007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/npcs/007.png -------------------------------------------------------------------------------- /docs/images/old_input_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/old_input_manager.png -------------------------------------------------------------------------------- /docs/images/package-find-input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/package-find-input.png -------------------------------------------------------------------------------- /docs/images/package-unity-registry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/package-unity-registry.png -------------------------------------------------------------------------------- /docs/images/queueable-crafting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/queueable-crafting.png -------------------------------------------------------------------------------- /docs/images/set_action_clip_to_character_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/set_action_clip_to_character_model.png -------------------------------------------------------------------------------- /docs/images/set_database_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/set_database_options.png -------------------------------------------------------------------------------- /docs/images/setup-mmo-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/setup-mmo-server.png -------------------------------------------------------------------------------- /docs/images/setup-offline-lan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/setup-offline-lan.png -------------------------------------------------------------------------------- /docs/images/setup_character_create_scene.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/setup_character_create_scene.png -------------------------------------------------------------------------------- /docs/images/skills/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/skills/001.png -------------------------------------------------------------------------------- /docs/images/skills/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/skills/002.png -------------------------------------------------------------------------------- /docs/images/skills/003-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/skills/003-1.png -------------------------------------------------------------------------------- /docs/images/skills/003-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/skills/003-2.png -------------------------------------------------------------------------------- /docs/images/skills/003-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/skills/003-3.png -------------------------------------------------------------------------------- /docs/images/skills/003-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/skills/003-4.png -------------------------------------------------------------------------------- /docs/images/skills/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/skills/004.png -------------------------------------------------------------------------------- /docs/images/skills/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/skills/005.png -------------------------------------------------------------------------------- /docs/images/skills/006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/skills/006.png -------------------------------------------------------------------------------- /docs/images/switch_database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/switch_database.png -------------------------------------------------------------------------------- /docs/images/testing_mapserver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/images/testing_mapserver.png -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | MMORPG KIT - Document 6 | 7 | 8 | 9 | 10 | 15 | 16 | 17 |
18 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /docs/pages/007-item-drops-item-drop-entity.md: -------------------------------------------------------------------------------- 1 | # Item Drops (Item Drop Entity) 2 | 3 | Every item drop objects will be spawned as **Item Drop Entity** around the character, we have to prepare just one **Item Drop Entity** for all item drop objects but we will have to prepare model objects that will be spawned as **Item Drop Entity** child 4 | 5 | For the demo, I’ve prepared the **Item Drop Entity** which located at **/Assets/UnityMultiplayerARPG/Demo/Prefabs/Gameplay** 6 | 7 | ![](https://cdn-images-1.medium.com/max/1600/1*idjFgCp3XFBFWti6f2z49Q.png) 8 | 9 | It attaches the following components: 10 | 11 | * **Item Drop Entity**, it will be used as a networking component which set model object for clients to show where and which item dropped. Its **Model Container** is the transform where model objects will be spawned as its children. 12 | * **Box Collider**, it will be used to detect mouse click / touch event you can use another collider if you want. 13 | * **Animator**, I’ve used it to play drop animation, by move / rotate **Model Container**. 14 | * **Lite Net Lib Visible Checker**, I’ve used it to not send networking message when your character is far from it. 15 | 16 | So you can change drop animation as you wish, then after you prepared your **Item Drop Entity** and made it as a prefab. You have to set it to **Game Instance -> Item Drop Entity Prefab** 17 | 18 | ![](https://cdn-images-1.medium.com/max/1600/1*tCJkCdrsuXgNR5d-8mVdlw.png) 19 | 20 | * * * 21 | 22 | Then each item will have a different drop model right? 23 | 24 | You can prepare drop model by creating a static model prefab for the item and set it to **Item -> Drop Model** 25 | 26 | ![](https://cdn-images-1.medium.com/max/1600/1*52DW9YncPRHeBelA0zbmhw.png) 27 | 28 | But you should adjust its position, rotation and scale by drag the static model prefab to **Item Drop Entity -> Model Container** then adjust transform then make it as prefab. -------------------------------------------------------------------------------- /docs/pages/010-quests.md: -------------------------------------------------------------------------------- 1 | # Quests 2 | 3 | With this project you can define any quests as you wish, for each quest you can set following data: 4 | 5 | * **Requirement**, requirement to start a quest 6 | * **Random Tasks**, *collection* of task list, the *collection* will be randomed so you can set random tasks, the tasks list will contains tasks, each task you can set its type set it to **Kill Monster** if you want player to kill monster to complete quest and set it to **Collect Item** if you want player to collect item to complete quest 7 | * **Abandon Quests**, Quests which will be abandoned when accept this quest 8 | * **Change Character Class**, if this is set, your character's class will be changed as you set to this when complete the quest 9 | * **Reward Exp**, exp that character will gain when complete the quest 10 | * **Reward Gold**, gold that character will receive when complete the quest 11 | * **Reward Currencies**, currencies that character will receive when complete the quest 12 | * **Reward Items**, items that character will receive when complete the quest 13 | * **Selectable Reward Items**, items that character will receive when complete the quest, but you can select :) 14 | * **Random Reward Items**, items that character will receive when complete the quest, but it is random :) 15 | * **Repeat Type**, how the quest can be repeated, `None` = cannot repeat, `AnyTime` = can repeat anytime, `Daily` = can be repeat daily, `Weekly` = can be repeat weekly 16 | 17 | You can set **Quest** in **Npc** dialog to make it available to receive and complete it 18 | 19 | You can create new quest by right click in `Project` window select 20 | `Create -> Create GameData -> Quest` 21 | 22 | ![](https://cdn-images-1.medium.com/max/1600/0*QAY5mNVzc5Wj6Bi2) 23 | 24 | After finish the setup, add it to your [game database](pages/103-game-database.md). If you're using `Resources Folder Game Database` as your [game database](pages/103-game-database.md), you must put it in `Resources` folder. 25 | -------------------------------------------------------------------------------- /docs/pages/011-warp-portals.md: -------------------------------------------------------------------------------- 1 | # Warp Portals (Warp Portal Entity / Warp Portal Database) 2 | 3 | There are 2 ways to add warp portals in the map are add warp portal entity directly in the scene and add it via Warp Portal Database 4 | 5 | ### Add Warp Portals directly in the scene 6 | 7 | You can add warp portals directly in the scene by create empty game object then add **Warp Portal Entity** component 8 | 9 | ![](https://cdn-images-1.medium.com/max/1600/0*UQ8_m3hIqgvqioRc) 10 | 11 | You can set following configs: 12 | 13 | * **Warp Signals**, these game objects will be active when player’s character trigger the warp entity, you may add message like “Press E to teleport” to show when player’s character trigger it 14 | * **Warp Immediately When Enter**, set this to **TRUE** to make player’s character warp immediately when trigger it 15 | * **Map Scene**, Scene where you want character warping to, For now it works for MMO mode only 16 | * **Position**, Position where you want character warping to 17 | 18 | Then you have to add collider, you may use **Box Collider** and set **Is Trigger** to **TRUE** 19 | 20 | Then add effects / models that you want them represent while playing a game as it child 21 | 22 | ![](https://cdn-images-1.medium.com/max/1600/0*_Zcm7U1zx9jOvG2F) 23 | 24 | Then make it as prefab by drag it to anywhere in `Project` window, and save scene 25 | 26 | ### Add Warp Portals via warp portal database 27 | 28 | To add warp portals via warp portal database you have to prepare warp portal entity prefab first how to do it is like as explained in add warp portals directly in the scene but we’ll not place warp portal in map scene, after created warp portal prefab place it in **GameInstance’s Warp Portal Entity Prefab** in init scene by drag prefab from `Project` window into it 29 | 30 | ![](https://cdn-images-1.medium.com/max/1600/0*HMqCgnzcZw6HF7s1) 31 | 32 | Then create warp portal database, You can create new warp portal database by right click in `Project` window select 33 | **Create -> Create GameDatabase -> Warp Portal Database** 34 | 35 | ![](https://cdn-images-1.medium.com/max/1600/0*XeFabQaQX17uzR2f) 36 | 37 | Then in **Warp Portal Database** you can set maps you wish to add warp portals then each map you can set warp portal’s position, Scene and Position you want to move player to 38 | 39 | ![](https://cdn-images-1.medium.com/max/1600/0*fe2FjAUUdF_Kd-ry) 40 | 41 | Then set it to **GameInstance’s Warp Portal Database** in init scene 42 | 43 | ![](https://cdn-images-1.medium.com/max/1600/0*buKq-nPJKwQEOC9t) 44 | -------------------------------------------------------------------------------- /docs/pages/018-damage-info.md: -------------------------------------------------------------------------------- 1 | # Damage Info 2 | 3 | `Damage Info` is part of `Weapon Type`, `Skill` and `Monster Character`. Use it to set how weapon, skill applies damages to other characters. 4 | 5 | Now there are: 6 | 7 | `Melee` will applies damages to characters within `Hit Distance` and `Hit Fov` it detects characters by [Overlap Sphere](https://docs.unity3d.com/ScriptReference/Physics.OverlapSphere.html) at character entity's `Melee Damage Transform` position 8 | 9 | ![](https://cdn-images-1.medium.com/max/1600/1*KpiiLAWmjcrBA2FJu2G5VA.png) 10 | 11 | * * * 12 | 13 | `Missile` will applies damages to characters by instantiates `Missile Damage Entity` and move it forwarding. When `Missile Damage Entity`'s collider triggers to other characters it will applies damages. Missile lifetime before it destroyed from the scene will be calculated by `Missile Distance` and `Missile Speed`. 14 | 15 | About `Missile Damage Entity`, it will spawn when character attack or use skill at `Missile Damage Transform` you can attach render component such as mesh or particles system and you must attaches collider and rigidbody components to makes it works. 16 | 17 | For 2D game, you must attach collider 2d and rigidbody 2d. And makes an render component such as missile sprite point down because this is right direction. 18 | 19 | ![](https://cdn-images-1.medium.com/max/1600/1*l35QTjuQFjryyIdOuSP-tg.png) 20 | 21 | * * * 22 | 23 | `Raycast` will applies damages by raycasting from entity's `Missile Damage Entity` to `Aim Position`. If raycasts hits other characters it will applies damages. `Projectile Effect` will instantiates when character attack and move from `Missile Damage Entity` to `Aim Position`. `Projectile Effect` lifetime before it destroyed from the scene will be calculated by `Missile Distance` and `Missile Speed`. -------------------------------------------------------------------------------- /docs/pages/020-social-system-setting.md: -------------------------------------------------------------------------------- 1 | # Party / Guild Settings (SocialSystemSetting) 2 | 3 | With this kit, you can change some party / guild system with `Social System Setting`, you can create it by right click in `Project` window select 4 | `Create -> Create GameData -> Social System Setting` 5 | 6 | ![](https://cdn-images-1.medium.com/max/1600/1*axNt-3M0WaKKBBre3XSwFg.png) 7 | 8 | ![](https://cdn-images-1.medium.com/max/1600/1*NBXj3hx_QXW8qfYAfGQLfQ.png) 9 | 10 | Then you can set following configs 11 | 12 | * **Max Party Member** -  As its name it is a max amount of party member 13 | * **Party Member Can Invite** -  If this is `TRUE` party member will able to invite other players to join the party 14 | * **Party Member Can Kick** -  If this is `TRUE` party member will able to kick other players from the party 15 | * **Max Guild Member** -  As its name it is a max amount of guild member 16 | * **Guild Member Roles** -  Default guild member roles, each entry you can set role name, permission to invite / kick, share EXP percentage is sharing EXP from players to guild EXP when kill monsters 17 | * **Max Share Exp Percentage** -   Maximum amount of share Exp percentage that can set via guild member role settings 18 | * **Create Guild Require Items** -  An items that required to create a guild 19 | * **Create Guild Require Currencies** -  An items that required to create a guild 20 | * **Create Guild Require Gold** -  Amount of gold that required to create a guild 21 | * **Guild Exp Tree** -  Exp tree from level 1, its length is max level 22 | 23 | * * * 24 | 25 | After you set all configs, you will have to set it in `Game Instance` by drag it then place at `Social System Setting` field 26 | 27 | ![](https://cdn-images-1.medium.com/max/1600/1*HLfrJZ1r4fSHsYbzIuT2pA.png) 28 | -------------------------------------------------------------------------------- /docs/pages/024-chat-configs.md: -------------------------------------------------------------------------------- 1 | # MMORPG KIT — Chat Configs 2 | 3 | With this project it’s currently have following chat channels there are: 4 | 5 | * **Local**, messages will be sent to nearby characters within setup distance 6 | * **Global (/a {message})**, messages will be sent to all characters in the server 7 | * **Whisper (/w {character name} {message})**, messages will be sent to the specific character 8 | * **Party (/p {message})**, messages will be sent to characters in the same party 9 | * **Guild (/g {message})**, messages will be sent to characters in the same guild 10 | 11 | * * * 12 | 13 | For local chat, you can set distance for the local chat at `Game Instance -> Local Chat Distance` 14 | 15 | ![](https://cdn-images-1.medium.com/max/1600/1*6Nt_N7I-ycnACulVsJJX1A.png) 16 | 17 | * * * 18 | 19 | For chat commands, you can customize them in **UI Chat Handler**. 20 | 21 | For the demo, I’ve attached it to `CanvasGameplay -> Chat`, so if you want to customize it, you have to drag **CanvasGameplay** prefab to any scene then find for **UIChatHandler** then changes configs 22 | 23 | ![](https://cdn-images-1.medium.com/max/1600/1*1xb60jN5hJzXry6lnVOO6g.png) 24 | -------------------------------------------------------------------------------- /docs/pages/026-server-architecture.md: -------------------------------------------------------------------------------- 1 | # Server Architecture 2 | 3 | ![](../images/mmo_arch.png) 4 | 5 | For this project, there are 5 kind of servers are: 6 | 7 | * `Central server`, this server will handle user login/register/character create/character delete more than that it is collects list of other servers. 8 | * `Cluster server`, this server is part of central server, when central server starts this will starts too, it was made for handle app-servers (map-server, map-spawn-server) connections and listing, broadcasting chat messages, player's character updating from any map-server to other map-servers. 9 | * `Map spawn server`, this server will connect to cluster server and then cluster server will send request to this server to start an map servers. 10 | * `Map server`, this server will handle gameplay, each Map scene will handle by 1 server, so if you have 3 maps, it will run 3 servers to handle each map, this server will connect to cluster server to send its address and users list. 11 | * `Database management server`, this server will handle database operation. -------------------------------------------------------------------------------- /docs/pages/028-how-to-change-database-system.md: -------------------------------------------------------------------------------- 1 | # How to change database system 2 | 3 | For this project now there 2 available types of database system there are SQLite and MySql database system 4 | 5 | You can change database system at `DatabaseNetworkManager` by drag database system you wish to use into `Database` field, and you can setup options for the config file (`./config/serverConfig.json -> databaseOptionIndex`) by set reference to database components to `Database Options`. 6 | 7 | ![](../images/change_database_system.png) 8 | 9 | From the image above, in `Database Options`, its first entry is `SQLite` and another one is `MySQL`, so when you are going to setup your server config file (`./config/serverConfig.json -> databaseOptionIndex`), you can set `databaseOptionIndex` to `0` to use `SQLite` and `1` to use `MySQL` 10 | 11 | Then setup database server connection config in `./config/sqliteConfig.json` or `./config/mySqlConfig.json`, up to which database you want to use. 12 | 13 | * * * 14 | 15 | If you use MySQL database you have to import SQL file from {Project Folder}/Assets/UnityMultiplayerARPG/MMO/SQLs 16 | 17 | If your project is a fresh project, just import `mysql_main.sql` 18 | 19 | If it is the old project which updating to new version import `mysql_update_XX–YY.sql`. the XX is old version, YY is new version. 20 | 21 | For example, if you have old project version 1.23 you will have to import following files to update to version 1.30 22 | 23 | * mysql_update_1.23–1.24.sql 24 | * mysql_update_1.28–1.29.sql 25 | * mysql_update_1.29–1.30.sql 26 | 27 | But for the newer version it has a migration system integrated, so you won't have to import and update sql files, just iport `mysql_main.sql` is enough. 28 | 29 | -------------------------------------------------------------------------------- /docs/pages/029-gm-commands.md: -------------------------------------------------------------------------------- 1 | # GM Commands 2 | 3 | You can enable user to be GM by change `userLevel` at `userLogin` data to be more than 0 4 | 5 | ![](https://cdn-images-1.medium.com/max/1600/1*XQZjquv2j-n7HheoLpuS8A.png) 6 | 7 | The current version has following GM commands: 8 | 9 | * `/help` = Get list of commands. 10 | * `/level {level}` = Set character's level to {level} value. 11 | * `/statpoint {amount}` = Set character's stat point to {amount} value. 12 | * `/skillpoint {amount}` = Set character's skill point to {amount} value. 13 | * `/gold {amount}` = Set character's gold to {amount} value. 14 | * `/add_item {item_id} {amount}` = Add item which its ID is {item_id} (if item ID have spaces, use _ for spaces) x {amount}. 15 | * `/give_gold {name} {amount}` = Increase {amount} of gold to character which its name is {name}. 16 | * `/give_item {name} {item_id} {amount}` = Add item which its ID is {item_id} (if item ID have spaces, use _ for spaces) x {amount} to character which its name is {name}. 17 | * `/gold_rate {rate}` = Set server's gold drop rate to {rate}. 18 | * `/exp_rate {rate}` = Set server's exp rewarding rate to {rate}. 19 | * `/warp {map_id}` = Warp to specific map (if map ID have spaces, use _ for spaces). 20 | * `/warp_character {name} {map_id} {x} {y} {z}` = Warp to specific character to specific map and position (if map ID have spaces, use _ for spaces). 21 | * `/warp_to_character {name}` = Warp to character which its name is {name}. 22 | * `/summon {name}` = Summon character which its name is {name}. 23 | * `/monster {monster_id} {level} {amount}` = Summon monster entity which its ID is {monster_id} (if prefab name have spaces, use _ for spaces), lv. {level}, amount {amount}. 24 | * `/kill {name}` = Kill character which its name is {name}. 25 | * `/suicide` = Kill yourself. 26 | * `/mute {name} {duration}` = Mute character which its name is {name} for {duration} minutes. 27 | * `/unmute {name}` = Unmute character which its name is {name}. 28 | * `/ban {name} {duration}` = Ban character's account which its name is {name} for {duration} days. 29 | * `/unban {name}` = Unban character's account which its name is {name}. 30 | * `/kick {name}` = Kick character which its name is {name}. -------------------------------------------------------------------------------- /docs/pages/031-server-config-files.md: -------------------------------------------------------------------------------- 1 | # Server Config Files 2 | 3 | You can change config by config files, config files will be created automatically if it has not existed, you can see the list of all config keys [here](../pages/027-server-configs.md), there are following files: 4 | 5 | ## Server Config 6 | * ./config/serverConfig.json 7 | 8 | ### Example Content 9 | ``` 10 | { 11 | "databaseOptionIndex" : 1, 12 | 13 | "centralAddress" : "localhost", 14 | "centralPort" : 7000, 15 | "clusterPort" : 7010, 16 | "channels" : [ 17 | { 18 | "id": "1", 19 | "title": "Channel 1", 20 | "maxConnections": 500, 21 | }, 22 | { 23 | "id": "2", 24 | "title": "Channel 2", 25 | "maxConnections": 500, 26 | } 27 | ], 28 | "centralMaxConnections" : 1100, 29 | "publicAddress" : "yourdomain.com", 30 | 31 | "mapSpawnPort" : 6001, 32 | "spawnExePath" : "./Build.exe", 33 | "notSpawnInBatchMode" : false, 34 | "spawnStartPort" : 8000, 35 | "spawnChannels" : ["1","2"], 36 | "spawnMaps" : ["Map001","Map002"], 37 | "spawnAllocateMaps" : [ 38 | { 39 | "mapName": "Map001", 40 | "allocateAmount": 10, 41 | } 42 | ] 43 | 44 | "databaseManagerAddress" : "localhost", 45 | "databaseManagerPort" : 6003, 46 | 47 | "useWebSocket": true, 48 | "webSocketSecure": true, 49 | "webSocketCertPath": "./localhost.pfx", 50 | "webSocketCertPassword": "123456" 51 | } 52 | ``` 53 | 54 | * * * 55 | 56 | ## SQLite Config 57 | 58 | 59 | * ./config/sqliteConfig.json 60 | 61 | ### Example Content 62 | ``` 63 | { 64 | "sqliteDbPath" : "./mmorpgtemplate.sqlite3" 65 | } 66 | ``` 67 | 68 | * * * 69 | 70 | ## MySQL Config 71 | 72 | 73 | * ./config/mySqlConfig.json 74 | 75 | ### Example Content 76 | ``` 77 | { 78 | "mySqlAddress" : "localhost", 79 | "mySqlPort" : 3306, 80 | "mySqlUsername" : "root", 81 | "mySqlPassword" : "", 82 | "mySqlDbName" : "mmorpgtemplate" 83 | } 84 | ``` 85 | 86 | Config priority from high to low is **Command Line -> Config files -> Component data** 87 | -------------------------------------------------------------------------------- /docs/pages/032-server-list-for-client.md: -------------------------------------------------------------------------------- 1 | # Server list for client / Client Production Build 2 | 3 | If you planned to run multiple servers you can add network settings to connect to each server at client side by right click at `Project` tab, then select 4 | **Create -> Create NetworkSetting -> MmoNetworkSetting** 5 | 6 | ![](https://cdn-images-1.medium.com/max/1600/0*98043rQP_fuq-nXw) 7 | 8 | Then set server name (title), central server’s address and port 9 | 10 | ![](https://cdn-images-1.medium.com/max/1600/0*4qxd-1eCkl4kVRc0) 11 | 12 | Then add it into **MMOClientInstance** game object (In 00Init\_MMO scene) 13 | 14 | ![](https://cdn-images-1.medium.com/max/1600/0*q9oRrBn8gICMuCGm) 15 | 16 | ## Server list by text file 17 | 18 | You also can make list of server by create a new text file named `serverList.txt` in [StreamingAssets](https://docs.unity3d.com/Manual/StreamingAssets.html) folder. 19 | Content format is: `SERVER_TITLE, ADDRESS, IS_WEBSOCKET_SECURE`, so you can put content like this: 20 | 21 | ``` 22 | Local Server 1, 127.0.0.1:7000 23 | LAN Server 1, 192.168.1.1:7000 24 | WSS Server 1, www.yourdomain.com:7000, true 25 | ``` 26 | 27 | 28 | ## Client Production Build 29 | 30 | Before you build your game for players, use menu: `MMORPG KIT -> Setup For MMO Build` to setup scripting define symbols to exclude server codes from client. 31 | -------------------------------------------------------------------------------- /docs/pages/033-how-to-integrate-facebook-login.md: -------------------------------------------------------------------------------- 1 | # How to integrate Facebook Login 2 | 3 | To integrate Facebook login you have to import [Facebook SDK for Unity](https://developers.facebook.com/docs/unity/) and the `MMO_FacebookLogin` package which included in the kit. 4 | 5 | Then you will have to create your Facebook app from [Facebook Apps Dashboard](https://developers.facebook.com/apps/) 6 | 7 | You may see how to do it from 8 | 9 | * [https://developers.facebook.com/docs/unity/gettingstarted](https://developers.facebook.com/docs/unity/gettingstarted) 10 | * [https://developers.facebook.com/docs/unity/getting-started/ios](https://developers.facebook.com/docs/unity/getting-started/ios) 11 | * [https://developers.facebook.com/docs/unity/getting-started/android](https://developers.facebook.com/docs/unity/getting-started/android) 12 | 13 | * * * 14 | 15 | ## Setup UIs 16 | 17 | Then open your login scene (for the demo it is Home scene), add **Facebook Login** component to any game object (for the demo, I’ve added it at CanvasHome -> UILogin) 18 | 19 | ![](https://cdn-images-1.medium.com/max/1600/1*UlYwaQVPnNAxpZA-saF3aA.png) 20 | 21 | Then set an events when Login success / fail, the Demo I make it show character list after success 22 | 23 | Then in your Login with Facebook button set **Facebook Login** component -> **On Click Facebook Login** at **On Click** event 24 | 25 | ![](https://cdn-images-1.medium.com/max/1600/1*qlY44CvGzdY84ETGrc-4ow.png) 26 | -------------------------------------------------------------------------------- /docs/pages/035-getting-started-2d-singleplayer-lan.md: -------------------------------------------------------------------------------- 1 | #  Getting Started (2D Singleplayer/LAN) 2 | 3 | Before import the package, you should to set **Scripting Runtime Version**to **.NET 4.x Equivalent** and **Api Compatibility Level** to **.NET 4.x** 4 | 5 | Click menu Edit -> Project Settings -> Player 6 | 7 | ![](https://cdn-images-1.medium.com/max/1600/0*1taaUXKewT6ZOVMc) 8 | 9 | Then set **Scripting Runtime Version** to **.NET 4.x Equivalent** and **Api Compatibility Level** to **.NET 4.x** 10 | 11 | ![](https://cdn-images-1.medium.com/max/1600/0*AzhYdsPL_d-QrZFo) 12 | 13 | If there is no **.NET 4.x** choice in **Api Compatibility Level**, you should try to close the editor and reopen the project again 14 | 15 | Then import the package, we’re going to build the test demo click menu 16 | **File -> Build Settings** 17 | 18 | ![](https://cdn-images-1.medium.com/max/1600/0*i6_ocWDmzchYMHvv) 19 | 20 | Then drag **00Init\_2D, 01Home\_2D, Map001\_2D** scenes to **Build Settings** dialog 21 | 22 | ![](https://cdn-images-1.medium.com/max/1600/1*h_3RE05sCSnEj3sjvDy_BQ.png) 23 | 24 | Then press **Build** to build it 25 | 26 | Now you can try a game, create your first character 27 | 28 | ![](https://cdn-images-1.medium.com/max/1600/1*A2J5WmDjyWnaxSLle7zL2w.png) 29 | 30 | Then start game 31 | 32 | ![](https://cdn-images-1.medium.com/max/1600/1*ieiP_uBO6gDUOHtN8w7f0w.png) 33 | 34 | You can move character by clicking on the ground, you can click on npc to talk, attack monster, pick up an items, rotate camera by right drag 35 | 36 | ![](https://cdn-images-1.medium.com/max/1600/1*PqVlvLRSX2k-LvJJhsUXvw.png) 37 | 38 | * Press C to toggle Character dialog 39 | * Press I to toggle Inventory dialog 40 | * Press T to toggle Skill tree dialog 41 | * Press Q to toggle Quest list dialog 42 | * Press P to toggle Party dialog 43 | * Press G to toggle Guild dialog 44 | * Press Esc to toggle System menu (including respawn menu when dead) 45 | * Press F to pick up item 46 | * Press E to talks to NPCs / Request other players to join party / guild / trade 47 | 48 | When you kill monster, your character will gain XP, collect XP to level up 49 | 50 | When level up, your character will gain Statpoint and Skillpoint 51 | 52 | You can use Statpoint to increase attributes, in this Demo there are: 53 | 54 | * **Strength** increase your character attack damage while equip sword, 2-hand sword and also increase limit inventory weight 55 | * **Dexterity** increase evasion and accuracy 56 | * **Vitality** increase max HP 57 | * **Intelligence** increase max MP 58 | -------------------------------------------------------------------------------- /docs/pages/036-2d-3d-comparison.md: -------------------------------------------------------------------------------- 1 | # 3D -> 2D Components / Settings changes 2 | 3 | For 2D games, there are some components / settings that differences from 3D, when you're going to make 2D game you have to change to use following components / settings 4 | 5 | * `Game Instance` 6 | Change dimension type to 2D 7 | * `Character Model` 8 | Change component to `Character Model 2D` or `Animator Character Model 2D` 9 | * `Player Character Entity` 10 | Use Collider 2D instead of 3D 11 | * `Monster Character Entity` 12 | Use Collider/Rigidbody 2D instead of 3D 13 | * `Harvestable Entity` 14 | Use Collider 2D instead of 3D 15 | * `Warp Portal Entity` 16 | Use Collider 2D instead of 3D 17 | * `Npc Entity` 18 | Use Collider/Rigidbody 2D instead of 3D, Use Character Model 2D 19 | * `Item Drop Entity` 20 | Use Collider2D instead of 3D -------------------------------------------------------------------------------- /docs/pages/046-how-to-change-controller.md: -------------------------------------------------------------------------------- 1 | * * * 2 | 3 | How to change controller 4 | ============== 5 | 6 | You can change `Default Controller Prefab` in `Game Instance` component. 7 | 8 | So you can switch from Point-Click controller to FPS controller by just drag created controller prefab to your `Game Instance` 9 | 10 | ![](../images/change_controller_01.png) 11 | 12 | It also overridable in `Player Character Entity` -> `Controller Prefab` so each `Player Character Entity` can have difference controller 13 | 14 | ![](../images/change_controller_02.png) -------------------------------------------------------------------------------- /docs/pages/047-how-to-change-input.md: -------------------------------------------------------------------------------- 1 | # How to change input 2 | 3 | This project was override input system to make it able to set input keys for difference platform (PC/Mac/Mobile) easily 4 | 5 | For now, I didn't tested on Console platforms yet but I think it should work, I recommend you to remove settings from GameInstance -> Input Setting Manager (I added it for Demo purpose) 6 | 7 | ![](../images/input_setting_manager_01.png) 8 | 9 | Then set following keys to Project Settings -> Input 10 | 11 | * **Activate** key for talk to NPC / show other character menu 12 | * **PickUpItem** key for pick up dropped item 13 | * **Attack** key for attack 14 | * **Jump** key for jump 15 | * **FindEnemy** key for find enemy 16 | * **Reload** key for reload gun 17 | * **ExitVehicle** key for exit from vehicle 18 | * **SwitchEquipWeaponSet** key for switch equip weapon set 19 | * **Sprint** key for sprint 20 | * **Crouch** key for crouch 21 | * **Crawl** key for crawl 22 | * **RotateLeft** key for rotate building 23 | * **RotateRight** key for rotate building 24 | -------------------------------------------------------------------------------- /docs/pages/049-npc-workflows.md: -------------------------------------------------------------------------------- 1 | # NPC Workflows 2 | 3 | When player interactห an NPC entities, the client will send activate message to server. 4 | 5 | Then, server will validate `NPC Entity -> Start Dialog`. If it is existed, server will send show dialog message with dialog id to the client. 6 | 7 | After that, if client have the dialog (client have same data with server) the dialog will be shown. 8 | 9 | Then, if player select any menu it will send select dialog menu message with dialog id to server, if server have the dialog (assume that dialog id from client is valid) it will send show dialog message with dialog id to client. 10 | 11 | So npc dialog messages will be lite because it is not send all text in dialog to client it just send dialog id. 12 | 13 | First dialog will come from `NPC Entity -> Start Dialog` so this is required to make NPC interactable. 14 | -------------------------------------------------------------------------------- /docs/pages/050-instance-dungeon.md: -------------------------------------------------------------------------------- 1 | # Instance Dungeon 2 | 3 | Players can enter instance dungeon by talks to NPC which has warp dialog with `Warp Portal Type` set to `Enter Instance`, or enetaring Warp Portal with `Type` set to `Enter Instance`. 4 | 5 | ## Instance Dungoen Starting Workflow 6 | 7 | The `map-server (1)` will send request to `central-server (2)` then `central-server (2)` send request to `map-spawn-server (3)` to spawn `new map-server instance (4)`. 8 | 9 | After that `new map-server instance (4)` will send its adress and port to `central-server(2)` then `central-server (2)` send address and port to `map-server (1)` 10 | 11 | And then, `map-server (1)` send address and port to clients and finally clients enter `new map-server instance (4)`. 12 | 13 | ## Instance Dungeon Allocation 14 | 15 | With allocated map-servers, it will take a shorter time to start a new instance dungeon map-server because its data and scene was loaded and just awaiting someone to tell it to start, its workflow to connect to allocated map-server is: 16 | 17 | The `map-server (1)` will send request to `central-server (2)` then if `central-server (2)` found a allocated instance it will send request to tell `allocated map-server instance (3)` to start, then `central-server (2)` send address and port to `map-server (1)` 18 | 19 | And then, `map-server (1)` send address and port to clients and finally clients enter `allocated map-server instance (3)`. 20 | 21 | ํYou can setup allocating instance by server configs file, like this example: 22 | 23 | ``` 24 | { 25 | "spawnAllocateMaps": [ 26 | { 27 | "mapName": "Map001", 28 | "allocateAmount": 10, 29 | } 30 | ] 31 | } 32 | ``` 33 | 34 | It will start `10` instances of map-server which load map named `Map001`. 35 | 36 | 37 | * * * 38 | 39 | While playing in instance-dungeon, character's current-map and position will not being saved, so when player exit a game while playing in instance-dungeon and enter the game later character's current-map and position will be current-map and position before enter instance-dungeon. 40 | 41 | Developer can NPC/Warp Portal with `Type` set to `Default` in instance-dungeon as exit -------------------------------------------------------------------------------- /docs/pages/052-mobile-platform.md: -------------------------------------------------------------------------------- 1 | * * * 2 | 3 | Mobile Platform 4 | ============== 5 | 6 | ### How to modify mobile UI 7 | You can try modify mobile UI by drag `CanvasGameplayMobile` prefab to empty scene 8 | 9 | ![](../images/mobile/1.png) 10 | 11 | ### Set your mobile UI 12 | You can set UI prefab for mobile platform at `Game Instance` -> `Ui Scene Gameplay Mobile Prefab` 13 | 14 | ![](../images/mobile/2.png) 15 | 16 | ### Test mobile UI in editor 17 | You can test mobile UI in editor by turn on `Game Instance` -> `Use Mobile In Editor` 18 | 19 | ![](../images/mobile/3.png) -------------------------------------------------------------------------------- /docs/pages/053-localization.md: -------------------------------------------------------------------------------- 1 | * * * 2 | 3 | Localization 4 | ============== 5 | 6 | You can add new language in the `Language Manager` which usually attached to the same game object with `Game Intance` by 7 | 8 | - Enter language key in `New Language Key` for example `FRA` (which stands for "France") 9 | - Then press on `Add New Language` button 10 | 11 | ![](../images/localization/0.1.png) 12 | 13 | Now new language will be added, Then expand data to change text for each key as you wish 14 | 15 | ![](../images/localization/0.2.png) 16 | 17 | **TODO: Add key table here** 18 | 19 | There are some keys that uses for UIs formats for example `UI_FORMAT_STAT_POINTS` which normally uses with `UI Character` -> `Format Key Stat Point` as a format key for character's stat points. 20 | 21 | ![](../images/localization/1.png) 22 | 23 | We uses the keys to map with data in `Language Manager`, for the `UI_FORMAT_STAT_POINTS`, its default value is `Stat Point: {0}`, while playing game if character's stat points = 10 it will be shown as `Stat Point: 10`, if format set to `STP: {0}` it will be shown as `STP: 10` 24 | 25 | ![](../images/localization/2.png) 26 | 27 | ![](../images/localization/3.png) 28 | 29 | You may change `Format Key Stat Point` to `UI_FORMAT_SIMPLE`, if you want to show just stat point amount as `10` because default format value for `UI_FORMAT_SIMPLE` is `{0}` 30 | 31 | ![](../images/localization/4.png) 32 | 33 | ![](../images/localization/5.png) 34 | 35 | But if you set format for `UI_FORMAT_SIMPLE` to `={0}` when you change `Format Key Stat Point` to `UI_FORMAT_SIMPLE` it will shown as `=10` 36 | 37 | ![](../images/localization/6.png) -------------------------------------------------------------------------------- /docs/pages/054-troubleshooting-steps.md: -------------------------------------------------------------------------------- 1 | * * * 2 | 3 | Troubleshooting Steps 4 | ============== 5 | 6 | #### Issue: 7 | ##### Upon import into new project errors appear which may stem from `Library\PackageCache\com.unity.package-manager* @*.*.**` 8 | (ex. com.unity.package-manager-ui@1.9.11) 9 | ##### Resolution: 10 | 1. In the editor locate the Help menu. 11 | 2. Select `Reset Packages to Default` 12 | 13 | 14 | ![](https://i.imgur.com/36eYbaR.png) 15 | 16 | --- 17 | 18 | -------------------------------------------------------------------------------- /docs/pages/110-fps-hands-model.md: -------------------------------------------------------------------------------- 1 | # FPS Hands Model 2 | 3 | This is model which will instantiates as gameplay camera's child, How to prepare it is similar to how to prepare character model, you just drag the FPS hands mesh to empty scene. 4 | 5 | ![](../images/fps-hands-model/1.png) 6 | 7 | Then add character model component ([Animator Character Model](pages/108-animator-character-model ':target=__blank') or [Animation Character Model](pages/107-animation-character-model ':target=__blank') or [Character Model](pages/106-character-model ':target=__blank')) to the FPS hands mesh. 8 | 9 | Then set character model component's configs and drag it to any folder in `Project` window to create a prefab. 10 | 11 | ![](../images/fps-hands-model/2.png) 12 | 13 | ![](../images/fps-hands-model/3.png) 14 | 15 | * * * 16 | 17 | Then you have to set FPS hands model prefab to character entity, The character entity (Which you will learn how to create from [this page](pages/135-player-character-entity ':target=__blank')) will have `Character Model Manager` component attached, drag the FPS hands model prefab to `Fps Model Prefab` field. 18 | 19 | ![](../images/fps-hands-model/4.png) 20 | 21 | Then set the `FPS Model Offsets` (in `Character Model Manager` component) it's offsets between instantiating Fps hands model and gameplay camera. 22 | 23 | * * * 24 | 25 | ## FPS Hands Model Position 26 | 27 | While playing in FPS view mode, gameplay camera look at and follow the character entity -> `Fps Camera Target Transform`. If character entity world position is `0, 1, 0` and fps gameplay camera's offsets (Set at `Shooter Player Character Controller` -> `Fps Target Offset`) is `0, 0, 0`. Camera world position will be `0, 1, 0`. And if `Fps Model Offsets` is `0, 0, 0.25`, Instantiated FPS model's world position will be `0, 1, 0.25`. -------------------------------------------------------------------------------- /docs/pages/112-create-junk-item.md: -------------------------------------------------------------------------------- 1 | # How to create Junk Item 2 | 3 | You can create item by right click in `Project` window then select `Create` -> `Create GameData` -> `Item` 4 | 5 | ![](../images/items/001.png) 6 | 7 | After the item created. Set its name, its name must be unique unlike other data because we're going to use it as data id (*You can change filename later after you have done the setup*) 8 | 9 | ![](../images/items/002.png) 10 | 11 | There are following configs 12 | 13 | - `Title` is default title. if you want to set title for specific language you can set it to `Titles` 14 | - `Titles` is language specific titles. You can set title for specific language key, language key must be the key which existed in `Language Manager` -> `Language List` 15 | - `Description` is default description. if you want to set description for specific language you can set it to `Descriptions` 16 | - `Descriptions` is language specific descriptions. You can set description for specific language key, language key must be the key which existed in `Language Manager` -> `Language List` 17 | - `Icon` is icon which represent item appearance 18 | Then we're going to create `Junk Item` so set `Item Type` to `Junk` 19 | 20 | ![](../images/items/003-1.png) 21 | 22 | There are following configs for `Junk Item` 23 | 24 | - `Drop Model` set mesh or skinned mesh prefab which you want it to be instantiated in gameplay scene to represend dropped item, you also able to attach drop sfx audio source to the prefab which will play on awake when instantiates. 25 | - `Sell Price` is item sell price when sell item to NPC. Not price to buy from NPC. 26 | - `Weight` item weight. About this package, character stats has weight limit, if character carry too many items and sum weight is over weight limit. Character will not able to carry more item. 27 | - `Max Stack` this is max item amount for each slot in inventory. 28 | - `Item Refine` item refine contains settings for refine settings for each level, repair price for each durability rates which available for an equipment items only and title color which available for all item types, you may assume that an item refine is an item rarity settings. 29 | 30 | You can create item refine by right click in `Project` window then select `Create` -> `Create GameData` -> `Item Refine` 31 | 32 | ![](../images/items/004.png) 33 | * * * 34 | 35 | That's an configs for `Junk Item` 36 | 37 | After finish the setup, add it to your [game database](pages/103-game-database.md). If you're using `Resources Folder Game Database` as your [game database](pages/103-game-database.md), you must put it in `Resources` folder. -------------------------------------------------------------------------------- /docs/pages/123-create-attribute-reset-item.md: -------------------------------------------------------------------------------- 1 | # How to create Attribute Reset Item 2 | 3 | You can create item by right click in `Project` window then select `Create` -> `Create GameData` -> `Item` 4 | 5 | ![](../images/items/001.png) 6 | 7 | After the item created. Set its name, its name must be unique unlike other data because we're going to use it as data id (*You can change filename later after you have done the setup*) 8 | 9 | ![](../images/items/002.png) 10 | 11 | There are following configs 12 | 13 | - `Title` is default title. if you want to set title for specific language you can set it to `Titles` 14 | - `Titles` is language specific titles. You can set title for specific language key, language key must be the key which existed in `Language Manager` -> `Language List` 15 | - `Description` is default description. if you want to set description for specific language you can set it to `Descriptions` 16 | - `Descriptions` is language specific descriptions. You can set description for specific language key, language key must be the key which existed in `Language Manager` -> `Language List` 17 | - `Icon` is icon which represent item appearance 18 | Then we're going to create `Attribute Reset Item` so set `Item Type` to `Attribute Reset` 19 | 20 | ![](../images/items/003-12.png) 21 | 22 | There are following configs for `Attribute Reset Item` 23 | 24 | - `Drop Model` set mesh or skinned mesh prefab which you want it to be instantiated in gameplay scene to represend dropped item, you also able to attach drop sfx audio source to the prefab which will play on awake when instantiates. 25 | - `Sell Price` is item sell price when sell item to NPC. Not price to buy from NPC. 26 | - `Weight` item weight. About this package, character stats has weight limit, if character carry too many items and sum weight is over weight limit. Character will not able to carry more item. 27 | - `Max Stack` this is max item amount for each slot in inventory. 28 | - `Item Refine` item refine contains settings for refine settings for each level, repair price for each durability rates which available for an equipment items only and title color which available for all item types, you may assume that an item refine is an item rarity settings. 29 | 30 | You can create item refine by right click in `Project` window then select `Create` -> `Create GameData` -> `Item Refine` 31 | 32 | ![](../images/items/004.png) 33 | * * * 34 | 35 | That's an configs for `Attribute Reset Item` 36 | 37 | After finish the setup, add it to your [game database](pages/103-game-database.md). If you're using `Resources Folder Game Database` as your [game database](pages/103-game-database.md), you must put it in `Resources` folder. -------------------------------------------------------------------------------- /docs/pages/126-create-skill-reset-item.md: -------------------------------------------------------------------------------- 1 | # How to create Skill Reset Item 2 | 3 | You can create item by right click in `Project` window then select `Create` -> `Create GameData` -> `Item` 4 | 5 | ![](../images/items/001.png) 6 | 7 | After the item created. Set its name, its name must be unique unlike other data because we're going to use it as data id (*You can change filename later after you have done the setup*) 8 | 9 | ![](../images/items/002.png) 10 | 11 | There are following configs 12 | 13 | - `Title` is default title. if you want to set title for specific language you can set it to `Titles` 14 | - `Titles` is language specific titles. You can set title for specific language key, language key must be the key which existed in `Language Manager` -> `Language List` 15 | - `Description` is default description. if you want to set description for specific language you can set it to `Descriptions` 16 | - `Descriptions` is language specific descriptions. You can set description for specific language key, language key must be the key which existed in `Language Manager` -> `Language List` 17 | - `Icon` is icon which represent item appearance 18 | Then we're going to create `Skill Reset Item` so set `Item Type` to `Skill Reset` 19 | 20 | ![](../images/items/003-14.png) 21 | 22 | There are following configs for `Skill Reset Item` 23 | 24 | - `Drop Model` set mesh or skinned mesh prefab which you want it to be instantiated in gameplay scene to represend dropped item, you also able to attach drop sfx audio source to the prefab which will play on awake when instantiates. 25 | - `Sell Price` is item sell price when sell item to NPC. Not price to buy from NPC. 26 | - `Weight` item weight. About this package, character stats has weight limit, if character carry too many items and sum weight is over weight limit. Character will not able to carry more item. 27 | - `Max Stack` this is max item amount for each slot in inventory. 28 | - `Item Refine` item refine contains settings for refine settings for each level, repair price for each durability rates which available for an equipment items only and title color which available for all item types, you may assume that an item refine is an item rarity settings. 29 | 30 | You can create item refine by right click in `Project` window then select `Create` -> `Create GameData` -> `Item Refine` 31 | 32 | ![](../images/items/004.png) 33 | * * * 34 | 35 | That's an configs for `Skill Reset Item` 36 | 37 | After finish the setup, add it to your [game database](pages/103-game-database.md). If you're using `Resources Folder Game Database` as your [game database](pages/103-game-database.md), you must put it in `Resources` folder. -------------------------------------------------------------------------------- /docs/pages/137-monster-spawn-area.md: -------------------------------------------------------------------------------- 1 | # Monster Spawn Area 2 | 3 | This is component which will spawn monsters when game start, you can create it in map scene by crate new game object. 4 | 5 | ![](https://cdn-images-1.medium.com/max/1600/0*AnEtOam16Avsb_ey) 6 | 7 | Then add `Monster Spawn Area` component. 8 | 9 | ![](https://cdn-images-1.medium.com/max/1600/0*AmEuRolUdj6WS8yw) 10 | 11 | Set `Monster Character Entity` prefab to `Monster Character Entity` field then set `Level`, `Amount` as you wish. 12 | 13 | ![](https://cdn-images-1.medium.com/max/1600/0*uYLjZyGji7DHaps6) 14 | -------------------------------------------------------------------------------- /docs/pages/140-water-area.md: -------------------------------------------------------------------------------- 1 | # Water Area 2 | 3 | Water area can be any type of game object which attached collider components. You will have to set game object's layer to `Water` and turn on collider -> `isTrigger` to make it works. 4 | 5 | ![](../images/npcs/140-01.png) 6 | 7 | * * * 8 | 9 | ## Settings relates to Swimming System 10 | 11 | Now, only characters which uses `RigidbodyEntityMovement` and `CharacterControllerEntityMovement` as their entity movement component will be able to swim. 12 | 13 | There are new settings for swimming are: 14 | 15 | * `Under Water Threshold` For example of how it work. If character height is `1`, `Under Water Threshold` set to `0.5` and water height is `0.55`. Character will start swimming. If water eight is `0.48`. Character won't start swimming. 16 | * `Auto Swim To Surface` If this is turned on, character will swim up to surface automatically, turn it off if you want character able to diving. 17 | -------------------------------------------------------------------------------- /docs/pages/141-checklist-for-equipment-items.md: -------------------------------------------------------------------------------- 1 | # Checklist for equipment items 2 | 3 | When you created the equipment item and want to make the character attach or change model when equip the item, you have to do following this guide: 4 | 5 | - Prepare character model's equipment container for specific equipment model location. The character model component will have a `Equipment Containers` setting, which you can set `Equip Socket` for specific equipment model location. When character equip the item, it will instantiate equipment model to `Transform` as a child. 6 | ![](../images/141/1.png) 7 | 8 | - Prepare item's equipment model for specific equipment model location. The item game data will have a `Equipment Models` setting, which you can set `Equip Socket` for specific equipment model location. When character equip the item, it will instantiate `Model` to character model's equipment transform. 9 | ![](../images/141/2.png) 10 | 11 | So the key which makes it can instantiate model to transform correctly is `Equip Socket`. It must be the same key in character model -> `Equipment Containers` setting and item -> `Equipment Models` setting. 12 | 13 | * * * 14 | 15 | ## Skinned mesh equipment model 16 | 17 | If equipment model is skinned mesh which will use the same bones with character model. You can set any transform (but must be a child transform of character model) to character model's equipment container transform, it will instantiating the model to that transform then set bones from character model to equipment model. 18 | 19 | * * * 20 | 21 | ## Different equipment models for different characters 22 | 23 | If you make 2 base characters, male and female and want to make it instantiate different equipment models for each character. You can set different keys for male and female then uses both keys in item settings which different models. For example: 24 | 25 | - `Male` character model has an equipment container with key `Armor(M)` 26 | - `Female` character model has an equipment container with key `Armor(F)` 27 | - `Armor` item has equipment models with key `Armor(M)` and `Armor(F)`, they've different models. 28 | - Then when `Male` character equip `Armor` item, it will instantiate `Armor(M)` model to `Armor(M)` container. 29 | - And when `Female` character equip `Armor` item, it will instantiate `Armor(F)` model to `Armor(F)` container. -------------------------------------------------------------------------------- /docs/pages/142-how-attack-function-work.md: -------------------------------------------------------------------------------- 1 | # How attack function work? 2 | 3 | When player attack with `BaseCharacterEntity` -> `RequestAttack` function, then it will send networking message to server. 4 | 5 | Then at server-side after received the message, it will call `BaseCharacterEntity` -> `NetFuncAttack` function to process attack function, it also prepare attack animation here and then at the server-side it will call `BaseCharacterEntity` -> `RequestPlayAttackAnimation` which will send networking message to clients to play attack animation by `BaseCharacterEntity` -> `NetFuncPlayAttack` function. 6 | 7 | The function: `BaseCharacterEntity` -> `NetFuncPlayAttack` also called at server-side too. 8 | 9 | Then when `BaseCharacterEntity` -> `NetFuncPlayAttack` called, it will play character attack animation, then apply damage with `BaseCharacterEntity` -> `ApplyAttack` function. 10 | 11 | About skill, it's working in a similar way, just uses different functions. -------------------------------------------------------------------------------- /docs/pages/143-item-drop-entity.md: -------------------------------------------------------------------------------- 1 | # Item Drop Entity 2 | 3 | `Item Drop Entity` is a game entity which represent item which drop on the ground, the one which set to `Game Instance -> Item Drop Entity Prefab` is a place holder for `Item -> Drop Model`. 4 | 5 | For the `Item Drop Entity` which placed on the scene is work differently, another thing which is different is character can earn more than one item when pickup in-scene `Item Drop Entity`, it is not a place holder for the drop model. 6 | 7 | You can create in-scene `Item Drop Entity` by drag mesh or skinned mesh to the scene 8 | 9 | ![](../images/143/1.png) 10 | 11 | Then setup its collider, and then attach `Item Drop Entity` component. 12 | 13 | ![](../images/143/2.png) 14 | 15 | Then set items which characters can earn to `Item Drop Entity` as you wish. 16 | 17 | ![](../images/143/3.png) 18 | 19 | ## Make it can be spawned by `Item Drop Spawn Area` 20 | 21 | To make it can be spawned by `Item Drop Spawn Area` you have to make the `Item Drop Entity` to prefab, by drag it to anywhere inside `Project` window. 22 | 23 | ![](../images/143/4.png) 24 | 25 | Then you can create a empty game object, attach `Item Drop Spawn Area` component, then set `Item Drop Entity` prefab which you want to spawn when server start as you wish. 26 | 27 | ![](../images/143/5.png) 28 | -------------------------------------------------------------------------------- /docs/pages/144-guildwar.md: -------------------------------------------------------------------------------- 1 | # Guild War 2 | 3 | In the guild war map there is a castle heart, which can be occupied by any guilds when a guild member can destroy it. When a guild can occupy the castle, guild members will receive rewards then the guild have to defend the castle if the guild can defend the castle, castle heart not destroyed. Guild members will receive rewards. 4 | 5 | **In the version 1.60 guild battle rewards not implemented yet** 6 | 7 | ## How to create guild war map 8 | To create guild war map, you have to prepare map scene then place castle heart anywhere, to create castle heart it's like how to create monster entities but you have to use `GuildWarCastleHeart` instread of `MonsterCharacterEntity`. And then when create map info you have to create `GuildWarMapInfo` by right click in `Project` window then choose `Create` -> `Create GameData` -> `Guild War Map Info` 9 | 10 | ### Guild war map info configs 11 | * **Event time settings** each day has a `IsOn`, if this is `TRUE`, events will run on that day from `StartTime` to `EndTime` 12 | * `BattleDuration` this is duration for defender guild to defend the castle. 13 | * **Announce messages** messages settings for announce guild war's status. 14 | -------------------------------------------------------------------------------- /docs/pages/145-day-night-time.md: -------------------------------------------------------------------------------- 1 | # Day-Night time 2 | 3 | Day-Night time have 2 parts are: 4 | 5 | ## Updater 6 | 7 | This is scriptable object which can set to `GameInstance -> DayNightTimeUpdater` it will be used by network game manager to init time of day by server and update time of day by both server and client. If there is no updater set to `GameInstance -> DayNightTimeUpdater` it will create and use instance of `DefaultDayNightTimeUpdater`. 8 | 9 | `DefaultDayNightTimeUpdater` is default updater which can be created by right click in `Project` window then choose `Create -> Create DayNightTimeUpdater -> Default Day Night Time Updater`. 10 | 11 | Developer can create their own day night time updater by inherit `BaseDayNightTimeUpdater` class. 12 | 13 | ## Applyer 14 | 15 | Applyer is just a component which will get time of day (by codes: `GameInstance.Singleton.DayNightTimeUpdater.TimeOfDay`) to apply scene's day-night time, about how to apply it, it's up to how developer will do it. A built-in applyer is `SampleDayNightTimeApplyer` will apply day-night time by changes light color and direction by a time. 16 | -------------------------------------------------------------------------------- /docs/pages/146-currency.md: -------------------------------------------------------------------------------- 1 | # Currency 2 | 3 | You can create new currency by right click in `Project` window then select `Create` -> `Create GameData` -> `Currency` 4 | 5 | Then after finish the setup (Set name, description, icon), add it to your [game database](pages/103-game-database.md). If you're using `Resources Folder Game Database` as your [game database](pages/103-game-database.md), you must put it in `Resources` folder. 6 | 7 | That is it 8 | 9 | * * * 10 | 11 | Currency can be received by quest so in `Quest` game data is contains `rewardCurrencies` as currency amount when complete setting. 12 | 13 | And currency will be used to buy items from NPC, so in `NpcDialog -> sellItems` will contains `sellPrices` as item pricing. 14 | 15 | * * * 16 | 17 | ## UI Component Updates 18 | 19 | - Added `uiRewardCurrencies`(`UICurrencyAmounts`) to In `UICharacterQuest`. 20 | - Added `uiSellPrices`(`UICurrencyAmounts`) to In `UINpcSellItem`. 21 | -------------------------------------------------------------------------------- /docs/pages/147-how-to-update-to-new-version.md: -------------------------------------------------------------------------------- 1 | # How to update to new version 2 | 3 | It may have folder structure changes in some versions. So to avoid the problem when update, you should delete folders that contain scripts or plugins before import the new version package. There are the following folders that change frequently and should be deleted before importing the new version package: 4 | 5 | - `Assets/UnityMultiplayerARPG/Core` 6 | - `Assets/UnityMultiplayerARPG/MMO/Scripts` 7 | - `Assets/UnityMultiplayerARPG/MMO/Plugins` 8 | - `Assets/UnityMultiplayerARPG/MMO/SQLs` 9 | - `Assets/UnityMultiplayerARPG/GuildWar` 10 | - `Assets/UnityMultiplayerARPG/Demo/Scripts` -------------------------------------------------------------------------------- /docs/pages/148-how-to-create-character-with-editor.md: -------------------------------------------------------------------------------- 1 | # How to create character entity with `Character Entity Creator` 2 | 3 | Before you use this tool, you have to prepare character model prefab. 4 | 5 | If prepared, then open the dialog from menu `MMORPG KIT -> Character Entity Creator (3D)` 6 | 7 | ![](../images/148/01.png) 8 | 9 | Then set game database which you want to put creating entity to and prepared prefab. 10 | 11 | ![](../images/148/02.png) 12 | 13 | After set data in the dialog, press `Create` button, then it will shows folder choosing dialog, select folder which you want to save. 14 | 15 | ![](../images/148/03.png) 16 | 17 | Then data will be created in selected folder. 18 | 19 | ![](../images/148/04.png) 20 | 21 | And also added to the game database. 22 | 23 | ![](../images/148/05.png) -------------------------------------------------------------------------------- /docs/pages/150-websocket-server.md: -------------------------------------------------------------------------------- 1 | # Web Socket Server 2 | 3 | In `serverConfig.json`, there are following configs which relates to Web Socket: 4 | 5 | - useWebSocket (boolean): use web socket or not, if your setup transport is not web socket transport then it will change transport to web socket transport. 6 | - webSocketSecure (boolean): use wss protocol or not, if you are going to use it, you must prepare SSL Certificate (read next section). 7 | - webSocketCertPath (string): path of PFX cert file. 8 | - webSocketCertPassword (string): password for PFX cert. 9 | 10 | ## SSL Certificate for WSS protocol 11 | 12 | Generate / obtain an SSL certificate by using Let's Encrypt, you must have domain name for your server. 13 | 14 | ``` 15 | sudo apt update 16 | sudo apt install certbot 17 | sudo certbot certonly --key-type rsa --standalone -d yourdomain.com 18 | ``` 19 | 20 | You'll get: 21 | - fullchain.pem (certificate + chain) 22 | - privkey.pem (private key) 23 | 24 | Then it will tell where the cert files were saved (usually be `/etc/letsencrypt/live/yourdomain.com`), enter the folder to convert PEM to PFX 25 | 26 | ``` 27 | openssl pkcs12 -export -out certificate.pfx -inkey privkey.pem -in cert.pem 28 | ``` 29 | 30 | Enter password as you wish, remember it, you're going to use it later. 31 | 32 | Then a certificate.pfx will be created in the folder. 33 | 34 | Then set config in `serverConfig.json` file 35 | ``` 36 | { 37 | "useWebSocket": true, 38 | "webSocketSecure": true, 39 | "webSocketCertPath": "/etc/letsencrypt/live/yourdomain.com", 40 | "webSocketCertPassword": "yourpassword", 41 | } 42 | ``` 43 | 44 | # Web Socket Client 45 | 46 | To make your game able to connect to web socket server you have to set `useWebSocket` config in `MMO Client Instance` component to `true`, that is it. -------------------------------------------------------------------------------- /docs/pages/151-working-with-2021.md: -------------------------------------------------------------------------------- 1 | # Working with Unity 2021 2 | 3 | In Unity 2021, it has changes which requires some changes to make the kit works. 4 | 5 | You have to delete following files: 6 | - Assets/UnityMultiplayerARPG/Core/LiteNetLibManager/Plugins/System.Buffers.dll 7 | - Assets/UnityMultiplayerARPG/Core/LiteNetLibManager/Plugins/System.Memory.dll 8 | - Assets/UnityMultiplayerARPG/Core/LiteNetLibManager/Plugins/System.Threading.Tasks.Extensions.dll 9 | 10 | Then import [this package](https://suriyun-production.github.io/mmorpg-kit-docs/files/MMORPG_KIT2021.2_Microsoft.Bcl.AsyncInterfaces5.0.0.dll.unitypackage) -------------------------------------------------------------------------------- /docs/pages/153-how-incremental-calculated.md: -------------------------------------------------------------------------------- 1 | # How Incremental Values Being Calculated 2 | 3 | In this project you can find `IncrementalXX` structs which will be used for level, amount calculating (such as equipment's attribute amount bonus calculating) 4 | 5 | In this document will show a example how it will be calculated. 6 | 7 | For the example, if it has a equipment item which has one `IncreaseAttributes` setup and the entry's amount settings is 8 | 9 | - `Base Amount` = `15` 10 | - `Amount Increase Each Level` = `5` 11 | - `Amount Increase Each Level By Levels[0].Min Level` = `5` 12 | - `Amount Increase Each Level By Levels[0].Amount Increase Each Level` = `10` 13 | - `Amount Increase Each Level By Levels[1].Min Level` = `10` 14 | - `Amount Increase Each Level By Levels[1].Amount Increase Each Level` = `20` 15 | 16 | Its amount will increase when item's level `> 1` by `5` 17 | Then if item's level `>= 5`, it will increase amount by `10` 18 | And if item's level `>= 10`, it will increase amount by `20` 19 | 20 | So this is result for each level: 21 | 22 | - Item Level `1`, Amount is `Base Amount` so the amount is `15` 23 | - Item Level `2`, Amount is `Base Amount` + `Amount Increase Each Level` which is `5` so the amount is `20` 24 | - Item Level `3`, Amount is `15` + `5` + `5` = `25` 25 | - Item Level `4`, Amount is `15` + `5` + `5` + `5` = `30` 26 | - Item Level `5` will started increase amount by `Amount Increase Each Level By Levels[0]` setting, Amount is `15` + `5` + `5` + `5` + `Amount Increase Each Level By Levels[0].Amount Increase Each Level` which is `10` so the amount is `40` 27 | - Item Level `6`, Amount is `15` + `5` + `5` + `5` + `10` + `10` = `50` 28 | - Item Level `7`, Amount is `15` + `5` + `5` + `5` + `10` + `10` + `10` = `60` 29 | - Item Level `8`, Amount is `15` + `5` + `5` + `5` + `10` + `10` + `10` + `10` = `70` 30 | - Item Level `9`, Amount is `15` + `5` + `5` + `5` + `10` + `10` + `10` + `10` + `10` = `80` 31 | - Item Level `10`, Amount is `15` + `5` + `5` + `5` + `10` + `10` + `10` + `10` + `10` + `20` = `100` -------------------------------------------------------------------------------- /docs/pages/154-character-battle-points.md: -------------------------------------------------------------------------------- 1 | # Character's Battle Points 2 | 3 | Character's battle points will be calculated by amount of `Attribute`, `Resistance`, `Armor`, `Damage`, `Skill` and `Character Stats` from equipment, skills, increased attributes, and buffs. 4 | You can change amount of score in: 5 | - `Attribute` game data -> `battlePointScore`. 6 | - `Skill` game data -> `battlePointScore`. 7 | - `DamageElement` game data -> `resistanceBattlePointScore`. 8 | - `DamageElement` game data -> `armorBattlePointScore`. 9 | - `DamageElement` game data -> `damageBattlePointScore`. 10 | - `DefaultGameplayRule` game data -> in `Battle Points Score` section. 11 | 12 | * * * 13 | 14 | ## Calculation example: 15 | If your game have 2 attributes, `STR` and `DEX`, then your `STR` -> `battlePointScore` = `7`, and your `DEX` -> `battlePointScore` = `5` 16 | 17 | Then if your character have `STR` = `10` and `DEX` = `20` 18 | 19 | Your battle point will be calculated by `STR` = `7` * `10`, and `DEX` = `5` * `20` 20 | 21 | = (`7` * `10`) + (`5` * `20`) = `170` 22 | 23 | * * * 24 | 25 | `Skills`, `Resistances` and `Armors` battle points score will be calculated like `Attribute` 26 | 27 | But `DamageAmounts` battle points will calculated by its ((`min damage` + `max damage`) / `2`) * `damageBattlePointScore` -------------------------------------------------------------------------------- /docs/pages/156-action-restriction.md: -------------------------------------------------------------------------------- 1 | # Action Restriction and Movement Restriction 2 | 3 | ## Action Restriction 4 | Action restriction is part of `Weapon Item` and `Skill`, you can use it to disallow some of character's actions, for example, if you have giant axe which should not be able to attack while falling in the air, you can turn on weapon item's -> `attackRestriction` -> `restrictedWhileAirborne` option to do it. 5 | 6 | Action restriction have following options: 7 | - `restrictedWhileAirborne`, Turn this on if you want to disallow character's attacking, reloading or use skills while jumping or falling. 8 | - `restrictedWhileCrouching`, Turn this on if you want to disallow character's attacking, reloading or use skills while crouching. 9 | - `restrictedWhileCrawling`, Turn this on if you want to disallow character's attacking, reloading or use skills while crawling. 10 | 11 | ## Movement Restriction 12 | Movement restriction is part of `Weapon Item` and `Character Entity`, you can use it to disallow some of character's movements, for example, if that giant axe is too heavy so the character won't be able it jump while it is swinging, you can turn on weapon item's -> `movementRestrictionWhileAttacking` -> `jumpRestricted` option to do it. 13 | 14 | Movement restriction have following options: 15 | - `jumpRestricted`, Turn this on if you want to disallow to jump while character is attacking, reloading or charging. 16 | - `turnRestricted`, Turn this on if you want to disallow to turn while character is attacking, reloading or charging. -------------------------------------------------------------------------------- /docs/pages/157-custom-database-client.md: -------------------------------------------------------------------------------- 1 | # Custom Database Client 2 | 3 | You can create client to connect to custom database management server which is run outside in Unity project by create a component which implements `IDatabaseClient`. 4 | 5 | Then attach that component to any game object and set the game object which has that component attached to `MMOServerInstance` -> `customDatabaseClientSource`, then turn `useCustomDatabaseClient` option on to use it. You also can set `useCustomDatabaseClient` option in `serverConfig.json` too. 6 | 7 | ![](../images/157/1.png) 8 | 9 | ![](../images/157/2.png) 10 | 11 | This assets has a built-in REST database client and also a REST database service which developed by using .NET7, you can find it [here](https://github.com/insthync/UnityMultiplayerARPG_DatabaseManager) 12 | 13 | If you use [this](https://github.com/insthync/UnityMultiplayerARPG_DatabaseManager), you will have to export data from your Unity game project when you make an update, by select your game instance, you can find a export button in `Inspector`. 14 | 15 | ![](../images/advance/export-social-system-setting.png) 16 | 17 | Click it and choose the server build folder -> `Config` 18 | 19 | * * * 20 | 21 | If you use custom database management server then when you start your servers, you won't have to use `-startDatabaseServer` command line argument to start database management server because you are going to use custom database management server! -------------------------------------------------------------------------------- /docs/pages/158-fix-newtonsoft-not-found-error.md: -------------------------------------------------------------------------------- 1 | # Fix Newtonsoft JSON Not Found Error 2 | 3 | *You will find this error because you weren't following the getting started document. It is a bit upsetting when some of you say the document is outdated, but why do I have to write it while you guys don't read it?* 4 | 5 | You have to install newtonsoft-json package by 6 | 7 | Go to your project folder then `/Packages` edit `manifest.json`, Add 8 | ``` 9 | "com.unity.nuget.newtonsoft-json": "3.0.2" 10 | ``` 11 | Into dependencies 12 | 13 | ![](../images/json-deps.png) 14 | 15 | Or use Package manager from menu `Window` -> `Package Manager` 16 | 17 | ![](../images/json-package-install-1.png) 18 | 19 | ![](../images/json-package-install-2.png) -------------------------------------------------------------------------------- /docs/pages/159-something-not-functional-with-my-built-game.md: -------------------------------------------------------------------------------- 1 | # Something Not Functional With My Built Game 2 | 3 | If you test your game in editor and everything works fine but when you build it to test, there are something not functional then you may forget to setup the build. 4 | 5 | You can do it by click on following menu, 6 | To setup scripting define symbols for difference build: 7 | 8 | - `MMORPG KIT -> Setup For Offline-Lan Build` - For offline-LAN games. 9 | - `MMORPG KIT -> Setup For MMO Build` - For MMO client, it will exclude all server codes, so your customers won't be able to use it to run their private servers. 10 | - `MMORPG KIT -> Setup For MMO with Server Codes Build` - For testing MMO server. If your target build (in Unity's `Build Settings`) is server, you don't have to do this. 11 | 12 | ![](../images/setup-offline-lan.png) -------------------------------------------------------------------------------- /docs/pages/160-before-you-build.md: -------------------------------------------------------------------------------- 1 | # Before you build 2 | 3 | Before you build your game, you may forget to set proper scripting define symbols, if you forget it and build it, something will not functional. 4 | 5 | So you have to setup proper scripting define symbols for difference build by click on following menu: 6 | 7 | - `MMORPG KIT -> Setup For Offline-Lan Build` - For offline-LAN games. 8 | - `MMORPG KIT -> Setup For MMO Build` - For MMO client, it will exclude all server codes, so your customers won't be able to use it to run their private servers. 9 | - `MMORPG KIT -> Setup For MMO with Server Codes Build` - For testing MMO server. If your target build (in Unity's `Build Settings`) is server, you don't have to do this. 10 | 11 | ![](../images/setup-offline-lan.png) -------------------------------------------------------------------------------- /docs/pages/161-dotnet-project.md: -------------------------------------------------------------------------------- 1 | # .NET MMO Project 2 | 3 | You can see the project [here](https://github.com/insthync/UnityMultiplayerARPG_MMO.NET.git), this project have implemented Central Server(for Login/Character Management), Map-Spawn Server and Database Management Server (No Map Server, still have to build from Unity). It have all the same configs and arguments to start server as in the Unity project. 4 | 5 | - [Server Configs](../pages/027-server-configs.md) 6 | - [Server Config Files](../pages/031-server-config-files.md) 7 | - [Server Command Line Arguments](../pages/030-server-command-line-argument.md) 8 | 9 | You will have to export data from your Unity game project when you make an update, by select your game instance, you can find a export button in `Inspector`. 10 | 11 | ![](../images/advance/export-social-system-setting.png) 12 | 13 | ![](../images/advance/export-minimal-items.png) 14 | 15 | ![](../images/advance/export-character-creation-data.png) 16 | 17 | Click it and choose the server build folder -> `Config` -------------------------------------------------------------------------------- /docs/pages/162-fix-unable-to-add-package-jillejr-newtonsoft.md: -------------------------------------------------------------------------------- 1 | # How to fix: `Unable to add package [jillejr.newtonsoft.json-for-unity] Project has invalid dependencies: jillejr.newtonsoft.json-for-unity.converters: Package [jillejr.newtonsoft.json-for-unity.converters@1.5.1] cannot be found` 2 | 3 | ![](../images/162/1.png) 4 | 5 | ![](../images/162/2.png) 6 | 7 | ``` 8 | - Name: Packages from jillejr 9 | - URL: https://npm.cloudsmith.io/jillejr/newtonsoft-json-for-unity 10 | - Scope(s): jillejr 11 | ``` -------------------------------------------------------------------------------- /docs/pages/163-equipment-bones-setup-manager.md: -------------------------------------------------------------------------------- 1 | # Equipment Bones Setup Manager 2 | 3 | An Equipment bones setup for clothes will be proceeded by `Equipment Bones Setup Manager` 4 | 5 | By default it will use `Equipment Model Bones Setup By Human Body Bones Manager` to do it, this manager will add a component to a equipment model, that component is a component which will move bones follow base bones (from Character Model or Default Equipment Model), it will map bones by [Human Body Bones](https://docs.unity3d.com/ScriptReference/HumanBodyBones.html), so character model must be a model which use [Animator](https://docs.unity3d.com/ScriptReference/Animator.html) for animating and must use a humanoid avatar and the equipment model must be a model which use Animator and use humanoid avatar too. 6 | 7 | It has another manager named `Equipment Model Bones Setup By Bone Names Manager`, this one will map bones by name and setup skinned mesh renderer bones by the bones that were mapped, it is based on Callepo [codes](https://github.com/suriyun-production/mmorpg-kit-docs/issues/2101). 8 | 9 | You also can create a new manager class by create a class which extended from `BaseEquipmentModelBonesSetupManager`. 10 | 11 | * * * 12 | 13 | You can create a manager scripting object from create menu and change the manager in `GameInstance` 14 | 15 | ![](../images/163/1.png) 16 | 17 | ![](../images/163/2.png) 18 | 19 | * * * 20 | 21 | In case that you want to set manager for specific equipment model, you can do it too, by set the manager scripting object to `Equipment Model` -> `Equipment Model Bones Setup Manager` 22 | 23 | ![](../images/163/3.png) -------------------------------------------------------------------------------- /docs/pages/164-custom-quest-task-description.md: -------------------------------------------------------------------------------- 1 | # Custom Quest Task Description 2 | 3 | You can set custom quest task description as you wish in `Quest` data -> each `Tasks` entry 4 | 5 | It has following settings: 6 | 7 | - `Use Custom Description`, turn this on to use custom description (while the task is not complete yet). 8 | - `Default Description` default custom description for default language, if your default language is `ENGLISH`, and you chose it, then this one will be used as description (while the task is not complete yet). 9 | - `Language Specific Descriptions` custom description for specific languages. 10 | - `Use Custom Completed Description`, turn this on to use custom description (while the task is complete). 11 | - `Default Completed Description` default custom description for default language, if your default language is `ENGLISH`, and you chose it, then this one will be used as description (while the task is complete). 12 | - `Language Specific Completed Descriptions` custom description for specific languages. 13 | 14 | ![](../images/164/1.png) -------------------------------------------------------------------------------- /docs/pages/165-npc-dialog-message-by-keys.md: -------------------------------------------------------------------------------- 1 | # NPC Dialog Message by Keys 2 | 3 | You can set keys that you want them to be replaced to messages to NPC dialog title and description, the replacing proceeding by message manager class which is currently has only 1 function is `ReplaceKeysToMessages` which being used to replace keys to messages. 4 | 5 | It has a `DefaultMessageManager` (which will being used by default) which can replace following keys: 6 | - Replaces `@characterName` to your character's name. 7 | - Replaces `@level` to your character's level. 8 | - Replaces `@characterClass` to your character class's title. 9 | - Replaces `@exp` to your character's exp. 10 | - Replaces `@nextExp` to your character's next level exp. 11 | - Replaces `@currentHp` to your character's current Hp. 12 | - Replaces `@maxHp` to your character's max Hp. 13 | - Replaces `@currentMp` to your character's current Mp. 14 | - Replaces `@maxMp` to your character's max Mp. 15 | - Replaces `@currentMapName` to your character's current map name. 16 | - Replaces `@currentPosition` to your character's current position. 17 | - Replaces `@respawnMapName` to your character's respawn map name. 18 | - Replaces `@respawnPosition` to your character's respawn position. 19 | 20 | You can create a new message manager class by create a new class which extends from `BaseMessageManager` and implement `ReplaceKeysToMessages` function as you wish, then set it to `GameInstance` -> `messageManager` field if you want to use it. -------------------------------------------------------------------------------- /docs/pages/167-npc-dialog-custom-actions.md: -------------------------------------------------------------------------------- 1 | # NPC Dialog Custom Actions 2 | 3 | You can create an custom actions when enter the NPC dialog and set to NPC dialog's `Enter Dialog Actions On Client` and `Enter Dialog Actions On Server` lists 4 | 5 | You may move camera, shake camera or play NPC animation at client by actions which set to `Enter Dialog Actions On Client`. 6 | 7 | You may increase/decrease items at server by actions which set to `Enter Dialog Actions On Server`. 8 | 9 | You can create a new action by create a new class based on `BaseNpcDialogAction` class, then implement following functions: 10 | 11 | - `IsPass` function has a `IPlayerCharacterData player` parameter, it will pass reference to player who enter the NPC dialog, so we can use player data to setup condition to show the dialog's menu, return `TRUE` if player is pass the condition. 12 | - `DoAction` function has a `IPlayerCharacterData player` parameter, it will pass reference to player who enter the NPC dialog, so we can use player data to do something such as increase/decrease player's items. 13 | 14 | *This function can be async function, so we can make it connect to external services to validate some data or do something with external services.* 15 | 16 | To use it, you must create a new scriptable object of your class, then set to dialog's `Enter Dialog Actions On Client` or `Enter Dialog Actions On Server` list. 17 | 18 | ![](../images/167/1.png) -------------------------------------------------------------------------------- /docs/pages/168-custom-character-data.md: -------------------------------------------------------------------------------- 1 | # Custom Character Data 2 | 3 | There are collections of key/value for player characters, which can be used to store custom data as you wish. 4 | 5 | It have 3 kind of how data syncing are: Server, Private, and Public. 6 | 7 | - `Server` data won't being synced with clients, it will being used by server only, you may use it to store quest data for checking quest steps or progress. 8 | - `Private` data won't being synced with non-owner clients, you may use it to develops weapon's mastery which its level can be increased by weapon usage time. 9 | - `Public` data will be synced to all clients, you may use it to develops character's appearances system. 10 | 11 | And it have 3 kind of custom data types are: Boolean, Integer, and Float. 12 | 13 | * * * 14 | 15 | You can access the collections from `Player Character Entity` and `Player Character` by these properties: 16 | 17 | ### Server custom data 18 | ``` 19 | IList ServerBools { get; set; } 20 | IList ServerInts { get; set; } 21 | IList ServerFloats { get; set; } 22 | ``` 23 | 24 | ### Private custom data 25 | ``` 26 | IList PrivateBools { get; set; } 27 | IList PrivateInts { get; set; } 28 | IList PrivateFloats { get; set; } 29 | ``` 30 | 31 | ### Public custom data 32 | ``` 33 | IList PublicBools { get; set; } 34 | IList PublicInts { get; set; } 35 | IList PublicFloats { get; set; } 36 | ``` -------------------------------------------------------------------------------- /docs/pages/170-pk.md: -------------------------------------------------------------------------------- 1 | # PK 2 | 3 | This asset project has a PK system which if players whom opened it will be able attacks each other althrough map info's `Pvp Mode` is not `Pvp`. 4 | 5 | You can change PK rules by create your own game rule (by create class which extends `BaseGameplayRule`), but default rules (in `DefaultGameplayRule`) are: 6 | 7 | - You can open PK, after your character's level is >= value of `minLevelToTurnPkOn`. 8 | - If you open PK, you can turn it off after value of `hoursBeforeTurnPkOff` * hours. 9 | - When PK player killed, the killer's PK point will be increased by `pkPointEachKills`. 10 | - If player whom has a high PK point, player will get penalty when killed, can set penalthy in `pkDatas`. 11 | 12 | ## PK rules functions 13 | 14 | - `void GetPlayerDeadPunishment(DeadPunishmentType type, BasePlayerCharacterEntity player, BaseCharacterEntity attacker, out int decreaseExp, out int decreaseGold, out int decreaseItems, out int attackerPkPoint)`, it will be called when player dead, then may punish player who has a high PK point, if `type` is `PK`. If PK feature is disabled (can disble it in game instance and map info -> `Enable Pk Rules = FALSE`), the `type` (`DeadPunishmentType`) won't be `PK` when player dead. 15 | - `string GetTurnPkOnWarningMessage()`, just a warning message when turn PK on. 16 | - `bool CanTurnPkOn(BasePlayerCharacterEntity player)`, can turn on or not? 17 | - `bool CanTurnPkOff(BasePlayerCharacterEntity player)`, can turn off or not? -------------------------------------------------------------------------------- /docs/pages/171-dueling.md: -------------------------------------------------------------------------------- 1 | # Dueling 2 | 3 | - You can send dueling requests to another player (by press `E` and select a menu) 4 | - It won't have any punishment when a player dies on the default gameplay rule. You change the rule by create your gameplay rule (by create class which extends `BaseGameplayRule`), and implement `void GetPlayerDeadPunishment(DeadPunishmentType type, BasePlayerCharacterEntity player, BaseCharacterEntity attacker, out int decreaseExp, out int decreaseGold, out int decreaseItems, out int attackerPkPoint)` function to add punishment. 5 | - The player who enters the safe zone will lose. 6 | - If someone disconnects, it won't have a result. 7 | - You can change `Dueling Count Down Duration` which is a count down before dueling start and `Dueling Duration` which is a duration before the dueling end, in game instance. 8 | - You can disable this feature in game instance and map info -> `Disable Dueling` -------------------------------------------------------------------------------- /docs/pages/172-channel.md: -------------------------------------------------------------------------------- 1 | # Channel 2 | 3 | You can setup channel list to `Central Network Manager` -> `Channels`, or set it in `serverConfig.json` in this format: 4 | 5 | ``` 6 | "channels" : [ 7 | { 8 | "id": "1", 9 | "title": "Channel 1", 10 | "maxConnections": 500, 11 | }, 12 | { 13 | "id": "2", 14 | "title": "Channel 2", 15 | "maxConnections": 500, 16 | } 17 | ] 18 | ``` 19 | 20 | About channel's max connections, it is max connections for sum of all map-servers, for example, if you runs 2 maps: `Map001` and `Map002`, for channel `1`. Then `Map001` have `300` players, and `Map002` have `200` players, then current connections for channel `1` is `500`, if channel `1`'s max connections is `500`, then next player won't be able to enter the game. 21 | 22 | If channel's max connections set to `0`, it will use default max connections value from `Central Network Manager` -> `Default Channel Max Connections`, or set it in `serverConfig.json` in this format: 23 | 24 | ``` 25 | "defaultChannelMaxConnections": 500 26 | ``` 27 | 28 | ## Map-Spawn Server, Spawn Maps for Channels 29 | 30 | In `Map Spawn Network Manager` it has a `Spawning Channel Ids` setting, you can set list of channels which you want to spawn maps when start a map-spawn server. 31 | 32 | If you set `Spawning Channel Ids` to `["1","2"]` and `Spawning Maps` to `[Map001, Map002]` then when a map-spawn server started, it will run `4` map-servers are: 33 | 34 | - `Map001` for channel `1`. 35 | - `Map002` for channel `1`. 36 | - `Map001` for channel `2`. 37 | - `Map002` for channel `2`. 38 | 39 | ## How party EXP and items sharing? 40 | 41 | Players in `Map001` channel `1`, won't share anything to players in `Map001` channel `2`, althrough they are in the same party and same map. 42 | 43 | ## How building being created and loaded? 44 | 45 | Building which created in `Map001` channel `1`, won't be created in `Map001` channel `2`. -------------------------------------------------------------------------------- /docs/pages/173-how-to-add-skill-to-character.md: -------------------------------------------------------------------------------- 1 | # How to add skill to character 2 | 3 | You can add skill to character data ([Player Character](pages/135-player-character-entity.md) or [Monster Character](pages/136-monster-character-entity.md)) by select a character data which you want to add skill, then select `skillLevels` list to add it 4 | 5 | ![](../images/173/1.png) 6 | 7 | Then set select skill and set skill's level 8 | 9 | ![](../images/173/2.png) 10 | 11 | That is it. -------------------------------------------------------------------------------- /docs/pages/175-building-repairing.md: -------------------------------------------------------------------------------- 1 | # Building repairing 2 | 3 | You can setup repairing in `BuildingEntity`, it has a `Repairs` list, it is a list of `BuildingRepairData`, you can setup which weapon item which can be used to repair the building, and an requirements for repairing. 4 | 5 | Each `BuildingRepairData` will contains these settings: 6 | 7 | - `canRepairFromMenu` - If this is `TRUE`, it will allow to repair building entity from menu (can setup UI events in `UICurrentBuilding` component), so it doesn't have to equip specific weapon and attack the building. 8 | - `weaponItem` - This will being used if `canRepairFromMenu` is `FALSE`, set the weapon which can be used to repair the building, by attacking. 9 | - `maxRecoveryHp` - Max recovery HP for one time, for example: if building's HP is `80/100`, and this value is `10` then it will recover `10` HP, not `20`, and if building's HP is `80/100`, and this value is `30` then it will recover `20` HP. 10 | - `requireGold` - Require gold to recovery `1` building HP. 11 | - `requireItems` - Require items to recovery `1` building HP. 12 | - `requireCurrencies` - Require currencies to recovery `1` building HP. 13 | 14 | You can set any weapon items so you can setup like this: 15 | 16 | - `HammerA` - with `maxRecoveryHp` = `10`, can recover up to `10` building's HP each attack hit. 17 | - `HammerB` - with `maxRecoveryHp` = `20`, can recover up to `20` building's HP each attack hit. 18 | - 19 | So if use use `HammerB`, it will repair the building faster. 20 | 21 | ![](../images/175/1.png) -------------------------------------------------------------------------------- /docs/pages/177-game-effect.md: -------------------------------------------------------------------------------- 1 | # Game Effect 2 | 3 | `Game Effect` is a component which made for special effect playing, it will play particles, audio sources that attached to the game object and its children 4 | when play function is called (it will be called and play automatically when get instance from pooling system). 5 | 6 | When it is going to play on game entity (character/monster and so on) 7 | it will be instantiated and move following to game entity model's effect container which has a same `effectSocket`, 8 | for example, the demo's level up effect which its `effectSocket` is "Floor" and game entity model's `effectContainers` has one with "Floor" too. 9 | 10 | ![](../images/177/1.png) 11 | 12 | ![](../images/177/2.png) 13 | 14 | ![](../images/177/3.png) 15 | 16 | So if your game effect don't play as you wish, you have to check game effect's `effectSocket` and game entity model's `effectContainers` entries. 17 | 18 | * * * 19 | 20 | You can changes follow settings: 21 | 22 | ### Generic Settings 23 | - `effectSocket` where in game entity model's `effectContainers` which effect will follow after instantiated. 24 | - `isLoop` the effects will be played looply or not, if not it will play just one time and destroy (or store back to pooling system's container). 25 | - `lifeTime` duration before the game effect will be destroyed (or store back to pooling system's container). 26 | 27 | ### Settings for audio clip playing 28 | - `playMode` how audio clip will be played. 29 | - `settingType` which type of volume setting. 30 | - `otherSettingId` if `settingType` is `Other`, it will uses this value as setting type. 31 | - `randomSoundEffects` random sound effects. -------------------------------------------------------------------------------- /docs/pages/178-impact-effect.md: -------------------------------------------------------------------------------- 1 | # Impact Effect 2 | 3 | You can create a collection of impact effects by `Create` -> `Create GameDatabase` -> `Impact Effects` 4 | 5 | ![](../images/178/178-1.png) 6 | 7 | After menu selected, the impact effects scriptable object will be created, you can set `Default Impact Effect` and `Impact Effects`, 8 | `Impact Effects` is a collection of effects which will be played when its source (melee damage, projectile effect) hit any objects in the scene, 9 | it will be played by object's tag, if tag isn't in the `Impact Effects` collection, it will play `Default Impact Effect`. 10 | 11 | You can set the created impact effects collection to weapon type -> damage info, monster character -> damage info (and so on) 12 | 13 | ![](../images/178/178-2.png) 14 | 15 | ![](../images/178/178-3.png) 16 | 17 | Then when your character's attacks hit objects (may hit ground or wall, up to tag you've set) it will play effect, 18 | the effect transform will be set by where it is hitting. 19 | 20 | So you can use impact effect to play effect when bullet hit something, and also can use it to play bullet hole effect. 21 | -------------------------------------------------------------------------------- /docs/pages/179-addressable.md: -------------------------------------------------------------------------------- 1 | # Addressable Asset 2 | 3 | This kit is already implement Unity's addressable asset system, you can learn about the system from: [Package Manual](https://docs.unity3d.com/Packages/com.unity.addressables@1.23/manual/index.html), [Sample](https://github.com/Unity-Technologies/Addressables-Sample) 4 | 5 | This kit is just implement reference to load asset from addressable asset system, so you should learn about catalog, group, how to add assets to group, asset reference, asset labels, and how to download addressable to use it properly. Then what you have to do it convert prefab references to addressable references. 6 | 7 | ![](../images/179/001.png) 8 | 9 | ![](../images/179/001-02.png) 10 | 11 | It's also have some tools you can use from `Tools` -> `Addressables` 12 | 13 | ![](../images/179/002.png) 14 | 15 | After you convert all prefab references to addressable references, then if you want to exclude prefab references codes, you can add `EXCLUDE_PREFAB_REFS` to project settings / scripting define symbols. Or you can use `MMORPG KIT` -> `Addressables` menus to do it. 16 | 17 | ![](../images/179/003.png) 18 | 19 | * * * 20 | 21 | ## Asset Downloading 22 | 23 | You will have to implement asset downloading by yourself, but if you really can't do it, I've implement a simple component which will download all asset files when enter the scene, it is `UIAddressableAssetDownloadManager`, this component will download all assets from all groups, and also have download status UI implemented, after downloading, it will instantiate objects from addressable asset download manager settings which can be created from `Addressables/MMO Addressable Asset Download Manager Settings` menu. 24 | 25 | In `MMO Addressable Asset Download Manager Settings`, it have `Map Network Manager`, `Mmo Client Instance`, `Mmo Server Instance`, and `Game Instance` addressable asset references to setup, so you have make them to be prefabs and then add to addressable group and then set them here to make it instantiates objects follows proper order and initialize data properly. 26 | 27 | ![](../images/179/004.png) 28 | 29 | So you can set scenes in build to have only addressable downloading scene to exclude other assets from build (it will be downloaded later by `UIAddressableAssetDownloadManager` component) 30 | 31 | ![](../images/179/005.png) 32 | 33 | *You can see addressable demo in `UnityMultiplayerARPG/DemoAddressable` folder, if it have many errors because of addresable assets, import `AddressableAssetsData.unitypackage` in `UnityMultiplayerARPG/DemoAddressable` folder (without it still work because it will load from prefab ref instead)* 34 | -------------------------------------------------------------------------------- /docs/pages/180-zoom-scrolling-slow.md: -------------------------------------------------------------------------------- 1 | # Zoom scrolling is too slow 2 | 3 | If your zoom scrolling on Unity 6 is too slow (Maybe because it have some changes by Unity) 4 | 5 | You can change scale factor in input actions config by find a "InputActions" in "Project" tab 6 | 7 | ![](../images/180/001.png) 8 | 9 | Then make change to "Mouse Scroll View" -> "Scroll/Y" scale 10 | 11 | ![](../images/180/002.png) -------------------------------------------------------------------------------- /docs/pages/181-urp-android-pink.md: -------------------------------------------------------------------------------- 1 | # Pink screen on Android (Unity 6) 2 | 3 | To fix it, just turn `Auto Graphics API` on, that is it. 4 | 5 | Open `Build Profiles` then `Player Settings` window by menu `File` -> `Build Profiles`, then click on `Player Settings` 6 | 7 | ![](../images/181/001.png) 8 | 9 | Then find `Auto Graphics API` and turn it on. 10 | 11 | ![](../images/181/002.png) -------------------------------------------------------------------------------- /docs/pages/182-start-gold-and-items.md: -------------------------------------------------------------------------------- 1 | # Start Gold And Items 2 | 3 | You can set start gold and items which will be given to player's character when it was created, by changing `Start Gold` and `Start Items` in `Game Instance` component 4 | 5 | ![](../images/182/001.png) 6 | 7 | You also can create a scriptable object which have `Start Gold` and `Start Items` from create menu: `Create` -> `Game Data` -> `New Character Setting` 8 | 9 | ![](../images/182/002.png) 10 | 11 | ![](../images/182/003.png) 12 | 13 | Then set the created `New Character Setting` to `Game Instance` 14 | 15 | ![](../images/182/004.png) 16 | 17 | ## How to set start items for specific character's class 18 | 19 | You can set start items for specific character's class in `Player Character` data, `Start Items` section 20 | 21 | You can set start equipped items, and start inventory items 22 | 23 | ![](../images/182/005.png) -------------------------------------------------------------------------------- /docs/pages/_generating/107-animation-character-model.md: -------------------------------------------------------------------------------- 1 | # Animation Character Model 2 | 3 | This component working by just change animation clip by `CrossFade` function, you will have to set `Animation` component to `Legacy Animation` field and add an animation clips. 4 | 5 | To setup this component, you should learn about [Legacy Animation System](https://docs.unity3d.com/Manual/Animations.html) and [Animation Clip](https://docs.unity3d.com/Manual/AnimationClips.html). 6 | 7 | * * * 8 | 9 | You can prepare it after prepared `Character Entity` then add `Animation Character Model` component, then setup following settings: 10 | 11 | !INCLUDE "./game-data/_character-model-generic-config.md" 12 | 13 | *(Or use `Character Entity Creator` tool which can be accessed from menu `MMORPG KIT` -> `Character Entity Creator`)* 14 | 15 | * * * 16 | 17 | ## Animation Clip Settings 18 | 19 | Before looking into animation clip settings list, you should to know about `Action Animation` settings 20 | 21 | !INCLUDE "./game-data/_action-animation.md" 22 | 23 | * * * 24 | 25 | All animation clip settings contains: 26 | 27 | * `Default Animations` this is contains default animation clips and action animations 28 | * `Weapon Animations` each of this is contains animation clips and action animations for specific `Weapon Type`. 29 | * `Skill Animations` each of this is contains skill cast clip and activate skill action animation for specific `Skill`. 30 | * `Legacy Animation` set `Animation` component here. 31 | 32 | * * * 33 | 34 | !INCLUDE "./game-data/_character-model-helper-context-menu.md" 35 | 36 | * * * 37 | 38 | After done you can save it as a prefab (drag to any folder in `Project` window). -------------------------------------------------------------------------------- /docs/pages/_generating/112-create-junk-item.md: -------------------------------------------------------------------------------- 1 | # How to create Junk Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Junk Item` so set `Item Type` to `Junk` 10 | 11 | ![](../images/items/003-1.png) 12 | 13 | There are following configs for `Junk Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | * * * 18 | 19 | That's an configs for `Junk Item` 20 | 21 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/113-create-armor-item.md: -------------------------------------------------------------------------------- 1 | # How to create Armor Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Armor Item` so set `Item Type` to `Armor` 10 | 11 | ![](../images/items/003-2.png) 12 | 13 | There are following configs for `Armor Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Equipment Configs 18 | 19 | !INCLUDE "./game-data/_item-equipment-config.md" 20 | 21 | ## Armor Configs 22 | 23 | - `Armor Type` this is type of this armor item, you may create body armor item type, shoes, gloves and so on, up to you. Every item type contains 24 | * `Equippable Slots` you can set it more than 1 if character can equip same item type more than 1 slot, for example ring item can be equipped to 2 equip slot. 25 | 26 | You can create armor type by right click in `Project` window then select `Create` -> `Create GameData` -> `Armor Type` 27 | 28 | ![](../images/items/006.png) 29 | 30 | - `Armor Amount` this is main stats for this item, it will increase character armors when equip this item, Its `Base Amount` is amount of armor when item level is 1. Its `Amount Increase Each Level` is amount of armors that will be increased when item level > 0. 31 | 32 | ## Equipment Bonus Stats 33 | 34 | !INCLUDE "./game-data/_item-equipment-bonus-stats.md" 35 | 36 | ## Equipment Model 37 | 38 | !INCLUDE "./game-data/_item-equipment-model.md" 39 | 40 | * * * 41 | 42 | That's an configs for `Armor Item` 43 | 44 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/115-create-shield-item.md: -------------------------------------------------------------------------------- 1 | # How to create Shield Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Shield Item` so set `Item Type` to `Shield` 10 | 11 | ![](../images/items/003-4.png) 12 | 13 | There are following configs for `Shield Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Equipment Configs 18 | 19 | !INCLUDE "./game-data/_item-equipment-config.md" 20 | 21 | - `Armor Amount` this is main stats for this item, it will increase character armors when equip this item, Its `Base Amount` is amount of armor when item level is 1. Its `Amount Increase Each Level` is amount of armors that will be increased when item level > 0. 22 | 23 | ## Equipment Bonus Stats 24 | 25 | !INCLUDE "./game-data/_item-equipment-bonus-stats.md" 26 | 27 | ## Equipment Model 28 | 29 | !INCLUDE "./game-data/_item-equipment-model.md" 30 | 31 | * * * 32 | 33 | That's an configs for `Shield Item` 34 | 35 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/116-create-potion-item.md: -------------------------------------------------------------------------------- 1 | # How to create Potion Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Potion Item` so set `Item Type` to `Potion` 10 | 11 | ![](../images/items/003-5.png) 12 | 13 | There are following configs for `Potion Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Buff Configs 18 | 19 | - `Buff` applying buff when character use this item. 20 | 21 | !INCLUDE "./game-data/_buff.md" 22 | 23 | * * * 24 | 25 | That's an configs for `Potion Item` 26 | 27 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/117-create-ammo-item.md: -------------------------------------------------------------------------------- 1 | # How to create Ammo Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Ammo Item` so set `Item Type` to `Ammo` 10 | 11 | ![](../images/items/003-6.png) 12 | 13 | There are following configs for `Ammo Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Ammo Configs 18 | 19 | - `Ammo Type` this is type of ammo (the same which set to `Weapon Type` -> `Ammo`). You can create ammo type by right click in `Project` window then select `Create` -> `Create GameData` -> `Ammo Type` 20 | 21 | ![](../images/items/008.png) 22 | 23 | * * * 24 | 25 | That's an configs for `Ammo Item` 26 | 27 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/118-create-building-item.md: -------------------------------------------------------------------------------- 1 | # How to create Building Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Building Item` so set `Item Type` to `Building` 10 | 11 | ![](../images/items/003-7.png) 12 | 13 | There are following configs for `Building Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Building Configs 18 | 19 | - `Building Entity` the [building entity](pages/008-building-building-item-building-entity-building-material-building-area ':target=__blank') which character will construct when use this item. 20 | 21 | * * * 22 | 23 | That's an configs for `Building Item` 24 | 25 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/119-create-pet-item.md: -------------------------------------------------------------------------------- 1 | # How to create Pet Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Pet Item` so set `Item Type` to `Pet` 10 | 11 | ![](../images/items/003-8.png) 12 | 13 | There are following configs for `Pet Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Pet Configs 18 | 19 | - `Pet Entity` the monster character entity which will be spawned when use this item. 20 | 21 | * * * 22 | 23 | That's an configs for `Pet Item` 24 | 25 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/120-create-socket-enhancer-item.md: -------------------------------------------------------------------------------- 1 | # How to create Socket Enhancer Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Socket Enhancer Item` so set `Item Type` to `Socket Enhancer` 10 | 11 | ![](../images/items/003-9.png) 12 | 13 | There are following configs for `Socket Enhancer Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Socket Enhancer Configs 18 | 19 | - `Socket Enhancer Effect` an stats which will increase to items that enhance by this item. 20 | * `Stats` increasing character stats when equip the item which enhanced by this item. 21 | * `Stats Rate` increasing character stats rate when equip the item which enhanced by this item. 22 | * `Attributes` increasing character attributes when equip the item which enhanced by this item. 23 | * `Attributes Rate` increasing character attributes rate when equip the item which enhanced by this item. 24 | * `Resistances` increasing character resistances when equip the item which enhanced by this item. 25 | * `Armors` increasing character armors when equip the item which enhanced by this item. 26 | * `Damages` increasing character damages when equip the item which enhanced by this item. 27 | * `Skills` increasing character skill levels when equip the item which enhanced by this item. 28 | 29 | * * * 30 | 31 | That's an configs for `Socket Enhancer Item` 32 | 33 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/121-create-mount-item.md: -------------------------------------------------------------------------------- 1 | # How to create Mount Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Mount Item` so set `Item Type` to `Mount` 10 | 11 | ![](../images/items/003-10.png) 12 | 13 | There are following configs for `Mount Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Mount Configs 18 | 19 | - `Mount Entity` the mount entity which will be spawned and mounted by character when use this item. 20 | 21 | * * * 22 | 23 | That's an configs for `Mount Item` 24 | 25 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/122-create-attribute-increase-item.md: -------------------------------------------------------------------------------- 1 | # How to create Attribute Increase Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Attribute Increase Item` so set `Item Type` to `Attribute Increase` 10 | 11 | ![](../images/items/003-11.png) 12 | 13 | There are following configs for `Attribute Increase Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Attribute Configs 18 | 19 | - `Attribute Amount` the [attribute](pages/104-character-stats-and-relates-data?id=attribute ':target=__blank') with amount which will be increased to character when use this item. 20 | 21 | * * * 22 | 23 | That's an configs for `Attribute Increase Item` 24 | 25 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/123-create-attribute-reset-item.md: -------------------------------------------------------------------------------- 1 | # How to create Attribute Reset Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Attribute Reset Item` so set `Item Type` to `Attribute Reset` 10 | 11 | ![](../images/items/003-12.png) 12 | 13 | There are following configs for `Attribute Reset Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | * * * 18 | 19 | That's an configs for `Attribute Reset Item` 20 | 21 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/124-create-skill-item.md: -------------------------------------------------------------------------------- 1 | # How to create Skill Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Skill Item` so set `Item Type` to `Skill` 10 | 11 | ![](../images/items/003-1.png) 12 | 13 | There are following configs for `Skill Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Skill Configs 18 | 19 | - `Skill Level` the skill with level which will be used when use this item. 20 | 21 | * * * 22 | 23 | That's an configs for `Skill Item` 24 | 25 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/125-create-skill-learn-item.md: -------------------------------------------------------------------------------- 1 | # How to create Skill Learn Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Skill Learn Item` so set `Item Type` to `Skill Learn` 10 | 11 | ![](../images/items/003-13.png) 12 | 13 | There are following configs for `Skill Learn Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | ## Skill Configs 18 | 19 | - `Skill Level` the skill with level which will be increased to character when use this item. 20 | 21 | * * * 22 | 23 | That's an configs for `Skill Learn Item` 24 | 25 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/126-create-skill-reset-item.md: -------------------------------------------------------------------------------- 1 | # How to create Skill Reset Item 2 | 3 | !INCLUDE "./game-data/_item-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Skill Reset Item` so set `Item Type` to `Skill Reset` 10 | 11 | ![](../images/items/003-14.png) 12 | 13 | There are following configs for `Skill Reset Item` 14 | 15 | !INCLUDE "./game-data/_item-generic-config.md" 16 | 17 | * * * 18 | 19 | That's an configs for `Skill Reset Item` 20 | 21 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/127-create-passive-skill.md: -------------------------------------------------------------------------------- 1 | # How to create Passive Skill 2 | 3 | !INCLUDE "./game-data/_skill-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Passive Skill` so set `Skill Type` to `Passive` 10 | 11 | ![](../images/skills/003-1.png) 12 | 13 | There are following configs for `Passive Skill` 14 | 15 | !INCLUDE "./game-data/_skill-generic-config.md" 16 | 17 | ## Buff Configs 18 | 19 | - `Buff` applying buff while character learned this skill. 20 | 21 | !INCLUDE "./game-data/_buff.md" 22 | 23 | * * * 24 | 25 | That's an configs for `Passive Skill` 26 | 27 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/128-create-buff-skill.md: -------------------------------------------------------------------------------- 1 | # How to create Buff Skill 2 | 3 | !INCLUDE "./game-data/_skill-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Buff Skill` so set `Skill Type` to `Active` and also set `Skill Attack Type` to `None` because it will not attack other characters when use this skill. 10 | 11 | ![](../images/skills/003-2.png) 12 | 13 | There are following configs for `Buff Skill` 14 | 15 | !INCLUDE "./game-data/_skill-generic-config.md" 16 | 17 | ## Buff Configs 18 | 19 | - `Skill Buff Type` set it to `Buff To User` if you want this skill applies buff to user character only. `Buff To Nearby Allies` it will applies buff to nearby allies characters (such as party members, pets). `Buff To Nearby Characters` it will applies buff to nearby characters including with an enemies. `Buff To Target` have to select target character before use this skill, it will applies buff to selected character. `Toggle` this is like `Buff To User` but toggleable. 20 | - `Buff Distance` is distance to applies buffs. 21 | - `Buff` applying buff while character learned this skill. 22 | 23 | !INCLUDE "./game-data/_buff.md" 24 | 25 | * * * 26 | 27 | That's an configs for `Buff Skill` 28 | 29 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/129-create-summon-skill.md: -------------------------------------------------------------------------------- 1 | # How to create Summon Skill 2 | 3 | !INCLUDE "./game-data/_skill-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Summon Skill` so set `Skill Type` to `Active` and also set `Skill Attack Type` to `None` because it will not attack other characters when use this skill. 10 | 11 | ![](../images/skills/003-2.png) 12 | 13 | There are following configs for `Summon Skill` 14 | 15 | !INCLUDE "./game-data/_skill-generic-config.md" 16 | 17 | ## Summon Configs 18 | 19 | - `Monster Entity` the monster character entity which will be spawned when use this skill. 20 | - `Duration` this is life duration for spawned monster. 21 | - `Amount Each Time` if this is `2` it will spawn `2` monsters when using the skill. 22 | - `Max Stack` if this is `4` it will able to spawn `4` monsters. For example: if `Amount Each Time` is `2`, and `Max Stack` is `4`. Then when using skill first time `2` monsters will be spawned, then the second time it will spawn `2` more monsters so there are `4` spawned monsters and then the third time it will kill `2` monsters to spawn `2` new monsters so it will have `4` spawned monsters. 23 | - `Level` this is level of spawning monsters. 24 | 25 | * * * 26 | 27 | That's an configs for `Summon Skill` 28 | 29 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/130-create-mount-skill.md: -------------------------------------------------------------------------------- 1 | # How to create Mount Skill 2 | 3 | !INCLUDE "./game-data/_skill-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Mount Skill` so set `Skill Type` to `Active` and also set `Skill Attack Type` to `None` because it will not attack other characters when use this skill. 10 | 11 | ![](../images/skills/003-2.png) 12 | 13 | There are following configs for `Mount Skill` 14 | 15 | !INCLUDE "./game-data/_skill-generic-config.md" 16 | 17 | ## Mount Configs 18 | 19 | - `Mount Entity` the mount entity which will be spawned and mounted by character when use this skill. 20 | 21 | * * * 22 | 23 | That's an configs for `Mount Skill` 24 | 25 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/131-create-attack-skill.md: -------------------------------------------------------------------------------- 1 | # How to create Attack Skill 2 | 3 | !INCLUDE "./game-data/_skill-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Buff Skill` so set `Skill Type` to `Active` and also set `Skill Attack Type` to `Normal` or `Based On Weapon` because it will attack other characters when use this skill. 10 | 11 | ![](../images/skills/003-3.png) 12 | 13 | There are following configs for `Attack Skill` 14 | 15 | !INCLUDE "./game-data/_skill-generic-config.md" 16 | 17 | ## Attack Configs 18 | 19 | - `Skill Attack Type` how skill applies damages to enemies. 20 | - `Damage Info` contains info about how skill applies damage to other characters ([See more](pages/018-damage-info ':target=__blank')). This will be in-use with `Normal` skill attack type only. If skill attack type is `Based On Weapon` it will use weapon's damage info. 21 | - `Damage Amount` base damage amounts for this skill. This will be in-use with `Normal` skill attack type only. If skill attack type is `Based On Weapon` it will use weapon's damage amounts as base damage amounts. 22 | - `Effectiveness Attributes` skill can increase more damage based on these attributes ([See more](pages/104-character-stats-and-relates-data?id=attribute ':target=__blank')) 23 | - `Weapon Damage Inflictions` damage inflictions based on weapon damage amount. 24 | - `Additional Damage Amounts` damage amounts that will be increasing while attacking target. 25 | - `Increase Damage Amounts With Buffs` if this is `TRUE` applied buff damages will be included to skill attack damages. 26 | - `Is Debuff` if this is `TRUE` an enemies will receive debuff. 27 | - `Debuff` debuff which will applies to an enemies. 28 | 29 | * * * 30 | 31 | That's an configs for `Attack Skill` 32 | 33 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/132-create-craft-skill.md: -------------------------------------------------------------------------------- 1 | # How to create Craft Skill 2 | 3 | !INCLUDE "./game-data/_skill-create-scriptable-object.md" 4 | 5 | There are following configs 6 | 7 | !INCLUDE "./game-data/_game-data-generic-config.md" 8 | 9 | Then we're going to create `Craft Skill` so set `Skill Type` to `Craft`. 10 | 11 | ![](../images/skills/003-4.png) 12 | 13 | There are following configs for `Craft Skill` 14 | 15 | !INCLUDE "./game-data/_skill-generic-config.md" 16 | 17 | ## Craft Configs 18 | 19 | - `Crafting Item` is item which you want character to craft when use skill. 20 | - `Craft Requirement` is an material items which required to craft the item. 21 | - `Require Gold` is amount of gold which required to craft the item. 22 | 23 | * * * 24 | 25 | That's an configs for `Craft Skill` 26 | 27 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/133-create-area-buff-skill.md: -------------------------------------------------------------------------------- 1 | # How to create Area Buff Skill 2 | 3 | You can create area buff skill by right click in `Project` window then select `Create` -> `Create GameData` -> `Skill` -> `Simple Area Buff Skill` 4 | 5 | ![](../images/skills/004.png) 6 | 7 | After the skill created. Set its name, its name must be unique unlike other data because we're going to use it as data id (*You can change filename later after you have done the setup*) 8 | 9 | ![](../images/skills/002.png) 10 | 11 | There are following configs 12 | 13 | !INCLUDE "./game-data/_game-data-generic-config.md" 14 | 15 | !INCLUDE "./game-data/_skill-generic-config.md" 16 | 17 | - `Cast Distance` is distance from skill caster to aim position. 18 | - `Area Duration` is duration that the area will be appears. 19 | - `Apply Duration` is duration that the area will apply buff to characters. 20 | - `Target Object Prefab` is the prefab which will be instantiated at aim position while aiming before cast the skill. 21 | - `Area Buff Entity` is the prefab which will be instantiated at aim position after skill casted. 22 | - `Buff` applying buff while character learned this skill. 23 | 24 | !INCLUDE "./game-data/_buff.md" 25 | 26 | * * * 27 | 28 | That's an configs for `Area Buff Skill` 29 | 30 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/134-create-area-attack-skill.md: -------------------------------------------------------------------------------- 1 | # How to create Area Attack Skill 2 | 3 | You can create area buff skill by right click in `Project` window then select `Create` -> `Create GameData` -> `Skill` -> `Simple Area Attack Skill` 4 | 5 | ![](../images/skills/005.png) 6 | 7 | After the skill created. Set its name, its name must be unique unlike other data because we're going to use it as data id (*You can change filename later after you have done the setup*) 8 | 9 | ![](../images/skills/002.png) 10 | 11 | There are following configs 12 | 13 | !INCLUDE "./game-data/_game-data-generic-config.md" 14 | 15 | !INCLUDE "./game-data/_skill-generic-config.md" 16 | 17 | - `Cast Distance` is distance from skill caster to aim position. 18 | - `Area Duration` is duration that the area will be appears. 19 | - `Apply Duration` is duration that the area will apply damage to characters. 20 | - `Target Object Prefab` is the prefab which will be instantiated at aim position while aiming before cast the skill. 21 | - `Area Damage Entity` is the prefab which will be instantiated at aim position after skill casted. 22 | - `Skill Attack Type` how skill applies damages to enemies. 23 | - `Damage Info` contains info about how skill applies damage to other characters ([See more](pages/018-damage-info ':target=__blank')). This will be in-use with `Normal` skill attack type only. If skill attack type is `Based On Weapon` it will use weapon's damage info. 24 | - `Damage Amount` base damage amounts for this skill. This will be in-use with `Normal` skill attack type only. If skill attack type is `Based On Weapon` it will use weapon's damage amounts as base damage amounts. 25 | - `Effectiveness Attributes` skill can increase more damage based on these attributes ([See more](pages/104-character-stats-and-relates-data?id=attribute ':target=__blank')) 26 | - `Weapon Damage Inflictions` damage inflictions based on weapon damage amount. 27 | - `Additional Damage Amounts` damage amounts that will be increasing while attacking target. 28 | - `Increase Damage Amounts With Buffs` if this is `TRUE` applied buff damages will be included to skill attack damages. 29 | - `Is Debuff` if this is `TRUE` an enemies will receive debuff. 30 | - `Debuff` debuff which will applies to an enemies. 31 | 32 | !INCLUDE "./game-data/_buff.md" 33 | 34 | * * * 35 | 36 | That's an configs for `Area Attack Skill` 37 | 38 | !INCLUDE "./game-data/_game-data-put-to-database.md" -------------------------------------------------------------------------------- /docs/pages/_generating/138-mount-entity.md: -------------------------------------------------------------------------------- 1 | # How to create Vehicle Entity 2 | 3 | To create new mount, you have to prepare vehicle type, which made for character animtion specification while passenging vehicle, you can create new vehicle type by: 4 | 5 | - Right click on `Project` panel 6 | - Choose `Create -> Create Game Data -> Vehicle Type` 7 | 8 | ![](../images/1-46-1.png) 9 | 10 | * * * 11 | 12 | Then prepare mount entity, it's like when you prepare character entity, you have to drag skinned mesh to empty scene then add `Mount Entity` component. If your project is 2D, you can create empty game object then add `Mount Entity` component. 13 | 14 | Then set created `Vehicle Type` to `Mount Entity` -> `Vehicle Type` field. 15 | 16 | Then setup `Seats`, it must have at least 1 seat. Each seat you can set following options: 17 | 18 | - `Passenging Transform` where character position will be while passenging the vehicle. 19 | - `Exit Transform` where character position will be when exit from vehicle. 20 | - `Can Attack`, if this is `TRUE` character will able to attack while passenging this vehicle in this seat. 21 | - `Can Use Skill`, if this is `TRUE` character will able to use skill while passenging this vehicle in this seat. 22 | - `Camera Target`, this is target for camera while character passenging this vehicle. 23 | 24 | And set other options as you wish. 25 | 26 | ![](../images/1-46-2.png) 27 | 28 | * * * 29 | 30 | !INCLUDE "./game-data/_character-model-selection.md" 31 | 32 | * * * 33 | 34 | !INCLUDE "./game-data/_entity-movement-selection.md" 35 | 36 | * * * 37 | 38 | !INCLUDE "./game-data/_entity-put-to-database.md" 39 | -------------------------------------------------------------------------------- /docs/pages/_generating/139-npc-entity.md: -------------------------------------------------------------------------------- 1 | # How to create Npc Entity 2 | 3 | Before create new npc entity, you should know about `Npc Dialog Graph`, you can create new `Npc Dialog Graph` by right click in `Project` window then select `Create GameData` and select `Npc Dialog Graph` then new graph will be created, double-click on it to see the graph and edit it any time. 4 | 5 | ![](../images/npcs/001.png) 6 | 7 | You can create new dialog by right click in graph then select `Multiplayer ARPG -> Npc Dialog`. 8 | 9 | ![](../images/npcs/002.png) 10 | 11 | ![](../images/npcs/003.png) 12 | 13 | `Npc Dialog` have following configs: 14 | 15 | !INCLUDE "./game-data/_game-data-generic-config.md" 16 | 17 | * `Type` type of this dialog. 18 | * `Menus` choices to next dialog, you also can set conditions to show the menu. 19 | 20 | You can set next dialog by drag from menu to another dialog . 21 | 22 | ![](../images/npcs/004.png) 23 | 24 | Okay, you known about `Npc Dialog Graph` and `Npc Dialog` then next section is about `Npc Entity`. 25 | 26 | * * * 27 | 28 | If your project is 3D game, you have to drag skinned mesh to empty scene then add `Npc Entity` component. If your project is 2D, you can create empty game object then add `Npc Entity` component. 29 | 30 | * * * 31 | 32 | !INCLUDE "./game-data/_entity-put-to-database.md" 33 | 34 | * * * 35 | 36 | ### How to add Npcs directly to the scene 37 | 38 | You can add Npcs directly in game scene to make it appear in map scene, to do it you have to prepare `Npc Entity` then drag prepared `Npc Entity` to the map scene. 39 | 40 | Then set created npc dialog graph to `Graph`. 41 | 42 | ![](../images/npcs/005.png) 43 | 44 | * * * 45 | 46 | ### How to add Npcs to Npc Database to spawn to the scene later 47 | 48 | To add Npcs via Npc Database you have to prepare `Npc Entity` prefab and `Npc Dialog Graph`. 49 | 50 | About `Npc Database`, you can create new `Npc Database` by right click in `Project` window select `Create -> Create GameDatabase -> Npc Database`. 51 | 52 | ![](../images/npcs/006.png) 53 | 54 | Then in `Npc Database` you can set map which you wish to spawn an Npcs then each map you can set Npc's position, rotation, `Npc Entity` and `Graph`. 55 | 56 | ![](../images/npcs/007.png) 57 | 58 | Then set `Npc Database` to `Game Instance -> Npc Database` in init scene. 59 | -------------------------------------------------------------------------------- /docs/pages/_generating/_command.md: -------------------------------------------------------------------------------- 1 | pip install MarkdownPP 2 | markdown-pp 106-character-model.md -o ../106-character-model.md 3 | markdown-pp 107-animation-character-model.md -o ../107-animation-character-model.md 4 | markdown-pp 108-animator-character-model.md -o ../108-animator-character-model.md 5 | markdown-pp 109-character-model-2d.md -o ../109-character-model-2d.md 6 | markdown-pp 112-create-junk-item.md -o ../112-create-junk-item.md 7 | markdown-pp 113-create-armor-item.md -o ../113-create-armor-item.md 8 | markdown-pp 114-create-weapon-item.md -o ../114-create-weapon-item.md 9 | markdown-pp 115-create-shield-item.md -o ../115-create-shield-item.md 10 | markdown-pp 116-create-potion-item.md -o ../116-create-potion-item.md 11 | markdown-pp 117-create-ammo-item.md -o ../117-create-ammo-item.md 12 | markdown-pp 118-create-building-item.md -o ../118-create-building-item.md 13 | markdown-pp 119-create-pet-item.md -o ../119-create-pet-item.md 14 | markdown-pp 120-create-socket-enhancer-item.md -o ../120-create-socket-enhancer-item.md 15 | markdown-pp 121-create-mount-item.md -o ../121-create-mount-item.md 16 | markdown-pp 122-create-attribute-increase-item.md -o ../122-create-attribute-increase-item.md 17 | markdown-pp 123-create-attribute-reset-item.md -o ../123-create-attribute-reset-item.md 18 | markdown-pp 124-create-skill-item.md -o ../124-create-skill-item.md 19 | markdown-pp 125-create-skill-learn-item.md -o ../125-create-skill-learn-item.md 20 | markdown-pp 126-create-skill-reset-item.md -o ../126-create-skill-reset-item.md 21 | markdown-pp 127-create-passive-skill.md -o ../127-create-passive-skill.md 22 | markdown-pp 128-create-buff-skill.md -o ../128-create-buff-skill.md 23 | markdown-pp 129-create-summon-skill.md -o ../129-create-summon-skill.md 24 | markdown-pp 130-create-mount-skill.md -o ../130-create-mount-skill.md 25 | markdown-pp 131-create-attack-skill.md -o ../131-create-attack-skill.md 26 | markdown-pp 132-create-craft-skill.md -o ../132-create-craft-skill.md 27 | markdown-pp 133-create-area-buff-skill.md -o ../133-create-area-buff-skill.md 28 | markdown-pp 134-create-area-attack-skill.md -o ../134-create-area-attack-skill.md 29 | markdown-pp 135-player-character-entity.md -o ../135-player-character-entity.md 30 | markdown-pp 136-monster-character-entity.md -o ../136-monster-character-entity.md 31 | markdown-pp 138-mount-entity.md -o ../138-mount-entity.md 32 | markdown-pp 139-npc-entity.md -o ../139-npc-entity.md 33 | markdown-pp 149-playable-character-model.md -o ../149-playable-character-model.md 34 | -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_action-animation.md: -------------------------------------------------------------------------------- 1 | ### Action Animation 2 | 3 | * `Clip` set `Animation Clip` as you wish to play specific action animation. 4 | * `Play Clip All Layers`, if this is `TRUE` it will player action clip all layers. 5 | * `Anim Speed Rate`, this will be multiplied while playing action animation. If this <= 0, it will not be used to calculates with animation speed multiplier. 6 | * `Trigger Duration Rate` this value will multiplies with animation clip's length to trigger an action events to do actions such as hit an enemies or spawn magical projectiles. For example, if attack animation length is 2 seconds, and this value is 0.5, then 1 second after start play this animation clip, an enemies will receives damages. 7 | * `Multi Hit Trigger Duration Rates`, if this length more than 1, will use each entry as trigger duration rate. 8 | * `Duration Type` there are 2 types: `By Clip Length` and `By Fixed Duration`. for the first one, next action will be able to play after animation clip length duration. for the second one, next action will be able to play after `Fixed Duration` duration. 9 | * `Extra Duration` some duration which will sum with animation clip length or `Fix Duration Value`, may use it to play idle animation before next attack animation. 10 | * `Audio Clips` an audio clips which will play randomly when trigger an action events. -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_buff.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suriyun-production/mmorpg-kit-docs/9baef63aae172fc7023feccc12efb2e6b6f3ec09/docs/pages/_generating/game-data/_buff.md -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_character-entity-generic-config.md: -------------------------------------------------------------------------------- 1 | Then set an transforms / containers 2 | 3 | ![](https://cdn-images-1.medium.com/max/1600/0*sN-YHUYMDuz1099a) 4 | 5 | * `Camera Target Transform` this is transform for position which camera will look at and follow while playing in TPS view mode. You may use added child transform and adjust its position to center of the character. If this is empty (None) it will use entity's transform. 6 | * `Fps Camera Target Transform` this is transform for position which camera will look at and follow while playing in FPS view mode. You may use added child transform and adjust its position to center of the character. If this is empty (None) it will use entity's transform. 7 | * `Combat Text Transform` this is transform where it will instantiates an damage texts, HP recovery texts and so on, You may use added child transform and adjust its position to center of the character. If this is empty (None) it will use entity's transform. 8 | * `Opponent Aim Transform` this is transform where other characters will aim to while attacking, You may use added child transform and adjust its positionto center of the character. If this is empty (None) it will use `Combat Text Transform`. 9 | * `Melee Damage Transform` this is transform where it will applying melee damage and find hitting character to apply damages later, You may use added child transform and adjust its position to center of the character. If this is empty (None) it will use entity's transform. 10 | * `Missile Damage Transform` this is transform where it will applying missile damage and find hitting character to apply damages later, You may use added child transform and adjust its position to center of the character. If this is empty (None) it will use `Melee Damage Transform`. This can be overrided by `Equipment Entity` -> `Missile Damage Transform`. 11 | * `Character UI Transform` this is transform where it will instantiates an UIs which relates to character such as character name, guild name, HP gage, MP gage and so on, You may use added child transform and adjust its position to center of the character. If this is empty (None) it will use entity's transform. 12 | * `Mini Map UI Transform` this is transform where it will instantiates mini-map UIs and also set its layer to MiniMap, You may use added child transform and adjust its positionto center of the character. If this is empty (None) it will use entity's transform. -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_character-model-helper-context-menu.md: -------------------------------------------------------------------------------- 1 | ## Helper Context Menu 2 | 3 | Context menu is menu which will appear when click on gear icon on top-left of component in `Inspector`, sometime you might want to copy animations from character model to other character models you can use context menu to do it easily. 4 | 5 | ![](../images/105/11.png) -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_character-model-selection.md: -------------------------------------------------------------------------------- 1 | Then setup character model component based on dimension (2D or 3D) and animation type. 2 | 3 | ## 3D Character Model 4 | 5 | * **[Playable CharacterModel](pages/149-playable-character-model ':target=__blank')**, this character model is using [playable graph](https://docs.unity3d.com/Manual/Playables-Graph.html) to play animations, its performance is better than `Animator Character Model`. Its state settings can be set in components settings only, cannot set state settings in `Animtor` window like `Animator Character Model`. 6 | * **[Animator Character Model](pages/108-animator-character-model ':target=__blank')**, This character model will support **[Mechanim Animation System](https://docs.unity3d.com/Manual/AnimationOverview.html ':target=__blank')** only, it's using pre-made animator controller then override it at runtime to change animation but it's allow to make custom animator controller too with some conditions. 7 | * **[Animation Character Model](pages/107-animation-character-model ':target=__blank')**, This character model will support **[Legacy Animation System](https://docs.unity3d.com/Manual/Animations.html ':target=__blank')** only. 8 | 9 | ## 2D Character Model 10 | 11 | * **[Character Model 2D](pages/109-character-model-2d ':target=__blank')**, This is character model for 2D game, it's use `Animation Clip 2D` to manage animation's frames -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_entity-movement-selection.md: -------------------------------------------------------------------------------- 1 | Then setup entity movement component based on dimension (2D or 3D) and animation type. 2 | 3 | ## 3D Entity Movement 4 | 5 | * **Character Controller Entity Movement** It uses Unity's [Character Controller](https://docs.unity3d.com/ScriptReference/CharacterController.html) for movement. 6 | * **Rigid Body Entity Movement** It uses Unity's [Open Character Controller](https://github.com/Unity-Technologies/Standard-Assets-Characters) which is uses kinematic rigid body for movement. 7 | * **Legacy Rigid Body Entity Movement** It uses Unity's [Rigidbody](https://docs.unity3d.com/ScriptReference/Rigidbody.html) (non-kinematic) for movement. 8 | * **Nav Mesh Entity Movement** It uses Unity's [NavMeshAgent](https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent.html) for movement, so you cannot controller your character to jump or swim. It made for point click games. 9 | 10 | ## 2D Entity Movement 11 | 12 | * **Rigid Body Entity Movement 2D** For 2D games, there is only one built-in entity movement, if you want to use another entity movement which integrates [A* Pathfinding Project](https://arongranberg.com/astar). You can get it from: [UnityMultiplayerARPG_2DAI](https://github.com/insthync/UnityMultiplayerARPG_2DAI). 13 | 14 | After setup entity movement, then adjust colliders fit to character 15 | 16 | ![](https://cdn-images-1.medium.com/max/1600/0*kILIMeK-SrC2rsoa) -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_entity-put-to-database.md: -------------------------------------------------------------------------------- 1 | After finish the setup, drag it to `Project` window to make prefab then add it to [game database](pages/103-game-database.md). If you're using `Resources Folder Game Database` as your [game database](pages/103-game-database.md), you must put it in `Resources` folder. -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_game-data-generic-config.md: -------------------------------------------------------------------------------- 1 | - `Title` is default title. if you want to set title for specific language you can set it to `Titles` 2 | - `Titles` is language specific titles. You can set title for specific language key, language key must be the key which existed in `Language Manager` -> `Language List` 3 | - `Description` is default description. if you want to set description for specific language you can set it to `Descriptions` 4 | - `Descriptions` is language specific descriptions. You can set description for specific language key, language key must be the key which existed in `Language Manager` -> `Language List` 5 | - `Icon` is icon which represent item appearance -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_game-data-put-to-database.md: -------------------------------------------------------------------------------- 1 | After finish the setup, add it to your [game database](pages/103-game-database.md). If you're using `Resources Folder Game Database` as your [game database](pages/103-game-database.md), you must put it in `Resources` folder. -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_item-create-scriptable-object.md: -------------------------------------------------------------------------------- 1 | You can create item by right click in `Project` window then select `Create` -> `Create GameData` -> `Item` 2 | 3 | ![](../images/items/001.png) 4 | 5 | After the item created. Set its name, its name must be unique unlike other data because we're going to use it as data id (*You can change filename later after you have done the setup*) 6 | 7 | ![](../images/items/002.png) 8 | -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_item-equipment-bonus-stats.md: -------------------------------------------------------------------------------- 1 | - `Increase Stats` increasing character stats when equip this item, Its `Base Stats` is amount of stats that will be increased when item level is 1. Its `Stats Increase Each Level` is amount of stats that will be increased when item level > 0. 2 | - `Increase Stats Rate` increasing character stats rate when equip this item, Its `Base Stats` is amount of stats rate that will be increased when item level is 1. Its `Stats Increase Each Level` is amount of stats rate that will be increased when item level > 0. 3 | - `Increase Attributes` increasing character attributes when equip this item, You have to set [attribute](pages/104-character-stats-and-relates-data?id=attribute ':target=__blank') which you want to increase then its `Base Amount` is amount of attributes that will be increased when item level is 1. Its `Amount Increase Each Level` is amount of attributes that will be increased when item level > 0. 4 | - `Increase Attributes Rate` increasing character attributes rate when equip this item, You have to set [attribute](pages/104-character-stats-and-relates-data?id=attribute ':target=__blank') which you want to increase then its `Base Amount` is amount of attributes rate that will be increased when item level is 1. Its `Amount Increase Each Level` is amount of attributes rate that will be increased when item level > 0. 5 | - `Increase Resistances` increasing character resistances when equip this item, You have to set [damage element](pages/104-character-stats-and-relates-data?id=damage-element ':target=__blank') which you want to increase then its `Base Amount` is amount of resistances that will be increased when item level is 1. Its `Amount Increase Each Level` is amount of resistances that will be increased when item level > 0. 6 | - `Increase Armors` increasing character armors when equip this item, You have to set [damage element](pages/104-character-stats-and-relates-data?id=damage-element ':target=__blank') which you want to increase then its `Base Amount` is amount of armors that will be increased when item level is 1. Its `Amount Increase Each Level` is amount of armors that will be increased when item level > 0. 7 | - `Increase Damages` increasing character damages when equip this item, You have to set [damage element](pages/104-character-stats-and-relates-data?id=damage-element ':target=__blank') which you want to increase then its `Base Amount` is amount of damages that will be increased when item level is 1. Its `Amount Increase Each Level` is amount of damages that will be increased when item level > 0. 8 | - `Increase Skill Levels` increasing character skill levels when equip this item. -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_item-equipment-config.md: -------------------------------------------------------------------------------- 1 | - `Requirement` is requirement for equip this item, if character hasn't pass this requirement. it will not able to equip this item. You can `Character` which is `Player Character` data (which assumable as character class). `Level` is character level. `Attribute Amounts` an attributes with each amount that required to equip this item. 2 | - `Equipment Set` this package has equipment set system which when character equipped same item set, character can receives bonus. The `Equipment Set` has `Effects` which is an bonus for each amount of same item set that equipped. You can create equipment set by right click in `Project` window then select `Create` -> `Create GameData` -> `Equipment Set` 3 | 4 | ![](../images/items/005.png) 5 | 6 | - `Max Durability` is equipment max durability. If this is set to 0 it will not broken. 7 | - `Destroy If Broken` if this is `TRUE` item will be destroy (remove from inventory) when broken. 8 | - `Max Socket` is max amount of sockets that can be enhance by `Socket Enhancer` items. -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_item-equipment-model.md: -------------------------------------------------------------------------------- 1 | - `Equipment Models` set mesh or skinned mesh prefab which you want it to be instantiated in gameplay scene to represend equipped item, you also able to `EquipmentEntity` to the prefab to changes mesh's materials based on item level (more item level may have brighter glow materials). -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_item-generic-config.md: -------------------------------------------------------------------------------- 1 | - `Drop Model` set mesh or skinned mesh prefab which you want it to be instantiated in gameplay scene to represend dropped item, you also able to attach drop sfx audio source to the prefab which will play on awake when instantiates. 2 | - `Sell Price` is item sell price when sell item to NPC. Not price to buy from NPC. 3 | - `Weight` item weight. About this package, character stats has weight limit, if character carry too many items and sum weight is over weight limit. Character will not able to carry more item. 4 | - `Max Stack` this is max item amount for each slot in inventory. 5 | - `Item Refine` item refine contains settings for refine settings for each level, repair price for each durability rates which available for an equipment items only and title color which available for all item types, you may assume that an item refine is an item rarity settings. 6 | 7 | You can create item refine by right click in `Project` window then select `Create` -> `Create GameData` -> `Item Refine` 8 | 9 | ![](../images/items/004.png) -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_skill-create-scriptable-object.md: -------------------------------------------------------------------------------- 1 | You can create skill by right click in `Project` window then select `Create` -> `Create GameData` -> `Skill` -> `Skill` 2 | 3 | ![](../images/skills/001.png) 4 | 5 | After the skill created. Set its name, its name must be unique unlike other data because we're going to use it as data id (*You can change filename later after you have done the setup*) 6 | 7 | ![](../images/skills/002.png) 8 | -------------------------------------------------------------------------------- /docs/pages/_generating/game-data/_skill-generic-config.md: -------------------------------------------------------------------------------- 1 | - `Max Level` max level that character can learn this skill 2 | - `Move Speed Rate While Using Skill` this value will multiplies with character move speed stats while character is using this skill, set this to 0 if you want to make character don't move while using this skill. This will be in-use with active skills and craft s only. 3 | - `Skill Cast Effects` collection of effects while casting skill (before activate). 4 | - `Cast Duration` casting skill duration (before activate). This will be in-use with active skills and craft skills. 5 | - `Can Be Interrupted While Casting` if this is `TRUE` character will not able to move while casting this skill. This will be in-use with active skills and craft skills. 6 | - `Available Weapons` if character equipped weapons that set in this list, character will be able to use this skill. Set this list to be empty, to make character able to use this skill while equip or not equip any weapons. This will be in-use with active skills and craft skills. 7 | - `Consume Mp` amount of Mp which required to use this skill. its `Base Amount` is amount of required Mp when skill level is 1. Its `Amount Increase Each Level` is increasing amount of required Mp when skill level > 0. This will be in-use with active skills and craft skills. 8 | - `Cooldown Duration` cooldown before allow to use skill next time. its `Base Amount` is duration when skill level is 1. Its `Amount Increase Each Level` is increasing duration when skill level > 0. This will be in-use with active skills and craft skills. 9 | - `Requirement` is requirement for level up this skill. if character hasn't pass this requirement. it will not able to level up this skill. -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mmorpg-kit-docs", 3 | "version": "1.0.0", 4 | "description": "This is document for MMORPG KIT project (https://www.assetstore.unity3d.com/#!/content/110188?aid=1100lGeN)", 5 | "main": "import.js", 6 | "directories": { 7 | "doc": "docs" 8 | }, 9 | "dependencies": { 10 | "bluebird": "^3.7.2", 11 | "cheerio": "^1.0.0-rc.10", 12 | "medium-to-markdown-enhanced": "0.0.4", 13 | "request": "^2.88.0", 14 | "turndown": "^7.1.1" 15 | }, 16 | "devDependencies": {}, 17 | "scripts": { 18 | "test": "echo \"Error: no test specified\" && exit 1" 19 | }, 20 | "repository": { 21 | "type": "git", 22 | "url": "git+https://github.com/suriyun-production/mmorpg-kit-docs.git" 23 | }, 24 | "keywords": [], 25 | "author": "", 26 | "license": "ISC", 27 | "bugs": { 28 | "url": "https://github.com/suriyun-production/mmorpg-kit-docs/issues" 29 | }, 30 | "homepage": "https://github.com/suriyun-production/mmorpg-kit-docs#readme" 31 | } 32 | --------------------------------------------------------------------------------