alidexter001 4 年 前
コミット
c01213b9d8

+ 2 - 2
pawno/include/sii.inc

@@ -11,12 +11,12 @@
 #if defined MAX_STRING
 	#define INI_MAX_VALUE MAX_STRING
 #else
-	#define INI_MAX_VALUE 128
+	#define INI_MAX_VALUE 256
 #endif
 #define INI_MAX_KEY 24
 #define INI_MAX_LINE (INI_MAX_KEY + INI_MAX_VALUE + 3)
 #define INI_MAX_FILENAME 256
-#define INI_MAX_LINES 256
+#define INI_MAX_LINES 768
 
 
 enum E_CACHE

+ 1013 - 640
pawno/include/ysi.inc

@@ -1,649 +1,1022 @@
-/*----------------------------------------------------------------------------*-
-					=======================
-					Y Sever Includes - Main
-					=======================
+/*----------------------------------------------------------------------------*\
+                                        =======================================
+                                          YSI - YSI Server Includes functions
+                                        =======================================
 Description:
-	Main include to use the YSI script libraries.  Simply add:
-	
-	#include <YSI>
-	
-	to the top of your script to get the full power of all the YSI libraries
-	and the functions and features they expose.
+        Lists all the functions available in YSI for PAWNO.
 Legal:
-	Copyright (C) 2007 Alex "Y_Less" Cole
-
-	This program is free software; you can redistribute it and/or
-	modify it under the terms of the GNU General Public License
-	as published by the Free Software Foundation; either version 2
-	of the License, or (at your option) any later version.
-
-	This program is distributed in the hope that it will be useful,
-	but WITHOUT ANY WARRANTY; without even the implied warranty of
-	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	GNU General Public License for more details.
-
-	You should have received a copy of the GNU General Public License
-	along with this program; if not, write to the Free Software
-	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-	MA 02110-1301, USA.
+        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 group include.
+       
+        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:
+                ZeeX, koolk, JoeBullet/Google63, g_aSlice/Slice
+       
+        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.
+                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.
+       
 Version:
-	0.1.3
+        1.0
 Changelog:
-	18/06/07:
-		Updated YSI_text functions.
-	18/04/07:
-		Added new files.
-		Moved objects and checkpoints to YSI/Visual/.
-	17/04/07:
-		Added new files.
-	16/04/07:
-		Added native definitions
-	15/04/07:
-		First version
-Functions:
-	Public:
-		-
-	Core:
-		-
-	Stock:
-		-
-	Static:
-		-
-	Inline:
-		-
-	API:
-		-
-Callbacks:
-	-
-Definitions:
-	-
-Enums:
-	-
-Macros:
-	-
-Tags:
-	-
-Variables:
-	Global:
-		-
-	Static:
-		-
-Commands:
-	-
-Compile options:
-	_YSI_DEBUG - Use YSI/YSI_debug.own.
-	_YSI_MISC - Use YSI/YSI_misc.own.
-	_YSI_CORE_BIT - Use YSI/Core/YSI_bit.own.
-	_YSI_CORE_BINTREE - Use YSI/Core/YSI_bintree.own.
-	_YSI_CORE_INI - Use YSI/Core/YSI_INI.own.
-	_YSI_CORE_TEXT - Use YSI/Core/YSI_text.own.
-	_YSI_CORE_FORMAT - Use YSI/Core/YSI_format.own.
-	_YSI_CORE_LANGUAGES - Use YSI/Core/YSI_languages.own.
-	_YSI_CORE_COMMANDS - Use YSI/Core/YSI_commands.own.
-	_YSI_CORE_PLAYER - Use YSI/Core/YSI_player.own.
-	_YSI_SERVER_MODULES - Use YSI/Server/YSI_modules.own.
-	_YSI_VISUAL_OBJECTS - Use YSI/Visual/YSI_objects.own
-	_YSI_VISUAL_CHECKPOINTS - Use YSI/Visual/YSI_objects.own
-	_YSI_SYSTEM_DEFAULT - Use YSI/System/YSI_default.own.
-Operators:
-	-
--*----------------------------------------------------------------------------*/
-
-#include <a_samp>
-
-#if defined _YSI_included
-	#endinput
-#endif
-#define _YSI_included
-
-/*----------------------------------------------------------------------------*-
-					===============
-					/YSI/ Libraries
-					===============
--*----------------------------------------------------------------------------*/
-
-/*
-native _DEPENDECENCY_FUNCTIONS_();
-	native
-*/
-#include "YSI/YSI_dependencies.own"
-
-/*
-native _DEBUG_FUNCTIONS_();
-	native
-native Debug_Code_<level>(code);
-native Debug_Print_<level>(format[], {Float,_}:...);
-	native
-*/
-#if defined _YSI_DEBUG
-	#include "YSI/YSI_debug.own"
-#endif
-
-/*
-native _MISC_FUNCTIONS_();
-	native
-native ceildiv(num, div);
-native floordiv(num, div);
-native iseven(num);
+        25/02/12:
+                First version
+\*----------------------------------------------------------------------------*/
+ 
+#include <YSI\internal\y_version>
+ 
+/*
+ 
+native
+native __y_als__();
+native
+native
+native
+ 
+*/
+ 
+// CAN'T include by default.
+//#include <YSI\y_als>
+ 
+/*
+ 
+native
+native __y_amx__();
+native
+native
+native AMX_GetBaseCount(E_AMX_TABLE:table, &base, &count)
+native AMX_GetGlobalAddress(...);
+native AMX_Read(addr)
+native AMX_Write(addr, value)
+native AMX_ReadString(addr, str[], len = sizeof (str))
+native AMX_WriteString(addr, const str[], len = sizeof (str))
+native AMX_ReadArray(addr, dest[], len = sizeof (dest))
+native AMX_WriteArray(addr, const src[], len = sizeof (src))
+native
+native AMX_GetPublicEntry(idx, &buffer, const pattern[] = "")
+native AMX_GetNativeEntry(idx, &buffer, const pattern[] = "")
+native AMX_GetLibraryEntry(idx, &buffer, const pattern[] = "")
+native AMX_GetPubvarEntry(idx, &buffer, const pattern[] = "")
+native AMX_GetTagEntry(idx, &buffer, const pattern[] = "")
+native AMX_GetEntry(E_AMX_TABLE:table, idx, &buffer, const pattern[] = "")
+native
+native AMX_GetPublicEntryPrefix(idx, &buffer, pattern)
+native AMX_GetNativeEntryPrefix(idx, &buffer, pattern)
+native AMX_GetLibraryEntryPrefix(idx, &buffer, pattern)
+native AMX_GetPubvarEntryPrefix(idx, &buffer, pattern)
+native AMX_GetTagEntryPrefix(idx, &buffer, pattern)
+native AMX_GetEntryPrefix(E_AMX_TABLE:table, idx, &buffer, pattern)
+native
+native AMX_GetPublicEntrySuffix(idx, &buffer, pattern)
+native AMX_GetNativeEntrySuffix(idx, &buffer, pattern)
+native AMX_GetLibraryEntrySuffix(idx, &buffer, pattern)
+native AMX_GetPubvarEntrySuffix(idx, &buffer, pattern)
+native AMX_GetTagEntrySuffix(idx, &buffer, pattern)
+native AMX_GetEntrySuffix(E_AMX_TABLE:table, idx, &buffer, pattern)
+native
+native AMX_GetPublicName(idx, buffer[32], const pattern[] = "")
+native AMX_GetNativeName(idx, buffer[32], const pattern[] = "")
+native AMX_GetLibraryName(idx, buffer[32], const pattern[] = "")
+native AMX_GetPubvarName(idx, buffer[32], const pattern[] = "")
+native AMX_GetTagName(idx, buffer[32], const pattern[] = "")
+native AMX_GetName(E_AMX_TABLE:table, idx, buffer[32], const pattern[] = "")
+native
+native AMX_GetPublicNamePrefix(idx, buffer[32], pattern)
+native AMX_GetNativeNamePrefix(idx, buffer[32], pattern)
+native AMX_GetLibraryNamePrefix(idx, buffer[32], pattern)
+native AMX_GetPubvarNamePrefix(idx, buffer[32], pattern)
+native AMX_GetTagNamePrefix(idx, buffer[32], pattern)
+native AMX_GetNamePrefix(E_AMX_TABLE:table, idx, buffer[32], pattern)
+native
+native AMX_GetPublicNameSuffix(idx, buffer[32], pattern)
+native AMX_GetNativeNameSuffix(idx, buffer[32], pattern)
+native AMX_GetLibraryNameSuffix(idx, buffer[32], pattern)
+native AMX_GetPubvarNameSuffix(idx, buffer[32], pattern)
+native AMX_GetTagNameSuffix(idx, buffer[32], pattern)
+native AMX_GetNameSuffix(E_AMX_TABLE:table, idx, buffer[32], pattern)
+native
+native AMX_GetPublicPointer(idx, &buffer, const pattern[] = "")
+native AMX_GetNativePointer(idx, &buffer, const pattern[] = "")
+native AMX_GetLibraryPointer(idx, &buffer, const pattern[] = "")
+native AMX_GetPubvarPointer(idx, &buffer, const pattern[] = "")
+native AMX_GetTagPointer(idx, &buffer, const pattern[] = "")
+native AMX_GetPointer(E_AMX_TABLE:table, idx, &buffer, const pattern[] = "")
+native
+native AMX_GetPublicPointerPrefix(idx, &buffer, pattern)
+native AMX_GetNativePointerPrefix(idx, &buffer, pattern)
+native AMX_GetLibraryPointerPrefix(idx, &buffer, pattern)
+native AMX_GetPubvarPointerPrefix(idx, &buffer, pattern)
+native AMX_GetTagPointerPrefix(idx, &buffer, pattern)
+native AMX_GetPointerPrefix(E_AMX_TABLE:table, idx, &buffer, pattern)
+native
+native AMX_GetPublicPointerSuffix(idx, &buffer, pattern)
+native AMX_GetNativePointerSuffix(idx, &buffer, pattern)
+native AMX_GetLibraryPointerSuffix(idx, &buffer, pattern)
+native AMX_GetPubvarPointerSuffix(idx, &buffer, pattern)
+native AMX_GetTagPointerSuffix(idx, &buffer, pattern)
+native AMX_GetPointerSuffix(E_AMX_TABLE:table, idx, &buffer, pattern)
+native
+native AMX_GetPublicValue(idx, &buffer, const pattern[] = "")
+native AMX_GetNativeValue(idx, &buffer, const pattern[] = "")
+native AMX_GetLibraryValue(idx, &buffer, const pattern[] = "")
+native AMX_GetPubvarValue(idx, &buffer, const pattern[] = "")
+native AMX_GetTagValue(idx, &buffer, const pattern[] = "")
+native AMX_GetValue(E_AMX_TABLE:table, idx, &buffer, const pattern[] = "")
+native
+native AMX_GetPublicValuePrefix(idx, &buffer, pattern)
+native AMX_GetNativeValuePrefix(idx, &buffer, pattern)
+native AMX_GetLibraryValuePrefix(idx, &buffer, pattern)
+native AMX_GetPubvarValuePrefix(idx, &buffer, pattern)
+native AMX_GetTagValuePrefix(idx, &buffer, pattern)
+native AMX_GetValuePrefix(E_AMX_TABLE:table, idx, &buffer, pattern)
+native
+native AMX_GetPublicValueSuffix(idx, &buffer, pattern)
+native AMX_GetNativeValueSuffix(idx, &buffer, pattern)
+native AMX_GetLibraryValueSuffix(idx, &buffer, pattern)
+native AMX_GetPubvarValueSuffix(idx, &buffer, pattern)
+native AMX_GetTagValueSuffix(idx, &buffer, pattern)
+native AMX_GetValueSuffix(E_AMX_TABLE:table, idx, &buffer, pattern)
+native
+ 
+*/
+ 
+#include <YSI\y_amx>
+ 
+/*
+ 
+native
+native __y_areas__();
+native
+native
+native Area_AddCube(Float:x0, Float:y0, Float:z0, Float:x1, Float:y1, Float:z1);
+native Area_AddBox(Float:minx, Float:miny, Float:maxx, Float:maxy);
+native Area_AddCircle(Float:x, Float:y, Float:r, Float:h = FLOAT_INFINITY)
+native Area_AddSphere(Float:x, Float:y, Float:z, Float:r);
+native Area_AddPoly(Float:x1, Float:y1, Float:x2, Float:y2, Float:x3, Float:y3, Float:...);
+native Area_Delete(area);
+native Area_GetPlayerArea(playerid);
+native Area_SetPlayer(area, playerid, bool:set);
+native bool:Area_GetPlayer(area, playerid);
+native Area_SetAllPlayers(area, bool:set);
+native Area_SetWorld(area, world, bool:set);
+native bool:Area_GetWorld(area, world);
+native Area_SetAllWorlds(area, bool:set);
+native bool:Area_IsValid(area);
+native bool:Area_IsEmpty(area);
+native
+ 
+*/
+ 
+#include <YSI\y_areas>
+ 
+/*
+ 
+native
+native __y_bintree__();
+native
+native
+native Bintree_Generate(BinaryTree:output<>, input[][E_BINTREE_INPUT], size);
+native Bintree_Reset(BinaryTree:tree<>, pointer = 0);
+native Bintree_FindValue(BinaryTree:tree<>, value, &cont = 0, &old = 0);
+native Bintree_Add(BinaryTree:data<>, pointer, value, offset, maxsize = sizeof (data));
+native Bintree_Delete(BinaryTree:source<>, index, count);
+native Bintree_UpdatePointers(BinaryTree:data<>, offset, size, mod = -1);
+native
+ 
+*/
+ 
+#include <YSI\y_bintree>
+ 
+/*
+ 
+native
+native __y_bit__();
+native
+native
+native Bit_Set(BitArray:array<>, slot, bool:set);
+native Bit_SetAll(BitArray:array<>, bool:set, size = sizeof (array));
+native Bit_Get(BitArray:array<>, slot);
+native Bit_Let(BitArray:array<>, slot);
+native Bit_Vet(BitArray:array<>, slot);
+native Bit_Slot(value);
+native Bit_Mask(value);
+native Bit_GetCount(BitArray:array<>, size = sizeof (array));
+native Bit_Display(BitArray:array<>, size = sizeof (array));
+native Iterator:Bits(BitArray:array<>);
+native Iterator:Blanks(BitArray:array<>);
+native
+native bits();
+native bitsof();
+native
+ 
+*/
+ 
+#include <YSI\y_bit>
+ 
+/*
+ 
+native
+native __y_cell__();
+native
+native
+native Cell_ReverseBits({Float, _}:data);
+native Cell_ReverseNibbles({Float, _}:data);
+native Cell_ReverseBytes({Float, _}:data);
+native Cell_CountBits({Float, _}:data);
+native Cell_GetLowestBit({Float, _}:data);
+native Cell_GetLowestComponent({Float, _}:data);
+native
+ 
+*/
+ 
+#include <YSI\y_cell>
+ 
+/*
+ 
+native
+native __y_classes__();
+native
+native
+native Class_Add(skin, Float:x, Float:y, Float:z, Float:a, ...);
+native
+native Class_AddEx(Group:forgroup, Group:setgroup, skin, Float:x, Float:y, Float:z, Float:a, ...);
+native Class_AddForGroup(Group:group, skin, Float:x, Float:y, Float:z, Float:a, ...);
+native Class_AddWithGroupSet(Group:group, skin, Float:x, Float:y, Float:z, Float:a, ...);
+native Class_Enable(classid, bool:toggle);
+native Class_Delete(classid);
+native Class_SetPlayer(classid, playerid, bool:s);
+native bool:Class_GetPlayer(classid, playerid);
+native Class_Get(playerid);
+native Class_Goto(playerid, playerclass);
+native
+native Class_DisableSelection(playerid);
+native Class_DisableReselection(playerid);
+native Class_EnableReselection(playerid);
+native Class_ForceReselection(playerid);
+native Class_ReturnToSelection(playerid);
+native
+ 
+*/
+ 
+#include <YSI\y_classes>
+ 
+/*
+ 
+native
+native __y_colours__();
+native __y_colors__();
+native
+native
+native SetColoursCanHaveSpaces(bool:set);
+native SetColour(const name[], color);
+native SetColourHash(hash, color);
+native GetColour(const name[], alpha = 0xAA);
+native GetColourStream(const str[], &idx, alpha = 0xAA);
+native GetColourHash(hash, alpha = 0xAA);
+native
+ 
+*/
+ 
+#include <YSI\y_colours>
+ 
+/*
+ 
+native
+native __y_commands__();
+native
+native
+native Command_AddAlt(commandid, altname[]);
+native Command_AddAltNamed(command[], altname[]);
+native Command_SetPlayer(commandid, playerid, bool:set);
+native Command_SetPlayerNamed(command[], playerid, bool:set);
+native
+native Command_SetDeniedReturn(bool:set);
+native bool:Command_GetDeniedReturn();
+native Command_SetIllegalReturn(bool:set);
+native bool:Command_GetIllegalReturn();
+native Command_SetUnknownReturn(bool:set);
+native bool:Command_GetUnknownReturn();
+native Command_SetDisconnectReturn(bool:set);
+native bool:Command_GetDisconnectReturn();
+native
+native Command_GetID(command[]);
+native bool:Command_GetPlayer(commandid, playerid);
+native bool:Command_GetPlayerNamed(command[], playerid);
+native Command_Remove(commandid);
+native Command_RemoveNamed(command[]);
+native Command_ReProcess(playerid, cmdtext[], help);
+native Command_GetName(commandid);
+native Command_GetDisplay(commandid, playerid);
+native Command_GetDisplayNamed(command[], playerid);
+native Command_GetPlayerCommandCount(playerid);
+native Command_GetNext(index, playerid);
+native
+native Command_SetProvider(p);
+native Command_GetProvider();
+native Command_SetPlayerProvider(playerid, p);
+native Command_GetPlayerProvider(playerid);
+native
+ 
+*/
+ 
+#include <YSI\y_commands>
+ 
+/*
+ 
+native
+native __y_debug__();
+native
+native
+native P_level(str[], {Float, _}:...);
+native P_I(str[], {Float, _}:...);
+native P_W(str[], {Float, _}:...);
+native P_E(str[], {Float, _}:...);
+native P_F(str[], {Float, _}:...);
+native P_C(str[], {Float, _}:...);
+native
+ 
+*/
+ 
+#include <YSI\y_debug>
+ 
+/*
+ 
+native
+native __y_dialog__();
+native
+native
+native Dialog_Show(playerid, style, title[], caption[], button1[], button2[] = "", dialogid = -1);
+native Dialog_ShowCallback(playerid, using:callback[], style, title[], caption[], button1[], button2[] = "", dialogid = -1);
+native
+native Dialog_ObtainID();
+native Dialog_TryObtainID(id);
+native Dialog_Get(playerid);
+native Dialog_Garbage(dialogid);
+native Dialog_Free(dialogid);
+native Dialog_Set(playerid, dialogid);
+native Dialog_ShowCallbackData(playerid, callback[E_CALLBACK_DATA], style, title[], caption[], button1[], button2[] = "", dialogid = -1);
+native Dialog_Hide(playerid);
+native Dialog_SetCallback(dialogid, using:callback[]);
+native Dialog_SetCallbackData(dialogid, callback[E_CALLBACK_DATA]);
+native
+ 
+*/
+ 
+#include <YSI\y_dialog>
+ 
+/*
+ 
+native
+native __y_flooding__();
+native
+native
+native SetMaxConnections(max = -1, e_FLOOD_ACTION:action = e_FLOOD_ACTION_BLOCK)
+native
+ 
+*/
+ 
+#include <YSI\y_flooding>
+ 
+/*
+ 
+native
+native __y_groups__();
+native
+native
+native Group:Group_Create(name[]);
+native Group_Destroy(Group:group);
+native Group_SetPlayer(Group:group, playerid, bool:s);
+native bool:Group_GetPlayer(Group:group, playerid);
+native
+native Group_SetCommand(Group:group, commandid, bool:s);
+native Group_SetCommandDefault(Group:group, bool:s);
+native Group_SetGlobalCommand(commandid, bool:s);
+native Group_SetGlobalCommandDefault(bool:s);
+native
+native Group_SetArea(Group:group, area, bool:s);
+native Group_SetAreaDefault(Group:group, bool:s);
+native Group_SetGlobalArea(area, bool:s);
+native Group_SetGlobalAreaDefault(bool:s);
+native
+native Group_SetClass(Group:group, class, bool:s);
+native Group_SetClassDefault(Group:group, bool:s);
+native Group_SetGlobalClass(class, bool:s);
+native Group_SetGlobalCalssDefault(bool:s);
+native
+native Iterator:PlayerGroups(playerid)
+native Iterator:Group(Group:group)
+native
+native Group:Group_SetBalanced(playerid, Group:...)
+native Group_GetColour(Group:group);
+native Group_GetColor(Group:group);
+native Group_SetColour(Group:group, colour);
+native Group_SetColor(Group:group, color);
+native bool:Group_GetGang(Group:group);
+native Group_SetGang(Group:group, bool:set);
+native Group:Group_GetID(name[]);
+native Group_GetName(Group:group);
+native Group_SetName(Group:group, name[]);
+native
+ 
+*/
+ 
+#include <YSI\y_groups>
+ 
+/*
+ 
+native
+native __y_hooks__();
+native
+native
+native hook();
+native
+ 
+*/
+ 
+// Is included as then they can use hooks straight off.
+#include <YSI\y_hooks>
+ 
+/*
+ 
+native
+native __y_ini__();
+native
+native
+native bool:INI_ParseFile(fname[], remoteFormat[], bool:bFileFirst = false, bool:bExtra = false, extra = 0, bool:bLocal = true, bool:bPassTag = false, bool:bFilter = true, filter[] = "")
+native bool:INI_Load(filename[], bool:bExtra = false, extra = 0, bool:bLocal = true)
+native
+native INI_Int(name[], &dest);
+native INI_Float(name[], &Float:dest);
+native INI_Hex(name[], &dest);
+native INI_Bin(name[], &dest);
+native INI_String(name[], dest[], size);
+native
+native INI:INI_Open(filename[])
+native INI_Close(INI:file)
+native
+native INI_SetTag(INI:file, tag[])
+native INI_DeleteTag(INI:file, tag[])
+native INI_WriteArray(INI:file, const name[], data[], len)
+native INI_RemoveEntry(INI:file, name[])
+native INI_WriteString(INI:file, name[], data[])
+native INI_WriteInt(INI:file, name[], data)
+native INI_WriteHex(INI:file, name[], data)
+native INI_WriteBin(INI:file, name[], data)
+native INI_WriteBool(INI:file, name[], bool:data)
+native INI_WriteFloat(INI:file, name[], Float:data, accuracy = 6)
+native
+ 
+*/
+ 
+#include <YSI\y_ini>
+ 
+/*
+ 
+native
+native __y_inline__();
+native
+native
+native using();
+native inline();
+native
+native Callback_Get(callback:name, result[E_CALLBACK_DATA], expect = -1);
+native Callback_Release(const input[E_CALLBACK_DATA]);
+native Callback_Call(const input[E_CALLBACK_DATA], {Float, _}:...);
+native
+ 
+*/
+ 
+#include <YSI\y_inline>
+ 
+/*
+ 
+native
+native __y_iterate__();
+native
+native
+native Iter_Init(Iterator:arr[]<>);
+native Iter_Add(Iterator:iter<>, element);
+native Iter_Remove(Iterator:iter<>, element);
+native Iter_Contains(Iterator:iter<>, element);
+native Iter_SafeRemove(Iterator:iter<>, element, &ret);
+native Iter_Random(Iterator:iter<>);
+native Iter_Count(Iterator:iter<>);
+native Iter_Clear(Iterator:iter<>);
+native Iter_Free(Iterator:iter<>);
+native
+native foreach();
+native
+native Iter_Begin(Iterator:iter<>);
+native Iter_End(Iterator:iter<>);
+native Iter_First(Iterator:iter<>);
+native Iter_Last(Iterator:iter<>);
+native Iter_Next(Iterator:iter<>, cur);
+native Iter_Prev(Iterator:iter<>, cur);
+native
+ 
+*/
+ 
+#include <YSI\y_iterate>
+ 
+/*
+ 
+native
+native __y_languages__();
+native
+native
+native Language:Langs_Add(code[], name[]);
+native Language:Langs_SetPlayerLanguage(playerid, Language:l);
+native Language:Langs_GetPlayerLanguage(playerid);
+native
+native Language:Langs_AddLanguage(code[], name[]);
+native Langs_RemoveLanguage(Language:l);
+native Language:Langs_GetLanguage(identifier[]);
+native Language:Langs_GetLanguageCount();
+native Langs_GetLanguageCodes();
+native Langs_GetName(Language:l);
+native Langs_GetCode(Language:l);
+native bool:Langs_IsValid(Language:l);
+native Language:Langs_SetPlayerCode(playerid, code[]);
+native
+ 
+*/
+ 
+#include <YSI\y_languages>
+ 
+/*
+ 
+native
+native __y_lock__();
+native
+native
+native
+ 
+*/
+ 
+// DO NOT include by default!
+//#include <YSI\y_lock>
+ 
+/*
+ 
+native
+native __y_malloc__();
+native
+native
+native Alloc:malloc(size);
+native Alloc:calloc(size);
+native free(Alloc:slot);
+native
+native mget(Alloc:array, index);
+native mset(Alloc:array, index, value);
+native mgets(target[], length, Alloc:array, index);
+native msets(Alloc:array, index, const str[]);
+native
+native Malloc_SlotSize(Alloc:array);
+native Malloc_Get(Alloc:array, index);
+native Malloc_Set(Alloc:array, index, value);
+native Malloc_GetS(target[], length, Alloc:array, index);
+native Malloc_SetS(Alloc:array, index, const str[]);
+native Malloc_GetA(target[], length, Alloc:array, index);
+native Malloc_SetA(Alloc:array, index, const arr[], len);
+native
+ 
+*/
+ 
+#include <YSI\y_malloc>
+ 
+/*
+ 
+native
+native __y_master__();
+native
+native
+native Master_Caller();
+native
+native foreign();
+native global();
+native
+ 
+*/
+ 
+#include <YSI\y_master>
+ 
+/*
+ 
+native
+native __y_php__();
+native
+native
+native PHP_SendString(string:name[], string:value[], bool:priority = false);
+native PHP_SendFloat(string:name[], Float:value, bool:priority = false);
+native PHP_SendBool(string:name[], bool:value, bool:priority = false);
+native PHP_SendInt(string:name[], value, bool:priority = false);
+native
+native phpdata();
+native phpfunc();
+native
+ 
+*/
+ 
+// DO NOT include by default!
+//#include <YSI\y_php>
+ 
+/*
+ 
+native
+native __y_playerarray__();
+native
+native
+native PA_Init(PlayerArray:pa<>, bool:init = false, s = bits<MAX_PLAYERS>);
+native PA_FastInit(PlayerArray:pa<>);
+native PA_Set(PlayerArray:pa<>, slot, bool:set);
+native PA_Let(PlayerArray:pa<>, slot);
+native PA_Vet(PlayerArray:pa<>, slot);
+native PA_Get(PlayerArray:pa<>, slot);
+native PA_GetCount(PlayerArray:pa<>);
+native Iterator:PA(PlayerArray:pa<>);
+native
+ 
+*/
+ 
+#include <YSI\y_playerarray>
+ 
+/*
+ 
+native
+native __y_playerset__();
+native
+native
+native Iterator:PS(@PlayerSet:iter);
+native
+ 
+*/
+ 
+#include <YSI\y_playerset>
+ 
+/*
+ 
+native
+native __y_remote__();
+native
+native
+native remotefunc();
+native broadcastfunc();
+native localfunc();
+native targetfunc();
+native
+ 
+*/
+ 
+#include <YSI\y_remote>
+ 
+/*
+ 
+native
+native __y_scriptinit__();
+native
+native
+native
+ 
+*/
+ 
+#include <YSI\y_scriptinit>
+ 
+/*
+ 
+native
+native __y_stringhash__();
+native
+native
+native YHash(const str[], bool:sensitive = true, e_HASH_TYPE:type = hash_bernstein, len = -1, pack = false);
+native
+ 
+*/
+ 
+#include <YSI\y_stringhash>
+ 
+/*
+ 
+native
+native __y_svar__();
+native
+native
+native svar();
+native
+ 
+*/
+ 
+#include <YSI\y_svar>
+ 
+/*
+ 
+native
+native __y_td__();
+native
+native
+native Style:TD_Create(Float:x = 0.0, Float:y = 0.0, Float:letterX = 0.48, Float:letterY = 1.12, Float:textX = 1280.0, Float:textY = 1280.0, colour = 0xE1E1E1FF, boxColour = 0x80808080, bgColour = 0x000000FF, shadow = 2, outline = 0, align = _:td_align_none, font = 1, bool:proportional = false, bool:box = false, time = 0, name[] = "\1");
+native TD_Delete(Style:styleId);
+native
+native Text:TD_Display(text[], Style:id, Float:x = NAN, Float:y = NAN);
+native TD_Destroy(Text:textDraw);
+native TD_TextPosition(Text:textID, Float:x, Float:y);
+native TD_TextXPos(Text:textID, Float:x);
+native TD_TextYPos(Text:textID, Float:y);
+native TD_SetString(Text:td, text[]);
+native
+native TD_ShowForPlayer(playerid, Text:textDraw);
+native TD_HideForPlayer(playerid, Text:textDraw);
+native TD_ShowForAll(Text:textDraw);
+native TD_HideForAll(Text:textDraw);
+native Text:TD_DisplayForPlayer(playerid, text[], Style:id, Float:x = NAN, Float:y = NAN);
+native Text:TD_DisplayForAll(text[], Style:id, Float:x = NAN, Float:y = NAN);
+native
+native TD_StylePosition(Style:styleID, Float:x, Float:y);
+native TD_StyleXPos(Style:styleID, Float:x);
+native TD_StyleYPos(Style:styleID, Float:y);
+native TD_LetterSize(Style:styleID, Float:x, Float:y);
+native TD_LetterX(Style:styleID, Float:x);
+native TD_LetterY(Style:styleID, Float:y);
+native TD_TextSize(Style:styleID, Float:x, Float:y);
+native TD_TextX(Style:styleID, Float:x);
+native TD_TextY(Style:styleID, Float:y);
+native TD_Alignment(Style:styleID, alignment = _:td_align_none);
+native TD_Colour(Style:styleID, colour);
+native TD_Color(Style:styleID, color);
+native TD_UseBox(Style:styleID, bool:use);
+native TD_BoxColour(Style:styleID, colour);
+native TD_BoxColor(Style:styleID, color);
+native TD_SetShadow(Style:styleID, size);
+native TD_SetOutline(Style:styleID, size);
+native TD_BackgroundColour(Style:styleID, colour);
+native TD_BackgroundColor(Style:styleID, color);
+native TD_Font(Style:styleID, font);
+native TD_SetProportional(Style:styleID, bool:set);
+native TD_SetTime(Style:styleID, time, bool:existing = false);
+native
+native TD_Morph(Text:textDraw, Style:style, time, delay = 0);
+native TD_Link(Text:base, Text:other);
+native TD_Unlink(Text:td);
+native Style:TD_GetDisplayStyle(Text:td);
+native Text:TD_DisplayHashed(text[], hash, Float:x = NAN, Float:y = NAN);
+native Text:TD_DisplayHashedForPlayer(playerid, text[], hash, Float:x = NAN, Float:y = NAN);
+native Text:TD_DisplayHashedForAll(text[], hash, Float:x = NAN, Float:y = NAN);
+native Text:TD_DisplayNamed(text[], style[], Float:x = NAN, Float:y = NAN);
+native Text:TD_DisplayNamedForPlayer(playerid, text[], style[], Float:x = NAN, Float:y = NAN);
+native Text:TD_DisplayNamedForAll(text[], style[], Float:x = NAN, Float:y = NAN);
+native TD_Garbage(Text:textDraw);
+native TD_Parse(filename[]);
+native
+native Style:TD_GetNamed(name[]);
+native Style:TD_GetID(hash);
+native Style:TD_Clone(Style:styleID, name[] = "\1");
+native TD_GetStyleData(Style:styleID, ret[E_TD_DATA]);
+native TD_Name(Style:styleID, name[]);
+native
+ 
+*/
+ 
+#include <YSI\y_td>
+ 
+/*
+ 
+native
+native __y_testing__();
+native
+native
+native Testing_RunAll();
+native
+ 
+*/
+ 
+// DO NOT include by default!
+//#include <YSI\y_testing>
+ 
+/*
+ 
+native
+native __y_text__();
+native
+native
+native Text_Send(@PlayerSet:players, message[], {Float, _}:...);
+native
+native Text_MessageBox(@PlayerSet:players, using:callback[], title[], text[], button1[], button2[], {Float, _}:...);
+native Text_InputBox(@PlayerSet:players, using:callback[], title[], text[], button1[], button2[], {Float, _}:...);
+native Text_ListBox(@PlayerSet:players, using:callback[], title[], text[], button1[], button2[], {Float, _}:...);
+native Text_PasswordBox(@PlayerSet:players, using:callback[], title[], text[], button1[], button2[], {Float, _}:...);
+native Text_DialogBox(@PlayerSet:players, style, using:callback[], title[], text[], button1[], button2[], {Float, _}:...);
+native
+ 
+*/
+ 
+#include <YSI\y_text>
+ 
+/*
+ 
+native
+native __y_timers__();
+native
+native
+native stop();
+native defer();
+native repeat();
+native timer();
+native task();
+native ptask();
+native pause();
+native resume();
+native
+ 
+*/
+ 
+#include <YSI\y_timers>
+ 
+/*
+ 
+native
+native __y_users__();
+native
+native
+native Language:Player_GetPreloadLanguage(playerid);
+native Player_IsRegistered(playerid);
+native bool:Player_IsLoggedIn(playerid);
+native Player_GetYID(playerid);
+native
+native Player_RemoveEntry(name[]);
+native Player_WriteString(name[], data[]);
+native Player_WriteArray(const name[], data[], len);
+native Player_WriteInt(name[], data);
+native Player_WriteHex(name[], data);
+native Player_WriteBin(name[], data);
+native Player_WriteBool(name[], bool:data);
+native Player_WriteFloat(name[], Float:data, accuracy = 6);
+native Player_SetTag(tag[]);
+native Player_DeleteTag(tag[]);
+native
+native Player_TryLogin(playerid, password[]);
+native Player_ForceLogin(playerid);
+native Player_TryRegister(playerid, password[]);
+native Player_ChangePassword(playerid, password[]);
+native Player_TryGroup(playerid, other[], password[]);
+native Player_ForceGroup(playerid, other[]);
+native
+native Player_Reload(playerid);
+native Player_SetPreload(playerid, data[E_USER_PRELOAD]);
+native Player_Preload(name[], ret[E_USER_PRELOAD]);
+native
+ 
+*/
+ 
+#include <YSI\y_users>
+ 
+/*
+ 
+native
+native __y_utils__();
+native
+native
+native ceildiv(num, denom);
+native floordiv(num, denom);
+native isnull(str[]);
 native isodd(num);
+native iseven(num);
+native strcpy(dest[], src[], maxlength = sizeof (dest));
+native StripNL(str[]);
+native endofline(line[], pos);
 native chrfind(needle, haystack[], start = 0);
-native chrnfind(needle, haystack[], start = 0);
-native strcpy(dest[], source[], max, len = -1);
+native chrfindp(needle, haystack[], start = 0);
 native bernstein(string[]);
-native StripNL(str[]);
-native strconcat(...);
-native QuickSort(numbers[], arraySize);
-native chrtolower(chr);
-native strtolower(str[]);
+native ishex(str[]);
+native unpack(const str[]);
+native GetIP(playerid);
+native getstring(addr);
+native getstringarg(addr);
+native isnumeric(str[]);
 native hexstr(string[]);
-native bool:binstr(string[]);
+native bool:boolstr(string[]);
+native binstr(string[]);
+native memset(dest[], size = sizeof (dest), val = 0, blocksize = 8);
 native ReturnPlayerName(playerid);
-native ishex(str[]);
-native numstr(num);
-native chrtoupper(chr);
-native strtoupper(str[]);
-	native
-*/
-#if defined _YSI_MISC
-	#include "YSI/YSI_misc.own"
-#endif
-
-/*----------------------------------------------------------------------------*-
-					====================
-					/YSI/Core/ Libraries
-					====================
--*----------------------------------------------------------------------------*/
-
-/*
-native _CORE_BIT_FUNCTIONS_();
-	native
-native Bit_Bits(num);
-native Bit_Get(Bit:array[], slot, size = sizeof (array));
-native Bit_Set(Bit:array[], slot, set, size = sizeof (array));
-native Bit_SetAll(Bit:array[], set, size = sizeof (array));
-native Bit_GetCount(Bit:array[], size = sizeof (array));
-native Bit_GetBits(Bit:array[], slot);
-	native
-*/
-#if defined _YSI_CORE_BIT
-	#include "YSI/Core/YSI_bit.own"
-#endif
-
-/*
-native _CORE_BINTREE_FUNCTIONS_();
-	native
-native Bintree_Sort(input[][E_BINTREE_INPUT], size);
-native Bintree_Fill(Bintree:output[][E_BINTREE_INPUT], data[][E_BINTREE_INPUT], size);
-native Bintree_Generate(Bintree:output[][E_BINTREE_TREE], input[][E_BINTREE_INPUT], size);
-native Bintree_Reset(Bintree:tree[][E_BINTREE_TREE], pointer = 0);
-native Bintree_FindValue(Bintree:tree[][E_BINTREE_TREE], value, &cont = 0, &old = 0);
-native Bintree_Add(Bintree:data[][E_BINTREE_TREE], input[E_BINTREE_INPUT], offset, maxsize = sizeof (data));
-native Bintree_Delete(Bintree:source[][E_BINTREE_TREE], index, count);
-native Bintree_UpdatePointers(Bintree:data[][E_BINTREE_TREE], offset, size, mod = -1);
-	native
-*/
-#if defined _YSI_CORE_BINTREE
-	#include "YSI/Core/YSI_bintree.own"
-#endif
-
-/*
-native _CORE_INI_FUNCTIONS_();
-	native
-native bool:INI_Load(filename[]);
-native bool:INI_ParseFile(filename[], remoteFormat[], bool:bFileFirst = false);
-native INI_GetEntryText(source[], dest[], i);
-native INI_BroadcastData(function[], identifier[], text[]);
-native bool:INI_GetEntryName(source[], dest[], &i);
-native INI_INI();
-native INI:INI_Open(filename[]);
-native INI_Close(INI:file);
-native INI_SetTag(INI:file, tag[]);
-native INI_WriteString(INI:file, name[], data[]);
-native INI_WriteInt(INI:file, name[], data);
-native INI_WriteFloat(INI:file, name[], Float:data, accuracy = 6);
-native INI_WriteBuffer(INI:file);
-native INI_String(name[], function);
-native INI_Bin(name[], function);
-native INI_Hex(name[], function);
-native INI_Float(name[], function);
-native INI_Int(name[], function);
-	native
-*/
-#if defined _YSI_CORE_INI
-	#include "YSI/Core/YSI_INI.own"
-#endif
-
-/*
-native _CORE_TEXT_FUNCTIONS_();
-	native
-naitve Text_Send(playerid, identifier[]);
-native Text_SendToAll(identifier[]);
-native Text_SendToGroup(group, identifier[]);
-native Text_SendToPlayers(Bit:players[], identifier[]);
-naitve Text_SendFormat(playerid, identifier[], {Float,_}:...);
-native Text_SendToAllFormat(identifier[], {Float,_}:...);
-native Text_SendToGroupFormat(group, identifier[], {Float,_}:...);
-native Text_SendToPlayersFormat(Bit:players[], identifier[], {Float,_}:...);
-native Text_Text();
-native Text_AddToBuffer(identifier[], text[]);
-native Text_ResetAll();
-native Text_NewLanguage(Language:languageID);
-native Text_Parse();
-native Text_GetText(identifier[], Language:languageID);
-native Text_RegisterTag(tag[]);
-native Text_GetTextStyle(index);
-native Text_GetTextColour(index);
-native Text_GetTextTime(index);
-native Text_GetTextFromIndex(index, Language:languageID, identifier[]);
-native Text_GetErrorMessage(Language:languageID);
-	native
-*/
-#if defined _YSI_CORE_TEXT
-	#include "YSI/Core/YSI_text.own"
-#endif
-
-/*
-native _CORE_FORMAT_FUNCTIONS_();
-	native
-native Format_SendFormattedText(playerid, type, colorTime, identifier[], {Float,_}:...);
-	native
-*/
-#if defined _YSI_CORE_FORMAT
-	#include "YSI/Core/YSI_format.own"
-#endif
-
-/*
-native _CORE_COMMAND_FUNCTIONS_();
-	native
-native Command_IsCleared(playerid, command);
-native Command_SetDisconnectReturn(set);
-native Command_SetIllegalReturn(set);
-native Command_UseShortCuts(set);
-native Command_SetDeniedReturn(set);
-native Command_UseDeniedMessage(set);
-native Command_UseAltNames(set);
-native Command_UsePrefix(set);
-native Command_UseSpace(set);
-native Command_Add(funcname[]);
-native Command_Parse();
-native Command_SetAltName(funcname[], altname[]);.
-native Comamnd_SetPlayerUse(command[], playerid, set);
-native Comamnd_SetPlayerUseByID(command, playerid, set);
-native Command_SetPrefix(prefix[]);
-native Command_Process(playerid, cmdtext[], help = 0);
-native Command_Name(funcname[]);
-	native
-native ycmd(command[]);
-	native
-*/
-#if defined _YSI_CORE_COMMANDS
-	#include "YSI/Core/YSI_commands.own"
-#endif
-
-/*
-native _CORE_LANGUAGE_FUNCTIONS_();
-	native
-native Langs_Langs();
-native Langs_IsActive(Language:languageID);
-native Langs_GetLanguageIdentifier(Language:languageID);
-native Langs_GetLanguageID(identifier[]);
-native Langs_ResetAll();
-native Langs_SaveEnteredData();
-native bool:Langs_LoadLanguage(LanguagelanguageID);
-native Langs_LoadAll();
-native Langs_AddLanguage(identifer[], name[]);
-native Langs_AddFile(filename[], path[] = "");
-native Langs_GetLanguageName(Language:languageID);
-native Langs_IsValid(Language:languageID);
-	native
-*/
-#if defined _YSI_CORE_LANGUAGES
-	#include "YSI/Core/YSI_languages.own"
-#endif
-
-/*
-native _CORE_PLAYER_FUNCTIONS_();
-	native
-native Language:Player_GetPlayerLanguage(playerid);
-native Player_OnPlayerConnect(playerid);
-native Player_Player();
-native Player_OnPlayerDisconnect(playerid, reason);
-native Player_SetPlayerLanguage(playerid, Language:languageID);
-native Player_FindShortCut(playerid, shortcut, cmdname[]);
-native Player_SetTag(tag[]);
-native Player_WriteString(name[], data[]);
-native Player_WriteInt(name[], data);
-native Player_WriteFloat(name[], Float:data, accuracy = 6);
-	native
-*/
-#if defined _YSI_CORE_PLAYER
-	#include "YSI/Core/YSI_player.own"
-#endif
-
-/*----------------------------------------------------------------------------*-
-					======================
-					/YSI/Server/ Libraries
-					======================
--*----------------------------------------------------------------------------*/
-
-/*
-native _SERVER_MODULE_FUNCTIONS_();
-	native
-native Modules_Modules();
-native Modules_IsActive(Module:moduleID);
-native Modules_IsPrivate(Module:moduleID);
-native bool:Modules_LoadAll();
-native Modules_CloseAll();
-native Modules_Close(name[]);
-native Modules_CloseID(Module:id);
-native Module:Modules_Register(name[], tag[], hidden);
-native Modules_GetModuleCount();
-native Modules_GetVisibleCount();
-native Modules_GetHiddenCount();
-	native
-*/
-#if defined _YSI_SERVER_MODULES
-	#include "YSI/Server/YSI_modules.own"
-#endif
-
-/*----------------------------------------------------------------------------*-
-					======================
-					/YSI/Visual/ Libraries
-					======================
--*----------------------------------------------------------------------------*/
-
-/*
-native _VISUAL_OBJECT_FUNCTIONS_();
-	native
-native Object_Object();
-native Object_AddToPlayer(objectid, playerid);
-native Object_AddToWorld(objectid, virtualworld);
-native Object_AddToAllPlayers(objectid);
-native Object_AddToAllWorlds(objectid);
-native Object_RemoveFromPlayer(objectid, playerid);
-native Object_RemoveFromWorld(objectid, virtualworld);
-native Object_RemoveFromAllPlayers(objectid);
-native Object_RemoveFromAllWorlds(objectid);
-native Object_OnPlayerDisconnect(playerid, reason);
-native Object_IsGlobal(objectid);
-	native
-native MoveDynamicObject(objectid, Float:X, Float:Y, Float:Z, Float:S);
-native StopDynamicObject(objectid);
-native IsValidDynamicObject(objectid);
-native CreateDynamicObject(model, Float:X, Float:Y, Float:Z, Float:RX = 0.0, Float:RY = 0.0, Float:RZ = 0.0);
-native CreatePlayerDynamicObject(playerid, model, Float:X, Float:Y, Float:Z, Float:RX = 0.0, Float:RY = 0.0, Float:RZ = 0.0);
-native CreateVWDynamicObject(virtualworld, model, Float:X, Float:Y, Float:Z, Float:RX = 0.0, Float:RY = 0.0, Float:RZ = 0.0);
-native CreatePlayerVWDynamicObject(playerid, virtualworld, model, Float:X, Float:Y, Float:Z, Float:RX = 0.0, Float:RY = 0.0, Float:RZ = 0.0);
-native DestroyDynamicObject(objectid);
-native GetDynamicObjectPos(objectid, &Float:X, &Float:Y, &Float:Z);
-native GetDynamicObjectRot(objectid, &Float:RX, &Float:RY, &Float:RZ);
-native SetDynamicObjectPos(objectid, Float:X, Float:Y, Float:Z);
-native SetDynamicObjectRot(objectid, Float:RX, Float:RY, Float:RZ);
-native AttachDynamicObjectToPlayer(objectid, playerid, Float:offX, Float:offY, Float:offZ, Float:rX, Float:rY, Float:rZ);
-native DetachDynamicObjectFromPlayer(objectid);
-native IsValidModel(modelid);
-	native
-*/
-#if defined _YSI_VISUAL_OBJECTS
-	#include "YSI/Visual/YSI_objects.own"
-#endif
-
-/*
-native _VISUAL_CHECKPOINT_FUNCTIONS_();
-	native
-native Checkpoint_Checkpoint();
-native Checkpoint_SetVisible(cpid, set);
-native Checkpoint_SetAllWorlds(cpid, set);
-native Checkpoint_SetAllPlayers(cpid, set);
-native Checkpoint_AddPlayer(cpid, playerid);
-native Checkpoint_RemovePlayer(cpid, playerid);
-native Checkpoint_AddVW(cpid, vwid);
-native Checkpoint_RemoveVW(cpid, vwid);
-native Checkpoint_HasPlayer(cpid, playerid);
-native Checkpoint_HasPlayerNoWorld(cpid, playerid);
-native Checkpoint_Get(playerid);
-native Checkpoint_OnPlayerEnterCheckpoint(playerid);
-native Checkpoint_OnPlayerLeaveCheckpoint(playerid);
-native Checkpoint_OnPlayerConnect(playerid);
-native Checkpoint_IsGlobal(checkpoint);
-	native
-native CreateCheckpoint(Float:x, Float:y, Float:z, Float:size, players = 0, vws = 0);
-native IsValidCheckpoint(cpid);
-native DestroyCheckpoint(cpid);
-	native
-*/
-#if defined _YSI_VISUAL_CHECKPOINTS
-	#include "YSI/Visual/YSI_checkpoints.own"
-#endif
-
-/*
-native _VISUAL_RACE_FUNCTIONS_();
-	native
-native Race_Race();
-native Race_OnPlayerEnterRaceCP(playerid);
-native Race_OnPlayerStateChange(playerid, newstate, oldstate);
-native Race_OnPlayerDisconnect(playerid, reason);
-native Race_Create(laps = 0, entry = 0, countdown = 3, bool:arial = 0, bool:fixedPrize = 1, exitTime = 0, interior = 0, world = 0, bool:restart = 0);
-native Race_AddCheckpoint(raceid, Float:x, Float:y, Float:z);
-native Race_AddStart(raceid, Float:x, Float:y, Float:z, Float:a);
-native Race_SetFixedWin(raceid, set);
-native Race_SetArial(raceid, set);
-native Race_PlayerLeave(playerid, refund = 0);
-native Race_SetCountdown(raceid, countdown);
-native Race_SetInterior(raceid, interior);
-native Race_SetWorld(raceid, world);
-native Race_SetPrize(raceid, position, amount);
-native Race_SetExitTime(raceid, time);
-native Race_IsActive(raceid);
-native Race_SetLaps(raceid, laps);
-native Race_SetEntry(raceid, cost);
-native Race_GetPlayerExitedTime(playerid);
-native Race_PlayerJoin(playerid, race);
-native Race_Start(race);
-native Race_GetPlayerRaceTime(playerid);
-native Race_GetPlayerPosition(playerid);
-	native
-*/
-#if defined _YSI_VISUAL_RACE
-	#include "YSI/Visual/YSI_race.own"
-#endif
-
-/*
-native _VISUAL_AREA_FUNCTIONS_();
-	native
-native Area_Area();
-native Area_OnPlayerConnect(playerid);
-native Area_Delete(area);
-native Area_AddCube(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz);
-native Area_AddBox(Float:minx, Float:miny, Float:maxx, Float:maxy);
-native Area_AddCircle(Float:x, Float:y, Float:r, Float:h = 10000.0);
-native Area_AddSphere(Float:x, Float:y, Float:z, Float:r);
-native Area_AddPoly(Float:x1, Float:y1, Float:x2, Float:y2, Float:x3, Float:y3, Float:...);
-native Area_GetPlayerArea(playerid);
-native Area_SetPlayer(area, playerid, set);
-native Area_SetAllPlayers(area, set);
-native Area_SetAllWorlds(area, set);
-native Area_SetWorld(area, world, set);
-native Area_IsValid(area);
-	native
-*/
-#if defined _YSI_VISUAL_AREAS
-	#include "YSI/Visual/YSI_areas.own"
-#endif
-
-/*----------------------------------------------------------------------------*-
-					========================
-					/YSI/Gamemode/ Libraries
-					========================
--*----------------------------------------------------------------------------*/
-
-/*
-native _GAMEMODE_PROPERTY_FUNCTIONS_();
-	native
-native Property_OnPlayerSelectedMenuRow(playerid, row);
-native Property_OnPlayerExitedMenu(playerid);
-native Property_OnPlayerEnterCheckpointEx(playerid, cpid);
-native Property_OnPlayerLeaveCheckpointEx(playerid, cpid);
-native Property_OnPlayerSpawn(playerid);
-native Property_OnPlayerConnect(playerid);
-native Property_OnPlayerLeaveArea(playerid, area);
-native Property_OnPlayerEnterArea(playerid, area);
-native Property_GetPlayerPropCount(playerid);
-native Property_GetLink(property);
-native Property_GetType(property);
-native Property_IsValid(property);
-native Property_Bank(playerid, amount);
-native Property_SavePlayerWeapon(playerid, weaponslot, ammo);
-native Property_SaveWeapons(playerid);
-native Property_LoadWeapons(playerid, identifier[], text[]);
-native Property_SaveBank(playerid);
-native Property_LoadBank(playerid, identifier[], text[]);
-	native
-native CreateProperty(name[], Float:x, Float:y, Float:z, price, reward, interval = 60000, sell = 0, multi = 0, reduce = 0, increase = 0);
-native CreateBank(Float:x, Float:y, Float:z, name[] = "");
-native CreateAmmunation(Float:x, Float:y, Float:z, spawn, instant, weapon, ammo, price, ...);
-native CreateMoneyArea(area, money = 100, interval = 10000);
-native CreateMoneyPoint(Float:x, Float:y, Float:z, Float:s, money = 100, interval = 10000);
-native CreateTeleport(Float:sx, Float:sy, Float:sz, Float:tx, Float:ty, Float:tz, cost = 0, name[] = "");
-native CreateForbiddenArea(area, kick = 0, health = 1000, invert = 0, name[] = "");
-native DestroyProperty(property);
-	native
-*/
-#if defined _YSI_GAMEMODE_PROPERTIES
-	#include "YSI/Gamemode/YSI_properties.own"
-#endif
-
-/*----------------------------------------------------------------------------*-
-					======================
-					/YSI/System/ Libraries
-					======================
--*----------------------------------------------------------------------------*/
-
-/*
-native _SYSTEM_DEFAULT_FUNCTIONS_();
-	native
-native Default_Setup();
-native Default_OnGameModeInit();
-native Default_OnGameModeExit();
-native Default_OnFilterScriptInit();
-native Default_OnFilterScriptExit();
-native Default_OnPlayerConnect(playerid);
-native Default_OnPlayerDisconnect(playerid, reason);
-native Default_OnPlayerSpawn(playerid);
-native Default_OnPlayerDeath(playerid, killerid, reason);
-native Default_OnVehicleSpawn(vehicleid);
-native Default_OnVehicleDeath(vehicleid, killerid);
-native Default_OnPlayerText(playerid, text[]);
-native Default_OnPlayerCommandText(playerid, cmdtext[]);
-native Default_OnPlayerInfoChange(playerid);
-native Default_OnPlayerRequestClass(playerid, classid);
-native Default_OnPlayerEnterVehicle(playerid, vehicleid, ispassenger);
-native Default_OnPlayerExitVehicle(playerid, vehicleid);
-native Default_OnPlayerStateChange(playerid, newstate, oldstate);
-native Default_OnPlayerEnterCheckpoint(playerid);
-native Default_OnPlayerLeaveCheckpoint(playerid);
-native Default_OnPlayerEnterRaceCheckpoint(playerid);
-native Default_OnPlayerLeaveRaceCheckpoint(playerid);
-native Default_OnRconCommand(cmd[]);
-native Default_OnPlayerPrivmsg(playerid, recieverid, text[]);
-native Default_OnPlayerRequestSpawn(playerid);
-native Default_OnObjectMoved(objectid);
-native Default_OnPlayerObjectMoved(playerid, objectid);
-native Default_OnPlayerPickUpPickup(playerid, pickupid);
-native Default_OnVehicleMod(vehicleid, componentid);
-native Default_OnVehiclePaintjob(vehicleid, paintjobid);
-native Default_OnVehicleRespray(vehicleid, color1, color2);
-native Default_OnPlayerSelectedMenuRow(playerid, row);
-native Default_OnPlayerExitedMenu(playerid);
-	native
-native LoadScript();
-	native
-*/
-#if defined _YSI_SYSTEM_DEFAULT
-	#include "YSI/System/YSI_default.own"
-#endif
-
-/*
-native _SYSTEM_GROUP_FUNCTIONS_();
-	native
-native Group_NameGroup(group, name[]);
-native Group_SetCommand(group, command[], set);
-native Group_SetCommandByID(group, command, set);
-native Group_UpdatePlayerCommand(command, playerid);
-native Group_SetCheckpoint(group, checkpoint, set);
-native Group_UpdatePlayerCheckpoint(checkpoint, playerid);
-native Group_SetObject(group, object, set);
-native Group_UpdatePlayerObject(object, playerid);
-native Group_SetArea(group, area, set);
-native Group_UpdatePlayerArea(area, playerid);
-native Group_SetProperty(group, property, set);
-native Group_UpdatePlayerProperty(property, playerid);
-native Group_AddPlayer(group, playerid);
-native Group_RemovePlayer(group, playerid);
-native Group_RemovePlayerFromAllGroups(playerid);
-native Bit:Group_GetGroupMembers(group);
-native Group_GetGroups(playerid);
-	native
-*/
-#if defined _YSI_SYSTEM_GROUPS
-	#include "YSI/System/YSI_groups.own"
-#endif
-
-/*
-native _SYSTEM_SCRIPT_FUNCTIONS_();
-	native
-native Script_OnGameModeInit();
-native Script_OnGameModeExit();
-native Script_OnFilterScriptInit();
-native Script_OnFilterScriptExit();
-native Script_OnPlayerConnect(playerid);
-native Script_OnPlayerDisconnect(playerid, reason);
-native Script_OnPlayerSpawn(playerid);
-native Script_OnPlayerDeath(playerid, killerid, reason);
-native Script_OnVehicleSpawn(vehicleid);
-native Script_OnVehicleDeath(vehicleid, killerid);
-native Script_OnPlayerText(playerid, text[]);
-native Script_OnPlayerCommandText(playerid, cmdtext[]);
-native Script_OnPlayerInfoChange(playerid);
-native Script_OnPlayerRequestClass(playerid, classid);
-native Script_OnPlayerEnterVehicle(playerid, vehicleid, ispassenger);
-native Script_OnPlayerExitVehicle(playerid, vehicleid);
-native Script_OnPlayerStateChange(playerid, newstate, oldstate);
-native Script_OnPlayerEnterCheckpoint(playerid);
-native Script_OnPlayerLeaveCheckpoint(playerid);
-native Script_OnPlayerEnterRaceCheckpoint(playerid);
-native Script_OnPlayerLeaveRaceCheckpoint(playerid);
-native Script_OnRconCommand(cmd[]);
-native Script_OnPlayerPrivmsg(playerid, recieverid, text[]);
-native Script_OnPlayerRequestSpawn(playerid);
-native Script_OnObjectMoved(objectid);
-native Script_OnPlayerObjectMoved(playerid, objectid);
-native Script_OnPlayerPickUpPickup(playerid, pickupid);
-native Script_OnVehicleMod(vehicleid, componentid);
-native Script_OnVehiclePaintjob(vehicleid, paintjobid);
-native Script_OnVehicleRespray(vehicleid, color1, color2);
-native Script_OnPlayerSelectedMenuRow(playerid, row);
-native Script_OnPlayerExitedMenu(playerid);
-native Script_OnPlayerLogin(playerid, data[]);
-native Script_OnPlayerLogout(playerid);
-native Script_OnPlayerEnterCheckpointEx(playerid, cpid);
-native Script_OnPlayerLeaveCheckpointEx(playerid, cpid);
-native Script_OnPlayerEnterArea(playerid, area);
-native Script_OnPlayerLeaveArea(playerid, area);
-	native
-*/
-#if defined _YSI_SYSTEM_SCRIPT
-	#include "YSI/System/YSI_script.own"
-#endif
-
-/*----------------------------------------------------------------------------*-
-					===================
-					/YSI/ Libraries (2)
-					===================
--*----------------------------------------------------------------------------*/
-
-/*
-native _POST_FUNCTIONS_();
-	native
-*/
-#include "YSI/YSI_post.own"
+native ftouch(const filename[]);
+native
+ 
+*/
+ 
+#include <YSI\y_utils>
+ 
+/*
+ 
+native
+native __y_uvar__();
+native
+native
+native uvar();
+native
+ 
+*/
+ 
+#include <YSI\y_uvar>
+ 
+/*
+ 
+native
+native __y_va__();
+native
+native
+native va_printf(fmat[], va_start);
+native va_format(out[], size, fmat[], va_start);
+native va_strlen(arg);
+native va_getstring(dest[], arg, len = sizeof (dest));
+native
+ 
+*/
+ 
+#include <YSI\y_va>
+ 
+/*
+ 
+native
+native __y_writemem__();
+native
+native
+native WriteMem(addr, value);
+native
+ 
+*/
+ 
+#include <YSI\y_writemem>
+ 
+/*
+ 
+native
+native __y_xml__();
+native
+native
+native XML:XML_New();
+native XML_Destroy(XML:rule);
+native
+native XML_AddHandler(XML:rule, trigger[], function[]);
+native XML_RemoveHandler(XML:rule, trigger[]);
+native XML_Parse(XML:rule, filename[]);
+native XML_GetKeyValue(key[], value[]);
+native
+native XMLEntry:XML_AddParameter(XMLEntry:parent, tag[], value[] = "");
+native XMLEntry:XML_AddItem(tag[], name[] = "", XMLEntry:parent = XMLEntry:cellmax);
+native XMLEntry:XML_CreateEntry(tag[], name[] = "", XMLEntry:parent = XMLEntry:cellmax);
+native XMLEntry:XML_AddSubEntry(tag[], name[] = "", XMLEntry:parent = XMLEntry:cellmax);
+native XML_WriteItem(filename[], XMLEntry:item, bool:bIncludeXML = true, bool:bFavourShort = false);
+native XML_WriteEntry(filename[], XMLEntry:item, bool:bIncludeXML = true, bool:bFavourShort = false);
+naitve XML_RemoveItem(file[], tag[], name[]);
+naitve XML_ReplaceItem(file[], tag[], name[], replacement);
+native
+ 
+*/
+ 
+#include <YSI\y_xml>
+ 
+/*
+ 
+native
+native __y_zonepulse__();
+native
+native
+native GangZonePulse(@PlayerSet:players, zone, from, to, time, delay = ZONE_PULSE_STAGE_TIME, time2 = -1, delay2 = -1);
+native GangZonePulseForPlayer(playerid, zone, from, to, time, delay = ZONE_PULSE_STAGE_TIME, time2 = -1, delay2 = -1);
+native GangZonePulseForAll(zone, from, to, time, delay = ZONE_PULSE_STAGE_TIME, time2 = -1, delay2 = -1);
+native GangZoneStopPulse(@PlayerSet:players, zone);
+native GangZoneStopPulseForPlayer(playerid, zone);
+native GangZoneStopPulseForAll(zone);
+native
+ 
+*/
+ 
+#include <YSI\y_zonepulse>

BIN
plugins/Whirlpool.dll


BIN
plugins/Whirlpool.so


BIN
plugins/audio.dll


BIN
plugins/audio.so


BIN
plugins/sscanf.dll


BIN
plugins/sscanf.so


BIN
plugins/streamer.dll


BIN
plugins/streamer.so


BIN
plugins/whirlpool.so