Skip to content

Commit 2c3bbb9

Browse files
authored
Fixes and structural improvements (#55)
1 parent d6b222d commit 2c3bbb9

6 files changed

Lines changed: 210 additions & 140 deletions

File tree

docs/core-concepts/events.md

Lines changed: 1 addition & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -61,123 +61,7 @@ public void OnPlayerText(Player player, string message, IWorldService worldServi
6161

6262
## Built-in Game Events
6363

64-
SampSharp provides many built-in events for common game world interactions. Here's a comprehensive reference organized by category. Events that return a value are noted with their return type.
65-
66-
### Server & Initialization
67-
- `OnGameModeInit()` : void — Called when the server starts.
68-
- `OnGameModeExit()` : void — Called when the server exits/shuts down.
69-
70-
### Player Connection
71-
- `OnIncomingConnection(Player, string ipAddress, int port)` : void — Called before a player connects (can reject connection).
72-
- `OnPlayerConnect(Player)` : void — Called when a player connects.
73-
- `OnPlayerDisconnect(Player, DisconnectReason reason)` : void — Called when a player disconnects.
74-
- `OnPlayerClientInit(Player)` : void — Called after a player's client has fully initialized.
75-
76-
### Player Classes & Spawning
77-
- `OnPlayerRequestClass(Player, Class)` : void — Called when a player selects a class at class selection.
78-
- `OnPlayerRequestSpawn(Player)` : bool (default: `true`) — Called when a player attempts to spawn (return false to reject).
79-
- `OnPlayerSpawn(Player)` : void — Called when a player spawns.
80-
81-
### Player Movement & Updates
82-
- `OnPlayerStreamIn(Player, Player forPlayer)` : void — Called when a player streams in for another player.
83-
- `OnPlayerStreamOut(Player, Player forPlayer)` : void — Called when a player streams out for another player.
84-
- `OnPlayerUpdate(Player, DateTime)` : bool (default: `true`) — Called every player update (return false to reject).
85-
86-
### Player Text & Commands
87-
- `OnPlayerText(Player, string message)` : bool (default: `true`) — Called when a player sends chat (return false to suppress message).
88-
- `OnPlayerCommandText(Player, string text)` : bool (default: `false`) — Called for unhandled chat starting with `/` (return true to handle).
89-
90-
### Player Interactions
91-
- `OnPlayerClickMap(Player, Vector3 position)` : void — Called when a player clicks the map.
92-
- `OnPlayerClickPlayer(Player, Player clicked, ClickSource source)` : void — Called when a player clicks another player.
93-
94-
### Checkpoints
95-
- `OnPlayerEnterCheckpoint(Player)` : void — Called when a player enters a checkpoint.
96-
- `OnPlayerLeaveCheckpoint(Player)` : void — Called when a player leaves a checkpoint.
97-
- `OnPlayerEnterRaceCheckpoint(Player)` : void — Called when a player enters a race checkpoint.
98-
- `OnPlayerLeaveRaceCheckpoint(Player)` : void — Called when a player leaves a race checkpoint.
99-
100-
### Dialogs
101-
- `OnDialogResponse(Player, int dialogId, DialogResponse response, int listItem, string inputText)` : void — Called when a player responds to a dialog.
102-
103-
### Health & Damage
104-
- `OnPlayerDeath(Player, Player killer, Weapon reason)` : void — Called when a player dies.
105-
- `OnPlayerTakeDamage(Player, Player from, float amount, Weapon weapon, BodyPart part)` : void — Called when a player takes damage.
106-
- `OnPlayerGiveDamage(Player, Player to, float amount, Weapon weapon, BodyPart part)` : void — Called when a player deals damage.
107-
108-
### Vehicles
109-
- `OnVehicleStreamIn(Vehicle, Player forPlayer)` : void — Called when a vehicle streams in.
110-
- `OnVehicleStreamOut(Vehicle, Player forPlayer)` : void — Called when a vehicle streams out.
111-
- `OnVehicleSpawn(Vehicle)` : void — Called when a vehicle spawns.
112-
- `OnVehicleDeath(Vehicle)` : void — Called when a vehicle is destroyed.
113-
- `OnVehicleDamageStatusUpdate(Vehicle)` : void — Called when vehicle damage updates.
114-
- `OnPlayerEnterVehicle(Player, Vehicle, bool asPassenger)` : void — Called when a player enters a vehicle.
115-
- `OnPlayerExitVehicle(Player, Vehicle)` : void — Called when a player exits a vehicle.
116-
- `OnUnoccupiedVehicleUpdate(Vehicle)` : bool (default: `true`) — Called for unoccupied vehicle updates (return false to reject).
117-
- `OnTrailerUpdate(Vehicle trailer)` : bool (default: `true`) — Called for trailer updates (return false to reject).
118-
- `OnVehicleSirenStateChange(Vehicle)` : bool (default: `true`) — Called when vehicle siren state changes (return false to reject).
119-
- `OnVehiclePaintJob(Player, Vehicle, int paintJob)` : bool (default: `true`) — Called when a player modifies paintjob (return false to reject).
120-
- `OnVehicleMod(Player, Vehicle, int componentId)` : bool (default: `true`) — Called when a player adds a mod (return false to reject).
121-
- `OnVehicleRespray(Player, Vehicle, int color1, int color2)` : bool (default: `true`) — Called when a player resprays (return false to reject).
122-
- `OnEnterExitModShop(Player, bool enter, ModShop modShop)` : void — Called when entering/exiting mod shop.
123-
124-
### Objects
125-
- `OnObjectMoved(Object)` : void — Called when an object finishes moving.
126-
- `OnPlayerObjectMoved(Player, PlayerObject)` : void — Called when a player object finishes moving.
127-
- `OnObjectSelected(Player, Object, int model, Vector3 position)` : void — Called when a player selects an object.
128-
- `OnPlayerObjectSelected(Player, PlayerObject, int model, Vector3 position)` : void — Called when a player selects their object.
129-
- `OnObjectEdited(Player, Object, int response, Vector3 offset, Vector3 rotation)` : void — Called when an object is edited.
130-
- `OnPlayerObjectEdited(Player, PlayerObject, int response, Vector3 offset, Vector3 rotation)` : void — Called when a player object is edited.
131-
- `OnPlayerAttachedObjectEdited(Player, int index, bool saved, AttachedObjectEditData data)` : void — Called when attached object is edited.
132-
133-
### Text Draws
134-
- `OnPlayerClickTextDraw(Player, TextDraw)` : void — Called when a player clicks a text draw.
135-
- `OnPlayerClickPlayerTextDraw(Player, PlayerTextDraw)` : void — Called when a player clicks their text draw.
136-
- `OnPlayerCancelTextDrawSelection(Player)` : bool (default: `true`) — Called when canceling text draw selection (return false to reject).
137-
- `OnPlayerCancelPlayerTextDrawSelection(Player)` : bool (default: `true`) — Called when canceling player text draw selection (return false to reject).
138-
139-
### Menus
140-
- `OnPlayerSelectedMenuRow(Player, Menu, int row)` : void — Called when a player selects a menu row.
141-
- `OnPlayerExitedMenu(Player)` : void — Called when a player closes a menu.
142-
143-
### Actors
144-
- `OnActorStreamIn(Actor, Player forPlayer)` : void — Called when an actor streams in.
145-
- `OnActorStreamOut(Actor, Player forPlayer)` : void — Called when an actor streams out.
146-
- `OnPlayerGiveDamageActor(Player, Actor, float amount, Weapon weapon, BodyPart part)` : void — Called when a player damages an actor.
147-
148-
### NPCs
149-
- `OnNPCCreate(NPC)` : void — Called when an NPC is created.
150-
- `OnNPCDestroy(NPC)` : void — Called when an NPC is destroyed.
151-
- `OnNPCSpawn(NPC)` : void — Called when an NPC spawns.
152-
- `OnNPCRespawn(NPC)` : void — Called when an NPC respawns.
153-
- `OnNPCFinishMove(NPC)` : void — Called when an NPC finishes moving.
154-
- `OnNPCDeath(NPC, Player killer, Weapon reason)` : void — Called when an NPC dies.
155-
- `OnNPCWeaponStateChange(NPC, Weapon oldWeapon, Weapon newWeapon)` : void — Called when NPC weapon changes.
156-
- `OnNPCPlaybackStart(NPC, Playback playback)` : void — Called when NPC playback starts.
157-
- `OnNPCPlaybackEnd(NPC, Playback playback)` : void — Called when NPC playback ends.
158-
- `OnNPCFinishNodePoint(NPC, int nodePoint)` : void — Called when NPC reaches a node point.
159-
- `OnNPCFinishNode(NPC, int node)` : void — Called when NPC finishes a node.
160-
- `OnNPCFinishMovePathPoint(NPC, int pathPoint)` : void — Called when NPC reaches a move path point.
161-
- `OnNPCFinishMovePath(NPC, MovePath path)` : void — Called when NPC finishes a move path.
162-
- `OnNPCTakeDamage(NPC, Player from, float amount, Weapon weapon, BodyPart part)` : bool (default: `true`) — Called when NPC takes damage (return false to reject).
163-
- `OnNPCGiveDamage(NPC, Player to, float amount, Weapon weapon, BodyPart part)` : bool (default: `true`) — Called when NPC deals damage (return false to reject).
164-
- `OnNPCShotMissed(NPC, Weapon weapon, Vector3 position)` : bool (default: `true`) — Called when NPC misses a shot (return false to reject).
165-
- `OnNPCShotPlayer(NPC, Player target, Weapon weapon, BodyPart part)` : bool (default: `true`) — Called when NPC shoots a player (return false to reject).
166-
167-
### Weapon & Shooting
168-
- `OnPlayerShotMissed(Player, Weapon weapon, BulletData bulletData)` : bool (default: `true`) — Called when a player misses a shot (return false to reject).
169-
- `OnPlayerShotPlayer(Player, Player target, Weapon weapon, BulletData bulletData)` : bool (default: `true`) — Called when a player shoots another player (return false to reject).
170-
- `OnPlayerShotVehicle(Player, Vehicle target, Weapon weapon, BulletData bulletData)` : bool (default: `true`) — Called when a player shoots a vehicle (return false to reject).
171-
- `OnPlayerShotObject(Player, Object target, Weapon weapon, BulletData bulletData)` : bool (default: `true`) — Called when a player shoots an object (return false to reject).
172-
- `OnPlayerShotPlayerObject(Player, PlayerObject target, Weapon weapon, BulletData bulletData)` : bool (default: `true`) — Called when a player shoots a player object (return false to reject).
173-
174-
### Custom Models & Downloads
175-
- `OnPlayerRequestDownload(Player, CustomModelType type, int modelId)` : bool (default: `true`) — Called when a player downloads a custom model (return false to reject).
176-
- `OnPlayerFinishedDownloading(Player)` : void — Called when a player finishes downloading custom models.
177-
178-
### Console & Admin
179-
- `OnRconLoginAttempt(Player, string password, bool success)` : void — Called when attempting RCON login.
180-
- `OnConsoleCommandListRequest(ConsoleCommandCollection commands)` : void — Called when console command list is requested.
64+
SampSharp dispatches a wide range of built-in events covering player connections, spawning, vehicles, objects, text draws, NPCs, weapons, and more. For the full categorized list with signatures and return types, see <xref:built-in-events>.
18165

18266
## Event Return Values
18367

docs/features/objects.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void OnObjectMoved(GlobalObject obj)
5959
}
6060
```
6161

62-
See <xref:events> for a full list of available object events.
62+
See <xref:built-in-events> for a full list of available object events.
6363

6464
## Manipulating Objects
6565

docs/features/toc.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
items:
2-
- href: commands.md
2+
- href: command-system.md
33
- href: dialog-menus.md
4+
- href: objects.md
45
- href: players.md
56
- href: timers.md
67
- href: vehicles.md

docs/features/vehicles.md

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -35,27 +35,27 @@ You can respond to vehicle-related events such as when a vehicle spawns, a playe
3535
```csharp
3636
public class VehicleEventSystem : ISystem
3737
{
38-
[EventHandler]
39-
public void OnVehicleSpawn(Vehicle vehicle)
40-
{
41-
Console.WriteLine($"Vehicle spawned: {vehicle.Model}");
42-
}
43-
44-
[EventHandler]
45-
public void OnPlayerEnterVehicle(Player player, Vehicle vehicle, bool isPassenger)
46-
{
47-
Console.WriteLine($"{player} entered vehicle {vehicle.Model}");
48-
}
49-
50-
[EventHandler]
51-
public void OnPlayerExitVehicle(Player player, Vehicle vehicle)
52-
{
53-
Console.WriteLine($"{player} exited vehicle {vehicle.Model}");
54-
}
38+
[Event]
39+
public void OnVehicleSpawn(Vehicle vehicle)
40+
{
41+
Console.WriteLine($"Vehicle spawned: {vehicle.Model}");
42+
}
43+
44+
[Event]
45+
public void OnPlayerEnterVehicle(Player player, Vehicle vehicle, bool isPassenger)
46+
{
47+
Console.WriteLine($"{player} entered vehicle {vehicle.Model}");
48+
}
49+
50+
[Event]
51+
public void OnPlayerExitVehicle(Player player, Vehicle vehicle)
52+
{
53+
Console.WriteLine($"{player} exited vehicle {vehicle.Model}");
54+
}
5555
}
5656
```
5757

58-
For a full list of available vehicle events, see <xref:events>.
58+
For a full list of available vehicle events, see <xref:built-in-events>.
5959

6060
## Manipulating Vehicles
6161

@@ -77,10 +77,8 @@ vehicle.Engine = true;
7777
// Check if the vehicle has a trailer
7878
if (vehicle.HasTrailer)
7979
{
80-
Console.WriteLine("This vehicle has a trailer attached.");
80+
Console.WriteLine("This vehicle has a trailer attached.");
8181
}
8282
```
8383

8484
See <xref:SampSharp.Entities.SAMP.Vehicle> for all available properties and methods.
85-
86-

0 commit comments

Comments
 (0)