Bug GangZone -
[BWL]DuST - 27.09.2012
To qse desistindo
quando eu penso que nгo tem mais bugs vai la e me aparece esse das GZ, tava dominando normal ai do nda parou de dominar nda acontece qdo entro na gangzone frrehalls (play Hard 1.7)
pawn Код:
public GangZonesCheck()
{
new string[128];
for(new i = 0; HighestID+1 > i; i++)
{
if(IsPlayerConnected(i) && Player[i][Spawned] == true)
{
new pZone = GetPlayerZone(i);
if(pZone != 999)
{
if(gZonesData[pZone][ZoneInWar] == true && (GetPlayerOrg(i) == gZonesData[pZone][ZoneOwner] ||GetPlayerOrg(i) == gZonesData[pZone][ZoneAttacker]))
{
new score[256];
format(score,256,"Placar da Guerra ~n~~r~%s ~w~x ~b~%s ~n~~y~Pontos: ~r~%d ~w~- ~b~%d~n~~y~Kills: ~r~%d ~w~- ~b~%d~n~~n~~p~Tempo Restante: ~w~%s",
OrgsNamesSmall[gZonesData[pZone][ZoneAttacker]],OrgsNamesSmall[gZonesData[pZone][ZoneOwner]],
gZonesData[pZone][ZoneWarPoints][gZonesData[pZone][ZoneAttacker]], gZonesData[pZone][ZoneWarPoints][gZonesData[pZone][ZoneOwner]],
gZonesData[pZone][ZoneWarKillCount][gZonesData[pZone][ZoneAttacker]], gZonesData[pZone][ZoneWarKillCount][gZonesData[pZone][ZoneOwner]], ConvertSecondsToMins(gZonesData[pZone][ZoneWarTimeLeft]));
TextDrawSetString(WarPointsTD[i], score);
if(Player[i][SeePoints] == false)
{
TextDrawShowForPlayer(i, WarPointsTD[i]);
Player[i][SeePoints] = true;
}
}
else
{
if(Player[i][SeePoints] == true)
{
TextDrawHideForPlayer(i, WarPointsTD[i]);
Player[i][SeePoints] = false;
}
}
format(string,128,"- %s -~n~~p~Territ¦rio: ~w~~h~%s", TurfsCoords[pZone][zName], GetZoneOwnerName(pZone));
TextDrawSetString(ZoneName[i], string);
if(Player[i][SeeName] == false && Player[i][Spawned] == true)
{
TextDrawShowForPlayer(i, ZoneName[i]);
Player[i][SeeName] = true;
}
if(IsAGang(i))
{
SetPlayerChatBubble( i, "GangZone", COLOR_RED, 50.0, 20000);
InGZ[i] = 60;
}
if(gZonesData[pZone][ZonePlayerReqMet][GetPlayerOrg(i)] > 0 && gZonesData[pZone][ZoneOwner] != GetPlayerOrg(i))
{
new percent = 100;
percent = floatround((100*gZonesData[pZone][ZonePlayerReqMet][GetPlayerOrg(i)])/ZONE_CHECKS);
TextDrawShowForPlayer(i, ChecksBar[percent]);
TextDrawShowForPlayer(i, ChecksBar[100]);
TextDrawShowForPlayer(i, ChecksBar[101]);
TextDrawShowForPlayer(i, ChecksBar[102]);
Player[i][SeeChecksBar] = true;
}
else
{
if(Player[i][SeeChecksBar] == true)
{
for(new x = 0; x < sizeof(ChecksBar); x ++)
TextDrawHideForPlayer(i, ChecksBar[x]);
Player[i][SeeChecksBar] = false;
}
}
}
else
{
if(Player[i][SeeChecksBar] == true)
{
for(new x = 0; x < sizeof(ChecksBar); x ++)
TextDrawHideForPlayer(i, ChecksBar[x]);
Player[i][SeeChecksBar] = false;
}
if(Player[i][SeePoints] == true)
{
TextDrawHideForPlayer(i, WarPointsTD[i]);
Player[i][SeePoints] = false;
}
if(Player[i][SeeName] == true)
{
Player[i][SeeName] = false;
TextDrawHideForPlayer(i, ZoneName[i]);
}
}
}
}
return 1;
}
me ajudem ai manolos, й a ultima vez, se eu encontrar + bugs depois desse eu desisto. Um colega disse que й um loop q ta invertido mais n achei, me ajudem ae!
Re: Bug GangZone -
FenixBorn - 27.09.2012
Tenta isso aew meu carinha
pawn Код:
forward GangZonesCheck();
public GangZonesCheck()
{
new string[128];
for(new i = 0; HighestID+1 > i; i++)
{
if(IsPlayerConnected(i) && Player[i][Spawned] == true)
{
new pZone = GetPlayerZone(i);
if(pZone != 999)
{
if(gZonesData[pZone][ZoneInWar] == true && (GetPlayerOrg(i) == gZonesData[pZone][ZoneOwner] ||GetPlayerOrg(i) == gZonesData[pZone][ZoneAttacker]))
{
new score[256];
format(score,256,"~b~Disputa do Territorio ~n~~g~%s ~w~x ~r~%s ~n~~w~Pontos: ~g~%d ~w~- ~r~%d~n~~w~Mortes: ~g~%d ~w~- ~r~%d~n~~n~~w~Tempo Restante: ~w~%s",
OrgsNamesSmall[gZonesData[pZone][ZoneAttacker]],OrgsNamesSmall[gZonesData[pZone][ZoneOwner]],
gZonesData[pZone][ZoneWarPoints][gZonesData[pZone][ZoneAttacker]], gZonesData[pZone][ZoneWarPoints][gZonesData[pZone][ZoneOwner]],
gZonesData[pZone][ZoneWarKillCount][gZonesData[pZone][ZoneAttacker]], gZonesData[pZone][ZoneWarKillCount][gZonesData[pZone][ZoneOwner]], ConvertSecondsToMins(gZonesData[pZone][ZoneWarTimeLeft]));
TextDrawSetString(WarPointsTD[i], score);
if(Player[i][SeePoints] == false)
{
TextDrawShowForPlayer(i, WarPointsTD[i]);
Player[i][SeePoints] = true;
}
}
else
{
if(Player[i][SeePoints] == true)
{
TextDrawHideForPlayer(i, WarPointsTD[i]);
Player[i][SeePoints] = false;
}
}
format(string,128,"- %s -~n~~r~Territ¦rio: ~w~~h~%s", TurfsCoords[pZone][zName], GetZoneOwnerName(pZone));
TextDrawSetString(ZoneName[i], string);
if(Player[i][SeeName] == false && Player[i][Spawned] == true)
{
TextDrawShowForPlayer(i, ZoneName[i]);
Player[i][SeeName] = true;
}
if(IsAGang(i))
{
SetPlayerChatBubble( i, "{FF0000}[GangZone]", COLOR_RED, 50.0, 20000);
InGZ[i] = 60;
}
if(gZonesData[pZone][ZonePlayerReqMet][GetPlayerOrg(i)] > 0 && gZonesData[pZone][ZoneOwner] != GetPlayerOrg(i))
{
new percent = 100;
percent = floatround((100*gZonesData[pZone][ZonePlayerReqMet][GetPlayerOrg(i)])/ZONE_CHECKS);
TextDrawShowForPlayer(i, ChecksBar[percent]);
TextDrawShowForPlayer(i, ChecksBar[100]);
TextDrawShowForPlayer(i, ChecksBar[101]);
TextDrawShowForPlayer(i, ChecksBar[102]);
Player[i][SeeChecksBar] = true;
}
else
{
if(Player[i][SeeChecksBar] == true)
{
for(new x = 0; x < sizeof(ChecksBar); x ++)
TextDrawHideForPlayer(i, ChecksBar[x]);
Player[i][SeeChecksBar] = false;
}
}
}
else
{
if(Player[i][SeeChecksBar] == true)
{
for(new x = 0; x < sizeof(ChecksBar); x ++)
TextDrawHideForPlayer(i, ChecksBar[x]);
Player[i][SeeChecksBar] = false;
}
if(Player[i][SeePoints] == true)
{
TextDrawHideForPlayer(i, WarPointsTD[i]);
Player[i][SeePoints] = false;
}
if(Player[i][SeeName] == true)
{
Player[i][SeeName] = false;
TextDrawHideForPlayer(i, ZoneName[i]);
}
}
}
}
return 1;
}
Re: Bug GangZone -
[BWL]DuST - 27.09.2012
infelizmente nda
Alguem ajuuuda por favorr. Fenix vc n conhece um outro freehalls desbugado pra download?
Re: Bug GangZone -
FenixBorn - 27.09.2012
Tem sу o meu,,kkkkkkkkkkkk..esse bug eu arrumei,,n lembro como,,rsrs
vai tentando aew: (substituindo pelos atuais do GM)
pawn Код:
stock IsPlayerInZone(playerid, zoneid) {
if(zoneid == -1) return false;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if(x >= zones[zoneid][zone_minx] && x < zones[zoneid][zone_maxx] && y >= zones[zoneid][zone_miny] && y < zones[zoneid][zone_maxy] && z >= zones[zoneid][zone_minz] && z < zones[zoneid][zone_maxz] && z < 900.0) return true;
return false;
}
pawn Код:
stock ReturnPlayerZone(playerid)
{
new playerzone[24] = "Desconhecido";
for(new j; j < sizeof(zones); j++)
{
if(IsPlayerInZone(playerid,j))
{
memcpy(playerzone, zones[j][zone_name], 0, 108);
break;
}
}
return playerzone;
}
pawn Код:
//Attackers Won
else if(winner == attack_gang)
{
if(GetPlayerOrg(k) == defend_gang)
RemoveWarPoints(k, LOSE_WAR);
if(GetPlayerOrg(k) == attack_gang && IsPlayerInZone(k, zoneid))
AddWarPoints(k, TAKE_OVER);
if(GetPlayerOrg(k) == defend_gang)
{
SendClientMessage(k, COLOR_GREY, msg_loser);
TimeTextForPlayer(k,LoserTextDraw,4500);
}
if(GetPlayerOrg(k) == attack_gang)
{
TimeTextForPlayer(k,WinnerTextDraw,4500);
SendClientMessage(k, COLOR_GOLD, msg_winner);
}
}
}
}
pawn Код:
new kZone = GetPlayerZone(killerid);
if(GetPlayerOrg(killerid) != 0 && GetPlayerVirtualWorld(playerid) == 0 && IsPlayerConnected(playerid) && IsPlayerConnected(killerid) && pZone != 999 &&
kZone != 999)
{
if(gZonesData[pZone][ZoneInWar] == true || gZonesData[kZone][ZoneInWar] == true)
{
new zone;
if(gZonesData[pZone][ZoneInWar] == true)
zone = pZone;
else if(gZonesData[kZone][ZoneInWar] == true)
zone = kZone;
if(GetPlayerOrg(killerid) == GetPlayerOrg(playerid) && (gZonesData[kZone][ZoneOwner] == GetPlayerOrg(playerid) || gZonesData[kZone][ZoneAttacker] == GetPlayerOrg(playerid)))
{
new othergang;
if(gZonesData[kZone][ZoneOwner] == GetPlayerOrg(killerid))
othergang = gZonesData[kZone][ZoneAttacker];
else
othergang = gZonesData[kZone][ZoneOwner];
gZonesData[zone][ZoneWarPoints][othergang]+= KILLING_POINTS;
gZonesData[zone][ZoneWarKillCount][othergang] ++;
}
else if( (GetPlayerOrg(killerid) == gZonesData[zone][ZoneAttacker] && GetPlayerOrg(playerid) == gZonesData[zone][ZoneOwner]) ||
(GetPlayerOrg(killerid) == gZonesData[zone][ZoneOwner] && GetPlayerOrg(playerid) == gZonesData[zone][ZoneAttacker]))
{
gZonesData[zone][ZoneWarPoints][GetPlayerOrg(killerid)]+= KILLING_POINTS;
gZonesData[zone][ZoneWarKillCount][GetPlayerOrg(killerid)] ++;
Player[killerid][TurfKills] ++;
Player[playerid][TurfDeaths] ++;
AddWarPoints(killerid, KILL_IN_WAR);
if(GetWarPoints(playerid) >= DIE_IN_WAR)
{
RemoveWarPoints(playerid, DIE_IN_WAR);
}
if(gZonesData[zone][ZoneWarPoints][GetPlayerOrg(killerid)] >= gZonesData[zone][ZoneWarPoints][GetPlayerOrg(playerid)])
{
gZonesData[zone][ZoneWarTimeLeft] -= TIME_BOBUS_WINNING;
}
else if(gZonesData[zone][ZoneWarPoints][GetPlayerOrg(killerid)] < gZonesData[zone][ZoneWarPoints][GetPlayerOrg(playerid)])
{
gZonesData[zone][ZoneWarTimeLeft] += TIME_BOBUS_LOSING;
}
}
}
if(!gZonesData[pZone][ZoneInWar] && gZonesData[pZone][ZonePlayerReqMet] > 0 && GetPlayerOrg(killerid) == gZonesData[pZone][ZoneOwner])
{
gZonesData[pZone][ZonePlayerReqMet]--;
}
if(kZone == pZone && gZonesData[kZone][ZoneOwner] == GetPlayerOrg(killerid) && !gZonesData[kZone][ZoneInWar] && !gZonesData[kZone][ZoneIsSpawn])
{
GivePlayerGP(killerid, MONEY_BONUS);
}
}
}
}
ALGUM TEM Q FUNCIONAR..KKKSE N DER NAO SEI CARA