NextClientServerApi is an amxmodx module that provides an API to interact with Counter-Strike 1.6 NextClient.
See API functions in next_client_api.inc.
- The cvar sandbox. Allows you to set the value of a cvar to the client and locks it to be changed by the client. cvar value on the client is reset to the user's value after disconnecting from the server.
- Effects for viewmodel. Allows you to set rendering effects for viewmodels, as well as skin and body.
- Sprite management api. Allows you to display sprites on the screen.
- Extended fov message. Allows you to set the interpolation time of the fov change.
- Override of deathmsg weapon sprites. Allows you to customize weapon icons in kill feed.
Coming soon:
- Separate precaching for regular cs 1.6 client and NextClient.
- Precaching hud.txt and default sprites.
💎 USING OF THE API TO GRANT PRIVILEGES
SinceNextClientServerApi 1.4.0
we introduced a verification method for players playing with nextclient by usingncl_is_using_nextclient
native and some RSA public keys which should be installed on the server to make verification work.
The verification process is carried out only by nextclient since version2.3.0
, where support for the new client-server protocol was introduced. For earlier versions, it is unfortunately impossible to reliably determine whether a player uses nextclient.
Here is an example of using verification to provide access flags for players playing with updated nextclient:
#include <amxmodx>
#include <next_client_api>
new const VIP_FLAGS[] = "f"; // the vip flags we are providing
public ncl_client_api_ready(id) {
// Check that the player has verified nextclient
if(ncl_is_using_nextclient(id) == NCL_USING_VERIFICATED)
set_user_flags(id, read_flags(VIP_FLAGS));
}
Cvar name | Default value | Available in sandbox | Description |
---|---|---|---|
viewmodel_disable_shift | 0 | Yes | Disable viewmodel shifting (when you looking up or down). |
viewmodel_offset_x | 0 | Yes | |
viewmodel_offset_y | 0 | Yes | |
viewmodel_offset_z | 0 | Yes | |
viewmodel_fov | 90 | No | Min: 70 Max: 100 |
cl_crosshair_type | 0 | Yes | Crosshair type. 0 - crosshair, 1 - T-shaped, 2 - circle, 3 - dot. |
cl_bobstyle | 0 | Yes | 0 for default bob, 1 for old style bob and 2 for CS:GO style bob. |
cl_bobamt_vert | 0.13 | Yes | Vertical scale for CS:GO style bob. |
cl_bobamt_lat | 0.32 | Yes | Lateral scale for CS:GO style bob. |
cl_bob_lower_amt | 8 | Yes | Specifies how much the viewmodel moves inwards for CS:GO style bob. |
cl_rollangle | 0 | Yes | Screen roll angle when strafing or looking (Quake effect). |
cl_rollspeed | 200 | Yes | Screen roll speed when strafing or looking (Quake effect). |
viewmodel_lag_scale | 0 | Yes | The value of the lag of the viewmodel from the crosshair (CS:GO effect). |
viewmodel_lag_speed | 8 | Yes | The speed of the viewmodel following the crosshair (CS:GO effect). |
fov_horplus | 0 | No | Enables Hor+ scaling for FOV. Fixes the FOV when playing with aspect ratios besides 4:3. |
fov_angle | 90 | No (use ncl_setfov instead) | Min: 70 Max: 100 |
fov_lerp | 0 | No (use ncl_setfov instead) | FOV interpolation time in seconds. |
hud_deathnotice_max | 5 | No | The maximum number of killfeed entries that can be displayed. |
hud_deathnotice_old | 0 | No | Enable the old style of killfeed. |
Building NextClientServerApi requires CMake 3.10+ and GCC or MSVC compiler with C++11 support. Tested compilers are:
- GCC 9.4.0
- MSVC 2019
Building the library is done using CMake. You can run the CMake GUI to configure the library or use the command line:
mkdir Release
cd Release
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .. --target nextclientapi_amxx