* Add public vars for plugin data and small refactoring get_xvar_id native
* Add new command to display info about the plugin and add url to amxx plugins command
* Add optional args to register_plugin native (url, description)
* Add enum of args for register_plugin native
* Creating a variable inside an if statement (C++17)
* Displaying the URL of the plugin if it is present
* Getting an ID only with more than three arguments
* Creating a variable inside an if statement (C++17)
* Fix typo
* Revert "Creating a variable inside an if statement (C++17)"
This reverts commit 835e0bc6c4.
* Revert "Creating a variable inside an if statement (C++17)"
This reverts commit b2c1e7c775.
* Revert "Displaying the URL of the plugin if it is present"
This reverts commit 9e31230368.
* Binary compatibility for previously compiled plugins
* Displaying the URL of the plugin if it is present
* Quotation marks replaced by square brackets and change arg name to id
* Fix getting url
* The 'atoi' function replaced to 'stoi'
* Add likely/unlikely defines for using built-in function provided by GCC
* Small fixes with auto and inconsistent var name
* Replace stoi to strtol function
* Removed explicit buffer id
* Revert "Add likely/unlikely defines for using built-in function provided by GCC"
This reverts commit 94cee479ed.
* Add url and description params to get_plugin function
* 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
* 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
* 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
* 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
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).
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.
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