b0c83af092
Complete replacement of the tactical-shooter project with the netfox-cs-sample (MIT) — a CS 1.6 inspired multiplayer FPS built with Godot 4 and netfox. ## What's new - Full CS-style gameplay: teams (T/CT), rounds, economy, buy menu - 6 weapons: Knife, Glock, USP, AK-47, M4A1, AWP - Bomb plant/defuse with 2 bombsites - Flashbang & smoke grenades - Proper netfox rollback netcode at 64 tick - Network popup UI for host/join - HUD, crosshair, round timer, scoreboard - All netfox singletons registered as autoloads (works in exported builds) ## Architecture - Listen-server (host from client, no dedicated server binary) - Multiplayer-fps game lives at examples/multiplayer-fps/ - Netfox addons registered as autoloads for exported build compat - Godot 4.7 with Forward+ renderer ## Removed - Old headless-server architecture (client_main, server_main, player.gd, etc.) - Custom netfox bootstrap with ENet fallback - Old ChaffGames FPS template (2,420 lines, 844 KB) - SimulationServer GDExtension stub - Godot-jolt physics (netfox sample uses default Godot physics) - Duplicate weapon_data.gd, anti_cheat.gd, round_manager.gd, etc. - Server browser API Python venv (87 MB) - test_range map and modular assets ## Preserved - Git history - Server config at config/default_server_config.cfg - Windows export preset - Build directory (gitignored) Co-authored-by: naxIO <naxIO@users.noreply.github.com>
37 lines
1.0 KiB
Markdown
37 lines
1.0 KiB
Markdown
# Property paths
|
|
|
|
Multiple nodes have *properties* as their configurations. These are specified
|
|
as *property paths*, which have a specific syntax.
|
|
|
|

|
|
|
|
These nodes have a *Root* property. During path resolution, this *Root* node is
|
|
taken as base for relative paths.
|
|
|
|
## Syntax
|
|
|
|
Property paths are specified as follows:
|
|
|
|
```txt
|
|
<node-path>:<property-name>
|
|
```
|
|
|
|
Node path can be *empty* if it refers to a property on the *root* node.
|
|
|
|
If specified, node path will be interpreted relative to the *root* node. Any
|
|
valid [NodePath] will work as expected.
|
|
|
|
Nested properties are also supported. Specify them by appending a colon and an
|
|
additional property name.
|
|
|
|

|
|
|
|
With Brawler as root:
|
|
|
|
* `:position` refers to the Brawler's position
|
|
* `Input:aim` refers to the Input's aim
|
|
* `:velocity:x` refers to the Brawler's velocity's X component; this is a
|
|
nested property
|
|
|
|
[NodePath]: https://docs.godotengine.org/en/stable/classes/class_nodepath.html
|