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;
}
Последнее редактирование:
