| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631 |
- /**--------------------------------------------------------------------------**\
- =========================================
- y_incognitostream - y_groups + streamer
- =========================================
- Description:
- This file unites the YSI y_groups system with Incognito's streamer plugin so
- that you can use more objects/areas etc with y_groups style permissions.
- 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 classes 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.
- 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.
-
- Version:
- 0.1
- Changelog:
- 20/10/12:
- First version.
- Functions:
- Public:
- -
- Core:
- -
- Stock:
- -
- Static:
- -
- Inline:
- -
- API:
- -
- Callbacks:
- -
- Definitions:
- -
- Enums:
- -
- Macros:
- -
- Tags:
- -
- Variables:
- Global:
- -
- Static:
- -
- Commands:
- -
- Compile options:
- -
- Operators:
- -
- \**--------------------------------------------------------------------------**/
- #if defined _INC_y_incognitostreamer
- #endinput
- #endif
- #define _INC_y_incognitostreamer
- #include "y_plugins"
- static stock const
- YSI_gscEmpty[2] = {-1, -1};
- #if IPS_MAX_OBJECTS != 0
- #undef _GROUP_MAKE_NAME
- #undef _GROUP_MAKE_LIMIT
- #define _GROUP_MAKE_NAME<%0...%1> %0SObject%1
- #define _GROUP_MAKE_LIMIT IPS_MAX_OBJECTS
- // Include the second half of the file for the methods.
- #include "y_groupsingle"
- #include "y_groupsecond"
-
- /**----------------------------------------------------------------------**\
- <summary>SObject_SetPlayer</summary>
- <param name=" o">Object to set.</param>
- <param name=" p">Player to set.</param>
- <param name=" bool:s">Add or remove this object from this player.</param>
- <returns>
- -
- </returns>
- <remarks>
- Translate the YSI permissions system to the streamer plugin permissions
- system.
- </remarks>
- \**----------------------------------------------------------------------**/
-
- foreign void:SObject_SetPlayer(o,p,bool:s);
-
- global void:SObject_SetPlayer(o,p,bool:s)
- {
- if (s) Streamer_AppendArrayData(STREAMER_TYPE_OBJECT, o, E_STREAMER_PLAYER_ID, p);
- else Streamer_RemoveArrayData(STREAMER_TYPE_OBJECT, o, E_STREAMER_PLAYER_ID, p);
- //return s;
- }
-
- /**----------------------------------------------------------------------**\
- <summary>IPS_CreateDynamicObject</summary>
- <returns>
- -
- </returns>
- <remarks>
- Hook the streamer creation function so that we can initialise the groups
- system for this thing. The remainder of this file is just these two
- functions in various forms repeatedly.
- </remarks>
- \**----------------------------------------------------------------------**/
-
- stock IPS_CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
- {
- // Create an object for no players.
- new
- id = CreateDynamicObject(modelid, x, y, z, rx, ry, rz, worldid, interiorid, playerid, streamdistance);
- Streamer_SetArrayData(STREAMER_TYPE_OBJECT, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SObject_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicObject
- #undef CreateDynamicObject
- #else
- #define _ALS_CreateDynamicObject
- #endif
- #define CreateDynamicObject IPS_CreateDynamicObject
-
- stock IPS_CreateDynamicObjectEx(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, Float:drawdistance = 0.0, Float:streamdistance = 200.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- // Create an object for no players.
- new
- id = CreateDynamicObjectEx(modelid, x, y, z, rx, ry, rz, drawdistance, streamdistance, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_OBJECT, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SObject_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicObjectEx
- #undef CreateDynamicObjectEx
- #else
- #define _ALS_CreateDynamicObjectEx
- #endif
- #define CreateDynamicObjectEx IPS_CreateDynamicObjectEx
- #endif
- #if IPS_MAX_PICKUPS != 0
- #undef _GROUP_MAKE_NAME
- #undef _GROUP_MAKE_LIMIT
- #define _GROUP_MAKE_NAME<%0...%1> %0SPickup%1
- #define _GROUP_MAKE_LIMIT IPS_MAX_PICKUPS
- // Include the second half of the file for the methods.
- #include "y_groupsingle"
- #include "y_groupsecond"
-
- foreign void:SPickup_SetPlayer(o,p,bool:s);
-
- global void:SPickup_SetPlayer(o,p,bool:s)
- {
- if (s) Streamer_AppendArrayData(STREAMER_TYPE_PICKUP, o, E_STREAMER_PLAYER_ID, p);
- else Streamer_RemoveArrayData(STREAMER_TYPE_PICKUP, o, E_STREAMER_PLAYER_ID, p);
- //return s;
- }
-
- stock IPS_CreateDynamicPickup(modelid, type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
- {
- // Create an object for no players.
- new
- id = CreateDynamicPickup(modelid, type, x, y, z, worldid, interiorid, playerid, streamdistance);
- Streamer_SetArrayData(STREAMER_TYPE_PICKUP, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SPickup_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicPickup
- #undef CreateDynamicPickup
- #else
- #define _ALS_CreateDynamicPickup
- #endif
- #define CreateDynamicPickup IPS_CreateDynamicPickup
-
- stock IPS_CreateDynamicPickupEx(modelid, type, Float:x, Float:y, Float:z, Float:streamdistance = 100.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- // Create an object for no players.
- new
- id = CreateDynamicPickupEx(modelid, type, x, y, z, streamdistance, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_PICKUP, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SPickup_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicPickupEx
- #undef CreateDynamicPickupEx
- #else
- #define _ALS_CreateDynamicPickupEx
- #endif
- #define CreateDynamicPickupEx IPS_CreateDynamicPickupEx
- #endif
- #if IPS_MAX_CPS != 0
- #undef _GROUP_MAKE_NAME
- #undef _GROUP_MAKE_LIMIT
- #define _GROUP_MAKE_NAME<%0...%1> %0SCP%1
- #define _GROUP_MAKE_LIMIT IPS_MAX_CPS
- // Include the second half of the file for the methods.
- #include "y_groupsingle"
- #include "y_groupsecond"
-
- foreign void:SCP_SetPlayer(o,p,bool:s);
-
- global void:SCP_SetPlayer(o,p,bool:s)
- {
- if (s) Streamer_AppendArrayData(STREAMER_TYPE_CP, o, E_STREAMER_PLAYER_ID, p);
- else Streamer_RemoveArrayData(STREAMER_TYPE_CP, o, E_STREAMER_PLAYER_ID, p);
- //return s;
- }
-
- stock IPS_CreateDynamicCP(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
- {
- // Create an object for no players.
- new
- id = CreateDynamicCP(x, y, z, size, worldid, interiorid, playerid, streamdistance);
- Streamer_SetArrayData(STREAMER_TYPE_CP, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SCP_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicCP
- #undef CreateDynamicCP
- #else
- #define _ALS_CreateDynamicCP
- #endif
- #define CreateDynamicCP IPS_CreateDynamicCP
-
- stock IPS_CreateDynamicCPEx(Float:x, Float:y, Float:z, Float:size, Float:streamdistance = 100.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- // Create an object for no players.
- new
- id = CreateDynamicCPEx(x, y, z, size, streamdistance, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_CP, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SCP_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicCPEx
- #undef CreateDynamicCPEx
- #else
- #define _ALS_CreateDynamicCPEx
- #endif
- #define CreateDynamicCPEx IPS_CreateDynamicCPEx
- #endif
- #if IPS_MAX_RACE_CPS != 0
- #undef _GROUP_MAKE_NAME
- #undef _GROUP_MAKE_LIMIT
- #define _GROUP_MAKE_NAME<%0...%1> %0SRaceCP%1
- #define _GROUP_MAKE_LIMIT IPS_MAX_RACE_CPS
- // Include the second half of the file for the methods.
- #include "y_groupsingle"
- #include "y_groupsecond"
-
- foreign void:SRaceCP_SetPlayer(o,p,bool:s);
-
- global void:SRaceCP_SetPlayer(o,p,bool:s)
- {
- if (s) Streamer_AppendArrayData(STREAMER_TYPE_RACE_CP, o, E_STREAMER_PLAYER_ID, p);
- else Streamer_RemoveArrayData(STREAMER_TYPE_RACE_CP, o, E_STREAMER_PLAYER_ID, p);
- //return s;
- }
-
- stock IPS_CreateDynamicRaceCP(type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
- {
- // Create an object for no players.
- new
- id = CreateDynamicRaceCP(type, x, y, z, nextx, nexty, nextz, size, worldid, interiorid, playerid, streamdistance);
- Streamer_SetArrayData(STREAMER_TYPE_RACE_CP, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SRaceCP_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicRaceCP
- #undef CreateDynamicRaceCP
- #else
- #define _ALS_CreateDynamicRaceCP
- #endif
- #define CreateDynamicRaceCP IPS_CreateDynamicRaceCP
-
- stock IPS_CreateDynamicRaceCPEx(type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size, Float:streamdistance = 100.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- // Create an object for no players.
- new
- id = CreateDynamicRaceCPEx(type, x, y, z, nextx, nexty, nextz, size, streamdistance, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_RACE_CP, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SRaceCP_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicRaceCPEx
- #undef CreateDynamicRaceCPEx
- #else
- #define _ALS_CreateDynamicRaceCPEx
- #endif
- #define CreateDynamicRaceCPEx IPS_CreateDynamicRaceCPEx
- #endif
- #if IPS_MAX_MAP_ICONS != 0
- #undef _GROUP_MAKE_NAME
- #undef _GROUP_MAKE_LIMIT
- #define _GROUP_MAKE_NAME<%0...%1> %0SMapIcon%1
- #define _GROUP_MAKE_LIMIT IPS_MAX_MAP_ICONS
- // Include the second half of the file for the methods.
- #include "y_groupsingle"
- #include "y_groupsecond"
-
- foreign void:SMapIcon_SetPlayer(o,p,bool:s);
-
- global void:SMapIcon_SetPlayer(o,p,bool:s)
- {
- if (s) Streamer_AppendArrayData(STREAMER_TYPE_MAP_ICON, o, E_STREAMER_PLAYER_ID, p);
- else Streamer_RemoveArrayData(STREAMER_TYPE_MAP_ICON, o, E_STREAMER_PLAYER_ID, p);
- //return s;
- }
-
- stock IPS_CreateDynamicMapIcon(Float:x, Float:y, Float:z, type, color, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
- {
- // Create an object for no players.
- new
- id = CreateDynamicMapIcon(x, y, z, type, color, worldid, interiorid, playerid, streamdistance);
- Streamer_SetArrayData(STREAMER_TYPE_MAP_ICON, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SMapIcon_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicMapIcon
- #undef CreateDynamicMapIcon
- #else
- #define _ALS_CreateDynamicMapIcon
- #endif
- #define CreateDynamicMapIcon IPS_CreateDynamicMapIcon
-
- stock IPS_CreateDynamicMapIconEx(Float:x, Float:y, Float:z, type, color, style, Float:streamdistance = 100.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- // Create an object for no players.
- new
- id = CreateDynamicMapIconEx(x, y, z, type, color, style, streamdistance, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_MAP_ICON, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SMapIcon_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicMapIconEx
- #undef CreateDynamicMapIconEx
- #else
- #define _ALS_CreateDynamicMapIconEx
- #endif
- #define CreateDynamicMapIconEx IPS_CreateDynamicMapIconEx
- #endif
- #if IPS_MAX_3D_TEXT_LABELS != 0
- #undef _GROUP_MAKE_NAME
- #undef _GROUP_MAKE_LIMIT
- #define _GROUP_MAKE_NAME<%0...%1> %0SText3D%1
- #define _GROUP_MAKE_LIMIT IPS_MAX_3D_TEXT_LABELS
- #define _GROUP_MAKE_TAG Text3D
- // Include the second half of the file for the methods.
- #include "y_groupsingle"
- #define _GROUP_MAKE_TAG Text3D
- #include "y_groupsecond"
- //#undef _GROUP_MAKE_TAG
-
- foreign void:SText3D_SetPlayer(Text3D:o,p,bool:s);
-
- global void:SText3D_SetPlayer(Text3D:o,p,bool:s)
- {
- if (s) Streamer_AppendArrayData(STREAMER_TYPE_3D_TEXT_LABEL, o, E_STREAMER_PLAYER_ID, p);
- else Streamer_RemoveArrayData(STREAMER_TYPE_3D_TEXT_LABEL, o, E_STREAMER_PLAYER_ID, p);
- //return s;
- }
-
- stock Text3D:IPS_CreateDynamic3DTextLabel(const text[], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
- {
- // Create an object for no players.
- new
- Text3D:id = CreateDynamic3DTextLabel(text, color, x, y, z, drawdistance, attachedplayer, attachedvehicle, testlos, worldid, interiorid, playerid, streamdistance);
- Streamer_SetArrayData(STREAMER_TYPE_3D_TEXT_LABEL, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SText3D_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamic3DTextLabel
- #undef CreateDynamic3DTextLabel
- #else
- #define _ALS_CreateDynamic3DTextLabel
- #endif
- #define CreateDynamic3DTextLabel IPS_CreateDynamic3DTextLabel
-
- stock Text3D:IPS_CreateDynamic3DTextLabelEx(const text[], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, Float:streamdistance = 100.0, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- // Create an object for no players.
- new
- Text3D:id = CreateDynamic3DTextLabelEx(text, color, x, y, z, drawdistance, attachedplayer, attachedvehicle, testlos, streamdistance, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_3D_TEXT_LABEL, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SText3D_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamic3DTextLabelEx
- #undef CreateDynamic3DTextLabelEx
- #else
- #define _ALS_CreateDynamic3DTextLabelEx
- #endif
- #define CreateDynamic3DTextLabelEx IPS_CreateDynamic3DTextLabelEx
- #endif
- #if IPS_MAX_AREAS != 0
- #undef _GROUP_MAKE_NAME
- #undef _GROUP_MAKE_LIMIT
- #define _GROUP_MAKE_NAME<%0...%1> %0SArea%1
- #define _GROUP_MAKE_LIMIT IPS_MAX_AREAS
- // Include the second half of the file for the methods.
- #include "y_groupsingle"
- #include "y_groupsecond"
-
- foreign void:SArea_SetPlayer(o,p,bool:s);
-
- global void:SArea_SetPlayer(o,p,bool:s)
- {
- if (s) Streamer_AppendArrayData(STREAMER_TYPE_AREA, o, E_STREAMER_PLAYER_ID, p);
- else Streamer_RemoveArrayData(STREAMER_TYPE_AREA, o, E_STREAMER_PLAYER_ID, p);
- //return s;
- }
-
- stock IPS_CreateDynamicCircle(Float:x, Float:y, Float:size, worldid = -1, interiorid = -1, playerid = -1)
- {
- new
- id = CreateDynamicCircle(x, y, size, worldid, interiorid, playerid);
- Streamer_SetArrayData(STREAMER_TYPE_AREA, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SArea_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicCircle
- #undef CreateDynamicCircle
- #else
- #define _ALS_CreateDynamicCircle
- #endif
- #define CreateDynamicCircle IPS_CreateDynamicCircle
-
- stock IPS_CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1)
- {
- new
- id = CreateDynamicRectangle(minx, miny, maxx, maxy, worldid, interiorid, playerid);
- Streamer_SetArrayData(STREAMER_TYPE_AREA, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SArea_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicRectangle
- #undef CreateDynamicRectangle
- #else
- #define _ALS_CreateDynamicRectangle
- #endif
- #define CreateDynamicRectangle IPS_CreateDynamicRectangle
-
- stock IPS_CreateDynamicSphere(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1)
- {
- new
- id = CreateDynamicSphere(x, y, z, size, worldid, interiorid, playerid);
- Streamer_SetArrayData(STREAMER_TYPE_AREA, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SArea_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicSphere
- #undef CreateDynamicSphere
- #else
- #define _ALS_CreateDynamicSphere
- #endif
- #define CreateDynamicSphere IPS_CreateDynamicSphere
-
- stock IPS_CreateDynamicCube(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worldid = -1, interiorid = -1, playerid = -1)
- {
- new
- id = CreateDynamicCube(minx, miny, minz, maxx, maxy, maxz, worldid, interiorid, playerid);
- Streamer_SetArrayData(STREAMER_TYPE_AREA, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SArea_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicCube
- #undef CreateDynamicCube
- #else
- #define _ALS_CreateDynamicCube
- #endif
- #define CreateDynamicCube IPS_CreateDynamicCube
-
- stock IPS_CreateDynamicPolygon(Float:points[], Float:minz = -FLOAT_INFINITY, Float:maxz = FLOAT_INFINITY, maxpoints = sizeof points, worldid = -1, interiorid = -1, playerid = -1)
- {
- new
- id = CreateDynamicPolygon(points[], minz, maxz, maxpoints, worldid, interiorid, playerid);
- Streamer_SetArrayData(STREAMER_TYPE_AREA, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SArea_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicPolygon
- #undef CreateDynamicPolygon
- #else
- #define _ALS_CreateDynamicPolygon
- #endif
- #define CreateDynamicPolygon IPS_CreateDynamicPolygon
-
- stock IPS_CreateDynamicCircleEx(Float:x, Float:y, Float:size, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- new
- id = CreateDynamicCircleEx(x, y, size, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_AREA, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SArea_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicCircleEx
- #undef CreateDynamicCircleEx
- #else
- #define _ALS_CreateDynamicCircleEx
- #endif
- #define CreateDynamicCircleEx IPS_CreateDynamicCircleEx
-
- stock IPS_CreateDynamicRectangleEx(Float:minx, Float:miny, Float:maxx, Float:maxy, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- new
- id = CreateDynamicRectangleEx(minx, miny, maxx, maxy, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_AREA, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SArea_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicRectangleEx
- #undef CreateDynamicRectangleEx
- #else
- #define _ALS_CreateDynamicRectangleEx
- #endif
- #define CreateDynamicRectangleEx IPS_CreateDynamicRectangleEx
-
- stock IPS_CreateDynamicSphereEx(Float:x, Float:y, Float:z, Float:size, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- new
- id = CreateDynamicSphereEx(x, y, z, size, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_AREA, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SArea_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicSphereEx
- #undef CreateDynamicSphereEx
- #else
- #define _ALS_CreateDynamicSphereEx
- #endif
- #define CreateDynamicSphereEx IPS_CreateDynamicSphereEx
-
- stock IPS_CreateDynamicCubeEx(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- new
- id = CreateDynamicCubeEx(minx, miny, minz, maxx, maxy, maxz, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_AREA, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SArea_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicCubeEx
- #undef CreateDynamicCubeEx
- #else
- #define _ALS_CreateDynamicCubeEx
- #endif
- #define CreateDynamicCubeEx IPS_CreateDynamicCubeEx
-
- stock IPS_CreateDynamicPolygonEx(Float:points[], Float:minz = -FLOAT_INFINITY, Float:maxz = FLOAT_INFINITY, maxpoints = sizeof points, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players)
- {
- new
- id = CreateDynamicPolygonEx(points, minz, maxz, maxpoints, worlds, interiors, players, maxworlds, maxinteriors, maxplayers);
- Streamer_SetArrayData(STREAMER_TYPE_AREA, id, E_STREAMER_PLAYER_ID, YSI_gscEmpty, 0);
- SArea_InitialiseFromGroups(id);
- return id;
- }
-
- #if defined _ALS_CreateDynamicPolygonEx
- #undef CreateDynamicPolygonEx
- #else
- #define _ALS_CreateDynamicPolygonEx
- #endif
- #define CreateDynamicPolygonEx IPS_CreateDynamicPolygonEx
- #endif
|