Quote:
| 
					Originally Posted by Naine  
PHP код: 
new 
safe_zone,
 sabe_zone_timer;
 new
 Float:minx = 1248.011,
 Float:miny = 2072.804,
 Float:maxx = 1439.348,
 Float:maxy = 2204.319;
 public OnGameModeInit()
 {
 /*
 minY
 v
 minX > *-------------
 |            |
 |  gangzone  |
 |   center   |
 |            |
 -------------* < maxX
 ^
 maxY
 */
 safe_zone = GangZoneCreate(minx, miny, maxx, maxy);
 return true;
 }
 public OnPlayerConnect(playerid)
 {
 sabe_zone_timer = SetTimerEx("OnPlayerEnterGangZone", 1000, true, "i", playerid);
 return true;
 }
 public OnPlayerDisconnect(playerid, reason)
 {
 #pragma unused reason
 KillTimer(sabe_zone_timer);
 return true;
 }
 forward OnPlayerEnterGangZone(playerid);
 public OnPlayerEnterGangZone(playerid)
 {
 new Float:x, Float:y, Float:z;
 GetPlayerPos(playerid, x, y, z);
 if(x <= maxx && x >= minx && y <= maxy && y >= minx)
 {
 SetPlayerArmedWeapon(playerid, 0);
 SendClientMessage(playerid, -1, "Vocк nгo pode usar armas nesta area.");
 }
 return;
 }
 
 | 
 Em vez de bloquear usando contagem que й super desnecessбrio e ineficiente em relaзгo aos atrasos, use dessa forma: Crie uma verificaзгo na OnPlayerKeyStateChange se o jogador pressionou o botгo de disparo dentro da бrea (MaxX, MinX, MaxY, MinY). Ou seja, toda vez que o jogador TENTAR disparar dentro da бrea proibida a arma sairб da mгo.
PHP код:
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
        switch ( newkeys ){
            case 128:{
                if(GetPlayerWeapon(playerid) != 0)
                    if(Variavel_AreaProibida) {
                        SetPlayerArmedWeapon(playerid, 0);
                        ClearAnimations(playerid);
                        return GameTextForPlayer(playerid,"~r~Voce nao pode usar esta arma em arena proibida!", 5000, 1);
                    }
                    
            }
        }
        return 1;
    }