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

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

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

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

Проблемы с Ганг Зонами

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

vladbro

Ученик
Такая проблема на карте перепутаны цвета ганг зон,например нарисована Желтая(Вагос) а Груву при попытке захвата пишет "Нельзя нападать на свою территорию" что то вроде этого,вот код,если он не весь напишите откуда вырезать,я обязательно вставлю,заранее очень благодарен.
PHP:
public LoadGZ()
{
    new string[256];
    new File = iniOpen("GangZonesTrigga.ini");
    new l[256];
    new asd[5][10];
    for(new i =0;i<sizeof(GZInfo);i++)
    {
        format(string,sizeof(string),"Zone%d",i);
        new x = iniGet(File,string,l);
        if(x < 0)
        {
            GZInfo[i][gCoords][0] = STANDARTGangZone[i][0];
            GZInfo[i][gCoords][1] = STANDARTGangZone[i][1];
            GZInfo[i][gCoords][2] =STANDARTGangZone[i][2];
            GZInfo[i][gCoords][3] =STANDARTGangZone[i][3];
        }
        else
        {
            split(l,asd,'|');
            GZInfo[i][gCoords][0] = floatstr(asd[0]);
            GZInfo[i][gCoords][1] = floatstr(asd[1]);
            GZInfo[i][gCoords][2] = floatstr(asd[2]);
            GZInfo[i][gCoords][3] = floatstr(asd[3]);
        }
        GZInfo[i][gFrakVlad] = strval(asd[4]);
        if(GZInfo[i][gFrakVlad] == 0) GZInfo[i][gFrakVlad] = allowedfactions[random(sizeof(allowedfactions))];
        GZInfo[i][gID] = GangZoneCreate(GZInfo[i][gCoords][0],GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]);
        ZoneOnBattle[i] =0;
        GZSafeTime[i] =0;
    }
    iniClose(File);
    print("Система гангзон успешно загружена!");
}

public SaveGZ()
{
    new string[256];
    new File = iniOpen("GangZonesTrigga.ini");
    new l[10];
    for(new i =0;i<sizeof(GZInfo);i++)
    {
        format(l,sizeof(l),"Zone%d",i);
        format(string,sizeof(string),"%f|%f|%f|%f|%d",GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3],GZInfo[i][gFrakVlad]);
        iniSet(File,l,string);
    }
    iniClose(File);
}

public GzCheck()
{
    new string[256];
    for(new i =0;i<sizeof(GZInfo);i++)
    {
        if(ZoneOnBattle[i] == 1 && GZSafeTime[i] == 0)
        {
            ZoneTimer[i] -=10;
            if(ZoneTimer[i] <=0)
            {
                SendClientMessageToAll(-1,"Наблюдатель: Время на захват зоны вышел. Ничья.");
                ZoneOnBattle[i] =0;
                GangZoneStopFlashForAll(GZInfo[i][gID]);
                SaveGZ();
                SaveZones();
            }
            for(new x =0;x<MAX_PLAYERS;x++)
            {
                if(PlayerToKvadrat(x,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3])&&IsInAllowed(x))
                {
                    new faction;
                    if(PlayerInfo[x][pLeader] !=0) {faction = PlayerInfo[x][pLeader];}
                    else { faction = PlayerInfo[x][pMember];}
                    OnZONE[i][faction] ++;
                }
            }
            new asd;
            for(new x =0;x<20;x++)
            {
                if(OnZONE[i][x] > 0 && IsInAllowedF(x)) asd ++;
            }
            if(asd == 1)
            {
                for(new x =0;x<20;x++)
                {
                    if(OnZONE[i][x] > 0)
                    {
                        new zx,zl;
                        zx = x;
                        zl = i;
                        if(GZInfo[i][gFrakVlad] == x) {format(string,sizeof(string),"Наблюдатель: Банда %s отстояла свою зону.",GetGangName(zx)); }
                        else
                        {format(string,sizeof(string),"Наблюдатель: Банда %s выйгрывает зону.",GetGangName(zx)); }
                        for(new ads = 13;ads <= 19;ads++)
                        {
                            SendFamilyMessage(ads,GetGangZoneColor(zx),string);
                        }
                        ZoneOnBattle[zl] =0;
                        GZInfo[zl][gNapad] = 0;
                        GZInfo[zl][gFrakVlad] = zx;
                        GangZoneStopFlashForAll(GZInfo[zl][gID]);
                        GangZoneHideForAll(GZInfo[zl][gID]);
                        GangZoneShowForAll(GZInfo[zl][gID],GetGangZoneColor(zl));
                        SaveGZ();
                        SaveZones();
                        break;
                    }
                }
            }
        }
    }
    for(new i =0;i<49;i++)
    {
        for(new z = 0;z<20;z++)
        {
            OnZONE[i][z] =0;
        }
    }
}

public LoadZones()
{
    new arrCoords[2][512];
    new strFromFile2[512];
    new File: file = fopen("ZonesTrigga.ini", io_read);
    if (file)
    {
        new idx;
        while (idx < 5)
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, '|');

            gangzone[idx][mainzones] = strval(arrCoords[0]);
            gangzone[idx][mainzones2] = strval(arrCoords[1]);
			printf("ZONE %d ",gangzone[idx][mainzones]);
            idx++;
        }
        fclose(file);
    }
    return 1;
}
public SaveZones()
{
    new idx;
    new File: file2;
    while (idx < 5)
	    {
	    new coordsstring[512];
	    format(coordsstring, sizeof(coordsstring), "%d|%d\n",
	    gangzone[idx][mainzones],
	    gangzone[idx][mainzones2]
	    );
		if(idx == 0)
         {
		    file2 = fopen("GangZonesTrigga.ini", io_write);
         }
         else
         {
		        file2 = fopen("GangZonesTrigga.ini", io_append);
         }
		fwrite(file2, coordsstring);
      	idx++;
      	fclose(file2);
    }
    return 1;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу