Добрый день, помогите пожалуйста, решить данную проблему с ганг зонами вообщем когда на сервере идет вар за ганг зоны то после вара ганг зоны меняются если выиграл но после того как сервер рестартнут админы или вообще сервере перезапустится то ганг зоны возврощаются так как было до варов тоесть они не сохроняются.
PHP код:
stock LoadGZ()
{
new string[64],result[64],a;
for(new i =0;i<sizeof(GZInfo);i++)
{
f(string, "SELECT * FROM `gangzone` WHERE `ID` = '%d'", i);
mysql_query(string);
mysql_store_result();
if(mysql_num_rows() == 1)
{
mysql_fetch_row_format(result, "|");
sscanf(result, "p<|>iffffi",a,
GZInfo[i][gCoords][0],
GZInfo[i][gCoords][1],
GZInfo[i][gCoords][2],
GZInfo[i][gCoords][3],
GZInfo[i][gZoneOwner]);
mysql_free_result();
GZInfo[i][gID] = GangZoneCreate(GZInfo[i][gCoords][0], GZInfo[i][gCoords][1], GZInfo[i][gCoords][2], GZInfo[i][gCoords][3]);
GoWar =0;
GZSafeTime = 0;
}
}
print("|Гангзоны загружены.");
return 1;
}
PHP код:
stock SaveGZ(){
new string[55];
for(new i =0;i<sizeof(GZInfo);i++){
f(string,"UPDATE `gangzone` SET `gang` = '%d' WHERE `ID` = '%i'",GZInfo[i][gZoneOwner],GZInfo[i][gID]);
mysql_query(string);}}
PHP код:
publics FiveSecond()
{
new string[256];
if(GoMafiaWar == 1 && MZSafeTime == 0)
{
if(AtackMafiaPoint == DefenceMafiaPoint)
{
f(string,"[ФРАКЦИЯ]{FFFFFF}Вы отстояли свой бизнес!");
SendTeamMessage(DefenceMafiaFraction,TAXI_COLOR,string);
f(string,"[ФРАКЦИЯ]{FFFFFF}Вы не смогли захватить бизнес!");
SendTeamMessage(AtackMafiaFraction,TAXI_COLOR,string);
GangZoneStopFlashForAll(zons);
GangZoneHideForAll(zons);
OverWar();
WarTimer();
return 1;
}
if(DefenceMafiaPoint > AtackMafiaPoint)
{
f(string,"[ФРАКЦИЯ]{FFFFFF}Вы отстояли свой бизнес!");
SendTeamMessage(DefenceMafiaFraction,TAXI_COLOR,string);
f(string,"[ФРАКЦИЯ]{FFFFFF}Вы не смогли захватить новый бизнес!");
SendTeamMessage(AtackMafiaFraction,TAXI_COLOR,string);
if(DefenceMafiaFraction == 5) lcnscore += 1;
if(DefenceMafiaFraction == 6) yakudzascore += 1;
if(DefenceMafiaFraction == 15) rmscore += 1;
GangZoneStopFlashForAll(zons);
GangZoneHideForAll(zons);
SaveInstrument();
OverWar();
WarTimer();
return 1;
}
if(DefenceMafiaPoint < AtackMafiaPoint)
{
f(string,"[ФРАКЦИЯ]{FFFFFF}Вы потеряли бизнес %s!",BiznesInfo[BiznesOnBattle-1][bMessage]);
SendTeamMessage(DefenceMafiaFraction,TAXI_COLOR,string);
f(string,"[ФРАКЦИЯ]{FFFFFF}Вы завоевали бизнес %s!",BiznesInfo[BiznesOnBattle-1][bMessage]);
SendTeamMessage(AtackMafiaFraction,TAXI_COLOR,string);
if(AtackMafiaFraction == 5) lcnscore += 1;
if(AtackMafiaFraction == 6) yakudzascore += 1;
if(AtackMafiaFraction == 15) rmscore += 1;
BiznesInfo[BiznesOnBattle-1][bMafia] = AtackMafiaFraction;
GangZoneStopFlashForAll(zons);
GangZoneHideForAll(zons);
UpdateBiz(BiznesOnBattle-1);
SaveBiznes();
OverWar();
WarTimer();
SaveInstrument();
return 1;
}
foreach(new i: Player)
{
if(Player[i][pLeader] == DefenceMafiaFraction || Player[i][pMember] == DefenceMafiaFraction || Player[i][pLeader] == AtackMafiaFraction || Player[i][pMember] == AtackMafiaFraction)
{
TextDrawHideForPlayer(i,MzScore[i]);
TextDrawHideForPlayer(i,TimeMz[i]);
}
}
}
if(GoWar == 1 && GZSafeTime == 0)
{
if(AtackPoint == DefencePoint)
{
SendTeamMessage(DefenceFraction,TAXI_COLOR,"[ФРАКЦИЯ]{FFFFFF}Вы отстояли свою зону!");
SendTeamMessage(AtackFraction,TAXI_COLOR,"[ФРАКЦИЯ]{FFFFFF}Вы не смогли захватить новую зону!");
OverWar();
WarTimer();
GangZoneStopFlashForAll(GZInfo[ZoneOnBattle][gID]);
GangZoneHideForAll(GZInfo[ZoneOnBattle][gID]);
GangZoneShowForAll(GZInfo[ZoneOnBattle][gID],GetGangZoneColor(ZoneOnBattle));
return 1;
}
if(DefencePoint > AtackPoint)
{
f(string,"[ФРАКЦИЯ]{FFFFFF}Вы отстояли свою зону!");
SendTeamMessage(DefenceFraction,TAXI_COLOR,string);
f(string,"[ФРАКЦИЯ]{FFFFFF}Вы не смогли захватить новую зону!");
SendTeamMessage(AtackFraction,TAXI_COLOR,string);
if(DefenceFraction == 10) rifascore += 1;
if(DefenceFraction == 11) vagosscore += 1;
if(DefenceFraction == 12) grovescore += 1;
if(DefenceFraction == 13) ballasscore += 1;
if(DefenceFraction == 14) coronosscore += 1;
SaveInstrument();
OverWar();
WarTimer();
GangZoneStopFlashForAll(GZInfo[ZoneOnBattle][gID]);
GangZoneHideForAll(GZInfo[ZoneOnBattle][gID]);
GangZoneShowForAll(GZInfo[ZoneOnBattle][gID],GetGangZoneColor(ZoneOnBattle));
return 1;
}
if(DefencePoint < AtackPoint)
{
f(string,"[ФРАКЦИЯ]{FFFFFF}Вы потеряли свою зону!");
SendTeamMessage(DefenceFraction,TAXI_COLOR,string);
f(string,"[ФРАКЦИЯ]{FFFFFF}Вы завоевали новую зону!");
SendTeamMessage(AtackFraction,TAXI_COLOR,string);
if(AtackFraction == 10) rifascore += 1;
if(AtackFraction == 11) vagosscore += 1;
if(AtackFraction == 12) grovescore += 1;
if(AtackFraction == 13) ballasscore += 1;
if(AtackFraction == 14) coronosscore += 1;
GangZoneStopFlashForAll(GZInfo[ZoneOnBattle][gID]);
GangZoneHideForAll(GZInfo[ZoneOnBattle][gID]);
GangZoneShowForAll(GZInfo[ZoneOnBattle][gID],GetGangZoneColor(AtackFraction-2));
SaveInstrument();
OverWar();
WarTimer();
SaveGZ();
return 1;
}
foreach(new i: Player)
{
if(Player[i][pLeader] == DefenceFraction || Player[i][pMember] == DefenceFraction || Player[i][pLeader] == AtackFraction || Player[i][pMember] == AtackFraction)
{
TextDrawHideForPlayer(i,GzScore[i]);
TextDrawHideForPlayer(i,TimeGz[i]);
}
}
}
return 1;
}