Commit Graph

1866 Commits

Author SHA1 Message Date
HamletEagle
9a95fd9886 Add cs_get_weaponbox_item native (#548)
* Add cs_get_wpnbox_weapon native

* Rename native + fix strcmp check
2018-09-07 09:01:47 +02:00
Vincent Herbet
99ebd62653
Update Hamsandwich for Sven Coop 5.17 (#452)
* Remove dropped functions

* Update existing offsets

* Add some logic to prevent the use of removed functions.

* Add Ham_SC_AddPoints and Ham_SC_AddPointsToTeam

* Add Ham_SC_GiveAmmo

* Add Ham_SC_FVisibleFromPos

* Fix an old typos with CanPlaySentence for all mods

* Add Ham_SC_CanPlaySequence

* Add Ham_SC_PlayScriptSentence

* Add Ham_SC_StartPlayerFollowing

* Fix CanPlaySequence hamdata.ini (SC)

* Add Ham_SC_StopPlayerFollowing

* Fix handlers from previous commits

* Add Ham_SC_PreSpawn

* Add Ham_SC_PostSpawn

* Add Ham_SC_OnKeyValueUpdate

* Add Ham_SC_SetClassification

* Add Ham_SC_MyCustomPointer and Ham_SC_MyItemPointer

* Add Ham_SC_IsSneaking

* Add Ham_SC_IsAlive

* Add Ham_SC_IsBSPModel

* Add Ham_SC_ReflectGauss

* Add Ham_SC_HasTarget

* Add Ham_SC_IsInWorld

* Add Ham_SC_IsPlayer

* Add Ham_SC_IsNetClient

* Add Ham_SC_IsBreakable

* Fix Ham_SC_IsMonster, Ham_SC_IsPointEntity, Ham_SC_IsMachine and Ham_SC_CriticakRemove handlers

* Add Ham_SC_OnControls

* Fix Ham_SC_TakeHealth and Ham_SC_TakeArmor handlers

* Add Ham_SC_IsTriggered

* Add Ham_SC_RemovePlayerItem

* Fix typo

* Fix Ham_SC_IsMoving handler

* Add Ham_SC_SUB_UseTargets

* Ham_SC_IsLockedByMaster

* Add Ham_SC_FBecomeProne

* Fix Ham_SC_FVisible handler

* Add Ham_SC_FVecVisible

* Fix Ham_SC_FVisibleFromPos handler

* Fix Ham_SC_IsFacing handler

* Add Ham_SC_SetPlayerAlly

* Add Ham_SC_OnSetOriginByMap

* Add Ham_SC_IsRevivable

* Add Ham_SC_BeginRevive and Ham_SC_EndRevive

* Update offsets based on SvenCoop v5.17

* Add Ham_SC_Item_CanCollect and Ham_SC_Item_Collect

* Add Ham_SC_Item_AddToPlayer

* Add Ham_SC_Item_AddDuplicate

* Add Ham_SC_Item_AddAmmoFromItem

* Add Ham_SC_Item_GetItemInfo

* Add Ham_SC_Item_CanDeploy, Ham_SC_Item_Deploy and Ham_SC_Item_CanHolster

* Add Ham_SC_Item_UpdateClientData

* Add Ham_SC_Item_GetRespawnTime

* Add Ham_SC_Item_CanHaveDuplicates

* Add Ham_SC_Weapon_ExtractAmmoFromItem

* Add Ham_SC_Weapon_GetAmmo1Drop and Ham_SC_Weapon_GetAmmo2Drop

* Add Ham_SC_Weapon_FinishReload and Ham_SC_Weapon_ShouldReload

* Fix Ham_SC_IsMultiplayer, Ham_SC_FRunfuncs and Ham_SC_FCanRun handlers

* Add Ham_SC_Weapon_AddWeapon, _PlayEmptySound, _IsUsable, _ShouldWeaponIdle and _UseDecrement

* Add Ham_SC_Item_GetPickupSound

* Add Ham_SC_Item_InactiveItemPreFrame and Ham_SC_Item_InactiveItemPostFrame

* Add Ham_SC_Item_DetachFromPlayer

* Fix Ham_SC_Player_IsConnected handler

* Add Ham_SC_Player_EnteredObserver, Ham_SC_Player_LeftObserver and Ham_SC_Player_IsObserver

* Fix sc_postpawn typo (should be sc_postspawn)

* Add few more assert
2018-09-06 17:09:10 +02:00
Vincent Herbet
c16bd47b30
Remove GetModelCollisionBox, SetModelCollisionBox and SetModelBoundingBox natives (#536) 2018-09-03 18:49:49 +02:00
Vincent Herbet
80cf45d234
Adjust version for manual build and update VS projects (#543) 2018-09-02 20:34:40 +02:00
Vincent Herbet
8c0f97d6bb
Fix typo in fun include (#541) 2018-09-01 18:51:14 +02:00
OciXCrom
879b061bc8 Make the "body" param in get_user_aiming() optional (#532)
* Make the body param optional

* Add HIT_ constant note
2018-08-30 20:26:39 +02:00
Vincent Herbet
1a2dd9e7ea
Update Fun module (#421)
* Fun: Replace ENTINDEX with TypeConversion for consistency

* Fun: Add a class wrapping player's data

* Fun: Make TraceLine a post forward

Reason: as it is it breaks plugins hooking TraceLine because of the original game call is being superceded and other modules can't catch it. It looks like it's this way from the very start fun module has been introduced 13 years ago before. Fakemeta module comes a little later.

* Fun: Clean up code

* Fun: Toggle PlayerPreThink forward on demand

* Fun: Toggle TraceLine forward on demand

* Fun: Add HITZONE* constants for use with set/get_user_hitzone()

* Fun: Refactor a litte the player class

* Fun: Clean up a little more

* Fun: Fix typo in set_user_hitzones from previous commit
2018-08-30 19:16:19 +02:00
justgo97
76378fd5d0 Add get_playersnum_ex (#517)
* Allow get_players to get the players num only

* used empty brackets instead of zero

* Add get_playersnum_ex stock to amxmisc.inc

* Added missing empty brackets

* Remove brackets from get_players

* Fixed a typo in function description

* Change letters to flags in get_playersnum_ex description
2018-08-30 18:43:05 +02:00
OciXCrom
189f16fcc4 Add stat constants in plugins (#522)
* Add stat constants in plugins

* Add missing include in dodstats.sma

* Fix misplaced HIT_RIGHTLEG constant
2018-08-30 18:41:49 +02:00
OciXCrom
8aeefc3fca Add constants for stats functions (#509)
* Add constants for stats functions

* Changed STATS_ to STATSX_ and added 2 more defines

* Added constants for all games

* Add csstats_const.inc and add _MAX_ constats to enum

* Change bodyhits
2018-08-25 20:52:48 +02:00
OciXCrom
ac57ed5b44 Add get_user_rendering (#514)
* Add get_user_rendering

* Added & in arguments

* Changed zeroes to kRender constants

* Changed zeros to kRender constants
2018-08-25 09:18:25 +02:00
OciXCrom
6528677dcc Add @note in get_user_msgid() (#506)
* Update lang.inc

* Update lang.inc

* Update amxmodx.inc

* Improve @note phrasing
2018-08-20 19:50:43 +02:00
OciXCrom
0765dc8a0d Improve messages.inc and message_stocks.inc documentation (#510)
* Improve messages.inc and message_stocks.inc documentation

* Fix typos

* Fixed typos, added a bunch of @notes and better register_message callback function explanation

* Removed extra argument in set_msg_arg_string

* Creates => Sends
2018-08-20 19:49:47 +02:00
justgo97
05b74111d3 Allow arrayset to accept any type (#516) 2018-08-20 19:46:00 +02:00
OciXCrom
0bfc65c635 Add default values for menu_item_getinfo (#511) 2018-08-09 15:38:58 +02:00
OciXCrom
a784a34561 Fix documentation (#513) 2018-08-09 15:37:24 +02:00
OciXCrom
4ae31f6f26 nvault.inc documentation fix (#501)
* Update lang.inc

* Update lang.inc

* Update nvault.inc

* Update nvault.inc
2018-07-24 15:36:31 +02:00
Vincent Herbet
57abc4a1c5
Fix a compilation regression in LookupLangKey (introduced with #222) (#499) 2018-07-24 10:37:56 +02:00
justgo97
7062d210a7 fix hlsdk_const.inc identation (#502)
a copy past from reapi hlsdk_const.inc file
2018-07-24 10:37:19 +02:00
KliPPy
98ab26671c Add MPROP_SHOWPAGE (#473) 2018-07-18 17:10:37 +02:00
Arkshine
fba3d706fc Normalize EOL of few files changed in #489 2018-07-18 14:39:53 +02:00
regener
afbb3b88d7 Further Hungarian translation update (#494)
* Hungarian language update

The important parts have been updated* and the missing parts added according to my best knowledge.

*admincmd.txr was UTF8 instead of UTF8 without BOM, I'm not sure it was a mistake or not.

* Further Hungarian translation update

Further grammar and typo fixes in Hungarian translation.

SERVER_PROC - Unused in admincmd.sma and .txt too.
2018-07-12 14:40:48 +02:00
Cleverson
a87eb50441 Fix missing register_event() reference on event_enable/disable descriptions (#491)
Lack register_event() on enable_event and disable_event descriptions
2018-07-12 00:09:23 +02:00
OciXCrom
cec42bdcae API documentation fix for some .inc files (#489)
* Fixed param information

* Removed whitespace that prevented the API to generate client_disconnected information

* Fixed documentation.

* Update lang.inc

* Documentation fix

(g/s)et_user_hitzones() functions weren't generating properly in the API due to a whitespace in front of the comment blocks. @return for give item() was missing.

* Whitespace prevented API documentation from generating

* Update lang.inc
2018-07-10 14:42:45 +02:00
regener
fc337d12a4 Hungarian language update (#474)
The important parts have been updated* and the missing parts added according to my best knowledge.

*admincmd.txr was UTF8 instead of UTF8 without BOM, I'm not sure it was a mistake or not.
2018-07-10 12:10:25 +02:00
OciXCrom
528fec1a29 Macedonian & Bulgarian translation fix (#477)
* Macedonian & Bulgarian translations fix

* Macedonian & Bulgarian translations fix
2018-07-10 12:02:47 +02:00
voed
339a27579d Improved mprop description (#478) 2018-07-10 11:59:53 +02:00
IgnacioFDM
66e3fa6db2 Fix typo (#488) 2018-07-10 11:57:37 +02:00
KliPPy
7b3646a012 Update include files documentation (#360)
* Update include files documentation

* Fix inconcistencies with spaces/tabs, some changes

* Update fun, nvault, vector

* Update sqlx.inc
2017-12-09 00:22:43 +01:00
KliPPy
5632420827 Add wrappers for natives with string flags (#389)
* Add wrappers for natives with string flags

* Add default/none constants, update docs
2017-12-08 00:06:37 +01:00
Vincent Herbet
779a4d9e59 Fix #395 backward compatibility issue by adding SetParamEntity2 native (#463) 2017-10-05 11:46:05 +02:00
Karol Szuster
361a6cc9e0 Introduce a JSON module (#379)
* Add JSON module

* Merge upstream changes

Fix memory leaks

* Add json include to PackageScript

* Merge upstream changes

Fix memory leaks and increase max nesting

* Fix documentation

* Use AutoPtr in managing JSON handles

* Merge upstream changes

Order of items in an array is preserved after removing an item.

* Merge upstream

* Fix crash

* Add VS projects files and fix mixed tab/spaces

* Remove erroring on "json_free"

* Add comments to "json.inc" file

* Remove overloaded operators

* Use of "override" keyword where needed

* Fix parameter's name
2017-09-30 20:23:12 +02:00
KliPPy
38008a8e03 Fix amx_plugins throwing errors (#456) 2017-09-01 15:18:23 +02:00
Vincent Herbet
8e7eb94e50 Overhaul Restrict Weapons plugin - part 1 (#347)
* Restmenu: Use CS_OnBuyAttempt forward to detect any buy attempt - part 1

- Removed any useless code which won't be needed anymore with forward. A lot!

* Restmenu: Use CS_OnBuyAttempt forward to detect any buy attempt - part 2

- Added the actual forward
- Because of forward passing a CSI_* constant, it's needed to refactor how is saved a blocked item. Not fully implemented everywhere because menu is going to be refactored later as well.

* Restmenu: Replace findAliasId() by cs_get_item_id()

* Restmenu: Use cvar pointers

* Restmenu: Refactor menu - part 1

Purpose:
  - Convert old menus to new menus.
  - Instead of having one menu with several pages, having one main menu (item types) and sub-menus (items list). More readable, more easy to naviguate and no pagination.
  - Move hardcoded strings to ML

* Restmenu: Refactor menu - part 2

Purpose:
  - Convert old menus to new menus.
  - Instead of having one menu with several pages, having one main menu (item types) and sub-menus (items list). More readable, more easy to naviguate and no pagination.
  - Move hardcoded strings to ML
  - Minor visual improvements

* Restmenu: Refactor podbot stuff

- Factorized code
- Used a more direct way to set restrictions

* Restmenu: Refactor load/save config file

- Used new file natives
- Moved harcoded message header to ML
- QoL: saved restricted items will be grouped per type
- Cleaned up few things

* Restmenu: Refactor amx_restrict command

- Minor improvements on how are retrieved/handled arguments from command.
- Same as menu, it displays first classes list, then it lists associated items. No more pagination.
- Minor visual changes.

* Restmenu: Remove unused stuffs

* Restmenu: Move more harcoded messages to ML

* Restmenu: Move MAPSETTINGS define to cvar

- Don't forget me in changelog
- There is room for improvements but for now keep the same behavior

* Restmenu: Add some consistency, no code change

- Renamed some variables
- Changed functions order
- Removed extra spaces
- Fixed leading tabs

* Restmenu: Use inline formatting at various places

* Restmenu: Make command descriptions multilingual for player

* Restmenu: Refresh opened menus if the command is used to save/load/set.

Also, I've removed the renaming of "exit" item because it was misleading as it returns MENU_EXIT when it's named with "back" and handling the action wiht that doesn't make much sense.

* Restmenu: Adjust minor things (consistency, readability, safety)

* Restmenu: Show the current category when items are listed through the command

* Restmenu: Display admin activity on loading/saving

+ load: reset blocked items only if file has been loaded
+ load: ignored if no arguments
+ save: added a silly fix because of the cvars
2017-08-05 10:45:29 +02:00
Vincent Herbet
ab854ec035 Improve UTF-8 support in some natives (bug 6475) (#407)
* Compile as static library, update AMBuildScript and link to core

* Update VS project files to include the library

* Add UTF-8 Rewind library (v1.5.1) to third_party directory

* Update ACKNOWLEDGEMENTS.txt

* Move AMXX buffer in its own function

* Move constants from string.inc to string_const.inc and update project files

* Move stocks from string.inc to string_stocks.inc and update project files

* Improve UTF-8 support in containi() and update documentation

* Improve UTF-8 support in strcmp() and update documentation

* Improve UTF-8 support in strfind() and update documentation

Worth to be noted that this native with ignorecase set was not working properly. So broken that no one reported the issue.
This adds also a safety check for "pos" parameter to not go < 0.

* Improve UTF-8 support in strncmp() and update documentation

* Improve UTF-8 support in equali() and update documentation

* Add an option to some UTF-8 Rewind functions for avoiding invalid data to be replaced

By default it replaces any invalid byte or sequence of bytes by 0xFFFD (3 bytes). It can be problematic when the input buffer is not changed (from a plugin) and that some natives need to calculate a position from the converted string. With such replacement, the position is displaced due the final string length being larger.

This compiles the library as C++, because I added some silly param with a default default value which is not supported by C.

* Improve UTF-8 support in replace_string/ex() and update documentation

* Add is_string_category() and update documentation

* Update a little testsuite plugin (and fix linux compilation)

* Add mb_strotolower/upper() and update documentation

* Add mb_ucfirst() and update documentation

* Add mb_strtotile() and update documentation

* Improve UTF-8 support in get_players() and find_player() with name/case insenstive flags set

* Fix KliPPy's complain
2017-08-05 10:32:16 +02:00
Vincent Herbet
07c3d49cfa Add amx_searchcmd command in adminhelp plugin and do some clean up (#415)
* AdminHelp: Use semicolon everywhere

* AdminHelp: Translate amx_help description

* AdminHelp: Use the available ADMIN_ALL define in register_concmd

* AdminHelp: Bind the cvars

* AdminHelp: Replace %L by %l

* AdminHelp: Remove task only when necessary

* AdminHelp: Reorder some lines to prepare next commit

* AdminHelp: Use read_arg_int() on the first argument and clamp the value

* AdminHelp: Use read_arg_int() on the second argument and clamp the value

* AdminHelp: Rename few variables and callback

* AdminHelp: Use constants for buffers max length

* AdminHelp: Add amx_searchcmd command, and update the multilingual file

* AdminHelp: Adjust spacing a little for readability

* AdminHelp: Add amx_help_display_msg_time cvar

* AdminHelp: Add the new command in the help message (and fix missing return)

* AdminHelp: Add a check if provided entry no. goes above the total found entries

* AdminHelp: Don't show the help message for begin if all commands are already displayed

* AdminHelp: Make sure the server command use amx_help_amount_per_page value
2017-08-01 22:56:21 +02:00
PartialCloning
24e56d0476 Add elog_message native (#451)
* elog_message

Like "log_message". Logs a message to the current server log file, however the messages sent are also sent to all plugins and can be hooked using "register_logevent".

* Update amxmodx.cpp

* Update Editor.sci

* Update UnitfrmMain.dfm
2017-08-01 15:14:53 +02:00
Vincent Herbet
1dc1f1b9c4 Introduce Trie Iterators (#413)
* TrieIter: Add possibility to obtain a new'd HashTable iterator

* TrieIter: Add CellTrieIter and storage

* TrieIter: Implement TrieIterCreate

* TrieIter: Implement TrieIterEnded

* TrieIter: Implement TrieIterMore

* TrieIter: Implement TrieIterGetKey

* TrieIter: Implement TrieIterGetSize

* TrieIter: Implement TrieIterGetCell

* TrieIter: Implement TrieIterGetString

* TrieIter: Implement TrieIterGetArray

* TrieIter: Implement TrieIterDestroy

* TrieIter: Invalidate any mutating change that is key addition or key removal

* TrieIter: Clean up the handles at map change

* TrieITer; Add iter tests to trietest.sma

* TrieIter: Fix linux compilation

* TrieIter: Rename TrieIterMore to TrieIterNext

* TrieIter: Adjust documentation

* TrieITer; Adjust trietest.sma

* TrieIter: Create a custom StringHashMap class instead

+ used a copy of |iterator| instead of dynamic allocation
+ initialized vars directly in constructor
+ added a nested iteration test
2017-08-01 15:05:27 +02:00
KliPPy
c0011891e6 Fix temporary ban flags, add lang keys (#440) 2017-05-27 21:47:24 +02:00
KliPPy
ac7de68ac7 Fix amx_addban and amx_unban, make them safe (#441) 2017-05-27 16:28:15 +02:00
Artem Golubikhin
7794f27dc2 Fixed bug in cmd_access with usage printing (#434) 2017-05-02 12:54:07 +02:00
Vadim
be3ae83c44 Update get_func_id description (#430)
Return id 0 on success too
2017-04-29 21:13:29 +02:00
justgo97
398983fc49 Update amxmodx.inc (#432) 2017-04-29 20:56:20 +02:00
KliPPy
2863455185 Add menu pagination callback (#420)
* Add menu pagination callback

* Update test plugin
2017-04-04 10:29:18 +02:00
IgnacioFDM
ff488dd81f Add new xs stocks (#426)
xs_vec_len_2d returns the length of a 2D vector

xs_vec_distance returns the distance between two vectors
xs_vec_distance_2d returns the distance between two 2D vectors

xs_vec_add_scaled and xs_vec_sub_scaled do two operations
in one for convenience and performance. They add/subtract a vector
scaled by a scalar to another vector. Very useful when working with
unit vectors.
2017-04-03 18:41:46 +02:00
Freeman-AM
fa3d28872e Replace s/get_pdata* with s/get_ent_data* in plmenu.sma (#424) 2017-03-11 14:58:10 +01:00
Vincent Herbet
1c3e8de57a Introduce a datapack position tag (#419) 2017-03-06 21:08:16 +01:00
Javivi
6a553122b1 Update sockets module (#301)
* Module rewrite

- WinSock version changed from 1.1 to 2.2.
- Properly check for WinSock initialization on OnAmxxAttach/Detach.
- Now natives will not be added if we can't start up WinSock.
- socket_open() is now IP version agnostic (both IPv4 and IPv6 are
supported).
- Error reporting has been changed on socket_open(), a new parameter
called _libc_errors has been added, and, if enabled, libc errors will be
returned instead of the previous made-up errors.
- socket_close() now returns a value on success/failure.
- Added non-blocking sockets at socket_open_nb().
- Added socket_is_writable() to check if a socket is ready for write.
- Added socket_is_readable() as an alias to socket_change().
- Code rewritten to be more readable, it should be self-explaining now.

* Update docs and fix AMBuild

Updated documentation following the guidelines

* Fixs for the module

- Fixed the backwards compatibility with the return codes
- Merged socket_connect and socket_connect_nb
- Added a 5th parameter to socket_open that takes bit flags to enable
the new features (libc errors & nonblocking sockets)
- Fixed an error on socket_send2 that caused the buffet not to start
from the beginning if multiple calls were made
- Updated docs
- [docs] Prefixed error codes with SOCK_
- [docs] Added the new flags SOCK_NON_BLOCKING and SOCK_LIBC_ERRORS
- [docs] Added a new stock called SOCK_ERROR_EINPROGRESS(error) to be
used when checking if a newly created nonblocking socket is connecting

* Fixes for the docs

Fix some typos, shorten lines, document SOCK_ERROR_EINPROGRESS

* Document magic numbers

No more magic

* Revert "Document magic numbers"

This reverts commit 0f233292063400ea7fdbcd5e5d5cd6e54f8cd71c.

* More docs fixes

* Fix broken socket_send2()

* Add error checking in send2()

* Remove stock

It should not be needed because nb sockets should always be checked or
writability

* Fix some identations

* Fix return codes doc

* Fix socket_recv() regression

strncopy will stop on a null byte, that makes the function unusable to
receive binary data

* More docs typo fixes
2017-03-03 19:56:22 +01:00
Vincent Herbet
3568fb8747 Add client_remove() forward and fix a bug with client not internally disconnected (#414)
* Rename client_disconnected to client_disconnecting

* Add client_disconnected as post forward

* Fix client not properly disconnected internally

Introduced in #264.
Edict is reset once SV_DropClient is called, so that second check would be always false.

* Reflect changes on the concerned plugins

* Revert renaming, let's add only client_remove as post forward
2017-02-25 11:50:52 +01:00
KliPPy
828e74e6c3 Add RequestFrame() native (#412)
* Add RequestFrame() native

* Change underlying container from CQueue to ke::Deque

* CFrameAction: Fix PackageScript and MSVC project, wrap CFrameAction in AutoPtr
2017-02-23 12:55:53 +01:00