Commit Graph

2016 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 0f23329206.

* 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
Nicholas Hastings
7bb1849968 Sanitize servercfgfile and lservercfgfile values with amx_cvar (bug 6578). 2017-01-22 08:01:08 -05:00
Nicholas Hastings
ed672847f3 Remove support for %name% replacement in plmenu (bug 6578). 2017-01-21 22:58:03 -05:00
Nicholas Hastings
56210f3e96 Quote custom vote winning value (bug 6578). 2017-01-21 22:57:37 -05:00
Nicholas Hastings
5519dd0a14 Do case-insensitive compare when filtering password vars in votes (bug 6578). 2017-01-21 22:38:38 -05:00
Nicholas Hastings
7589c6c578 Quote args in amx_addban, amx_unban, & amx_exec (bug 6578). 2017-01-21 22:36:57 -05:00
Vincent Herbet
9b3839de70 Fix missing CS_NORESET constant (#400) 2017-01-10 18:51:41 +01:00
IgnacioFDM
3e660011b2 Fix typo in TE_STREAK_SPLASH description (#398) 2017-01-06 21:05:36 +01:00
Evandro Coan
615ecdf7f3 Fixed grammar for Start Voting mapsmenu.txt lang (#393)
This is bad, what it currently means `Votacao Iniciada` (Votação Iniciada) in english is `The voting has been started`, instead of `Start voting`.

The translator translate it back as `Voting Started`.
Translator link: https://translate.google.com.br/#pt/en/Vota%C3%A7%C3%A3o%20Iniciada
2017-01-01 11:28:11 +01:00
Karol Szuster
e95099817b Allow execute forwards without need to create variable for returned value (#382)
We don't need to create variable to store value returned by forward when we ignore it.
2016-09-01 10:37:14 +02:00
IgnacioFDM
732a05dde0 Back out changes in #366 and introduce read_argv_int/float()
* Revert "Extend "read_argv" native"

This reverts commit aaa2934595.

This broke binary compatibility with either older, already compiled
plugins, or newly compiled plugins if you forgot to update .inc headers.

This happened because read_argv used to receive maxlen by value, and
after
this commit it receives it by reference. This causes read_argv either
to fail, or worse, to buffer overflow, resulting in a security vulnerability.

Newly introduced functionality for read_argv should be added with a new,
separate native.

* Add "read_argv_int" & "read_argv_float" natives
2016-08-31 20:34:02 +02:00
voed
575d215c77 Fixed some natives descriptions 2016-06-14 04:49:46 +03:00
Vincent Herbet
f3c58b7cd6 Merge pull request #369 from Ni3znajomy/forwards/value-by-reference
Values by reference in forwards
2016-06-05 19:50:40 +02:00
Vincent Herbet
2628ce8664 Merge pull request #349 from Arkshine/feature/command-ml
Add a param to register_*cmd() and get_*cmd() to indiquate info is a multilingual key + modify plugin
2016-04-16 13:12:21 +02:00
Arkshine
9054643fe8 Add a param to register_*cmd() and get_*cmd() to indiquate info is a multilingual key + modify plugin 2016-04-16 11:56:49 +02:00
Karol Szuster
53f9144fc3 Values by reference in forwards 2016-04-05 18:51:18 +02:00
Karol Szuster
aaa2934595 Extend "read_argv" native 2016-03-28 20:05:56 +02:00
Karol Szuster
5ad1efd698 Fix description of "set_user_info" native 2016-03-23 17:27:15 +01:00
Karol Szuster
5a3f4be04e message_stocks.inc: Cache messages id 2016-03-20 13:04:48 +01:00
Vincent Herbet
62a7fe0be5 Merge pull request #342 from Arkshine/feature/cs_get_item_alias
Add cs_get_item_alias(), improve cs_get_item_id() & cleanup alias datas
2016-03-16 15:15:00 +01:00
Arkshine
c3a52b366e Add cs_get_item_alias() native & cleanup alias datas 2016-03-16 12:29:33 +01:00
Arkshine
be06e2448b Add fmt() native to format and return inline a string 2016-02-23 19:56:02 +01:00
Karol Szuster
cb87fa12e1 Add extra parameters to cs_get_user_weapon native
Add clip & ammo as optional as get_user_weapon native has
2016-02-17 20:46:42 +01:00
Arkshine
2928c622f9 Add cs_set_ent_class native 2016-02-09 11:27:02 +01:00
Vincent Herbet
209ff4d527 Merge pull request #339 from IgnacioFDM/fix-whitespace
Normalize line endings and whitespace
2016-01-23 22:56:46 +01:00
Vincent Herbet
fa7391e814 Merge pull request #330 from WPMGPRoSToTeMa/csgetuserweapon
Add cs_get_user_weapon_entity() and cs_get_user_weapon() natives
2016-01-23 17:53:54 +01:00
IgnacioDM
e502e12e07 Normalize line endings and whitespace 2016-01-16 21:15:52 -03:00
WPMGPRoSToTeMa
b85b37192e New natives: cs_get_user_weapon_entity and cs_get_user_weapon 2016-01-06 23:10:31 +03:00
Arkshine
17a31b75d7 Add enable/disable_logevent() natives 2015-12-24 19:08:00 +01:00
Vincent Herbet
01d703cdbb Merge pull request #323 from luxxxoor/patch-1
Adding flag parameter to user_silentkill.
2015-12-24 14:45:45 +01:00
Karol Szuster
62a5c54a18 Add client_connectex & extend client_authorized forward 2015-12-22 16:36:51 +01:00
luxxxoor
892f0519ad Adding flag parameter to user_silentkill.
The api says that the user_silentkill() "Kills a user without a message.",  that means it is just user_kill() without sending deathmsg.
But user_silentkill() automatically kills player without affecting the client's score (and that is not mentioned in api), so i'll add a second parameter to user_silnetkill() to let user to decide if he want to kill a player without or not affecting the table.
New parameter has the default value 1, so it won't break the compatibility.
2015-12-20 01:02:39 +02:00
Arkshine
a445e806ea Cstrike: Refactor - Simplify forwards logic, fix and improve few things
- The logic around CS_OnBuy forward has been simplified. Since there is no way to have a consistent way to hook/block for all items, the new logic is to have as less as possible code, especially in blocking mode where we want to avoid to do extra stuffs (e.g blocking sound, event, etc).

  * All guns + shield -> CanBuyThis()
  * Nvgs and Fefuser only -> CanPlayerBuy()
  * The others items -> GiveNamedItem() + AddAccount()
  * Ammos -> -> BuyGunAmmo() + GiveNamedItem() + AddAccount()

- Fixed missing buyzone check when alias from console are used (CS_OnBUy* were incorrectly fired).
- Fixed an infinite loop when buying of ammos are blocked. Sorted by hooking BuyGunAmmo().
- Fixed blocking mode for some items. Some game behaviors were not blocked (e.g. weapon drop).
- Fixed forwards being triggered even though errors were found. Detours are now a destroyed and associated variables resetted when necessary. Toggling forwards state is now based on detours state.
- Moved things in its own functions (game functions to execute, class members retrieval)
- Renamed CommandAliases -> ItemInfos (more generic)
2015-11-21 00:13:06 +01:00
Arkshine
e87976bc09 Cstrike: Remove CS_OnGetItemPrice forward (reverted from commit 33a7d74b6da2ca4dcb621e9b306c386ba040571e)
This is actually not possible to have a proper system to allow this.
This is two majors problems:
  - The item price text can't be changed, whatever old and VGUI menu (it's either harcoded in config file or in client binary)
  - Once you open VGUI menu, to know if user has enough money to select an item, client relies on the current HUD money value, this means, since we can't directly changed price, before opening the menu, money needs to be somehow faked and restored once closed. It's awful.

Overall it can't work properly, and at the end current forward doesn't make sense.

If an author wanted to have its own prices, the only only way would to force players to use old menu, then overwriting the whole buy menu, so you would be able to display what you want exactly.
2015-11-03 10:45:50 +01:00
Arkshine
ffe8b7761e Cstrike: Move CSW_* constants from amxconst.inc to cstrike_const.inc 2015-11-03 10:45:49 +01:00
Arkshine
2c5cc4289e Cstrike: Add cs_is_valid_itemid() stock 2015-11-03 10:45:49 +01:00
Arkshine
75853dae60 Cstrike: Add cs_find_ent_by_owner() native 2015-11-03 10:45:48 +01:00
Arkshine
23b0450938 Cstrike: Add cs_get_weapon_class() stock (weapon id -> class id)
Note: this has been modified a bit later in cs_is_valid_itemid() commit.
2015-11-03 10:45:47 +01:00
Arkshine
600a15a57b Cstrike: Add cs_get_weapon_info() native 2015-11-03 10:45:47 +01:00
Arkshine
60cdbeb219 Cstrike: Add CS_OnGetItemPrice forward to get/alter an item price on purchase 2015-11-03 10:45:46 +01:00
Arkshine
e6a2434887 Cstrike: Add cs_get_item_id() and cs_get_translated_item_alias() natives 2015-11-03 10:45:45 +01:00
Arkshine
c6628f22ee Cstrike: Add more known constants from game 2015-11-03 10:45:44 +01:00
Arkshine
d3e5957215 Cstrike: Add cstrike_const.inc and move existing constants there 2015-11-03 10:45:44 +01:00
Arkshine
dc6f171f20 Refactor 2 - Duplicate get_member_* for each set of natives for consistency 2015-11-02 20:10:38 +01:00
Arkshine
02c1b20ed7 Rename get_ent_data_size/info/basetype to be more generic 2015-11-02 20:10:37 +01:00
Arkshine
68f99bc2d5 Add get/Set_gamerules_* natives 2015-11-02 20:10:37 +01:00
Arkshine
16f65663dc Add new natives to read/write on entity's private data based off class/member name available from gamedata files 2015-09-19 20:07:48 +02:00
Vincent Herbet
57a5004f4e Fix typo
Related to #266. Looks like I've changed the prefix afterward at some point for some reason, but engine is retarded and with `plugin.something.cfg` it will understand extension is `something` instead  of `cfg` ; and will fail to execute as it's an invalid extension (only `cfg` and `rc` are allowed).
2015-09-05 08:42:31 +02:00
Vincent Herbet
224239f5a1 Merge pull request #266 from Arkshine/feature/autoexeccfg
Introduce automatic config file for plugins and two forwards
2015-08-26 10:42:59 +02:00
Arkshine
5b8bbddbc1 AutoExecConfig: Adjust few things 2015-08-26 10:38:31 +02:00
Iván Lo Giudice
f95f2032fc Update cstrike.inc 2015-08-22 17:51:48 -03:00
Arkshine
1f3ba35140 AutoExecConfig: Remove config code in admin.sma 2015-08-14 16:38:28 +02:00
Arkshine
1f3c7cf272 AutoExecConfig: Update documentation 2015-08-14 16:38:28 +02:00
Arkshine
ed4faf7c11 Fix player not being internally disconnected in some situation + add client_disconnected forward 2015-08-14 00:08:50 +02:00
Arkshine
6d6a1c1ab0 Add a data argument in INI/SMC_ParseFile() to pass through to callbacks (bug 6228) 2015-07-29 22:23:13 +02:00
Arkshine
df5d935194 Add enable/disable_event() native 2015-07-20 23:06:32 +02:00
Arkshine
662fa61fc7 Cstrike: Fix typos and improve things 2015-07-15 16:40:07 +02:00
Arkshine
dcc2d91b14 Cstrike: cs_get_user_driving - Add the associated constants from HLSDK 2015-07-14 19:44:10 +02:00
Arkshine
86e33d0cb1 Cstrike: cs_set_user_model - Add a param to choose whether modelindex should be updated 2015-07-14 19:44:10 +02:00
Arkshine
1ed354890b Cstrike: Add CSI_SHIELD for convenience and fix typos 2015-07-14 19:44:08 +02:00
Arkshine
939aad5cb9 Cstrike: cs_set_user_team - Add a param to choose whether TeamInfo message should be sent 2015-07-14 19:44:08 +02:00
Arkshine
63a0910f5b Cstrike: cs_get/set_armoury_type - Add a param to get/set the number of weapons inside an armoury 2015-07-14 19:44:06 +02:00
Arkshine
81f9a23d16 Cstrike: cs_get_user_armor - Make optional armortype param 2015-07-14 19:44:06 +02:00
Arkshine
7842d0160b Cstrike: cs_set_weapon_silen - Add a new value for draw_animation to follow game behavior
- Player's model sequence will be properly played
- Disallow firing while animation is playing
2015-07-14 19:44:06 +02:00
Arkshine
87d740b92a Cstrike: Add CZ support for some hostage natives 2015-07-14 19:44:05 +02:00
Arkshine
b82588f081 Cstrike: cs_set_user_deaths - Add a param to choose whether scoreboard should be updated 2015-07-14 19:44:04 +02:00
Vincent Herbet
139a2a082c Merge pull request #254 from Arkshine/feature/gameconfig
Implement a game config parser and expose functionnalities to the module/plugin API
2015-07-11 13:19:09 +02:00
Arkshine
f38c726faf Gameconfig: Add game configs natives 2015-07-11 13:16:45 +02:00
DmitriyS
e98ab37806 fix memory leaks 2015-07-11 00:39:34 +03:00
Vincent Herbet
846238fe99 Merge pull request #250 from Nextra/enginew
Engine Update
2015-07-02 18:43:35 +02:00
WPMGPRoSToTeMa
391991bfce https://bugs.alliedmods.net/show_bug.cgi?id=6372 bugfix 2015-06-15 18:54:29 +03:00
Vincent Herbet
b364506cbc Merge pull request #241 from luxxxoor/patch-2
Update cmdmenu.sma
2015-05-17 20:10:22 +02:00
luxxxoor
b77c8e253b Update cmdmenu.sma
Changed format with formatex where needed, removed many hardcoded contents in plugin and added semicolons.
2015-05-17 19:50:42 +03:00
Valentin Grünbacher
679714c8be Engine: Add error path for remove_entity() and unsafe entity ids 2015-05-11 16:15:43 +02:00
Valentin Grünbacher
ff0ca9ba67 Engine: Remove inconsistent error path from entity_get_int() 2015-05-11 16:15:42 +02:00
Valentin Grünbacher
ee0bcc39f1 Engine: Clarify difference between the engine module trace handle and the "real" global trace 2015-05-11 16:15:42 +02:00
Valentin Grünbacher
3c1022af99 Engine: Add a destination parameter to trace_hull() to make it more useful 2015-05-11 16:15:42 +02:00
Valentin Grünbacher
add4867d21 Engine: Add safe get_global_edict2() and entity_get_edict2() 2015-05-10 23:56:06 +02:00
Valentin Grünbacher
d69fddf8b4 Engine/Core: Move precache_event() to core 2015-05-10 23:45:01 +02:00
Valentin Grünbacher
218fb9c794 Engine: Add unregister_[touch|think|impulse]() 2015-05-10 23:40:22 +02:00
Vincent Herbet
c5f6e26802 Merge pull request #239 from Nextra/inc-doc3
Update include documentation #3 (mostly engine.inc)
2015-05-10 17:12:50 +02:00
Valentin Grünbacher
fbcbbd8421 hlsdk_const: Add MoveToOrigin move type constants 2015-05-10 14:37:40 +02:00
Valentin Grünbacher
00f9b62ffb cstrike: Add create_entity() note from engine, rewording 2015-05-10 14:37:39 +02:00
Valentin Grünbacher
59d8d2807f engine_const: Add sections and comments 2015-05-10 14:37:36 +02:00
Valentin Grünbacher
d9f792b712 engine: Add documentation, group similar natives 2015-05-10 14:37:16 +02:00
Valentin Grünbacher
fdb180e062 Add NULL_VECTOR 2015-05-06 11:28:54 +02:00
Vincent Herbet
39cc240a4e Merge pull request #240 from Nextra/kvd
Improve handling of KeyValueData
2015-05-05 12:01:29 +02:00
Valentin Grünbacher
79189c86ab Add basic kvd doc to fakemeta.inc and fix ham_const.inc lies 2015-05-05 11:16:26 +02:00
Valentin Grünbacher
8172519389 Improve handling of KeyValueData in FM and make it compatible with Ham
- KVD_Wrapper compatibility with Ham by making |&kvdw == &kvdw.kvd|
- Replaces g_kvd_hook with a generic g_kvd_ext to support raw KVD from Ham
- Adds create_kvd() and free_kvd() so plugins have something to feed Ham with
2015-04-21 00:18:21 +02:00
Vincent Herbet
cc11191e57 Merge pull request #236 from Arkshine/fix/missing-sqlite-charset
Fix missing SQL_SetCharset native in SQLite
2015-04-20 22:47:16 +02:00
Arkshine
871e14178b Fix a tag typo in datapack.inc 2015-04-19 19:58:57 +02:00
Arkshine
b88841c6ef Fix missing SQL_SetCharset native in SQLite 2015-04-12 21:08:03 +02:00
Valentin Grünbacher
a35bc43cab datapack.inc: Fix copy-pasted error description 2015-04-06 13:33:55 +02:00
Vincent Herbet
044e6b22b2 Merge pull request #233 from Ni3znajomy/update-copyright-year
Update copyright year
2015-03-30 13:44:55 +02:00
Vincent Herbet
0b2c33bcd2 Merge pull request #231 from Nextra/datapack-update
Datapack update
2015-03-30 13:43:50 +02:00
Valentin Grünbacher
081b683e03 Update datapack test plugin 2015-03-30 04:14:55 +02:00
Valentin Grünbacher
9abe6cd8f6 Add IsPackEnded native (IsPackReadable replacement) 2015-03-30 04:14:54 +02:00
Ni3znajomy
92c2c84617 Update copyright year 2015-03-29 20:01:25 +02:00
Vincent Herbet
a59b72f96a Merge pull request #229 from Arkshine/feature/trans-format-and-native
Add %l format specifier and SetTranslationTarget() native (bug 6331)
2015-03-26 22:54:11 +01:00
Arkshine
8831166705 Add %l format specifier and SetTranslationTarget() native 2015-03-26 22:42:55 +01:00
Vincent Herbet
69d41b65d4 Merge pull request #227 from Freeman-AM/plmenu-update
Plmenu: improve readability, more compliance to amxmodx style, small improvements
2015-03-26 21:32:39 +01:00
Freeman-AM
f44ec00133 Plmenu: rollback macros 2015-03-26 21:17:46 +01:00
Arkshine
52c73126e1 VFS: Fix various things
- The "ALL" fake pathID is replaced by what does SM, having a public var NULL_STRING which will acts as NULL when needed.
  To make compiler accepting public array, this patch was needed: https://hg.alliedmods.net/sourcemod-central/rev/b12f329def09
- The offset thing in read_dir: considering that's something very specific to this native and that implementation in CDirectory doesn't make sense because of the offset compatibility for windows, all code is now in the native.
2015-03-25 13:50:07 +01:00
Arkshine
ba11085ddc VFS: Add constant in pawn include to define max path 2015-03-22 11:14:13 +01:00
Arkshine
71ab8d560e VFS: Add more sane FileRead/Write* natives to read/write a single value 2015-03-22 11:14:12 +01:00
Arkshine
a580c8c5e5 VFS: Add SetFilePermissions native 2015-03-22 11:13:36 +01:00
Arkshine
0eeb5942a1 VFS: Reflect changes in natives and documentation 2015-03-22 11:12:21 +01:00
Freeman-AM
c156c220c4 Replace some arrays by bitfield macros 2015-03-21 16:14:14 +01:00
Freeman-AM
5413c59bc7 plmenu: improve readability, more compliance to amxmodx style 2015-03-21 13:54:39 +01:00
9iky6
463de74865 Update message_const.inc 2015-03-12 22:50:49 +05:00
9iky6
c2a21bcaee Add_SVC_Messages
add svc messages id to use hardcode (dont relize, only for alliedmodders dev team view)
2015-03-12 20:54:03 +05:00
xPaw
0ccb99137a Make spcomp2 cry less 2015-03-11 15:19:27 +02:00
Arkshine
48d6a3354a Normalize all the line endings 2015-03-10 16:51:45 +01:00
Vincent Herbet
014120e73e Merge pull request #215 from xPaw/no-version-check
Remove version checks from all include files
2015-03-10 01:02:05 +01:00
Vincent Herbet
73cf46ff45 Merge pull request #216 from luxxxoor/patch-1
Some missing charsmax and more readability.
2015-03-10 00:27:35 +01:00
luxxxoor
205a0eb2da admincmd.sma: Missing charsmax and more readability.
Fix charsmax and more readability
2015-03-09 23:35:04 +02:00
Vincent Herbet
22c3d62dec Merge pull request #208 from Nextra/inc-doc2
Update include documentation #2
2015-03-09 19:45:47 +01:00
Freeman-AM
a82f521633 amxmodx.inc: missing commas, typo errors... 2015-03-09 19:41:21 +01:00
Valentin Grünbacher
bc9710e8f2 inc-doc2 nits/finishing touches 2015-03-09 19:41:21 +01:00
Valentin Grünbacher
902cecb0c3 amxconst: Minor improvements on client_print natives 2015-03-09 19:41:20 +01:00
Valentin Grünbacher
950f3f97c1 datapack: Tabs->spaces, consistency, nuke IsPackReadable 2015-03-09 19:41:19 +01:00
Valentin Grünbacher
828d9971a4 cvars: Style touchups, add missing stuff, update notes about named access 2015-03-09 19:41:18 +01:00
Valentin Grünbacher
50fea6be75 cstrike/csx/csstats: Added documentation, consistency updates, typo fixes 2015-03-09 19:41:18 +01:00
Valentin Grünbacher
a1c5c20d7e amxmodx: Consistency updates, typo fixes, missing return/error added 2015-03-09 19:41:17 +01:00
Valentin Grünbacher
ae86152282 cellarray/celltrie/cellstack: Documentation fixes and consistency updates 2015-03-09 19:41:16 +01:00
Valentin Grünbacher
9eb0eaf6a6 core: Add documentation 2015-03-09 19:41:15 +01:00
Valentin Grünbacher
5f278eee7b amxmisc: Documentation updates and additions 2015-03-09 19:41:15 +01:00
xPaw
379d9121b4 Remove version checks from all include files 2015-02-25 00:56:17 +02:00
9iky6
09ed8eb2b1 Update menufront.sma 2015-02-23 02:21:20 +05:00
9iky6
45b63c4394 Update menufront.sma
Just a minor update the plugin and change work in lang-key: you can now add the file through the menu items with the lang-key.
2015-02-20 23:46:26 +05:00
HttrckCldHKS
38db4d3ae0 Updating hahsers INC files and Acknowledgements
INC files have been updated changing the information, adding new
details.
Acknowledgements file includes now Hashing Librarying license.
Spacing consistency has been fixed in CPP Hashing files.
Testsuite plug-in has been rewritten, now using Server Commands.
2015-02-16 16:30:45 +02:00
HttrckCldHKS
c071f53f2c Add new hashers and new natives
Replace the only hasher called MD5 with the ones listed below.

(+) CRC32, MD5, SHA1, SHA256, SHA3 224 BIT, SHA3 256 BIT, SHA3 384 BIT,
SHA3 512 BIT, Keccak 224 BIT, Keccak 256 BIT, Keccak 384 BIT and Keccak
512 BIT.

Add the natives listed below.

(+) hash_string(const string[], hashType:type, output[], const
outputSize)
(+) hash_file(const fileName, hashType:type, output[], const outputSize)
(+) is_arkshine_a_doctor() :  Hidden native, but a sign of recompense
for him being very active since 1.8.3 version of AMX Mod X
(+) get_system_endianness() :  Checks if the system is currently Big
Endian or Little Endian.

Add the following Enum.

(+) hashType {}
(+) sysEndianness {}

Deprecate the following natives.

(-) amx_md5()
(-) amx_md5_file()

It has been tested on Windows and Linux. The sanity checks seems to be
properly working, so no worries about them.

These are useful if people are using Sockets, cURLs or MySQLs in order
to compare hashes of different files On-line for further investigation.
You are not able to check if the files are older or newer, but you can
see if the content is different (Hash Checksum mismatch).

I'm glad I did this. Thanks to
2015-02-16 14:39:45 +02:00
Arkshine
77762b9c2c Fix typo in documentation 2015-02-07 17:51:30 +01:00
Arkshine
5241fdf673 Add geoip_country_ex, mark geoip_country as deprecated, and do some cleanup 2015-02-07 16:26:40 +01:00
Freeman-AM
35eeb6036d missing alignment 2015-02-06 01:36:32 +01:00
Freeman-AM
9e5810e615 amxmisc.inc: Missing charsmax, more readability, more compliance to amxmodx style 2015-02-06 01:32:33 +01:00
Arkshine
14f06ca1bb MAX_PLAYERS: Fix moar 2015-02-01 21:45:16 +01:00
Arkshine
91c4b5d708 MAX_¨PLAYERS: Fix more. 2015-02-01 20:34:35 +01:00
Arkshine
e441908230 MAX_PLAYERS: Fix plugins 2015-02-01 19:25:36 +01:00
Arkshine
1b350b627b MAX_PLAYERS: Change value in includes 2015-02-01 18:40:20 +01:00
Vincent Herbet
dd38ee103b Merge pull request #189 from Arkshine/feature/add-cs_create_entity
Add cs_create_entity and cs_find_ent_by_class natives
2015-01-31 16:39:43 +01:00
Vincent Herbet
14b072dd47 Merge pull request #190 from Freeman-AM/small-plmenu-update
Plmenu: small update: formatex, semicolon, missing things, remove useless TABs
2015-01-31 16:39:18 +01:00
Arkshine
4ceb767022 Add error messages and fix documentation 2015-01-31 14:45:37 +01:00
Freeman-AM
7a3ee17093 Remove #pragma semicolon 1
It could disturb non initiated people who want to modify base plugins.
2015-01-30 22:57:31 +01:00
Vincent Herbet
6319331a33 Merge pull request #188 from Arkshine/feature/mysql-rw-and-default-timeout
Establish a default timeout for MySQL connectivity
2015-01-30 15:56:40 +01:00
Arkshine
c87d46ad5b Add cs_find_ent_by_class and fix documentation 2015-01-30 15:53:25 +01:00
Vincent Herbet
7d084ee0bf Merge pull request #185 from Arkshine/feature/hooking-cvars
Introduce new features for cvars
2015-01-30 14:20:11 +01:00
Freeman-AM
cfc92ca3db Plmenu: small update: formatex, semicolon, missing things, remove useless TABs 2015-01-30 00:57:45 +01:00
Arkshine
1488b9747f Cvars: De-frenchify by Nextra 2015-01-29 21:44:53 +01:00
Arkshine
2446ff49f2 Add cs_create_entity native 2015-01-29 20:43:01 +01:00
Arkshine
f8ec7f94a4 Mysql: Establish a default timeout 2015-01-29 13:50:13 +01:00