/**
*
*
* Misc functions used throughout.
*
* 0.1.3
*
* Stock
*
* Convert a whole string to lower-case.
* Convert a whole string to upper-case.
* Generate a random number, optionally takes lower and upper bounds.
* Same as , but for floats.
* Strips the newline characters from the end of a string.
* Remove whitespace from the start of a string.
* Remove whitespace from both ends of a string.
* Check if the given position is the end of a string (ignoring whitespace).
* Return the first position (after ) of the given character.
* Like , but without the upper-bounds check.
* Generate the Bernstein hash of the given string.
* Is the given string hexadecimal?
* Version of that returns the result.
* Get the string passed as a variable argument from the given index.
* Like , formats a string and returns the result.
* Is the given string a number?
* Return the value of the given hexadecimal string.
* Return the value of the given boolean string.
* Return the value of the given binary string.
* Copy memory between two address, instead of two arrays.
* Set all of an array to a value.
* Set all of a given memory region to a value.
* Return a player's name.
* Ensures that a file exists, but nothing more.
* Get the colour (in 3D RGB space) between two other colours.
* Return the first position in a string of a non-whitespace character.
* Get the first and last positions of non-whitespace characters in the string. Like , but doesn't modify the string.
* Get the total (sum) of an array.
* Get the mathematical mean of an array.
* Get the mathematical mode of an array.
* Get the mathematical median of an array.
* Get the mathematical range of an array.
*
* Inline
*
* Unsigned compare.
* Check if a player ID is valid (in range).
* Check if a number is in range.
* Check if a number is outside a range.
* Divide two numbers and round up.
* Divide two numbers and round down.
* Checks if a string is NULL (\1\0 or \0).
* Checks if a number is odd.
* Checks if a number is even.
* Copy one string to another.
* Return the encoded (32-bit) version of a player's IP.
* (there are a lot)
* (there are a lot)
* (there are a lot)
* (there are a lot)
* (there are a lot)
*
*
*
*
* Global
*
* True hack for infinate loops.
* False hack for one-time loops.
* 1 long string for passing via Call(Remote|Local)Function.
*
*
*//** *//*
Legal:
Version: MPL 1.1
The contents of this file are subject to the Mozilla Public License Version
1.1 the "License"; you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
The Original Code is the YSI framework.
The Initial Developer of the Original Code is Alex "Y_Less" Cole.
Portions created by the Initial Developer are Copyright C 2011
the Initial Developer. All Rights Reserved.
Contributors:
Y_Less
koolk
JoeBullet/Google63
g_aSlice/Slice
Misiur
samphunter
tianmeta
maddinat0r
spacemud
Crayder
Dayvison
Ahmad45123
Zeex
irinel1996
Yiin-
Chaprnks
Konstantinos
Masterchen09
Southclaws
PatchwerkQWER
m0k1
paulommu
udan111
Thanks:
JoeBullet/Google63 - Handy arbitrary ASM jump code using SCTRL.
ZeeX - Very productive conversations.
koolk - IsPlayerinAreaEx code.
TheAlpha - Danish translation.
breadfish - German translation.
Fireburn - Dutch translation.
yom - French translation.
50p - Polish translation.
Zamaroht - Spanish translation.
Los - Portuguese translation.
Dracoblue, sintax, mabako, Xtreme, other coders - Producing other modes for
me to strive to better.
Pixels^ - Running XScripters where the idea was born.
Matite - Pestering me to release it and using it.
Very special thanks to:
Thiadmer - PAWN, whose limits continue to amaze me!
Kye/Kalcor - SA:MP.
SA:MP Team past, present and future - SA:MP.
Optional plugins:
Gamer_Z - GPS.
Incognito - Streamer.
Me - sscanf2, fixes2, Whirlpool.
*/
#if !defined _INC_y_core
#tryinclude "y_core\y_core_entry"
#endif
#if !defined _INC_y_core
#tryinclude "YSI_Core\y_core\y_core_entry"
#endif
#if !defined _INC_y_core
#tryinclude "YSI\YSI_Core\y_core\y_core_entry"
#endif
#if !defined _INC_y_core
#tryinclude
#endif
#if !defined _INC_y_core
#tryinclude
#endif
#if !defined _INC_y_core
#error Could not find y_utils
#endif