18.04.2012, 02:18
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 ?
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*1000, 1);
//OnPlayerCommandText
if (strcmp("/radar", cmdtext, true, 10) == 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(playerid, 0xFFFFFFAA, "Nгo hб multas a serem pagas !");
new STR[50];
format(STR, 50, "Total de Multas: %d. Valor a pagar: %d", Multas[playerid], (Multas[playerid] * 800));
SendClientMessage(playerid, 0xFFFF00AA, STR);
SendClientMessage(playerid, 0xFFFFFFAA, "Vocк pagou suas multas !");
GivePlayerMoney(playerid, -1 * 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=0; i<SLOTS; i++)
{
if(IsPlayerConnected(i))
{
GetPlayerPos(i, x, y, z);
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(i, 1278, 1524.1971,-1674.1224,13.5469, 25, 70); // Radar da DP PM
AddFlitsPaal(i, 1278, 1486.7902,-1726.9485,13.5469, 40, 80); // Prefeitura
AddFlitsPaal(i, 1278, 1454.1200,-1039.0997,23.8281, 40, 100); // BANCO
AddFlitsPaal(i, 1278, 1993.0825,-1453.5201,13.5547, 40, 90); // HOSPITAL
AddFlitsPaal(i, 1278, 1927.7516,-1757.6179,13.5469, 40, 100); // POSTO
AddFlitsPaal(i, 1278, 1480.6022,-1867.0929,13.5469, 40, 100); // ATRAS DA PREF
AddFlitsPaal(i, 1278, 1351.3029,-1291.9943,14.0469, 40, 100); // AMMU NATION
AddFlitsPaal(i, 1278, 1766.7039,-1172.4738,23.8281, 40, 100); // LOJA DE ARMAS 1
AddFlitsPaal(i, 1278, 1483.1586,-1597.6608,13.5469, 40, 100); // PERTO DA PREF
AddFlitsPaal(i, 1278, 0000.0000,0000.0000,0000.0000, 20, 50); // 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:z1; GetPlayerPos(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(playerid, modelid, Float:Sxx, Float:Syy, Float:Szz, radius, speed)
{
new fine[MAX_PLAYERS];
new str[256];
if(objectcreated!=maxobject)
{
CreateObject(modelid, Sxx, Syy, Szz, 0.0, 0.0, 10);
objectcreated++;
}
new Velocimetro = distance1[playerid] + 33;
if((Velocimetro)>speed)
{
if(IsPlayerInCircle(playerid, Sxx, Syy, radius) && 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 !",speed, Velocimetro);
Timer[playerid] = SetTimerEx("Prender", 60000*1, false, "i", playerid);
SendClientMessage(playerid, VERDEFRACO, str);
SendClientMessage(playerid, 0x33CCFFAA, "USE: /pagarmulta para pagar suas multas. Apуs 10MIN se nгo pagar suas multas serб PRESO ! ");
PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0);
}
}
}
forward Prender(playerid);
public Prender(playerid)
{
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 1;
}
forward Soltar(playerid);
public Soltar(playerid)
{
SpawnPlayer(playerid);
SendClientMessage(playerid, 0xFFFFFFAA, "Vocк foi Solto, nгo cometa mais Crimes !");
return 1;
}