Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
隐藏空白更改
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
文本样式
更改外观
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
Untitled diff
创建于
8年前
差异永不过期
清除
导出
分享
解释
340 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
620 行
全部复制
369 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
683 行
全部复制
#if defined gangzones_included
#if defined gangzones_included
#endinput
#endinput
#endif
#endif
#define gangzones_included
#define gangzones_included
/**************************************/
/**************************************/
// gangzones.inc - v2.2 - Last Updated: 28 April, 2018 - By Gammix & beijind
// gangzones.inc - v2.2 - Last Updated: 28 April, 2018 - By Gammix & beijind
/***************************************/
/***************************************/
#if !defined GANGZONE_DEFAULT_BORDER_SIZE
#if !defined GANGZONE_DEFAULT_BORDER_SIZE
#define GANGZONE_DEFAULT_BORDER_SIZE 2.0
#define GANGZONE_DEFAULT_BORDER_SIZE 2.0
#endif
#endif
#if !defined GANGZONE_DEFAULT_NUMBER_SIZE
#if !defined GANGZONE_DEFAULT_NUMBER_SIZE
#define GANGZONE_DEFAULT_NUMBER_SIZE 1.0
#define GANGZONE_DEFAULT_NUMBER_SIZE 1.0
#endif
#endif
#if !defined GANGZONE_DEFAULT_BORDER_COLOR
#if !defined GANGZONE_DEFAULT_BORDER_COLOR
#define GANGZONE_DEFAULT_BORDER_COLOR 0xAA
#define GANGZONE_DEFAULT_BORDER_COLOR 0xAA
#endif
#endif
#if !defined GANGZONE_DEFAULT_NUMBER_COLOR
#if !defined GANGZONE_DEFAULT_NUMBER_COLOR
#define GANGZONE_DEFAULT_NUMBER_COLOR 0xAA
#define GANGZONE_DEFAULT_NUMBER_COLOR 0xAA
#endif
#endif
复制
已复制
复制
已复制
static GangZone@MainZone[MAX_GANG_ZONES] = {
-1
, ...};
#define MAX_GANGZONE_BORDER_SLOTS 4
static GangZone@Border[MAX_GANG_ZONES][
4
];
#define MAX_GANGZONE_NUMBER_SLOTS 5
static GangZone@Number1[MAX_GANG_ZONES][
5
];
static GangZone@Number2[MAX_GANG_ZONES][
5];
static GangZone@MainZone[MAX_GANG_ZONES] = {
INVALID_GANG_ZONE
, ...};
static GangZone@Border[MAX_GANG_ZONES][
MAX_GANGZONE_BORDER_SLOTS
];
static GangZone@Number1[MAX_GANG_ZONES][
MAX_GANGZONE_NUMBER_SLOTS
];
static GangZone@Number2[MAX_GANG_ZONES][
MAX_GANGZONE_NUMBER_SLOTS];
public OnGameModeInit()
{
new i, j;
for(i = 0; i < MAX_GANG_ZONES; ++i) {
for(j = 0; j < MAX_GANGZONE_NUMBER_SLOTS; ++j) {
if(j < MAX_GANGZONE_BORDER_SLOTS) {
GangZone@Border[i][j] = INVALID_GANG_ZONE;
}
GangZone@Number1[i][j] = INVALID_GANG_ZONE;
GangZone@Number2[i][j] = INVALID_GANG_ZONE;
}
}
return CallLocalFunction("GangZone_OnGameModeInit", "");
}
#if defined _ALS_OnGameModeInit
#undef OnGameModeInit
#else
#define _ALS_OnGameModeInit
#endif
#define OnGameModeInit GangZone_OnGameModeInit
forward OnGameModeInit();
static GangZone_CreateBorder(dest[], Float:minx, Float:miny, Float:maxx, Float:maxy, Float:bordersize) {
static GangZone_CreateBorder(dest[], Float:minx, Float:miny, Float:maxx, Float:maxy, Float:bordersize) {
复制
已复制
复制
已复制
dest[0] = GangZoneCreate(minx - bordersize, miny + bordersize, minx + bordersize, maxy - bordersize);
dest[0] = GangZoneCreate(minx - bordersize, miny + bordersize, minx + bordersize, maxy - bordersize);
dest[1] = GangZoneCreate(minx - bordersize, maxy - bordersize, maxx + bordersize, maxy + bordersize);
dest[1] = GangZoneCreate(minx - bordersize, maxy - bordersize, maxx + bordersize, maxy + bordersize);
dest[2] = GangZoneCreate(maxx - bordersize, miny + bordersize, maxx + bordersize, maxy - bordersize);
dest[2] = GangZoneCreate(maxx - bordersize, miny + bordersize, maxx + bordersize, maxy - bordersize);
dest[3] = GangZoneCreate(minx - bordersize, miny - bordersize, maxx + bordersize, miny + bordersize);
dest[3] = GangZoneCreate(minx - bordersize, miny - bordersize, maxx + bordersize, miny + bordersize);
复制
已复制
复制
已复制
for (new i = 0; i <
4
; i++) {
for (new i = 0; i <
MAX_GANGZONE_BORDER_SLOTS
; i++) {
if (dest[i] ==
-1
) {
if (dest[i] ==
INVALID_GANG_ZONE
) {
// If one border failed to create (random out of slots), then destroy all!
复制
已复制
复制
已复制
for (i = 0; i <
4
; i++) {
for (i = 0; i <
MAX_GANGZONE_BORDER_SLOTS
; i++) {
GangZoneDestroy(dest[i]);
GangZoneDestroy(dest[i]);
复制
已复制
复制
已复制
dest[i] =
-1
;
dest[i] =
INVALID_GANG_ZONE
;
}
}
复制
已复制
复制
已复制
return 0;
return 0;
}
}
}
}
return 4;
return 4;
}
}
static GangZone_CreateNumber(dest[], number, Float:centpos_x, Float:centpos_y, Float:numbersize) {
static GangZone_CreateNumber(dest[], number, Float:centpos_x, Float:centpos_y, Float:numbersize) {
复制
已复制
复制
已复制
if (number < '0' || number > '9') {
if (number < '0' || number > '9') {
return 0;
return 0;
}
}
static const Float:LETTER_STROKE = 3.5;
static const Float:LETTER_STROKE = 3.5;
static const Float:LETTER_XSQUASH = 0.7;
static const Float:LETTER_XSQUASH = 0.7;
new ret = 0;
new ret = 0;
复制
已复制
复制
已复制
switch (number) {
switch (number) {
复制
已复制
复制
已复制
case '0': {
case '0': {
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:distance_x = (20.0 * numbersize * LETTER_XSQUASH);
new Float:distance_x = (20.0 * numbersize * LETTER_XSQUASH);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_y = (20.0 * numbersize);
复制
已复制
复制
已复制
dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Down of 0
dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Down of 0
dest[1] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Up of 0
dest[1] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Up of 0
复制
已复制
复制
已复制
dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y + stroke), (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left of 0
dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y + stroke), (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left of 0
dest[3] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Right of 0
dest[3] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Right of 0
ret = 4;
ret = 4;
复制
已复制
复制
已复制
}
}
复制
已复制
复制
已复制
case '1': {
case '1': {
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_y = (20.0 * numbersize);
dest[0] = GangZoneCreate((centpos_x - stroke), (centpos_y - distance_y - stroke),(centpos_x + stroke), (centpos_y + distance_y + stroke));
dest[0] = GangZoneCreate((centpos_x - stroke), (centpos_y - distance_y - stroke),(centpos_x + stroke), (centpos_y + distance_y + stroke));
ret = 1;
ret = 1;
复制
已复制
复制
已复制
}
}
复制
已复制
复制
已复制
case '2': {
case '2': {
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up
dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up
dest[1] = GangZoneCreate((centpos_x + distance_x - (2 * stroke)),(centpos_y + stroke), (centpos_x + distance_x), (centpos_y + distance_y - stroke)); // Right Stick
dest[1] = GangZoneCreate((centpos_x + distance_x - (2 * stroke)),(centpos_y + stroke), (centpos_x + distance_x), (centpos_y + distance_y - stroke)); // Right Stick
dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle
dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle
dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y + stroke), (centpos_x - distance_x + (2 * stroke)),(centpos_y - stroke)); // Left Stick
dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y + stroke), (centpos_x - distance_x + (2 * stroke)),(centpos_y - stroke)); // Left Stick
复制
已复制
复制
已复制
dest[4] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down
dest[4] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down
ret = 5;
ret = 5;
复制
已复制
复制
已复制
}
}
复制
已复制
复制
已复制
case '3': {
case '3': {
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up
dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up
dest[1] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x + (2 * stroke)),(centpos_y + distance_y + stroke)); // Stick
dest[1] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x + (2 * stroke)),(centpos_y + distance_y + stroke)); // Stick
dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle
dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle
dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down
dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down
ret = 4;
ret = 4;
复制
已复制
复制
已复制
}
}
复制
已复制
复制
已复制
case '4': {
case '4': {
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y), (centpos_x - distance_x + (2 * stroke)), (centpos_y + stroke)); // Left
dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y), (centpos_x - distance_x + (2 * stroke)), (centpos_y + stroke)); // Left
dest[1] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke));// Middle
dest[1] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke));// Middle
dest[2] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y), (centpos_x + distance_x + (2 * stroke)), (centpos_y + distance_y)); // Stick
dest[2] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y), (centpos_x + distance_x + (2 * stroke)), (centpos_y + distance_y)); // Stick
ret = 3;
ret = 3;
复制
已复制
复制
已复制
}
}
复制
已复制
复制
已复制
case '5': {
case '5': {
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y + stroke)); // Up
dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y + stroke)); // Up
dest[1] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + stroke), (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left Stick
dest[1] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + stroke), (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left Stick
dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + stroke)); // Middle
dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + stroke)); // Middle
dest[3] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Right Stick
dest[3] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Right Stick
dest[4] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Down
dest[4] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Down
ret = 5;
ret = 5;
复制
已复制
复制
已复制
}
}
复制
已复制
复制
已复制
case '6': {
case '6': {
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up
dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up
dest[1] = GangZoneCreate((centpos_x - distance_x - (2 * stroke)), (centpos_y + distance_y + stroke), (centpos_x - distance_x), (centpos_y - distance_y - stroke)); // Main Left Stick
dest[1] = GangZoneCreate((centpos_x - distance_x - (2 * stroke)), (centpos_y + distance_y + stroke), (centpos_x - distance_x), (centpos_y - distance_y - stroke)); // Main Left Stick
dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle
dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle
dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down
dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down
dest[4] = GangZoneCreate((centpos_x + distance_x - (2 * stroke)), (centpos_y - distance_y + stroke), (centpos_x + distance_x), (centpos_y - stroke)); // Right small stick
dest[4] = GangZoneCreate((centpos_x + distance_x - (2 * stroke)), (centpos_y - distance_y + stroke), (centpos_x + distance_x), (centpos_y - stroke)); // Right small stick
ret = 5;
ret = 5;
复制
已复制
复制
已复制
}
}
复制
已复制
复制
已复制
case '7': {
case '7': {
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_x = (15.0 * numbersize * LETTER_XSQUASH);
new Float:distance_x = (15.0 * numbersize * LETTER_XSQUASH);
dest[0] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Stick of 7
dest[0] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Stick of 7
dest[1] = GangZoneCreate((centpos_x - distance_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y + stroke)); // Up of 7
dest[1] = GangZoneCreate((centpos_x - distance_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y + stroke)); // Up of 7
ret = 2;
ret = 2;
复制
已复制
复制
已复制
}
}
复制
已复制
复制
已复制
case '8': {
case '8': {
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x - distance_x + stroke), (centpos_y - distance_y - stroke)); // Left stick
dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x - distance_x + stroke), (centpos_y - distance_y - stroke)); // Left stick
dest[1] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y - stroke)); // Right stick
dest[1] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y - stroke)); // Right stick
dest[2] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x - stroke), (centpos_y + distance_y + stroke)); // Up
dest[2] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x - stroke), (centpos_y + distance_y + stroke)); // Up
dest[3] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y - stroke), (centpos_x + distance_x - stroke), (centpos_y + stroke)); // Center
dest[3] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y - stroke), (centpos_x + distance_x - stroke), (centpos_y + stroke)); // Center
dest[4] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x - stroke), (centpos_y - distance_y + stroke)); // Down
dest[4] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x - stroke), (centpos_y - distance_y + stroke)); // Down
ret = 5;
ret = 5;
复制
已复制
复制
已复制
}
}
复制
已复制
复制
已复制
case '9': {
case '9': {
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:stroke = (LETTER_STROKE * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_y = (20.0 * numbersize);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH);
dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), centpos_y, (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left Stick
dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), centpos_y, (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left Stick
dest[1] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x + (2 * stroke)), (centpos_y + distance_y + stroke)); // Right Stick
dest[1] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x + (2 * stroke)), (centpos_y + distance_y + stroke)); // Right Stick
dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up
dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up
dest[3] = GangZoneCreate((centpos_x - distance_x + stroke), centpos_y, (centpos_x + distance_x), (centpos_y + stroke + stroke)); // Middle
dest[3] = GangZoneCreate((centpos_x - distance_x + stroke), centpos_y, (centpos_x + distance_x), (centpos_y + stroke + stroke)); // Middle
dest[4] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down
dest[4] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down
ret = 5;
ret = 5;
复制
已复制
复制
已复制
}
}
}
}
for (new i = 0; i < ret; i++) {
for (new i = 0; i < ret; i++) {
复制
已复制
复制
已复制
if (dest[i] ==
-1
) {
if (dest[i] ==
INVALID_GANG_ZONE
) {
for (i = 0; i < ret; i++) {
for (i = 0; i < ret; i++) {
GangZoneDestroy(dest[i]);
GangZoneDestroy(dest[i]);
复制
已复制
复制
已复制
dest[i] =
-1
;
dest[i] =
INVALID_GANG_ZONE
;
}
}
复制
已复制
复制
已复制
return 0;
return 0;
}
}
}
}
return ret;
return ret;
}
}
stock GangZone_Create(Float:minx, Float:miny, Float:maxx, Float:maxy, number = -1, Float:bordersize = GANGZONE_DEFAULT_BORDER_SIZE, Float:numbersize = GANGZONE_DEFAULT_NUMBER_SIZE) {
stock GangZone_Create(Float:minx, Float:miny, Float:maxx, Float:maxy, number = -1, Float:bordersize = GANGZONE_DEFAULT_BORDER_SIZE, Float:numbersize = GANGZONE_DEFAULT_NUMBER_SIZE) {
复制
已复制
复制
已复制
new index =
-1
;
new index =
INVALID_GANG_ZONE
;
for (new i = 0; i < MAX_GANG_ZONES; i++) {
for (new i = 0; i < MAX_GANG_ZONES; i++) {
复制
已复制
复制
已复制
if (GangZone@MainZone[i] ==
-1
) {
if (GangZone@MainZone[i] ==
INVALID_GANG_ZONE
) {
index = i;
index = i;
break;
break;
}
}
}
}
复制
已复制
复制
已复制
if (index ==
-1
) {
if (index ==
INVALID_GANG_ZONE
) {
return
-1
;
return
INVALID_GANG_ZONE
;
}
}
复制
已复制
复制
已复制
GangZone@MainZone[index] = GangZoneCreate(minx, miny, maxx, maxy);
GangZone@MainZone[index] = GangZoneCreate(minx, miny, maxx, maxy);
if (GangZone@MainZone[index] ==
-1
) {
if (GangZone@MainZone[index] ==
INVALID_GANG_ZONE
) {
return
-1;
return
INVALID_GANG_ZONE;
}
}
复制
已复制
复制
已复制
GangZone@Border[index][0] =
-1
;
GangZone@Border[index][0] =
INVALID_GANG_ZONE
;
GangZone@Border[index][1] =
-1
;
GangZone@Border[index][1] =
INVALID_GANG_ZONE
;
GangZone@Border[index][2] =
-1
;
GangZone@Border[index][2] =
INVALID_GANG_ZONE
;
GangZone@Border[index][3] =
-1
;
GangZone@Border[index][3] =
INVALID_GANG_ZONE
;
复制
已复制
复制
已复制
GangZone@Number1[index][0] =
-1
;
GangZone@Number1[index][0] =
INVALID_GANG_ZONE
;
GangZone@Number1[index][1] =
-1
;
GangZone@Number1[index][1] =
INVALID_GANG_ZONE
;
GangZone@Number1[index][2] =
-1;
GangZone@Number1[index][2] =
INVALID_GANG_ZONE;
GangZone@Number1[index][3] =
-1;
GangZone@Number1[index][3] =
INVALID_GANG_ZONE;
GangZone@Number1[index][4] =
-1
;
GangZone@Number1[index][4] =
INVALID_GANG_ZONE
;
复制
已复制
复制
已复制
GangZone@Number2[index][0] =
-1;
GangZone@Number2[index][0] =
INVALID_GANG_ZONE;
GangZone@Number2[index][1] =
-1;
GangZone@Number2[index][1] =
INVALID_GANG_ZONE;
GangZone@Number2[index][2] =
-1;
GangZone@Number2[index][2] =
INVALID_GANG_ZONE;
GangZone@Number2[index][3] =
-1;
GangZone@Number2[index][3] =
INVALID_GANG_ZONE;
GangZone@Number2[index][4] =
-1
;
GangZone@Number2[index][4] =
INVALID_GANG_ZONE
;
if (bordersize != 0.0) {
if (bordersize != 0.0) {
if (GangZone_CreateBorder(GangZone@Border[index], minx, miny, maxx, maxy, bordersize) == 0) {
if (GangZone_CreateBorder(GangZone@Border[index], minx, miny, maxx, maxy, bordersize) == 0) {
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@MainZone[index]);
GangZoneDestroy(GangZone@MainZone[index]);
GangZone@MainZone[index] =
-1
;
GangZone@MainZone[index] =
INVALID_GANG_ZONE
;
return
-1
;
return
INVALID_GANG_ZONE
;
}
}
}
}
if (numbersize != 0.0) {
if (numbersize != 0.0) {
if (number == -1) {
if (number == -1) {
number = (index % 100);
number = (index % 100);
}
}
if (number >= 0 && number <= 9) {
if (number >= 0 && number <= 9) {
复制
已复制
复制
已复制
new Float:centpos_x = ((minx + maxx) / 2);
new Float:centpos_x = ((minx + maxx) / 2);
new Float:centpos_y = ((miny + maxy) / 2);
new Float:centpos_y = ((miny + maxy) / 2);
复制
已复制
复制
已复制
new chars[2];
new chars[2];
format(chars, sizeof(chars), "%i", number);
format(chars, sizeof(chars), "%i", number);
if (GangZone_CreateNumber(GangZone@Number1[index], chars[0], centpos_x, centpos_y, numbersize) == 0) {
if (GangZone_CreateNumber(GangZone@Number1[index], chars[0], centpos_x, centpos_y, numbersize) == 0) {
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@MainZone[index]);
GangZoneDestroy(GangZone@MainZone[index]);
GangZone@MainZone[index] =
-1
;
GangZone@MainZone[index] =
INVALID_GANG_ZONE
;
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@Border[index][0]);
for(new i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneDestroy
(GangZone@Border[index][
1]);
if
(GangZone@Border[index][
i] != INVALID_GANG_ZONE) {
GangZoneDestroy(GangZone@Border[index][
2
]);
GangZoneDestroy(GangZone@Border[index][
i
]);
GangZoneDestroy(
GangZone@Border[index][
3]);
GangZone@Border[index][
i] = INVALID_GANG_ZONE;
return -1
;
}
}
return INVALID_GANG_ZONE
;
}
}
}
}
else if (number >= 10 && number <= 99) {
else if (number >= 10 && number <= 99) {
复制
已复制
复制
已复制
const Float:NUMBER_DISTANCE = 25.0;
const Float:NUMBER_DISTANCE = 25.0;
复制
已复制
复制
已复制
new Float:centpos_x = ((minx + maxx) / 2);
new Float:centpos_x = ((minx + maxx) / 2);
new Float:centpos_y = ((miny + maxy) / 2);
new Float:centpos_y = ((miny + maxy) / 2);
复制
已复制
复制
已复制
new chars[3];
new chars[3];
format(chars, sizeof(chars), "%i", number);
format(chars, sizeof(chars), "%i", number);
new numZones = GangZone_CreateNumber(GangZone@Number1[index], chars[0], (centpos_x - (NUMBER_DISTANCE * numbersize)), centpos_y, numbersize);
new numZones = GangZone_CreateNumber(GangZone@Number1[index], chars[0], (centpos_x - (NUMBER_DISTANCE * numbersize)), centpos_y, numbersize);
if (numZones == 0) {
if (numZones == 0) {
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@MainZone[index]);
GangZoneDestroy(GangZone@MainZone[index]);
GangZone@MainZone[index] =
-1
;
GangZone@MainZone[index] =
INVALID_GANG_ZONE
;
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@Border[index][0]);
for(new i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneDestroy
(GangZone@Border[index][
1]);
if
(GangZone@Border[index][
i] != INVALID_GANG_ZONE) {
GangZoneDestroy(GangZone@Border[index][
2
]);
GangZoneDestroy(GangZone@Border[index][
i
]);
GangZoneDestroy(
GangZone@Border[index][
3]);
GangZone@Border[index][
i] = INVALID_GANG_ZONE;
return -1
;
}
}
return INVALID_GANG_ZONE
;
}
}
if (GangZone_CreateNumber(GangZone@Number2[index], chars[1], (centpos_x + (NUMBER_DISTANCE * numbersize)), centpos_y, numbersize) == 0) {
if (GangZone_CreateNumber(GangZone@Number2[index], chars[1], (centpos_x + (NUMBER_DISTANCE * numbersize)), centpos_y, numbersize) == 0) {
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@MainZone[index]);
GangZoneDestroy(GangZone@MainZone[index]);
GangZone@MainZone[index] =
-1
;
GangZone@MainZone[index] =
INVALID_GANG_ZONE
;
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@Border[index][0]);
for(new i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneDestroy
(GangZone@Border[index][
1]);
if
(GangZone@Border[index][
i] != INVALID_GANG_ZONE) {
GangZoneDestroy(GangZone@Border[index][
2
]);
GangZoneDestroy(GangZone@Border[index][
i
]);
GangZoneDestroy(
GangZone@Border[index][
3]);
GangZone@Border[index][
i] = INVALID_GANG_ZONE;
}
}
复制
已复制
复制
已复制
for (new i = 0; i < numZones; i++) {
for (new i = 0; i < numZones; i++) {
GangZoneDestroy(GangZone@Number1[index][i]);
if(GangZone@Number1[index][i] != INVALID_GANG_ZONE) {
}
GangZoneDestroy(GangZone@Number1[index][i]);
return
-1
;
GangZone@Number1[index][i] = INVALID_GANG_ZONE;
}
}
return
INVALID_GANG_ZONE
;
}
}
复制
已复制
复制
已复制
}
}
else {
else {
GangZoneDestroy(GangZone@MainZone[index]);
GangZoneDestroy(GangZone@MainZone[index]);
复制
已复制
复制
已复制
GangZone@MainZone[index] =
-1
;
GangZone@MainZone[index] =
INVALID_GANG_ZONE
;
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@Border[index][0]);
for(new i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneDestroy
(GangZone@Border[index][
1]);
if
(GangZone@Border[index][
i] != INVALID_GANG_ZONE) {
GangZoneDestroy(GangZone@Border[index][
2
]);
GangZoneDestroy(GangZone@Border[index][
i
]);
GangZoneDestroy(
GangZone@Border[index][
3]);
GangZone@Border[index][
i] = INVALID_GANG_ZONE;
return -1
;
}
}
return INVALID_GANG_ZONE
;
}
}
}
}
return index;
return index;
}
}
#if defined _ALS_GangZoneCreate
#if defined _ALS_GangZoneCreate
复制
已复制
复制
已复制
#undef GangZoneCreate
#undef GangZoneCreate
#else
#else
复制
已复制
复制
已复制
#define _ALS_GangZoneCreate
#define _ALS_GangZoneCreate
#endif
#endif
#define GangZoneCreate GangZone_Create
#define GangZoneCreate GangZone_Create
stock GangZone_Destroy(gangzone) {
stock GangZone_Destroy(gangzone) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
复制
已复制
复制
已复制
return 0;
return 0;
}
}
复制
已复制
复制
已复制
if (GangZone@MainZone[gangzone] ==
-1
) {
if (GangZone@MainZone[gangzone] ==
INVALID_GANG_ZONE
) {
return 0;
return 0;
}
}
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@MainZone[gangzone]);
static i;
GangZone@MainZone[gangzone] = -1;
GangZoneDestroy(GangZone@Border[gangzone][0]);
GangZoneDestroy(GangZone@Border[gangzone][1]);
GangZoneDestroy(GangZone@Border[gangzone][2]);
GangZoneDestroy(GangZone@Border[gangzone][3]);
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@
Number1[gangzone][0]);
GangZoneDestroy(GangZone@
Main
Zone
[gangzone]
);
GangZoneDestroy(Gang
Zone
@Number1
[gangzone]
[1]
);
GangZone
@Main
Zone
[gangzone]
= INVALID_GANG_ZONE;
GangZone
Destroy(Gang
Zone
@Number1
[gangzone]
[2]);
GangZoneDestroy(GangZone@Number1[gangzone][3]);
GangZoneDestroy(GangZone@Number1[gangzone][4]);
复制
已复制
复制
已复制
GangZoneDestroy(GangZone@
Number2
[gangzone][
0
]);
for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneDestroy
(GangZone@Number
2
[gangzone][
1]);
if(GangZone@Border[gangzone][i] != INVALID_GANG_ZONE) {
GangZoneDestroy(GangZone@Number
2
[gangzone][
2
]);
GangZoneDestroy(GangZone@
Border
[gangzone][
i
]);
GangZoneDestroy
(GangZone@Number2[gangzone][
3]);
GangZone@Border[gangzone][i] = INVALID_GANG_ZONE;
GangZoneDestroy(GangZone@Number2[gangzone][
4
]);
}
}
for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) {
if
(GangZone@Number
1
[gangzone][
i] != INVALID_GANG_ZONE) {
GangZoneDestroy(GangZone@Number
1
[gangzone][
i
]);
GangZone@Number1[gangzone][i] = INVALID_GANG_ZONE;
}
if
(GangZone@Number2[gangzone][
i] != INVALID_GANG_ZONE) {
GangZoneDestroy(GangZone@Number2[gangzone][
i
]);
GangZone@Number2[gangzone][i] = INVALID_GANG_ZONE;
}
}
复制
已复制
复制
已复制
return 1;
return 1;
}
}
#if defined _ALS_GangZoneDestroy
#if defined _ALS_GangZoneDestroy
复制
已复制
复制
已复制
#undef GangZoneDestroy
#undef GangZoneDestroy
#else
#else
复制
已复制
复制
已复制
#define _ALS_GangZoneDestroy
#define _ALS_GangZoneDestroy
#endif
#endif
#define GangZoneDestroy GangZone_Destroy
#define GangZoneDestroy GangZone_Destroy
stock GangZone_ShowForPlayer(playerid, gangzone, color, bordercolor = GANGZONE_DEFAULT_BORDER_COLOR, numbercolor = GANGZONE_DEFAULT_NUMBER_COLOR) {
stock GangZone_ShowForPlayer(playerid, gangzone, color, bordercolor = GANGZONE_DEFAULT_BORDER_COLOR, numbercolor = GANGZONE_DEFAULT_NUMBER_COLOR) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
复制
已复制
复制
已复制
return 0;
return 0;
}
}
复制
已复制
复制
已复制
if (GangZone@MainZone[gangzone] ==
-1
) {
if (GangZone@MainZone[gangzone] ==
INVALID_GANG_ZONE
) {
return 0;
return 0;
}
}
复制
已复制
复制
已复制
GangZoneShowForPlayer(playerid, GangZone@MainZone[gangzone], color);
static i;
GangZoneShowForPlayer(playerid, GangZone@Border[gangzone][0], bordercolor);
GangZoneShowForPlayer(playerid, GangZone@Border[gangzone][1], bordercolor);
GangZoneShowForPlayer(playerid, GangZone@Border[gangzone][2], bordercolor);
GangZoneShowForPlayer(playerid, GangZone@Border[gangzone][3], bordercolor);
复制
已复制
复制
已复制
GangZoneShowForPlayer(playerid, GangZone@Number1[gangzone][0], numbercolor);
GangZoneShowForPlayer(playerid, GangZone@
MainZone
[gangzone]
, color
);
GangZoneShowForPlayer(playerid, GangZone@Number1[gangzone][1], numbercolor);
GangZoneShowForPlayer(playerid, GangZone@Number1[gangzone][2], numbercolor);
GangZoneShowForPlayer(playerid, GangZone@
Number1[gangzone][3], numbercolor);
GangZoneShowForPlayer(playerid, GangZone@Number1
[gangzone]
[4], numbercolor
);
复制
已复制
复制
已复制
GangZoneShowForPlayer(playerid, GangZone@
Number2
[gangzone][
0
],
numb
ercolor);
for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneShowForPlayer(playerid,
GangZone@Number
2
[gangzone][
1], numbercolor);
if(GangZone@Border[gangzone][i] != INVALID_GANG_ZONE) {
GangZoneShowForPlayer(playerid, GangZone@Number
2
[gangzone][
2
], numbercolor);
GangZoneShowForPlayer(playerid, GangZone@
Border
[gangzone][
i
],
bord
ercolor);
GangZoneShowForPlayer(playerid,
GangZone@Number2[gangzone][
3], numbercolor);
}
GangZoneShowForPlayer(playerid, GangZone@Number2[gangzone][
4
], numbercolor);
}
for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) {
if(
GangZone@Number
1
[gangzone][
i] != INVALID_GANG_ZONE) {
GangZoneShowForPlayer(playerid, GangZone@Number
1
[gangzone][
i
], numbercolor);
}
if(
GangZone@Number2[gangzone][
i] != INVALID_GANG_ZONE) {
GangZoneShowForPlayer(playerid, GangZone@Number2[gangzone][
i
], numbercolor);
}
}
return 1;
return 1;
}
}
#if defined _ALS_GangZoneShowForPlayer
#if defined _ALS_GangZoneShowForPlayer
复制
已复制
复制
已复制
#undef GangZoneShowForPlayer
#undef GangZoneShowForPlayer
#else
#else
复制
已复制
复制
已复制
#define _ALS_GangZoneShowForPlayer
#define _ALS_GangZoneShowForPlayer
#endif
#endif
#define GangZoneShowForPlayer GangZone_ShowForPlayer
#define GangZoneShowForPlayer GangZone_ShowForPlayer
stock GangZone_ShowForAll(gangzone, color, bordercolor = GANGZONE_DEFAULT_BORDER_COLOR, numbercolor = GANGZONE_DEFAULT_NUMBER_COLOR) {
stock GangZone_ShowForAll(gangzone, color, bordercolor = GANGZONE_DEFAULT_BORDER_COLOR, numbercolor = GANGZONE_DEFAULT_NUMBER_COLOR) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
复制
已复制
复制
已复制
return 0;
return 0;
}
}
复制
已复制
复制
已复制
if (GangZone@MainZone[gangzone] ==
-1
) {
if (GangZone@MainZone[gangzone] ==
INVALID_GANG_ZONE
) {
return 0;
return 0;
}
}
复制
已复制
复制
已复制
GangZoneShowForAll(GangZone@MainZone[gangzone], color)
;
static i
;
复制
已复制
复制
已复制
GangZoneShowForAll(GangZone@Border[gangzone][0], bordercolor);
GangZoneShowForAll(GangZone@
Main
Zone
[gangzone]
, color
);
GangZoneShowForAll(GangZone@Border[gangzone][1], bordercolor);
GangZoneShowForAll(GangZone@
Border[gangzone][2], bordercolor);
GangZoneShowForAll(Gang
Zone
@Border
[gangzone]
[3], bordercolor
);
复制
已复制
复制
已复制
GangZoneShowForAll(GangZone@Number1[gangzone][0], numbercolor);
for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneShowForAll(GangZone@Number1[gangzone][1], numbercolor);
if(GangZone@Border[gangzone][i] != INVALID_GANG_ZONE) {
GangZoneShowForAll(GangZone@Number1[gangzone][2], numbercolor);
GangZoneShowForAll(GangZone@
Border
[gangzone][
i
],
bord
ercolor);
GangZoneShowForAll(GangZone@
Number1
[gangzone][
3
],
numb
ercolor);
}
GangZoneShowForAll(GangZone@Number1[gangzone][4], numbercolor);
}
复制
已复制
复制
已复制
GangZoneShowForAll
(GangZone@Number
2
[gangzone][
0], numbercolor);
for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) {
GangZoneShowForAll(GangZone@Number
2
[gangzone][
1
], numbercolor);
if
(GangZone@Number
1
[gangzone][
i] != INVALID_GANG_ZONE) {
GangZoneShowForAll
(GangZone@Number2[gangzone][
2], numbercolor);
GangZoneShowForAll(GangZone@Number
1
[gangzone][
i
], numbercolor);
GangZoneShowForAll(GangZone@Number2[gangzone][
3
], numbercolor);
}
GangZoneShowForAll(GangZone@Number2[gangzone][4], numbercolor);
if
(GangZone@Number2[gangzone][
i] != INVALID_GANG_ZONE) {
GangZoneShowForAll(GangZone@Number2[gangzone][
i
], numbercolor);
}
}
return 1;
return 1;
}
}
#if defined _ALS_GangZoneShowForAll
#if defined _ALS_GangZoneShowForAll
复制
已复制
复制
已复制
#undef GangZoneShowForAll
#undef GangZoneShowForAll
#else
#else
复制
已复制
复制
已复制
#define _ALS_GangZoneShowForAll
#define _ALS_GangZoneShowForAll
#endif
#endif
#define GangZoneShowForAll GangZone_ShowForAll
#define GangZoneShowForAll GangZone_ShowForAll
stock GangZone_HideForPlayer(playerid, gangzone) {
stock GangZone_HideForPlayer(playerid, gangzone) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
复制
已复制
复制
已复制
return 0;
return 0;
}
}
复制
已复制
复制
已复制
if (GangZone@MainZone[gangzone] ==
-1
) {
if (GangZone@MainZone[gangzone] ==
INVALID_GANG_ZONE
) {
return 0;
return 0;
}
}
复制
已复制
复制
已复制
GangZoneHideForPlayer(playerid, GangZone@MainZone[gangzone]);
static i;
GangZoneHideForPlayer(playerid, GangZone@Border[gangzone][0]);
GangZoneHideForPlayer(playerid, GangZone@Border[gangzone][1]);
GangZoneHideForPlayer(playerid, GangZone@Border[gangzone][2]);
GangZoneHideForPlayer(playerid, GangZone@Border[gangzone][3]);
复制
已复制
复制
已复制
GangZoneHideForPlayer(playerid, GangZone@
Number1[gangzone][0]);
GangZoneHideForPlayer(playerid, GangZone@
MainZone
[gangzone]
);
GangZoneHideForPlayer(playerid, GangZone@Number1
[gangzone]
[1]
);
GangZoneHideForPlayer(playerid, GangZone@Number1[gangzone][2]);
for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneHideForPlayer(playerid, GangZone@
Number1
[gangzone][
3
]);
GangZoneHideForPlayer(playerid, GangZone@
Border
[gangzone][
i
]);
GangZoneHideForPlayer(playerid, GangZone@Number1[gangzone][4]);
}
复制
已复制
复制
已复制
GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][0]);
for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) {
GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][1]);
GangZoneHideForPlayer(playerid, GangZone@Number
1
[gangzone][
i
]);
GangZoneHideForPlayer(playerid, GangZone@Number
2
[gangzone][
2
]);
GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][
i
]);
GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][
3
]);
}
GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][4]);
return 1;
return 1;
}
}
#if defined _ALS_GangZoneHideForPlayer
#if defined _ALS_GangZoneHideForPlayer
复制
已复制
复制
已复制
#undef GangZoneHideForPlayer
#undef GangZoneHideForPlayer
#else
#else
复制
已复制
复制
已复制
#define _ALS_GangZoneHideForPlayer
#define _ALS_GangZoneHideForPlayer
#endif
#endif
#define GangZoneHideForPlayer GangZone_HideForPlayer
#define GangZoneHideForPlayer GangZone_HideForPlayer
stock GangZone_HideForAll(gangzone) {
stock GangZone_HideForAll(gangzone) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
复制
已复制
复制
已复制
return 0;
return 0;
}
}
复制
已复制
复制
已复制
if (GangZone@MainZone[gangzone] ==
-1
) {
if (GangZone@MainZone[gangzone] ==
INVALID_GANG_ZONE
) {
return 0;
return 0;
}
}
复制
已复制
复制
已复制
GangZoneHideForAll(GangZone@MainZone[gangzone]);
static i;
GangZoneHideForAll(GangZone@Border[gangzone][0]);
GangZoneHideForAll(GangZone@Border[gangzone][1]);
GangZoneHideForAll(GangZone@Border[gangzone][2]);
GangZoneHideForAll(GangZone@Border[gangzone][3]);
GangZoneHideForAll(GangZone@Number1[gangzone][0]);
GangZoneHideForAll(GangZone@Number1[gangzone][1]);
GangZoneHideForAll(GangZone@Number1[gangzone][2]);
GangZoneHideForAll(GangZone@Number1[gangzone][3]);
GangZoneHideForAll(GangZone@Number1[gangzone][4]);
复制
已复制
复制
已复制
GangZoneHideForAll(GangZone@
Number2[gangzone][0]);
GangZoneHideForAll(GangZone@
MainZone
[gangzone]
);
GangZoneHideForAll(GangZone@Number2
[gangzone]
[1]
);
GangZoneHideForAll(GangZone@Number2[gangzone][2]);
for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneHideForAll(GangZone@Number2[gangzone][3]);
GangZoneHideForAll(GangZone@
Border
[gangzone][
i
]);
GangZoneHideForAll(GangZone@
Number2
[gangzone][
4
]);
}
复制
已复制
复制
已复制
for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) {
GangZoneHideForAll(GangZone@Number1[gangzone][i]);
GangZoneHideForAll(GangZone@Number2[gangzone][i]);
}
return 1;
return 1;
}
}
#if defined _ALS_GangZoneHideForAll
#if defined _ALS_GangZoneHideForAll
复制
已复制
复制
已复制
#undef GangZoneHideForAll
#undef GangZoneHideForAll
#else
#else
复制
已复制
复制
已复制
#define _ALS_GangZoneHideForAll
#define _ALS_GangZoneHideForAll
#endif
#endif
#define GangZoneHideForAll GangZone_HideForAll
#define GangZoneHideForAll GangZone_HideForAll
stock GangZone_FlashForPlayer(playerid, gangzone, flashcolor, borderflashcolor = 0x00, numberflashcolor = 0x00) {
stock GangZone_FlashForPlayer(playerid, gangzone, flashcolor, borderflashcolor = 0x00, numberflashcolor = 0x00) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
复制
已复制
复制
已复制
return 0;
return 0;
}
}
复制
已复制
复制
已复制
if (GangZone@MainZone[gangzone] ==
-1
) {
if (GangZone@MainZone[gangzone] ==
INVALID_GANG_ZONE
) {
return 0;
return 0;
}
}
复制
已复制
复制
已复制
GangZoneFlashForPlayer(playerid, GangZone@MainZone[gangzone], flashcolor);
static i;
GangZoneFlashForPlayer(playerid, GangZone@MainZone[gangzone], flashcolor);
if (borderflashcolor != 0x00) {
if (borderflashcolor != 0x00) {
复制
已复制
复制
已复制
GangZoneFlashForPlayer(playerid, GangZone@Border[gangzone][0], borderflashcolor);
for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneFlashForPlayer(playerid, GangZone@Border[gangzone][1], borderflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Border[gangzone][
i
], borderflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Border[gangzone][
2
], borderflashcolor);
}
GangZoneFlashForPlayer(playerid, GangZone@Border[gangzone][3], borderflashcolor);
}
}
if (numberflashcolor != 0x00) {
if (numberflashcolor != 0x00) {
复制
已复制
复制
已复制
GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][0], numberflashcolor);
for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) {
GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][1], numberflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][
i
], numberflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][2], numberflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][
i
], numberflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][3], numberflashcolor);
}
GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][
4], numberflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][0
], numberflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][1], numberflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][
2], numberflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][3
], numberflashcolor);
GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][4], numberflashcolor);
}
}
return 1;
return 1;
}
}
#if defined _ALS_GangZoneFlashForPlayer
#if defined _ALS_GangZoneFlashForPlayer
复制
已复制
复制
已复制
#undef GangZoneFlashForPlayer
#undef GangZoneFlashForPlayer
#else
#else
复制
已复制
复制
已复制
#define _ALS_GangZoneFlashForPlayer
#define _ALS_GangZoneFlashForPlayer
#endif
#endif
#define GangZoneFlashForPlayer GangZone_FlashForPlayer
#define GangZoneFlashForPlayer GangZone_FlashForPlayer
stock GangZone_FlashForAll(gangzone, flashcolor, borderflashcolor = 0x00, numberflashcolor = 0x00) {
stock GangZone_FlashForAll(gangzone, flashcolor, borderflashcolor = 0x00, numberflashcolor = 0x00) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
复制
已复制
复制
已复制
return 0;
return 0;
}
}
复制
已复制
复制
已复制
if (GangZone@MainZone[gangzone] ==
-1
) {
if (GangZone@MainZone[gangzone] ==
INVALID_GANG_ZONE
) {
return 0;
return 0;
}
}
复制
已复制
复制
已复制
GangZoneFlashForAll(GangZone@MainZone[gangzone], flashcolor);
static i;
GangZoneFlashForAll(GangZone@MainZone[gangzone], flashcolor);
if (borderflashcolor != 0x00) {
if (borderflashcolor != 0x00) {
复制
已复制
复制
已复制
GangZoneFlashForAll(GangZone@Border[gangzone][0], borderflashcolor);
for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneFlashForAll(GangZone@Border[gangzone][1], borderflashcolor);
GangZoneFlashForAll(GangZone@Border[gangzone][
i
], borderflashcolor);
GangZoneFlashForAll(GangZone@Border[gangzone][
2
], borderflashcolor);
}
GangZoneFlashForAll(GangZone@Border[gangzone][3], borderflashcolor);
}
}
if (numberflashcolor != 0x00) {
if (numberflashcolor != 0x00) {
复制
已复制
复制
已复制
GangZoneFlashForAll(GangZone@Number1[gangzone][0], numberflashcolor);
for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) {
GangZoneFlashForAll(GangZone@Number1[gangzone][1], numberflashcolor);
GangZoneFlashForAll(GangZone@Number1[gangzone][
i
], numberflashcolor);
GangZoneFlashForAll(GangZone@Number1[gangzone][2], numberflashcolor);
GangZoneFlashForAll(GangZone@Number2[gangzone][
i
], numberflashcolor);
GangZoneFlashForAll(GangZone@Number1[gangzone][3], numberflashcolor);
}
GangZoneFlashForAll(GangZone@Number1[gangzone][
4], numberflashcolor);
GangZoneFlashForAll(GangZone@Number2[gangzone][0], numberflashcolor);
GangZoneFlashForAll(GangZone@Number2[gangzone][1
], numberflashcolor);
GangZoneFlashForAll(GangZone@Number2[gangzone][2], numberflashcolor);
GangZoneFlashForAll(GangZone@Number2[gangzone][
3
], numberflashcolor);
GangZoneFlashForAll(GangZone@Number2[gangzone][4], numberflashcolor);
}
}
return 1;
return 1;
}
}
#if defined _ALS_GangZoneFlashForAll
#if defined _ALS_GangZoneFlashForAll
复制
已复制
复制
已复制
#undef GangZoneFlashForAll
#undef GangZoneFlashForAll
#else
#else
复制
已复制
复制
已复制
#define _ALS_GangZoneFlashForAll
#define _ALS_GangZoneFlashForAll
#endif
#endif
#define GangZoneFlashForAll GangZone_FlashForAll
#define GangZoneFlashForAll GangZone_FlashForAll
stock GangZone_StopFlashForPlayer(playerid, gangzone, bool:mainzone = true, bool:border = true, bool:number = true) {
stock GangZone_StopFlashForPlayer(playerid, gangzone, bool:mainzone = true, bool:border = true, bool:number = true) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
复制
已复制
复制
已复制
return 0;
return 0;
}
}
复制
已复制
复制
已复制
if (GangZone@MainZone[gangzone] ==
-1
) {
if (GangZone@MainZone[gangzone] ==
INVALID_GANG_ZONE
) {
return 0;
return 0;
}
}
复制
已复制
复制
已复制
static i;
if (mainzone) {
if (mainzone) {
复制
已复制
复制
已复制
GangZoneStopFlashForPlayer(playerid, GangZone@MainZone[gangzone]);
GangZoneStopFlashForPlayer(playerid, GangZone@MainZone[gangzone]);
}
}
if (border) {
if (border) {
复制
已复制
复制
已复制
GangZoneStopFlashForPlayer(playerid, GangZone@Border[gangzone][0]);
for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneStopFlashForPlayer(playerid, GangZone@Border[gangzone][1]);
GangZoneStopFlashForPlayer(playerid, GangZone@Border[gangzone][
i
]);
GangZoneStopFlashForPlayer(playerid, GangZone@Border[gangzone][
2
]);
}
GangZoneStopFlashForPlayer(playerid, GangZone@Border[gangzone][3]);
}
}
if (number) {
if (number) {
复制
已复制
复制
已复制
GangZoneStopF
for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) {
GangZoneStopFlashForPlayer(playerid, GangZone@Number1[gangzone][i]);
GangZoneStopFlashForPlayer(playerid, GangZone@Number2[gangzone][i]);
}
}
return 1;
}
#if defined _ALS_GangZoneStopFlashForPlayer
#undef GangZoneStopFlashForPlayer
#else
#define _ALS_GangZoneStopFlashForPlayer
#endif
#define GangZoneStopFlashForPlayer GangZone_StopFlashForPlayer
stock GangZone_StopFlashForAll(gangzone, bool:mainzone = true, bool:border = true, bool:number = true) {
if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) {
return 0;
}
if (GangZone@MainZone[gangzone] == INVALID_GANG_ZONE) {
return 0;
}
static i;
if (mainzone) {
GangZoneStopFlashForAll(GangZone@MainZone[gangzone]);
}
if (border) {
for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) {
GangZoneStopFlashForAll(GangZone@Border[gangzone][i]);
}
}
if (number) {
for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) {
GangZoneStopFlashForAll(GangZone@Number1[gangzone][i]);
GangZoneStopFlashForAll(GangZone@Number2[gangzone][i]);
}
}
return 1;
}
#if defined _ALS_GangZoneStopFlashForAll
#undef GangZoneStopFlashForAll
#else
#define _ALS_GangZoneStopFlashForAll
#endif
#define GangZoneStopFlashForAll GangZone_StopFlashForAll
已保存差异
原始文本
打开文件
#if defined gangzones_included #endinput #endif #define gangzones_included /**************************************/ // gangzones.inc - v2.2 - Last Updated: 28 April, 2018 - By Gammix & beijind /***************************************/ #if !defined GANGZONE_DEFAULT_BORDER_SIZE #define GANGZONE_DEFAULT_BORDER_SIZE 2.0 #endif #if !defined GANGZONE_DEFAULT_NUMBER_SIZE #define GANGZONE_DEFAULT_NUMBER_SIZE 1.0 #endif #if !defined GANGZONE_DEFAULT_BORDER_COLOR #define GANGZONE_DEFAULT_BORDER_COLOR 0xAA #endif #if !defined GANGZONE_DEFAULT_NUMBER_COLOR #define GANGZONE_DEFAULT_NUMBER_COLOR 0xAA #endif static GangZone@MainZone[MAX_GANG_ZONES] = {-1, ...}; static GangZone@Border[MAX_GANG_ZONES][4]; static GangZone@Number1[MAX_GANG_ZONES][5]; static GangZone@Number2[MAX_GANG_ZONES][5]; static GangZone_CreateBorder(dest[], Float:minx, Float:miny, Float:maxx, Float:maxy, Float:bordersize) { dest[0] = GangZoneCreate(minx - bordersize, miny + bordersize, minx + bordersize, maxy - bordersize); dest[1] = GangZoneCreate(minx - bordersize, maxy - bordersize, maxx + bordersize, maxy + bordersize); dest[2] = GangZoneCreate(maxx - bordersize, miny + bordersize, maxx + bordersize, maxy - bordersize); dest[3] = GangZoneCreate(minx - bordersize, miny - bordersize, maxx + bordersize, miny + bordersize); for (new i = 0; i < 4; i++) { if (dest[i] == -1) { for (i = 0; i < 4; i++) { GangZoneDestroy(dest[i]); dest[i] = -1; } return 0; } } return 4; } static GangZone_CreateNumber(dest[], number, Float:centpos_x, Float:centpos_y, Float:numbersize) { if (number < '0' || number > '9') { return 0; } static const Float:LETTER_STROKE = 3.5; static const Float:LETTER_XSQUASH = 0.7; new ret = 0; switch (number) { case '0': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_x = (20.0 * numbersize * LETTER_XSQUASH); new Float:distance_y = (20.0 * numbersize); dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Down of 0 dest[1] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Up of 0 dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y + stroke), (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left of 0 dest[3] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Right of 0 ret = 4; } case '1': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); dest[0] = GangZoneCreate((centpos_x - stroke), (centpos_y - distance_y - stroke),(centpos_x + stroke), (centpos_y + distance_y + stroke)); ret = 1; } case '2': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up dest[1] = GangZoneCreate((centpos_x + distance_x - (2 * stroke)),(centpos_y + stroke), (centpos_x + distance_x), (centpos_y + distance_y - stroke)); // Right Stick dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y + stroke), (centpos_x - distance_x + (2 * stroke)),(centpos_y - stroke)); // Left Stick dest[4] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down ret = 5; } case '3': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up dest[1] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x + (2 * stroke)),(centpos_y + distance_y + stroke)); // Stick dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down ret = 4; } case '4': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y), (centpos_x - distance_x + (2 * stroke)), (centpos_y + stroke)); // Left dest[1] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke));// Middle dest[2] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y), (centpos_x + distance_x + (2 * stroke)), (centpos_y + distance_y)); // Stick ret = 3; } case '5': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y + stroke)); // Up dest[1] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + stroke), (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left Stick dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + stroke)); // Middle dest[3] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Right Stick dest[4] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Down ret = 5; } case '6': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up dest[1] = GangZoneCreate((centpos_x - distance_x - (2 * stroke)), (centpos_y + distance_y + stroke), (centpos_x - distance_x), (centpos_y - distance_y - stroke)); // Main Left Stick dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down dest[4] = GangZoneCreate((centpos_x + distance_x - (2 * stroke)), (centpos_y - distance_y + stroke), (centpos_x + distance_x), (centpos_y - stroke)); // Right small stick ret = 5; } case '7': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (15.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Stick of 7 dest[1] = GangZoneCreate((centpos_x - distance_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y + stroke)); // Up of 7 ret = 2; } case '8': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x - distance_x + stroke), (centpos_y - distance_y - stroke)); // Left stick dest[1] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y - stroke)); // Right stick dest[2] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x - stroke), (centpos_y + distance_y + stroke)); // Up dest[3] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y - stroke), (centpos_x + distance_x - stroke), (centpos_y + stroke)); // Center dest[4] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x - stroke), (centpos_y - distance_y + stroke)); // Down ret = 5; } case '9': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), centpos_y, (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left Stick dest[1] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x + (2 * stroke)), (centpos_y + distance_y + stroke)); // Right Stick dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up dest[3] = GangZoneCreate((centpos_x - distance_x + stroke), centpos_y, (centpos_x + distance_x), (centpos_y + stroke + stroke)); // Middle dest[4] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down ret = 5; } } for (new i = 0; i < ret; i++) { if (dest[i] == -1) { for (i = 0; i < ret; i++) { GangZoneDestroy(dest[i]); dest[i] = -1; } return 0; } } return ret; } stock GangZone_Create(Float:minx, Float:miny, Float:maxx, Float:maxy, number = -1, Float:bordersize = GANGZONE_DEFAULT_BORDER_SIZE, Float:numbersize = GANGZONE_DEFAULT_NUMBER_SIZE) { new index = -1; for (new i = 0; i < MAX_GANG_ZONES; i++) { if (GangZone@MainZone[i] == -1) { index = i; break; } } if (index == -1) { return -1; } GangZone@MainZone[index] = GangZoneCreate(minx, miny, maxx, maxy); if (GangZone@MainZone[index] == -1) { return -1; } GangZone@Border[index][0] = -1; GangZone@Border[index][1] = -1; GangZone@Border[index][2] = -1; GangZone@Border[index][3] = -1; GangZone@Number1[index][0] = -1; GangZone@Number1[index][1] = -1; GangZone@Number1[index][2] = -1; GangZone@Number1[index][3] = -1; GangZone@Number1[index][4] = -1; GangZone@Number2[index][0] = -1; GangZone@Number2[index][1] = -1; GangZone@Number2[index][2] = -1; GangZone@Number2[index][3] = -1; GangZone@Number2[index][4] = -1; if (bordersize != 0.0) { if (GangZone_CreateBorder(GangZone@Border[index], minx, miny, maxx, maxy, bordersize) == 0) { GangZoneDestroy(GangZone@MainZone[index]); GangZone@MainZone[index] = -1; return -1; } } if (numbersize != 0.0) { if (number == -1) { number = (index % 100); } if (number >= 0 && number <= 9) { new Float:centpos_x = ((minx + maxx) / 2); new Float:centpos_y = ((miny + maxy) / 2); new chars[2]; format(chars, sizeof(chars), "%i", number); if (GangZone_CreateNumber(GangZone@Number1[index], chars[0], centpos_x, centpos_y, numbersize) == 0) { GangZoneDestroy(GangZone@MainZone[index]); GangZone@MainZone[index] = -1; GangZoneDestroy(GangZone@Border[index][0]); GangZoneDestroy(GangZone@Border[index][1]); GangZoneDestroy(GangZone@Border[index][2]); GangZoneDestroy(GangZone@Border[index][3]); return -1; } } else if (number >= 10 && number <= 99) { const Float:NUMBER_DISTANCE = 25.0; new Float:centpos_x = ((minx + maxx) / 2); new Float:centpos_y = ((miny + maxy) / 2); new chars[3]; format(chars, sizeof(chars), "%i", number); new numZones = GangZone_CreateNumber(GangZone@Number1[index], chars[0], (centpos_x - (NUMBER_DISTANCE * numbersize)), centpos_y, numbersize); if (numZones == 0) { GangZoneDestroy(GangZone@MainZone[index]); GangZone@MainZone[index] = -1; GangZoneDestroy(GangZone@Border[index][0]); GangZoneDestroy(GangZone@Border[index][1]); GangZoneDestroy(GangZone@Border[index][2]); GangZoneDestroy(GangZone@Border[index][3]); return -1; } if (GangZone_CreateNumber(GangZone@Number2[index], chars[1], (centpos_x + (NUMBER_DISTANCE * numbersize)), centpos_y, numbersize) == 0) { GangZoneDestroy(GangZone@MainZone[index]); GangZone@MainZone[index] = -1; GangZoneDestroy(GangZone@Border[index][0]); GangZoneDestroy(GangZone@Border[index][1]); GangZoneDestroy(GangZone@Border[index][2]); GangZoneDestroy(GangZone@Border[index][3]); for (new i = 0; i < numZones; i++) { GangZoneDestroy(GangZone@Number1[index][i]); } return -1; } } else { GangZoneDestroy(GangZone@MainZone[index]); GangZone@MainZone[index] = -1; GangZoneDestroy(GangZone@Border[index][0]); GangZoneDestroy(GangZone@Border[index][1]); GangZoneDestroy(GangZone@Border[index][2]); GangZoneDestroy(GangZone@Border[index][3]); return -1; } } return index; } #if defined _ALS_GangZoneCreate #undef GangZoneCreate #else #define _ALS_GangZoneCreate #endif #define GangZoneCreate GangZone_Create stock GangZone_Destroy(gangzone) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == -1) { return 0; } GangZoneDestroy(GangZone@MainZone[gangzone]); GangZone@MainZone[gangzone] = -1; GangZoneDestroy(GangZone@Border[gangzone][0]); GangZoneDestroy(GangZone@Border[gangzone][1]); GangZoneDestroy(GangZone@Border[gangzone][2]); GangZoneDestroy(GangZone@Border[gangzone][3]); GangZoneDestroy(GangZone@Number1[gangzone][0]); GangZoneDestroy(GangZone@Number1[gangzone][1]); GangZoneDestroy(GangZone@Number1[gangzone][2]); GangZoneDestroy(GangZone@Number1[gangzone][3]); GangZoneDestroy(GangZone@Number1[gangzone][4]); GangZoneDestroy(GangZone@Number2[gangzone][0]); GangZoneDestroy(GangZone@Number2[gangzone][1]); GangZoneDestroy(GangZone@Number2[gangzone][2]); GangZoneDestroy(GangZone@Number2[gangzone][3]); GangZoneDestroy(GangZone@Number2[gangzone][4]); return 1; } #if defined _ALS_GangZoneDestroy #undef GangZoneDestroy #else #define _ALS_GangZoneDestroy #endif #define GangZoneDestroy GangZone_Destroy stock GangZone_ShowForPlayer(playerid, gangzone, color, bordercolor = GANGZONE_DEFAULT_BORDER_COLOR, numbercolor = GANGZONE_DEFAULT_NUMBER_COLOR) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == -1) { return 0; } GangZoneShowForPlayer(playerid, GangZone@MainZone[gangzone], color); GangZoneShowForPlayer(playerid, GangZone@Border[gangzone][0], bordercolor); GangZoneShowForPlayer(playerid, GangZone@Border[gangzone][1], bordercolor); GangZoneShowForPlayer(playerid, GangZone@Border[gangzone][2], bordercolor); GangZoneShowForPlayer(playerid, GangZone@Border[gangzone][3], bordercolor); GangZoneShowForPlayer(playerid, GangZone@Number1[gangzone][0], numbercolor); GangZoneShowForPlayer(playerid, GangZone@Number1[gangzone][1], numbercolor); GangZoneShowForPlayer(playerid, GangZone@Number1[gangzone][2], numbercolor); GangZoneShowForPlayer(playerid, GangZone@Number1[gangzone][3], numbercolor); GangZoneShowForPlayer(playerid, GangZone@Number1[gangzone][4], numbercolor); GangZoneShowForPlayer(playerid, GangZone@Number2[gangzone][0], numbercolor); GangZoneShowForPlayer(playerid, GangZone@Number2[gangzone][1], numbercolor); GangZoneShowForPlayer(playerid, GangZone@Number2[gangzone][2], numbercolor); GangZoneShowForPlayer(playerid, GangZone@Number2[gangzone][3], numbercolor); GangZoneShowForPlayer(playerid, GangZone@Number2[gangzone][4], numbercolor); return 1; } #if defined _ALS_GangZoneShowForPlayer #undef GangZoneShowForPlayer #else #define _ALS_GangZoneShowForPlayer #endif #define GangZoneShowForPlayer GangZone_ShowForPlayer stock GangZone_ShowForAll(gangzone, color, bordercolor = GANGZONE_DEFAULT_BORDER_COLOR, numbercolor = GANGZONE_DEFAULT_NUMBER_COLOR) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == -1) { return 0; } GangZoneShowForAll(GangZone@MainZone[gangzone], color); GangZoneShowForAll(GangZone@Border[gangzone][0], bordercolor); GangZoneShowForAll(GangZone@Border[gangzone][1], bordercolor); GangZoneShowForAll(GangZone@Border[gangzone][2], bordercolor); GangZoneShowForAll(GangZone@Border[gangzone][3], bordercolor); GangZoneShowForAll(GangZone@Number1[gangzone][0], numbercolor); GangZoneShowForAll(GangZone@Number1[gangzone][1], numbercolor); GangZoneShowForAll(GangZone@Number1[gangzone][2], numbercolor); GangZoneShowForAll(GangZone@Number1[gangzone][3], numbercolor); GangZoneShowForAll(GangZone@Number1[gangzone][4], numbercolor); GangZoneShowForAll(GangZone@Number2[gangzone][0], numbercolor); GangZoneShowForAll(GangZone@Number2[gangzone][1], numbercolor); GangZoneShowForAll(GangZone@Number2[gangzone][2], numbercolor); GangZoneShowForAll(GangZone@Number2[gangzone][3], numbercolor); GangZoneShowForAll(GangZone@Number2[gangzone][4], numbercolor); return 1; } #if defined _ALS_GangZoneShowForAll #undef GangZoneShowForAll #else #define _ALS_GangZoneShowForAll #endif #define GangZoneShowForAll GangZone_ShowForAll stock GangZone_HideForPlayer(playerid, gangzone) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == -1) { return 0; } GangZoneHideForPlayer(playerid, GangZone@MainZone[gangzone]); GangZoneHideForPlayer(playerid, GangZone@Border[gangzone][0]); GangZoneHideForPlayer(playerid, GangZone@Border[gangzone][1]); GangZoneHideForPlayer(playerid, GangZone@Border[gangzone][2]); GangZoneHideForPlayer(playerid, GangZone@Border[gangzone][3]); GangZoneHideForPlayer(playerid, GangZone@Number1[gangzone][0]); GangZoneHideForPlayer(playerid, GangZone@Number1[gangzone][1]); GangZoneHideForPlayer(playerid, GangZone@Number1[gangzone][2]); GangZoneHideForPlayer(playerid, GangZone@Number1[gangzone][3]); GangZoneHideForPlayer(playerid, GangZone@Number1[gangzone][4]); GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][0]); GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][1]); GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][2]); GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][3]); GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][4]); return 1; } #if defined _ALS_GangZoneHideForPlayer #undef GangZoneHideForPlayer #else #define _ALS_GangZoneHideForPlayer #endif #define GangZoneHideForPlayer GangZone_HideForPlayer stock GangZone_HideForAll(gangzone) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == -1) { return 0; } GangZoneHideForAll(GangZone@MainZone[gangzone]); GangZoneHideForAll(GangZone@Border[gangzone][0]); GangZoneHideForAll(GangZone@Border[gangzone][1]); GangZoneHideForAll(GangZone@Border[gangzone][2]); GangZoneHideForAll(GangZone@Border[gangzone][3]); GangZoneHideForAll(GangZone@Number1[gangzone][0]); GangZoneHideForAll(GangZone@Number1[gangzone][1]); GangZoneHideForAll(GangZone@Number1[gangzone][2]); GangZoneHideForAll(GangZone@Number1[gangzone][3]); GangZoneHideForAll(GangZone@Number1[gangzone][4]); GangZoneHideForAll(GangZone@Number2[gangzone][0]); GangZoneHideForAll(GangZone@Number2[gangzone][1]); GangZoneHideForAll(GangZone@Number2[gangzone][2]); GangZoneHideForAll(GangZone@Number2[gangzone][3]); GangZoneHideForAll(GangZone@Number2[gangzone][4]); return 1; } #if defined _ALS_GangZoneHideForAll #undef GangZoneHideForAll #else #define _ALS_GangZoneHideForAll #endif #define GangZoneHideForAll GangZone_HideForAll stock GangZone_FlashForPlayer(playerid, gangzone, flashcolor, borderflashcolor = 0x00, numberflashcolor = 0x00) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == -1) { return 0; } GangZoneFlashForPlayer(playerid, GangZone@MainZone[gangzone], flashcolor); if (borderflashcolor != 0x00) { GangZoneFlashForPlayer(playerid, GangZone@Border[gangzone][0], borderflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Border[gangzone][1], borderflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Border[gangzone][2], borderflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Border[gangzone][3], borderflashcolor); } if (numberflashcolor != 0x00) { GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][0], numberflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][1], numberflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][2], numberflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][3], numberflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][4], numberflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][0], numberflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][1], numberflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][2], numberflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][3], numberflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][4], numberflashcolor); } return 1; } #if defined _ALS_GangZoneFlashForPlayer #undef GangZoneFlashForPlayer #else #define _ALS_GangZoneFlashForPlayer #endif #define GangZoneFlashForPlayer GangZone_FlashForPlayer stock GangZone_FlashForAll(gangzone, flashcolor, borderflashcolor = 0x00, numberflashcolor = 0x00) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == -1) { return 0; } GangZoneFlashForAll(GangZone@MainZone[gangzone], flashcolor); if (borderflashcolor != 0x00) { GangZoneFlashForAll(GangZone@Border[gangzone][0], borderflashcolor); GangZoneFlashForAll(GangZone@Border[gangzone][1], borderflashcolor); GangZoneFlashForAll(GangZone@Border[gangzone][2], borderflashcolor); GangZoneFlashForAll(GangZone@Border[gangzone][3], borderflashcolor); } if (numberflashcolor != 0x00) { GangZoneFlashForAll(GangZone@Number1[gangzone][0], numberflashcolor); GangZoneFlashForAll(GangZone@Number1[gangzone][1], numberflashcolor); GangZoneFlashForAll(GangZone@Number1[gangzone][2], numberflashcolor); GangZoneFlashForAll(GangZone@Number1[gangzone][3], numberflashcolor); GangZoneFlashForAll(GangZone@Number1[gangzone][4], numberflashcolor); GangZoneFlashForAll(GangZone@Number2[gangzone][0], numberflashcolor); GangZoneFlashForAll(GangZone@Number2[gangzone][1], numberflashcolor); GangZoneFlashForAll(GangZone@Number2[gangzone][2], numberflashcolor); GangZoneFlashForAll(GangZone@Number2[gangzone][3], numberflashcolor); GangZoneFlashForAll(GangZone@Number2[gangzone][4], numberflashcolor); } return 1; } #if defined _ALS_GangZoneFlashForAll #undef GangZoneFlashForAll #else #define _ALS_GangZoneFlashForAll #endif #define GangZoneFlashForAll GangZone_FlashForAll stock GangZone_StopFlashForPlayer(playerid, gangzone, bool:mainzone = true, bool:border = true, bool:number = true) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == -1) { return 0; } if (mainzone) { GangZoneStopFlashForPlayer(playerid, GangZone@MainZone[gangzone]); } if (border) { GangZoneStopFlashForPlayer(playerid, GangZone@Border[gangzone][0]); GangZoneStopFlashForPlayer(playerid, GangZone@Border[gangzone][1]); GangZoneStopFlashForPlayer(playerid, GangZone@Border[gangzone][2]); GangZoneStopFlashForPlayer(playerid, GangZone@Border[gangzone][3]); } if (number) { GangZoneStopFlashForPlayer(playerid, GangZone@Number1[gangzone][0]); GangZoneStopFlashForPlayer(playerid, GangZone@Number1[gangzone][1]); GangZoneStopFlashForPlayer(playerid, GangZone@Number1[gangzone][2]); GangZoneStopFlashForPlayer(playerid, GangZone@Number1[gangzone][3]); GangZoneStopFlashForPlayer(playerid, GangZone@Number1[gangzone][4]); GangZoneStopFlashForPlayer(playerid, GangZone@Number2[gangzone][0]); GangZoneStopFlashForPlayer(playerid, GangZone@Number2[gangzone][1]); GangZoneStopFlashForPlayer(playerid, GangZone@Number2[gangzone][2]); GangZoneStopFlashForPlayer(playerid, GangZone@Number2[gangzone][3]); GangZoneStopFlashForPlayer(playerid, GangZone@Number2[gangzone][4]); } return 1; } #if defined _ALS_GangZoneStopFlashForPlayer #undef GangZoneStopFlashForPlayer #else #define _ALS_GangZoneStopFlashForPlayer #endif #define GangZoneStopFlashForPlayer GangZone_StopFlashForPlayer stock GangZone_StopFlashForAll(gangzone, bool:mainzone = true, bool:border = true, bool:number = true) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == -1) { return 0; } if (mainzone) { GangZoneStopFlashForAll(GangZone@MainZone[gangzone]); } if (border) { GangZoneStopFlashForAll(GangZone@Border[gangzone][0]); GangZoneStopFlashForAll(GangZone@Border[gangzone][1]); GangZoneStopFlashForAll(GangZone@Border[gangzone][2]); GangZoneStopFlashForAll(GangZone@Border[gangzone][3]); } if (number) { GangZoneStopFlashForAll(GangZone@Number1[gangzone][0]); GangZoneStopFlashForAll(GangZone@Number1[gangzone][1]); GangZoneStopFlashForAll(GangZone@Number1[gangzone][2]); GangZoneStopFlashForAll(GangZone@Number1[gangzone][3]); GangZoneStopFlashForAll(GangZone@Number1[gangzone][4]); GangZoneStopFlashForAll(GangZone@Number2[gangzone][0]); GangZoneStopFlashForAll(GangZone@Number2[gangzone][1]); GangZoneStopFlashForAll(GangZone@Number2[gangzone][2]); GangZoneStopFlashForAll(GangZone@Number2[gangzone][3]); GangZoneStopFlashForAll(GangZone@Number2[gangzone][4]); } return 1; } #if defined _ALS_GangZoneStopFlashForAll #undef GangZoneStopFlashForAll #else #define _ALS_GangZoneStopFlashForAll #endif #define GangZoneStopFlashForAll GangZone_StopFlashForAll
更改后文本
打开文件
#if defined gangzones_included #endinput #endif #define gangzones_included /**************************************/ // gangzones.inc - v2.2 - Last Updated: 28 April, 2018 - By Gammix & beijind /***************************************/ #if !defined GANGZONE_DEFAULT_BORDER_SIZE #define GANGZONE_DEFAULT_BORDER_SIZE 2.0 #endif #if !defined GANGZONE_DEFAULT_NUMBER_SIZE #define GANGZONE_DEFAULT_NUMBER_SIZE 1.0 #endif #if !defined GANGZONE_DEFAULT_BORDER_COLOR #define GANGZONE_DEFAULT_BORDER_COLOR 0xAA #endif #if !defined GANGZONE_DEFAULT_NUMBER_COLOR #define GANGZONE_DEFAULT_NUMBER_COLOR 0xAA #endif #define MAX_GANGZONE_BORDER_SLOTS 4 #define MAX_GANGZONE_NUMBER_SLOTS 5 static GangZone@MainZone[MAX_GANG_ZONES] = {INVALID_GANG_ZONE, ...}; static GangZone@Border[MAX_GANG_ZONES][MAX_GANGZONE_BORDER_SLOTS]; static GangZone@Number1[MAX_GANG_ZONES][MAX_GANGZONE_NUMBER_SLOTS]; static GangZone@Number2[MAX_GANG_ZONES][MAX_GANGZONE_NUMBER_SLOTS]; public OnGameModeInit() { new i, j; for(i = 0; i < MAX_GANG_ZONES; ++i) { for(j = 0; j < MAX_GANGZONE_NUMBER_SLOTS; ++j) { if(j < MAX_GANGZONE_BORDER_SLOTS) { GangZone@Border[i][j] = INVALID_GANG_ZONE; } GangZone@Number1[i][j] = INVALID_GANG_ZONE; GangZone@Number2[i][j] = INVALID_GANG_ZONE; } } return CallLocalFunction("GangZone_OnGameModeInit", ""); } #if defined _ALS_OnGameModeInit #undef OnGameModeInit #else #define _ALS_OnGameModeInit #endif #define OnGameModeInit GangZone_OnGameModeInit forward OnGameModeInit(); static GangZone_CreateBorder(dest[], Float:minx, Float:miny, Float:maxx, Float:maxy, Float:bordersize) { dest[0] = GangZoneCreate(minx - bordersize, miny + bordersize, minx + bordersize, maxy - bordersize); dest[1] = GangZoneCreate(minx - bordersize, maxy - bordersize, maxx + bordersize, maxy + bordersize); dest[2] = GangZoneCreate(maxx - bordersize, miny + bordersize, maxx + bordersize, maxy - bordersize); dest[3] = GangZoneCreate(minx - bordersize, miny - bordersize, maxx + bordersize, miny + bordersize); for (new i = 0; i < MAX_GANGZONE_BORDER_SLOTS; i++) { if (dest[i] == INVALID_GANG_ZONE) { // If one border failed to create (random out of slots), then destroy all! for (i = 0; i < MAX_GANGZONE_BORDER_SLOTS; i++) { GangZoneDestroy(dest[i]); dest[i] = INVALID_GANG_ZONE; } return 0; } } return 4; } static GangZone_CreateNumber(dest[], number, Float:centpos_x, Float:centpos_y, Float:numbersize) { if (number < '0' || number > '9') { return 0; } static const Float:LETTER_STROKE = 3.5; static const Float:LETTER_XSQUASH = 0.7; new ret = 0; switch (number) { case '0': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_x = (20.0 * numbersize * LETTER_XSQUASH); new Float:distance_y = (20.0 * numbersize); dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Down of 0 dest[1] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Up of 0 dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y + stroke), (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left of 0 dest[3] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Right of 0 ret = 4; } case '1': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); dest[0] = GangZoneCreate((centpos_x - stroke), (centpos_y - distance_y - stroke),(centpos_x + stroke), (centpos_y + distance_y + stroke)); ret = 1; } case '2': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up dest[1] = GangZoneCreate((centpos_x + distance_x - (2 * stroke)),(centpos_y + stroke), (centpos_x + distance_x), (centpos_y + distance_y - stroke)); // Right Stick dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y + stroke), (centpos_x - distance_x + (2 * stroke)),(centpos_y - stroke)); // Left Stick dest[4] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down ret = 5; } case '3': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up dest[1] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x + (2 * stroke)),(centpos_y + distance_y + stroke)); // Stick dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down ret = 4; } case '4': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y), (centpos_x - distance_x + (2 * stroke)), (centpos_y + stroke)); // Left dest[1] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke));// Middle dest[2] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y), (centpos_x + distance_x + (2 * stroke)), (centpos_y + distance_y)); // Stick ret = 3; } case '5': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y + stroke)); // Up dest[1] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + stroke), (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left Stick dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + stroke)); // Middle dest[3] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Right Stick dest[4] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y + stroke)); // Down ret = 5; } case '6': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up dest[1] = GangZoneCreate((centpos_x - distance_x - (2 * stroke)), (centpos_y + distance_y + stroke), (centpos_x - distance_x), (centpos_y - distance_y - stroke)); // Main Left Stick dest[2] = GangZoneCreate((centpos_x - distance_x), (centpos_y - stroke), (centpos_x + distance_x), (centpos_y + stroke)); // Middle dest[3] = GangZoneCreate((centpos_x - distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down dest[4] = GangZoneCreate((centpos_x + distance_x - (2 * stroke)), (centpos_y - distance_y + stroke), (centpos_x + distance_x), (centpos_y - stroke)); // Right small stick ret = 5; } case '7': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (15.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y - stroke)); // Stick of 7 dest[1] = GangZoneCreate((centpos_x - distance_x - distance_x), (centpos_y + distance_y - stroke), (centpos_x + distance_x + stroke), (centpos_y + distance_y + stroke)); // Up of 7 ret = 2; } case '8': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x - distance_x + stroke), (centpos_y - distance_y - stroke)); // Left stick dest[1] = GangZoneCreate((centpos_x + distance_x - stroke), (centpos_y + distance_y + stroke), (centpos_x + distance_x + stroke), (centpos_y - distance_y - stroke)); // Right stick dest[2] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x - stroke), (centpos_y + distance_y + stroke)); // Up dest[3] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y - stroke), (centpos_x + distance_x - stroke), (centpos_y + stroke)); // Center dest[4] = GangZoneCreate((centpos_x - distance_x + stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x - stroke), (centpos_y - distance_y + stroke)); // Down ret = 5; } case '9': { new Float:stroke = (LETTER_STROKE * numbersize); new Float:distance_y = (20.0 * numbersize); new Float:distance_x = (25.0 * numbersize * LETTER_XSQUASH); dest[0] = GangZoneCreate((centpos_x - distance_x - stroke), centpos_y, (centpos_x - distance_x + stroke), (centpos_y + distance_y - stroke)); // Left Stick dest[1] = GangZoneCreate((centpos_x + distance_x), (centpos_y - distance_y - stroke), (centpos_x + distance_x + (2 * stroke)), (centpos_y + distance_y + stroke)); // Right Stick dest[2] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y + distance_y - stroke), (centpos_x + distance_x), (centpos_y + distance_y + stroke)); // Up dest[3] = GangZoneCreate((centpos_x - distance_x + stroke), centpos_y, (centpos_x + distance_x), (centpos_y + stroke + stroke)); // Middle dest[4] = GangZoneCreate((centpos_x - distance_x - stroke), (centpos_y - distance_y - stroke), (centpos_x + distance_x), (centpos_y - distance_y + stroke)); // Down ret = 5; } } for (new i = 0; i < ret; i++) { if (dest[i] == INVALID_GANG_ZONE) { for (i = 0; i < ret; i++) { GangZoneDestroy(dest[i]); dest[i] = INVALID_GANG_ZONE; } return 0; } } return ret; } stock GangZone_Create(Float:minx, Float:miny, Float:maxx, Float:maxy, number = -1, Float:bordersize = GANGZONE_DEFAULT_BORDER_SIZE, Float:numbersize = GANGZONE_DEFAULT_NUMBER_SIZE) { new index = INVALID_GANG_ZONE; for (new i = 0; i < MAX_GANG_ZONES; i++) { if (GangZone@MainZone[i] == INVALID_GANG_ZONE) { index = i; break; } } if (index == INVALID_GANG_ZONE) { return INVALID_GANG_ZONE; } GangZone@MainZone[index] = GangZoneCreate(minx, miny, maxx, maxy); if (GangZone@MainZone[index] == INVALID_GANG_ZONE) { return INVALID_GANG_ZONE; } GangZone@Border[index][0] = INVALID_GANG_ZONE; GangZone@Border[index][1] = INVALID_GANG_ZONE; GangZone@Border[index][2] = INVALID_GANG_ZONE; GangZone@Border[index][3] = INVALID_GANG_ZONE; GangZone@Number1[index][0] = INVALID_GANG_ZONE; GangZone@Number1[index][1] = INVALID_GANG_ZONE; GangZone@Number1[index][2] = INVALID_GANG_ZONE; GangZone@Number1[index][3] = INVALID_GANG_ZONE; GangZone@Number1[index][4] = INVALID_GANG_ZONE; GangZone@Number2[index][0] = INVALID_GANG_ZONE; GangZone@Number2[index][1] = INVALID_GANG_ZONE; GangZone@Number2[index][2] = INVALID_GANG_ZONE; GangZone@Number2[index][3] = INVALID_GANG_ZONE; GangZone@Number2[index][4] = INVALID_GANG_ZONE; if (bordersize != 0.0) { if (GangZone_CreateBorder(GangZone@Border[index], minx, miny, maxx, maxy, bordersize) == 0) { GangZoneDestroy(GangZone@MainZone[index]); GangZone@MainZone[index] = INVALID_GANG_ZONE; return INVALID_GANG_ZONE; } } if (numbersize != 0.0) { if (number == -1) { number = (index % 100); } if (number >= 0 && number <= 9) { new Float:centpos_x = ((minx + maxx) / 2); new Float:centpos_y = ((miny + maxy) / 2); new chars[2]; format(chars, sizeof(chars), "%i", number); if (GangZone_CreateNumber(GangZone@Number1[index], chars[0], centpos_x, centpos_y, numbersize) == 0) { GangZoneDestroy(GangZone@MainZone[index]); GangZone@MainZone[index] = INVALID_GANG_ZONE; for(new i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { if(GangZone@Border[index][i] != INVALID_GANG_ZONE) { GangZoneDestroy(GangZone@Border[index][i]); GangZone@Border[index][i] = INVALID_GANG_ZONE; } } return INVALID_GANG_ZONE; } } else if (number >= 10 && number <= 99) { const Float:NUMBER_DISTANCE = 25.0; new Float:centpos_x = ((minx + maxx) / 2); new Float:centpos_y = ((miny + maxy) / 2); new chars[3]; format(chars, sizeof(chars), "%i", number); new numZones = GangZone_CreateNumber(GangZone@Number1[index], chars[0], (centpos_x - (NUMBER_DISTANCE * numbersize)), centpos_y, numbersize); if (numZones == 0) { GangZoneDestroy(GangZone@MainZone[index]); GangZone@MainZone[index] = INVALID_GANG_ZONE; for(new i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { if(GangZone@Border[index][i] != INVALID_GANG_ZONE) { GangZoneDestroy(GangZone@Border[index][i]); GangZone@Border[index][i] = INVALID_GANG_ZONE; } } return INVALID_GANG_ZONE; } if (GangZone_CreateNumber(GangZone@Number2[index], chars[1], (centpos_x + (NUMBER_DISTANCE * numbersize)), centpos_y, numbersize) == 0) { GangZoneDestroy(GangZone@MainZone[index]); GangZone@MainZone[index] = INVALID_GANG_ZONE; for(new i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { if(GangZone@Border[index][i] != INVALID_GANG_ZONE) { GangZoneDestroy(GangZone@Border[index][i]); GangZone@Border[index][i] = INVALID_GANG_ZONE; } } for (new i = 0; i < numZones; i++) { if(GangZone@Number1[index][i] != INVALID_GANG_ZONE) { GangZoneDestroy(GangZone@Number1[index][i]); GangZone@Number1[index][i] = INVALID_GANG_ZONE; } } return INVALID_GANG_ZONE; } } else { GangZoneDestroy(GangZone@MainZone[index]); GangZone@MainZone[index] = INVALID_GANG_ZONE; for(new i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { if(GangZone@Border[index][i] != INVALID_GANG_ZONE) { GangZoneDestroy(GangZone@Border[index][i]); GangZone@Border[index][i] = INVALID_GANG_ZONE; } } return INVALID_GANG_ZONE; } } return index; } #if defined _ALS_GangZoneCreate #undef GangZoneCreate #else #define _ALS_GangZoneCreate #endif #define GangZoneCreate GangZone_Create stock GangZone_Destroy(gangzone) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == INVALID_GANG_ZONE) { return 0; } static i; GangZoneDestroy(GangZone@MainZone[gangzone]); GangZone@MainZone[gangzone] = INVALID_GANG_ZONE; for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { if(GangZone@Border[gangzone][i] != INVALID_GANG_ZONE) { GangZoneDestroy(GangZone@Border[gangzone][i]); GangZone@Border[gangzone][i] = INVALID_GANG_ZONE; } } for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) { if(GangZone@Number1[gangzone][i] != INVALID_GANG_ZONE) { GangZoneDestroy(GangZone@Number1[gangzone][i]); GangZone@Number1[gangzone][i] = INVALID_GANG_ZONE; } if(GangZone@Number2[gangzone][i] != INVALID_GANG_ZONE) { GangZoneDestroy(GangZone@Number2[gangzone][i]); GangZone@Number2[gangzone][i] = INVALID_GANG_ZONE; } } return 1; } #if defined _ALS_GangZoneDestroy #undef GangZoneDestroy #else #define _ALS_GangZoneDestroy #endif #define GangZoneDestroy GangZone_Destroy stock GangZone_ShowForPlayer(playerid, gangzone, color, bordercolor = GANGZONE_DEFAULT_BORDER_COLOR, numbercolor = GANGZONE_DEFAULT_NUMBER_COLOR) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == INVALID_GANG_ZONE) { return 0; } static i; GangZoneShowForPlayer(playerid, GangZone@MainZone[gangzone], color); for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { if(GangZone@Border[gangzone][i] != INVALID_GANG_ZONE) { GangZoneShowForPlayer(playerid, GangZone@Border[gangzone][i], bordercolor); } } for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) { if(GangZone@Number1[gangzone][i] != INVALID_GANG_ZONE) { GangZoneShowForPlayer(playerid, GangZone@Number1[gangzone][i], numbercolor); } if(GangZone@Number2[gangzone][i] != INVALID_GANG_ZONE) { GangZoneShowForPlayer(playerid, GangZone@Number2[gangzone][i], numbercolor); } } return 1; } #if defined _ALS_GangZoneShowForPlayer #undef GangZoneShowForPlayer #else #define _ALS_GangZoneShowForPlayer #endif #define GangZoneShowForPlayer GangZone_ShowForPlayer stock GangZone_ShowForAll(gangzone, color, bordercolor = GANGZONE_DEFAULT_BORDER_COLOR, numbercolor = GANGZONE_DEFAULT_NUMBER_COLOR) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == INVALID_GANG_ZONE) { return 0; } static i; GangZoneShowForAll(GangZone@MainZone[gangzone], color); for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { if(GangZone@Border[gangzone][i] != INVALID_GANG_ZONE) { GangZoneShowForAll(GangZone@Border[gangzone][i], bordercolor); } } for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) { if(GangZone@Number1[gangzone][i] != INVALID_GANG_ZONE) { GangZoneShowForAll(GangZone@Number1[gangzone][i], numbercolor); } if(GangZone@Number2[gangzone][i] != INVALID_GANG_ZONE) { GangZoneShowForAll(GangZone@Number2[gangzone][i], numbercolor); } } return 1; } #if defined _ALS_GangZoneShowForAll #undef GangZoneShowForAll #else #define _ALS_GangZoneShowForAll #endif #define GangZoneShowForAll GangZone_ShowForAll stock GangZone_HideForPlayer(playerid, gangzone) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == INVALID_GANG_ZONE) { return 0; } static i; GangZoneHideForPlayer(playerid, GangZone@MainZone[gangzone]); for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { GangZoneHideForPlayer(playerid, GangZone@Border[gangzone][i]); } for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) { GangZoneHideForPlayer(playerid, GangZone@Number1[gangzone][i]); GangZoneHideForPlayer(playerid, GangZone@Number2[gangzone][i]); } return 1; } #if defined _ALS_GangZoneHideForPlayer #undef GangZoneHideForPlayer #else #define _ALS_GangZoneHideForPlayer #endif #define GangZoneHideForPlayer GangZone_HideForPlayer stock GangZone_HideForAll(gangzone) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == INVALID_GANG_ZONE) { return 0; } static i; GangZoneHideForAll(GangZone@MainZone[gangzone]); for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { GangZoneHideForAll(GangZone@Border[gangzone][i]); } for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) { GangZoneHideForAll(GangZone@Number1[gangzone][i]); GangZoneHideForAll(GangZone@Number2[gangzone][i]); } return 1; } #if defined _ALS_GangZoneHideForAll #undef GangZoneHideForAll #else #define _ALS_GangZoneHideForAll #endif #define GangZoneHideForAll GangZone_HideForAll stock GangZone_FlashForPlayer(playerid, gangzone, flashcolor, borderflashcolor = 0x00, numberflashcolor = 0x00) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == INVALID_GANG_ZONE) { return 0; } static i; GangZoneFlashForPlayer(playerid, GangZone@MainZone[gangzone], flashcolor); if (borderflashcolor != 0x00) { for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { GangZoneFlashForPlayer(playerid, GangZone@Border[gangzone][i], borderflashcolor); } } if (numberflashcolor != 0x00) { for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) { GangZoneFlashForPlayer(playerid, GangZone@Number1[gangzone][i], numberflashcolor); GangZoneFlashForPlayer(playerid, GangZone@Number2[gangzone][i], numberflashcolor); } } return 1; } #if defined _ALS_GangZoneFlashForPlayer #undef GangZoneFlashForPlayer #else #define _ALS_GangZoneFlashForPlayer #endif #define GangZoneFlashForPlayer GangZone_FlashForPlayer stock GangZone_FlashForAll(gangzone, flashcolor, borderflashcolor = 0x00, numberflashcolor = 0x00) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == INVALID_GANG_ZONE) { return 0; } static i; GangZoneFlashForAll(GangZone@MainZone[gangzone], flashcolor); if (borderflashcolor != 0x00) { for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { GangZoneFlashForAll(GangZone@Border[gangzone][i], borderflashcolor); } } if (numberflashcolor != 0x00) { for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) { GangZoneFlashForAll(GangZone@Number1[gangzone][i], numberflashcolor); GangZoneFlashForAll(GangZone@Number2[gangzone][i], numberflashcolor); } } return 1; } #if defined _ALS_GangZoneFlashForAll #undef GangZoneFlashForAll #else #define _ALS_GangZoneFlashForAll #endif #define GangZoneFlashForAll GangZone_FlashForAll stock GangZone_StopFlashForPlayer(playerid, gangzone, bool:mainzone = true, bool:border = true, bool:number = true) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == INVALID_GANG_ZONE) { return 0; } static i; if (mainzone) { GangZoneStopFlashForPlayer(playerid, GangZone@MainZone[gangzone]); } if (border) { for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { GangZoneStopFlashForPlayer(playerid, GangZone@Border[gangzone][i]); } } if (number) { for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) { GangZoneStopFlashForPlayer(playerid, GangZone@Number1[gangzone][i]); GangZoneStopFlashForPlayer(playerid, GangZone@Number2[gangzone][i]); } } return 1; } #if defined _ALS_GangZoneStopFlashForPlayer #undef GangZoneStopFlashForPlayer #else #define _ALS_GangZoneStopFlashForPlayer #endif #define GangZoneStopFlashForPlayer GangZone_StopFlashForPlayer stock GangZone_StopFlashForAll(gangzone, bool:mainzone = true, bool:border = true, bool:number = true) { if (gangzone < 0 || gangzone >= MAX_GANG_ZONES) { return 0; } if (GangZone@MainZone[gangzone] == INVALID_GANG_ZONE) { return 0; } static i; if (mainzone) { GangZoneStopFlashForAll(GangZone@MainZone[gangzone]); } if (border) { for(i = 0; i < MAX_GANGZONE_BORDER_SLOTS; ++i) { GangZoneStopFlashForAll(GangZone@Border[gangzone][i]); } } if (number) { for(i = 0; i < MAX_GANGZONE_NUMBER_SLOTS; ++i) { GangZoneStopFlashForAll(GangZone@Number1[gangzone][i]); GangZoneStopFlashForAll(GangZone@Number2[gangzone][i]); } } return 1; } #if defined _ALS_GangZoneStopFlashForAll #undef GangZoneStopFlashForAll #else #define _ALS_GangZoneStopFlashForAll #endif #define GangZoneStopFlashForAll GangZone_StopFlashForAll
查找差异