Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Система Гангзон С Захватом - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (4 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ GF ]
Система Гангзон С Захватом
Оценка: ***** 2 Голосов

#1
Пользователь офлайн   Jeff_Hardy 

  • Banned
  • Вставить ник
  • Раскрыть информацию
Привет всем, представляю вам система гангзон!

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

Приступим к установке, добавляем ко всем #define

// GZ
#define MAX_GANGZONES 48
#define REOWN_TURF 4
#define GANGAREA_WARNINGS 2
#define GANGAREA_TAKE 4


Теперь, ко всем new
// 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) добавляем
// GZ
if(PlayerInfo[killerid][pLeader] == 12 || PlayerInfo[killerid][pLeader] == 13 || PlayerInfo[killerid][pLeader] == 15 || PlayerInfo[killerid][pLeader] == 17  || PlayerInfo[killerid][pMember] == 12 || PlayerInfo[killerid][pMember] == 13 || PlayerInfo[killerid][pMember] == 15 || PlayerInfo[killerid][pMember] == 17)
{
if(PlayerInfo[playerid][pLeader] == 12 || PlayerInfo[playerid][pLeader] == 13 || PlayerInfo[playerid][pLeader] == 15 || PlayerInfo[playerid][pLeader] == 17 || PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pMember] == 17)
{
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 != 13) && (taimer33 == 13) && (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 != 15) && (taimer33 == 15) && (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 != 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[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)
GZSave();


Добавляем в паблик public OnPlayerSpawn(playerid) >
    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()
// GZ
GZLoad();
    for(new h = 0; h < sizeof(GangZones); h++)
    {
        gzc[h] = GangZoneCreate(GangZones[h][0], GangZones[h][1], GangZones[h][2], GangZones[h][3]);
    } 


В конец мода:
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 | gzfile.rar [114байт]
Автор: Jeff_Hardy

Кому не жалко ставим +

#2
Пользователь офлайн   Lwf 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Автор не ты,и заключи в
[php] [/php]

0

#3
Пользователь офлайн   Erick 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Автор не ты,и заключи в


К чему такие довыды? Может и он делал, что за привычка у многих писать, 'АВТОР НЕ ТЫ'

Ошибок граматических много, читать не приятно....
0

#4
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию
Система хорошая. Подправил первый пост. +
2

#5
Пользователь офлайн   Jeff_Hardy 

  • Banned
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSlaer (19 Декабрь 2011 - 06:52) писал:

Автор не ты,и заключи в
[php] [/php]



Док-во где ? что автор не я ?

#6
Пользователь офлайн   Karandash 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Пичалька..все для РП
0

#7
Пользователь офлайн   OneLifeOneDream 

  • Знаток
  • Вставить ник
  • Раскрыть информацию
Хах спс 1 ГЗ которые без варнингов и ероров сделал
0

#8
Пользователь офлайн   hartmary 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
спс +
0

#9
Пользователь офлайн   OneLifeOneDream 

  • Знаток
  • Вставить ник
  • Раскрыть информацию
ты то + сам не поставил :D
0

#10
Пользователь офлайн   Fasters 

  • Fuck Yeah
  • Вставить ник
  • Раскрыть информацию
Спасибо,очень давно искал!))
0

Поделиться темой:


  • (4 Страниц) +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей