Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Ганг Зоны Для GTA CR-MP

Статус
В этой теме нельзя размещать новые ответы.

Alex_Lincoln

Компетентный
Захватывать можно без комманды p.s ёё тут вобще нету, Короче захватывать зону можно
одним способом, тебе надо убить врага на его зоне, и тогда начнётся ВАР.


Приступим к установке, добавляем ко всем #define
​
PHP:
// GZ
#define MAX_GANGZONES 48
#define REOWN_TURF 4
#define GANGAREA_WARNINGS 2
#define GANGAREA_TAKE 4
Теперь, ко всем new
PHP:
// GZ
new Float:GangZones[MAX_GANGZONES][4]={
{2787.367675, -1063.354492, 2995.367675, -895.354431},
{2577.861572, -1056.913940, 2787.590087, -898.770690},
{2368.133056, -1056.913940, 2577.861572, -898.770690},
{2158.404541, -1056.913940, 2368.133056, -898.770690},
{1948.676025, -1056.913940, 2158.404541, -898.770690},
{1738.947509, -1056.913940, 1948.676025, -898.770690},
{1738.947509, -2163.916503, 1948.676025, -2005.773437},
{2787.590087, -1215.057128, 2997.318603, -1056.913940},
{2787.590087, -1373.200439, 2997.318603, -1215.057128},
{2787.590087, -1531.343750, 2997.318603, -1373.200439},
{2787.590087, -1689.486938, 2997.318603, -1531.343750},
{2787.590087, -1847.630126, 2997.318603, -1689.486938},
{2787.590087, -2005.773437, 2997.318603, -1847.630126},
{2787.590087, -2163.916503, 2997.318603, -2005.773437},
{2577.861572, -1215.057128, 2787.590087, -1056.913940},
{2577.861572, -1373.200439, 2787.590087, -1215.057128},
{2577.861572, -1531.343750, 2787.590087, -1373.200439},
{2577.861572, -1689.486938, 2787.590087, -1531.343750},
{2577.861572, -1847.630126, 2787.590087, -1689.486938},
{2577.861572, -2005.773437, 2787.590087, -1847.630126},
{2577.861572, -2163.916503, 2787.590087, -2005.773437},
{2368.133056, -1215.057128, 2577.861572, -1056.913940},
{2368.133056, -1373.200439, 2577.861572, -1215.057128},
{2368.133056, -1531.343750, 2577.861572, -1373.200439},
{2368.133056, -1689.486938, 2577.861572, -1531.343750},
{2368.133056, -1847.630126, 2577.861572, -1689.486938},
{2368.133056, -2005.773437, 2577.861572, -1847.630126},
{2368.133056, -2163.916503, 2577.861572, -2005.773437},
{2158.404541, -1215.057128, 2368.133056, -1056.913940},
{2158.404541, -1373.200439, 2368.133056, -1215.057128},
{2158.404541, -1531.343750, 2368.133056, -1373.200439},
{2158.404541, -1689.486938, 2368.133056, -1531.343750},
{2158.404541, -1847.630126, 2368.133056, -1689.486938},
{2158.404541, -2005.773437, 2368.133056, -1847.630126},
{2158.404541, -2163.916503, 2368.133056, -2005.773437},
{1948.676025, -1215.057128, 2158.404541, -1056.913940},
{1948.676025, -1373.200439, 2158.404541, -1215.057128},
{1948.676025, -1531.343750, 2158.404541, -1373.200439},
{1948.676025, -1689.486938, 2158.404541, -1531.343750},
{1948.676025, -1847.630126, 2158.404541, -1689.486938},
{1948.676025, -2005.773437, 2158.404541, -1847.630126},
{1948.676025, -2163.916503, 2158.404541, -2005.773437},
{1738.947509, -1215.057128, 1948.676025, -1056.913940},
{1738.947509, -1373.200439, 1948.676025, -1215.057128},
{1738.947509, -1531.343750, 1948.676025, -1373.200439},
{1738.947509, -1689.486938, 1948.676025, -1531.343750},
{1738.947509, -1847.630126, 1948.676025, -1689.486938},
{1738.947509, -2005.773437, 1948.676025, -1847.630126}
};
new GZColor[4]={0xFF00FFAA,0xB8860BAA,0x36D352AA,0x00FDFDAA};// Цвета банд
new gangzone[MAX_GANGZONES][1];
new gzc[sizeof(GangZones)];
new gzkillteam2[MAX_PLAYERS];
new gzkillteam[MAX_PLAYERS];
new taimer11;
new taimer22;
new taimer33;
new taimer44;
Добавляем в паблик public OnPlayerDeath(playerid, killerid, reason) добавляем
PHP:
// GZ
if(PlayerInfo[killerid][pLeader] == 12 || PlayerInfo[killerid][pLeader] == 17 || PlayerInfo[killerid][pLeader] == 21 || PlayerInfo[killerid][pLeader] == 24  || PlayerInfo[killerid][pMember] == 4 || PlayerInfo[killerid][pMember] == 13 || PlayerInfo[killerid][pMember] == 16)
{
if(PlayerInfo[playerid][pLeader] == 12 || PlayerInfo[playerid][pLeader] == 17 || PlayerInfo[playerid][pLeader] == 21 || PlayerInfo[playerid][pLeader] == 24 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pMember] == 16)
{
for(new h = 0; h < sizeof(GangZones); h++)
{
if(IsPlayerInArea(killerid, GangZones[h][0], GangZones[h][1], GangZones[h][2], GangZones[h][3]))
{
if(PlayerInfo[killerid][pMember] > 0)
{
taimer33 = PlayerInfo[killerid][pMember];
}
else if(PlayerInfo[killerid][pLeader] > 0)
{
taimer33 = PlayerInfo[killerid][pLeader];
}
if(PlayerInfo[playerid][pMember] > 0)
{
taimer44 = PlayerInfo[playerid][pMember];
}
else if(PlayerInfo[playerid][pLeader] > 0)
{
taimer44 = PlayerInfo[playerid][pLeader];
}
if(taimer33 == 12)
{
gzkillteam2[killerid]++;
if(gzkillteam2[killerid] == REOWN_TURF)
{
GangZoneStopFlashForAll(gzc[h]);
GangZoneHideForAll(gzc[h]);
GangZoneShowForAll(gzc[h], GZColor[0]);
gzkillteam2[killerid] = 0;
}
}
if((taimer44 != 12) && (taimer33 == 12) && (killerid != INVALID_PLAYER_ID))
{
gzkillteam[killerid]++;
if(gzkillteam[killerid] == GANGAREA_WARNINGS)
{
if(gangzone[h][taimer11] == 1)
{
return 1;
}
GangZoneFlashForAll(gzc[h],GZColor[0]);
}
if(gzkillteam[killerid] == GANGAREA_TAKE)
{
if(gangzone[h][taimer11] == 1)
{
return 1;
}
GangZoneStopFlashForAll(gzc[h]);
GangZoneHideForAll(gzc[h]);
GangZoneShowForAll(gzc[h], GZColor[0]);
gangzone[h][taimer11] = 1;
gangzone[h][taimer22] = 1;
gzkillteam[killerid]=0;
}
}
if(taimer33 == 13)
{
gzkillteam2[killerid]++;
if(gzkillteam2[killerid] == REOWN_TURF)
{
GangZoneStopFlashForAll(gzc[h]);
GangZoneHideForAll(gzc[h]);
GangZoneShowForAll(gzc[h], GZColor[1]);
gzkillteam2[killerid] = 0;
}
}
if((taimer44 != 17) && (taimer33 == 17) && (killerid != INVALID_PLAYER_ID))
{
gzkillteam[killerid]++;
if(gzkillteam[killerid] == GANGAREA_WARNINGS)
{
if(gangzone[h][taimer11] == 2)
{
return 1;
}
GangZoneFlashForAll(gzc[h],GZColor[1]);
}
if(gzkillteam[killerid] == GANGAREA_TAKE)
{
if(gangzone[h][taimer11] == 2)
{
return 1;
}
GangZoneStopFlashForAll(gzc[h]);
GangZoneHideForAll(gzc[h]);
GangZoneShowForAll(gzc[h], GZColor[1]);
gangzone[h][taimer11] = 2;
gangzone[h][taimer22] = 2;
gzkillteam[killerid]=0;
}
}
if(taimer33 == 15)
{
gzkillteam2[killerid]++;
if(gzkillteam2[killerid] == REOWN_TURF)
{
GangZoneStopFlashForAll(gzc[h]);
GangZoneHideForAll(gzc[h]);
GangZoneShowForAll(gzc[h], GZColor[2]);
gzkillteam2[killerid] = 0;
}
}
if((taimer44 != 21) && (taimer33 == 21) && (killerid != INVALID_PLAYER_ID))
{
gzkillteam[killerid]++;
if(gzkillteam[killerid] == GANGAREA_WARNINGS)
{
if(gangzone[h][taimer11] == 3)
{
return 1;
}
GangZoneFlashForAll(gzc[h],GZColor[2]);
}
if(gzkillteam[killerid] == GANGAREA_TAKE)
{
if(gangzone[h][taimer11] == 2)
{
return 1;
}
GangZoneStopFlashForAll(gzc[h]);
GangZoneHideForAll(gzc[h]);
GangZoneShowForAll(gzc[h], GZColor[2]);
gangzone[h][taimer11] = 3;
gangzone[h][taimer22] = 3;
gzkillteam[killerid]=0;
}
}
if((taimer44 != 24) && (taimer33 == 24) && (killerid != INVALID_PLAYER_ID))
{
gzkillteam[killerid]++;
if(gzkillteam[killerid] == GANGAREA_WARNINGS)
{
if(gangzone[h][taimer11] == 2)
{
return 1;
}
GangZoneFlashForAll(gzc[h],GZColor[3]);
}
if(gzkillteam[killerid] == GANGAREA_TAKE)
{
if(gangzone[h][taimer11] == 2)
{
return 1;
}
GangZoneStopFlashForAll(gzc[h]);
GangZoneHideForAll(gzc[h]);
GangZoneShowForAll(gzc[h], GZColor[3]);
gangzone[h][taimer11] = 3;
gangzone[h][taimer22] = 3;
gzkillteam[killerid]=0;
}
}
if(taimer33 == 17)
{
gzkillteam2[killerid]++;
if(gzkillteam2[killerid] == REOWN_TURF)
{
GangZoneStopFlashForAll(gzc[h]);
GangZoneHideForAll(gzc[h]);
GangZoneShowForAll(gzc[h], GZColor[3]);
gzkillteam2[killerid] = 0;
}
}
GZSave();
}
}
}
}
Добавьте в паблик public OnPlayerDisconnect(playerid, reason)
PHP:
GZSave();
Добавляем в паблик public OnPlayerSpawn(playerid)
PHP:
new gzcolor;
        for(new h = 0; h < sizeof(GangZones); h++)
        {
                if (gangzone[h][taimer11] == 1)
        {
        gzcolor = GZColor[0];
        }
                else if(gangzone[h][taimer11] == 2)
        {
        gzcolor = GZColor[1];
        }
                else if(gangzone[h][taimer11] == 3)
        {
        gzcolor = GZColor[2];
        }
                else if(gangzone[h][taimer11] == 4)
        {
        gzcolor = GZColor[3];
        }
                GangZoneShowForPlayer(playerid, gzc[h], gzcolor);
        }
Теперь в паблик OnGameModeInit()
PHP:
GZLoad();
        for(new h = 0; h < sizeof(GangZones); h++)
        {
                gzc[h] = GangZoneCreate(GangZones[h][0]-150, GangZones[h][1]-700, GangZones[h][2]-150, GangZones[h][3]-700);
        }
Добавляем в конец мода
PHP:
stock GZLoad()
{
        new arrCoords[2][512];
        new strFromFile2[512];
        new File: file = fopen("gzfile.cfg", io_read);
        if (file)
        {
        new idx;
        while (idx < MAX_GANGZONES)
        {
                fread(file, strFromFile2);
                split(strFromFile2, arrCoords, ',');
                gangzone[idx][taimer11] = strval(arrCoords[0]);
                gangzone[idx][taimer22] = strval(arrCoords[1]);
                idx++;
                }
                        fclose(file);
                        printf("Загруженно гангзон %d",idx);
                }
        return 1;
}
stock GZSave()
{
        new idx;
        new File: file2;
        while (idx < MAX_GANGZONES)
        {
                new coordsstring[512];
                format(coordsstring, sizeof(coordsstring), "%d,%d\n",
                gangzone[idx][taimer11],
                gangzone[idx][taimer22]);
                if(idx == 0)
                {
                        file2 = fopen("gzfile.cfg", io_write);
                }else{
                        file2 = fopen("gzfile.cfg", io_append);
                }
                fwrite(file2, coordsstring);
                idx++;
                fclose(file2);
        }
        return 1;
}
stock IsPlayerInArea(playerid, Float:min_x, Float:min_y ,Float:max_x, Float:max_y)
{
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        if(X <= max_x && X >= min_x && Y <= max_y && Y >= min_y) return 1;
        return 0;
}
Ну вот и всё ГЗ готовы!
Добавьте в папку с сервером scriptfiles

Автор: Jeff_Hardy
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу