Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define EncodeDamage(%1,%2,%3,%4) %1 | (%2 << 1) | (%3 << 2) | (%4 << 3)
- #define SLOTS 50
- #define MAX_SPEED 120
- new
- bool:Danificado[2000],
- bool:NaoCarro[SLOTS],
- bool:Cinto[SLOTS],
- Float:xaa[SLOTS],
- Float:yaa[SLOTS],
- Float:zaa[SLOTS],
- Float:HealthV,
- damage[4]
- ;
- forward CongelarPlayer(playerid);
- forward StopAnimes(playerid);
- public OnPlayerUpdate(playerid)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- if(GetPlayerVelo(playerid) > MAX_SPEED)
- {
- new name[24], string[50];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), "Patrulha: %s esta na velocidade de %d",name,GetPlayerVelo(playerid));
- GameTextForPlayer(playerid,"~r~Parando Carro. Velocidade Elevada",2000,4);
- GetPlayerPos(playerid,xaa[playerid],yaa[playerid],zaa[playerid]);
- GivePlayerMoney(playerid,GetPlayerMoney(playerid)-700);
- SetVehicleVelocity(GetPlayerVehicleID(playerid), 0.0 , 0.0 , 0.0);
- for(new i=0;i<SLOTS;i++)
- {
- if(IsPlayerInRangeOfPoint(i,300.0,xaa[playerid],yaa[playerid],zaa[playerid]))
- {
- SendClientMessage(i,0xFFFFFFFF,string);
- }
- }
- }
- }
- return true;
- }
- public OnPlayerConnect(playerid)
- {
- ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
- ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
- return true;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp(cmdtext, "/cinto-on", true) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xC9170EFF,"[ERRO] Você precisa estar em um carro");
- if(Cinto[playerid] == true) return SendClientMessage(playerid,0xC9170EFF,"[ERRO] Você já esta de cinto");
- SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Você colocou cinto de segurança,agora não morrerá em acidentes");
- Cinto[playerid] = true;
- return true;
- }
- if(strcmp(cmdtext, "/cinto-off", true) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xC9170EFF,"[INFO] Você precisa estar em um carro");
- if(Cinto[playerid] == true) return SendClientMessage(playerid,0xC9170EFF,"[ERRO] Você já não esta de cinto");
- SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Você tirou cinto de segurança,agorapoderá morrer em acidentes");
- Cinto[playerid] = false;
- return true;
- }
- return false;
- }
- public OnVehicleDamageStatusUpdate(vehicleid, playerid)
- {
- GetVehicleHealth(vehicleid,HealthV);
- if(HealthV > 900) return false;
- if(Cinto[playerid] == false && NaoCarro[playerid] == false)
- {
- RemovePlayerFromVehicle(playerid);
- new Float:XD,Float:YD,Float:ZD,Float:ANGLED;
- GetPlayerPos(playerid,XD,YD,ZD);
- new Float:r;
- GetVehicleZAngle(GetPlayerVehicleID(playerid),r);
- XD += (10 * floatsin(-r, degrees));
- YD += (10 * floatcos(-r, degrees));
- GetPlayerFacingAngle(playerid,ANGLED);
- SetPlayerPos(playerid,XD,YD,ZD+2);
- SetPlayerHealth(playerid,HealthV/20);
- SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Você esta sem cinto de segurança cuidado com acidentes");
- ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
- ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
- SetTimerEx("StopAnimes",8000,false,"i",playerid);
- SetTimerEx("CongelarPlayer",10000,false,"i",playerid);
- NaoCarro[playerid] = true;
- }
- if(HealthV < 500)
- {
- GetVehicleDamageStatus(vehicleid, damage[0], damage[1], damage[2], damage[3]);
- UpdateVehicleDamageStatus(vehicleid, damage[0], damage[1], damage[2], EncodeDamage(1, 1, 1, 1));
- SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Seu Carro foi Danificado Chame um Mecanico antes que sejá tarde");
- }
- if(HealthV < 400)
- {
- new Float:XD,Float:YD,Float:ZD;
- GetPlayerPos(playerid,XD,YD,ZD);
- SetPlayerPos(playerid,XD+1,YD+1,ZD+1);
- SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Seu Carro foi Danificado Chame um Mecanico imediatamente");
- Danificado[vehicleid] = true;
- }
- return true;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- if(Danificado[vehicleid] == true)
- {
- new Float:XD,Float:YD,Float:ZD;
- GetPlayerPos(playerid,XD,YD,ZD);
- SetPlayerPos(playerid,XD+1,YD+1,ZD+1);
- SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Seu Carro foi Danificado Chame um Mecanico imediatamente");
- }
- return true;
- }
- public OnPlayerText(playerid,text[])
- {
- if(NaoCarro[playerid] == false && !IsPlayerInAnyVehicle(playerid))
- {
- ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4,0, 0, 0, 0, 0, 0);
- SetTimerEx("StopAnimes",2500,false,"i",playerid);
- }
- return true;
- }
- public CongelarPlayer(playerid)
- {
- TogglePlayerControllable(playerid,0);
- return true;
- }
- public StopAnimes(playerid)
- {
- TogglePlayerControllable(playerid,1);
- ClearAnimations(playerid);
- NaoCarro[playerid] = false;
- ClearAnimations(playerid);
- return true;
- }
- stock GetPlayerVelo(playerid) // [FeK]Kyle - DarK TeaM PT
- {
- new Float:PosX, Float:PosY,Float:PosZ,Float:PlayerSpeedDistance;
- GetVehicleVelocity(GetPlayerVehicleID(playerid), PosX, PosY, PosZ);
- PlayerSpeedDistance = floatmul(floatsqroot(floatadd(floatadd(floatpower( PosX, 2), floatpower(PosY, 2)), floatpower(PosZ, 2))), 170.0);
- new spe = floatround(PlayerSpeedDistance * 1);
- return spe;
- }
- //www.feksquad.blogspot.com | Por [FeK]DrakIns
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement