Main Page: Difference between revisions

From Wiki G1R-MP G1 Remake Multiplayer
Jump to navigation Jump to search
Add G1R:MP 0.1.2 navigation API
Add client audio API to update 0.1.2 overview
Line 10: Line 10:
<div style="background:#fff8f8; border:1px solid #d13b3b; border-left:5px solid #d13b3b; color:#111; padding:0.95rem 1.1rem; margin:0 0 1.25rem;">
<div style="background:#fff8f8; border:1px solid #d13b3b; border-left:5px solid #d13b3b; color:#111; padding:0.95rem 1.1rem; margin:0 0 1.25rem;">
<div style="color:#111; font-size:1.05rem; font-weight:bold; letter-spacing:0.04em;">AVAILABLE AND IMPROVED FROM UPDATE 0.1.2</div>
<div style="color:#111; font-size:1.05rem; font-weight:bold; letter-spacing:0.04em;">AVAILABLE AND IMPROVED FROM UPDATE 0.1.2</div>
<div style="color:#111; margin-top:0.35rem; line-height:1.55;">The following '''29 server-side Lua functions''' are available from G1R:MP 0.1.2. Existing lifecycle, inventory, JSON, NPC, monster, and world-item APIs also include corrected or expanded behavior from this update.</div>
<div style="color:#111; margin-top:0.35rem; line-height:1.55;">The following '''40 Lua functions''' &mdash; 29 server-side and 11 client-side &mdash; are available from G1R:MP 0.1.2. Existing lifecycle, inventory, JSON, NPC, monster, and world-item APIs also include corrected or expanded behavior from this update.</div>


<div style="color:#111; margin-top:0.65rem; line-height:1.65;"><strong>Accounts and consumables (4):</strong> [[completePlayerConsumableFinalize]] &bull; [[completePlayerConsumableUse]] &bull; [[getPlayerAccountBindingSerial]] &bull; [[getPlayerConsumableNames]]</div>
<div style="color:#111; margin-top:0.65rem; line-height:1.65;"><strong>Accounts and consumables (4):</strong> [[completePlayerConsumableFinalize]] &bull; [[completePlayerConsumableUse]] &bull; [[getPlayerAccountBindingSerial]] &bull; [[getPlayerConsumableNames]]</div>
Line 18: Line 18:
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>NPC identity and navigation (7):</strong> [[setNpcIdVisible]] &bull; [[setNpcObstacleBehavior]] &bull; [[setNpcNavigationMode]] &bull; [[setNpcNavigationCollisionMode]] &bull; [[setNpcMoveGoal]] &bull; [[stopNpcMovement]] &bull; [[testNpcMove]]</div>
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>NPC identity and navigation (7):</strong> [[setNpcIdVisible]] &bull; [[setNpcObstacleBehavior]] &bull; [[setNpcNavigationMode]] &bull; [[setNpcNavigationCollisionMode]] &bull; [[setNpcMoveGoal]] &bull; [[stopNpcMovement]] &bull; [[testNpcMove]]</div>
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Custom navigation blockers (6):</strong> [[createAiNavigationBlocker]] &bull; [[updateAiNavigationBlocker]] &bull; [[setAiNavigationBlockerEnabled]] &bull; [[destroyAiNavigationBlocker]] &bull; [[getAiNavigationBlockerData]] &bull; [[getAiNavigationBlockers]] &mdash; see [[NPC and monster navigation collision]].</div>
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Custom navigation blockers (6):</strong> [[createAiNavigationBlocker]] &bull; [[updateAiNavigationBlocker]] &bull; [[setAiNavigationBlockerEnabled]] &bull; [[destroyAiNavigationBlocker]] &bull; [[getAiNavigationBlockerData]] &bull; [[getAiNavigationBlockers]] &mdash; see [[NPC and monster navigation collision]].</div>
<div style="color:#111; margin-top:0.35rem; line-height:1.65;"><strong>Client audio (11):</strong> [[playSound]] &bull; [[playSound3D]] &bull; [[stopSound]] &bull; [[setSoundVolume]] &bull; [[getSoundVolume]] &bull; [[setSoundPaused]] &bull; [[isSoundPaused]] &bull; [[isSoundPlaying]] &bull; [[setSoundLooped]] &bull; [[setSound3DPosition]] &bull; [[setSound3DMinMaxDistance]] &mdash; see [[Client audio]].</div>


<div style="color:#111; margin-top:0.65rem; line-height:1.65;"><strong>Events available from 0.1.2 (8):</strong> [[onNpcIdVisibilityChange]] &bull; [[onMonsterNameChange]] &bull; [[onMonsterIdVisibilityChange]] &bull; [[onMonsterMoveBlocked]] &bull; [[onMonsterMoveComplete]] &bull; [[onNpcMoveBlocked]] &bull; [[onNpcMoveComplete]] &bull; [[onWorldItemDrop]]. Existing [[onPlayerJoin]], [[onPlayerQuit]], [[onWorldItemPickup]], and [[onWorldItemSpawn]] contracts are also improved from 0.1.2.</div>
<div style="color:#111; margin-top:0.65rem; line-height:1.65;"><strong>Events available from 0.1.2 (8):</strong> [[onNpcIdVisibilityChange]] &bull; [[onMonsterNameChange]] &bull; [[onMonsterIdVisibilityChange]] &bull; [[onMonsterMoveBlocked]] &bull; [[onMonsterMoveComplete]] &bull; [[onNpcMoveBlocked]] &bull; [[onNpcMoveComplete]] &bull; [[onWorldItemDrop]]. Existing [[onPlayerJoin]], [[onPlayerQuit]], [[onWorldItemPickup]], and [[onWorldItemSpawn]] contracts are also improved from 0.1.2.</div>
Line 32: Line 33:
<li>[[Lua API catalogs|Validated skin, monster, equipment, and gameplay keys]]</li>
<li>[[Lua API catalogs|Validated skin, monster, equipment, and gameplay keys]]</li>
<li>[[NPC and monster navigation collision|NPC and monster navigation collision]]</li>
<li>[[NPC and monster navigation collision|NPC and monster navigation collision]]</li>
<li>[[Client audio|Client audio and synchronized 3D playback]]</li>
<li>[[:Category:Resource Functions|Resource lifecycle functions]]</li>
<li>[[:Category:Resource Functions|Resource lifecycle functions]]</li>
<li>[[:Category:Lua Examples|Lua examples]]</li>
<li>[[:Category:Lua Examples|Lua examples]]</li>
Line 45: Line 47:
<li>[[:Category:Server Functions|Server-side functions]]</li>
<li>[[:Category:Server Functions|Server-side functions]]</li>
<li>[[:Category:Client Functions|Client-side functions]]</li>
<li>[[:Category:Client Functions|Client-side functions]]</li>
<li>[[:Category:Audio Functions|Client audio functions]]</li>
<li>[[:Category:Shared Functions|Shared functions]]</li>
<li>[[:Category:Shared Functions|Shared functions]]</li>
<li>[[:Category:Server Events|Server-side events]]</li>
<li>[[:Category:Server Events|Server-side events]]</li>
Line 82: Line 85:
<div>[[:Category:Chat Functions|Chat]]</div>
<div>[[:Category:Chat Functions|Chat]]</div>
<div>[[:Category:Animation Functions|Animations]]</div>
<div>[[:Category:Animation Functions|Animations]]</div>
<div>[[Client audio|Client audio and OGG playback]]</div>
<div>[[:Category:Camera Functions|Camera]]</div>
<div>[[:Category:Camera Functions|Camera]]</div>
<div>[[Lua events|Events and callbacks]]</div>
<div>[[Lua events|Events and callbacks]]</div>
Line 114: Line 118:
<div style="flex:1 1 22rem; border-top:3px solid #6f8461; background:#f5f2e9; padding:1rem 1.15rem;">
<div style="flex:1 1 22rem; border-top:3px solid #6f8461; background:#f5f2e9; padding:1rem 1.15rem;">
<div style="font-size:1.2rem; font-weight:bold; margin-bottom:0.4rem;">Documentation status</div>
<div style="font-size:1.2rem; font-weight:bold; margin-bottom:0.4rem;">Documentation status</div>
<div style="line-height:1.6;">The reference contains '''236 Lua functions from earlier releases''' plus '''29 functions introduced in update 0.1.2'''. It also contains '''80 events from earlier releases''' plus '''8 events introduced in update 0.1.2'''. Selected existing pages carry an '''improved from 0.1.2''' marker where their contract changed. See [[Lua API catalogs]] for validated skin, monster, equipment, progression, and gameplay keys. APIs marked [[:Category:Experimental Lua API|experimental]] have validated contracts but may still change while the multiplayer runtime is under active development.</div>
<div style="line-height:1.6;">The reference contains '''236 Lua functions from earlier releases''' plus '''40 functions introduced in update 0.1.2'''. It also contains '''80 events from earlier releases''' plus '''8 events introduced in update 0.1.2'''. Selected existing pages carry an '''improved from 0.1.2''' marker where their contract changed. See [[Lua API catalogs]] for validated skin, monster, equipment, progression, and gameplay keys. APIs marked [[:Category:Experimental Lua API|experimental]] have validated contracts but may still change while the multiplayer runtime is under active development.</div>
</div>
</div>
</div>
</div>


[[Category:Lua API]]
[[Category:Lua API]]

Revision as of 19:29, 4 September 2026


Gothic 1 Remake Multiplayer
G1R:MP Scripting Wiki
Build multiplayer resources and gamemodes with Lua 5.1. This wiki documents the server, client, networking, gameplay, database, and RmlUi APIs exposed by G1R:MP.
Lua 5.1 • server and client resources • authoritative gameplay • RmlUi
AVAILABLE AND IMPROVED FROM UPDATE 0.1.2
The following 40 Lua functions — 29 server-side and 11 client-side — are available from G1R:MP 0.1.2. Existing lifecycle, inventory, JSON, NPC, monster, and world-item APIs also include corrected or expanded behavior from this update.
World items (1): spawnItem — see also the World item catalog.

Your first server script

The following example welcomes a joining player and places them at an authoritative spawn point:

addEventHandler("onPlayerJoin", root, function(playerId)
    setPlayerName(playerId, "Newcomer")
    spawnPlayer(playerId, 12.0, 24.0, 2.0, 90)
    outputChatBox("Welcome to G1R:MP!", playerId, 225, 195, 110)
end)

See onPlayerJoin, addEventHandler, setPlayerName, spawnPlayer, and outputChatBox for parameter details and additional examples.

Documentation status
The reference contains 236 Lua functions from earlier releases plus 40 functions introduced in update 0.1.2. It also contains 80 events from earlier releases plus 8 events introduced in update 0.1.2. Selected existing pages carry an improved from 0.1.2 marker where their contract changed. See Lua API catalogs for validated skin, monster, equipment, progression, and gameplay keys. APIs marked experimental have validated contracts but may still change while the multiplayer runtime is under active development.