[AJUDA] Bug ao prender
#1

bem editei uma Fs de Radar e coloquei dentro do GM

mas seguinte coloquei um apуs ele passar ao Radar se ele nao pagar a Multa ele serб preso, atй ai td bem mas se ele toma 2 multas ele pode pagar que msm assim ele vai preso :/
(steeldek me Ajudo )

oq hб de errado ?
PHP код:
//Topo GM
new Timer[MAX_PLAYERS];
enum SavePlayerPosEnum
{
    
Float:LastX,
    
Float:LastY,
    
Float:LastZ
}
new 
UpdateSeconds 2;
new 
maxobject 4;
new 
Multas[MAX_PLAYERS];
new 
objectcreated;
new 
SavePlayerPos[SLOTS][SavePlayerPosEnum];
new 
distance1[MAX_PLAYERS];
forward UpdateSpeed(playerid);
//OnGameModeInit
SetTimer("UpdateSpeed"UpdateSeconds*10001);
//OnPlayerCommandText
if (strcmp("/radar"cmdtexttrue10) == 0)
    {
        
SendClientMessage(playerid,0xFF0000AA,"******* SISTEMA DE RADAR ************");
        
SendClientMessage(playerid,0x33CCFFAA,"Existem Radar na Prefeitura, No Hospital, DP de Los Santos, Banco, Loja de Armas e Posto Idlewood");
        
SendClientMessage(playerid,0x33CCFFAA,"O Limite de velocidade й entre 70 KM/H");
        
SendClientMessage(playerid,0x33CCFFAA,"Se voce exceder o Limite de velocidade Nesses Locais , Levara Multa de 800 $ ");
        
SendClientMessage(playerid,0xFF0000AA,"Atenciosamente , A administraзгo.");
        return 
1;
    }
    if(!
strcmp(cmdtext"/pagarmulta"true))
    {
        if(
Multas[playerid] == 0) return SendClientMessage(playerid0xFFFFFFAA"Nгo hб multas a serem pagas !");
        new 
STR[50];
        
format(STR50"Total de Multas: %d. Valor a pagar: %d"Multas[playerid], (Multas[playerid] * 800));
        
SendClientMessage(playerid0xFFFF00AASTR);
        
SendClientMessage(playerid0xFFFFFFAA"Vocк pagou suas multas !");
        
GivePlayerMoney(playerid, -Multas[playerid] * 800);
        
Multas[playerid] = 0;
        
KillTimer(Timer[playerid]);
        return 
1;
    }
//Final GM
public UpdateSpeed(playerid)
{
    new 
Float:x,Float:y,Float:z;
    new 
Float:distance,value;
    for(new 
i=0i<SLOTSi++)
    {
        if(
IsPlayerConnected(i))
        {
            
GetPlayerPos(ixyz);
            
distance floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
            
value floatround(distance 3600);
            if(
UpdateSeconds 1)
            {
                
value floatround(value UpdateSeconds);
            }
            
distance1[i] = floatround(value/1600);
            
SavePlayerPos[i][LastX] = x;
            
SavePlayerPos[i][LastY] = y;
            
SavePlayerPos[i][LastZ] = z;
            
// Para colocar Coordenada no lugar que voce quer , basta colocar a Coordenada X,Y,Z no lugar dos 00000 ,
            //o 40 й o raio que o radar pega, e o 50 , й a velocidade maxima
            
AddFlitsPaal(i12781524.1971,-1674.1224,13.54692570); // Radar da DP PM
            
AddFlitsPaal(i12781486.7902,-1726.9485,13.54694080); // Prefeitura
            
AddFlitsPaal(i12781454.1200,-1039.0997,23.828140100); // BANCO
            
AddFlitsPaal(i12781993.0825,-1453.5201,13.55474090); // HOSPITAL
            
AddFlitsPaal(i12781927.7516,-1757.6179,13.546940100); // POSTO
            
AddFlitsPaal(i12781480.6022,-1867.0929,13.546940100); // ATRAS DA PREF
            
AddFlitsPaal(i12781351.3029,-1291.9943,14.046940100); // AMMU NATION
            
AddFlitsPaal(i12781766.7039,-1172.4738,23.828140100); // LOJA DE ARMAS 1
            
AddFlitsPaal(i12781483.1586,-1597.6608,13.546940100); // PERTO DA PREF
            
AddFlitsPaal(i12780000.0000,0000.0000,0000.00002050); // VAGO
            //===================TEXTOS===================By: Sivi
            
Create3DTextLabel("RADAR\nVelocidade\nMaxima 70 KM/H",COLOR_YELLOW,1524.1971,-1674.1224,13.5469,35.0,0); //DP
            
Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1486.7902,-1726.9485,13.5469,50.0,0); //PREF
            
Create3DTextLabel("RADAR\nVelocidade\nMaxima 100 KM/H",COLOR_YELLOW,1454.1200,-1039.0997,23.8281,50.0,0); //BANCO
            
Create3DTextLabel("RADAR\nVelocidade\nMaxima 100 KM/H",COLOR_YELLOW,1927.7516,-1757.6179,13.5469,50.0,0); //POSTO
            
Create3DTextLabel("RADAR\nVelocidade\nMaxima 100 KM/H",COLOR_YELLOW,1766.7039,-1172.4738,23.8281,50.0,0); //L. ARMA 1
            
Create3DTextLabel("RADAR\nVelocidade\nMaxima 100 KM/H",COLOR_YELLOW,1351.3029,-1291.9943,14.0469,50.0,0); //AMMU NATION
            
Create3DTextLabel("RADAR\nVelocidade\nMaxima 100 KM/H",COLOR_YELLOW,1348.7843,-1269.7135,14.0469,50.0,0); //AMMU NATION
            
Create3DTextLabel("RADAR\nVelocidade\nMaxima 90 KM/H",COLOR_YELLOW,1993.0825,-1453.5201,13.5547,50.0,0); //HOSPITAL
            
Create3DTextLabel("RADAR\nVelocidade\nMaxima 100 KM/H",COLOR_YELLOW,1480.6022,-1867.0929,13.5469,50.0,0); //ATRAS DA PREF
            
Create3DTextLabel("RADAR\nVelocidade\nMaxima 100 KM/H",COLOR_YELLOW,1483.1586,-1597.6608,13.5469,50.0,0); //PERTO DA PREF
        
}
    }
}
IsPlayerInCircle(playerid,Float:x,Float:y,radius)
{
    if(
GetPlayerDistanceToPoint(playerid,Float:x,Float:y) < radius)
    {
        return 
1;
    }
    return 
0;
}
GetPlayerDistanceToPoint(playerid,Float:x,Float:y)
{
    new 
Float:x1,Float:y1,Float:z1GetPlayerPos(playerid,x1,y1,z1);
    new 
Float:tmpdis floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+
    
floatpower(floatabs(floatsub(y,y1)),2));
    return 
floatround(tmpdis);
}
stock AddFlitsPaal(playeridmodelidFloat:SxxFloat:SyyFloat:Szzradiusspeed)
{
    new 
fine[MAX_PLAYERS];
    new 
str[256];
    if(
objectcreated!=maxobject)
    {
        
CreateObject(modelidSxxSyySzz0.00.010);
        
objectcreated++;
    }
    new 
Velocimetro distance1[playerid] + 33;
    if((
Velocimetro)>speed)
    {
        if(
IsPlayerInCircle(playeridSxxSyyradius)  && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
        {
            
fine[playerid]=((distance1[playerid]*17/10)-speed);
            
Multas[playerid] += 1;
            
format(str,sizeof(str), "{FF0000}[INFO-RADAR] {FFFFFF}O Limite de velocidade й {FF0000}%d KM/H {FFFFFF}Voce Passou a {FF0000}%d KM/H e foi MULTADO !",speedVelocimetro);
            
Timer[playerid] = SetTimerEx("Prender"60000*1false"i"playerid);
            
SendClientMessage(playeridVERDEFRACOstr);
            
SendClientMessage(playerid0x33CCFFAA"USE: /pagarmulta para pagar suas multas. Apуs 10MIN se nгo pagar suas multas serб PRESO ! ");
            
PlayerPlaySound(playerid11320.00.00.0);
        }
    }
}
forward Prender(playerid);
public 
Prender(playerid)
{
        
SetPlayerPos(playerid,264.6288,77.5742,1001.0391);
        
SetPlayerInterior(playerid,6);
        
SendClientMessage(playerid0xFFFFFFAA"Vocк foi preso por 5 Minutos por Nгo pagar as Multas !");
        
SetTimerEx("Soltar"60000*1false"i"playerid);
        return 
1;
}
forward Soltar(playerid);
public 
Soltar(playerid)
{
        
SpawnPlayer(playerid);
        
SendClientMessage(playerid0xFFFFFFAA"Vocк foi Solto, nгo cometa mais Crimes !");
        return 
1;

Reply
#2

Cadк a funзгo de checar e prender o jogador?
Reply
#3

PHP код:
new Timer[MAX_PLAYERS];
___________________________________________________________
Timer
[playerid] = SetTimerEx("Prender"60000*1false"i"playerid);
___________________________________________________________
forward Prender
(playerid); 
public 
Prender(playerid

        
SetPlayerPos(playerid,264.6288,77.5742,1001.0391); 
        
SetPlayerInterior(playerid,6); 
        
SendClientMessage(playerid0xFFFFFFAA"Vocк foi preso por 5 Minutos por Nгo pagar as Multas !"); 
        
SetTimerEx("Soltar"60000*1false"i"playerid); 
        return 
1


forward Soltar(playerid); 
public 
Soltar(playerid

        
SpawnPlayer(playerid); 
        
SendClientMessage(playerid0xFFFFFFAA"Vocк foi Solto, nгo cometa mais Crimes !"); 
        return 
1

Reply
#4

pawn Код:
forward Prender(playerid);
public Prender(playerid)
{
    if(Multas[playerid] > 0) {
        SetPlayerPos(playerid,264.6288,77.5742,1001.0391);
        SetPlayerInterior(playerid,6);
        SendClientMessage(playerid, 0xFFFFFFAA, "Vocк foi preso por 5 Minutos por Nгo pagar as Multas !");
        SetTimerEx("Soltar", 60000*1, false, "i", playerid);
    }
    return true;
}
Reply
#5

@EDITІ
Noss dps dessa vo durmi to Morrendo de sono :S

nossa vc arrumo pra mim a public prender e eu sу puis ela :S

Sono й zika !

nao deu o Rep :/
amanha te dou
pd escrever !
Reply
#6

pawn Код:
public Soltar(playerid)
{
        SpawnPlayer(playerid);
        SendClientMessage(playerid, 0xFFFFFFAA, "Vocк foi Solto, nгo cometa mais Crimes !");
        return 1;
}
Se for RPG aconselho a nгo spawnar e sim setar a posiзгo para a porta da DP
Reply
#7

Bem agr apareceu um bug mas tipo simples sу q nao conseguir resolver
a cada multa q ele toma ele da spawn.
EX: ta tudo certinhu, tipo tomo 3 multas e nao pago ae ele vai pra cadeia e em 10 em 10 segundos +/-, ele da um spawn de cada multa q ele passo.
oq hб de errado
os ultimos codigos ta assim
pawn Код:
forward Prender(playerid);
public Prender(playerid)
{
    if(Multas[playerid] > 0) {
        SetPlayerPos(playerid,264.6288,77.5742,1001.0391);
        SetPlayerInterior(playerid,6);
        SendClientMessage(playerid, 0xFFFFFFAA, "Preso, Multas Atrasadas !");
        SetTimerEx("Soltar", 60000*1, false, "i", playerid);
    }
    return true;
}

forward Soltar(playerid);
public Soltar(playerid)
{
        SpawnPlayer(playerid);
        SendClientMessage(playerid, 0xFFFFFFAA, "Livre, Nao Cometa mais Crimes !");
        return true;
}
o resto ta logo ai encima
Reply
#8

Alguйm ?
Reply
#9

Apague o SpawnPlayer
Use SetSpawnInfo
E Coloque Abaixo o SpawnPlayer
Ex :
pawn Код:
SetSpawnInfo(playerid,0,0,0,0,0,0,0,0,0,0,0,0);
SpawnPlayer(playerid);
Acho que as ordens ali do SetSpawnInfo ta errada,[E so um exemplo]
Para spawnar ele na porta da DP,como BreakDrift
Disse.

https://sampwiki.blast.hk/wiki/SetSpawnInfo
Reply
#10

Vc poderia por pra mim nao consegui deu uns Warrinrgs

Warrirngs
PHP код:
C:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 213tag mismatch
C
:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 213tag mismatch
C
:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 202number of arguments does not match definition
C
:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 202number of arguments does not match definition
C
:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 202number of arguments does not match definition
C
:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 202number of arguments does not match definition
C
:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 202number of arguments does not match definition
C
:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 202number of arguments does not match definition
C
:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 202number of arguments does not match definition
C
:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 202number of arguments does not match definition
C
:\Users\Lйo\Desktop\BRASIL MEGA CITY\gamemodes\MegaCity.pwn(50856) : warning 202number of arguments does not match definition 
pawn Код:
public Soltar(playerid)
{
        SpawnPlayer(playerid);
        SendClientMessage(playerid, 0xFFFFFFAA, "Livre, Nao Cometa mais Crimes !");
        return true;
}
Agradeзo Muito
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)