Advertisement
Guest User

[FS]Real RP [v1]

a guest
Oct 22nd, 2010
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.36 KB | None | 0 0
  1. #include <a_samp>
  2. #define EncodeDamage(%1,%2,%3,%4) %1 | (%2 << 1) | (%3 << 2) | (%4 << 3)
  3. #define SLOTS 50
  4. #define MAX_SPEED 120
  5. new
  6.     bool:Danificado[2000],
  7.     bool:NaoCarro[SLOTS],
  8.     bool:Cinto[SLOTS],
  9.     Float:xaa[SLOTS],
  10.     Float:yaa[SLOTS],
  11.     Float:zaa[SLOTS],
  12.     Float:HealthV,
  13.     damage[4]
  14. ;
  15. forward CongelarPlayer(playerid);
  16. forward StopAnimes(playerid);
  17. public OnPlayerUpdate(playerid)
  18. {
  19.     if(IsPlayerInAnyVehicle(playerid))
  20.     {
  21.         if(GetPlayerVelo(playerid) > MAX_SPEED)
  22.         {
  23.             new name[24], string[50];
  24.             GetPlayerName(playerid, name, sizeof(name));
  25.             format(string, sizeof(string), "Patrulha: %s esta na velocidade de %d",name,GetPlayerVelo(playerid));
  26.             GameTextForPlayer(playerid,"~r~Parando Carro. Velocidade Elevada",2000,4);
  27.             GetPlayerPos(playerid,xaa[playerid],yaa[playerid],zaa[playerid]);
  28.             GivePlayerMoney(playerid,GetPlayerMoney(playerid)-700);
  29.             SetVehicleVelocity(GetPlayerVehicleID(playerid), 0.0 , 0.0 , 0.0);
  30.             for(new i=0;i<SLOTS;i++)
  31.             {
  32.                 if(IsPlayerInRangeOfPoint(i,300.0,xaa[playerid],yaa[playerid],zaa[playerid]))
  33.                 {
  34.                     SendClientMessage(i,0xFFFFFFFF,string);
  35.                 }
  36.             }
  37.         }
  38.     }
  39.     return true;
  40. }
  41. public OnPlayerConnect(playerid)
  42. {
  43.     ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
  44.     ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
  45.     return true;
  46. }
  47. public OnPlayerCommandText(playerid, cmdtext[])
  48. {
  49.     if(strcmp(cmdtext, "/cinto-on", true) == 0)
  50.     {
  51.         if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xC9170EFF,"[ERRO] Você precisa estar em um carro");
  52.         if(Cinto[playerid] == true) return SendClientMessage(playerid,0xC9170EFF,"[ERRO] Você já esta de cinto");
  53.         SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Você colocou cinto de segurança,agora não morrerá em acidentes");
  54.         Cinto[playerid] = true;
  55.         return true;
  56.     }
  57.     if(strcmp(cmdtext, "/cinto-off", true) == 0)
  58.     {
  59.         if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xC9170EFF,"[INFO] Você precisa estar em um carro");
  60.         if(Cinto[playerid] == true) return SendClientMessage(playerid,0xC9170EFF,"[ERRO] Você já não esta de cinto");
  61.         SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Você tirou cinto de segurança,agorapoderá morrer em acidentes");
  62.         Cinto[playerid] = false;
  63.         return true;
  64.     }
  65.     return false;
  66.  }
  67. public OnVehicleDamageStatusUpdate(vehicleid, playerid)
  68. {
  69.     GetVehicleHealth(vehicleid,HealthV);
  70.     if(HealthV > 900) return false;
  71.     if(Cinto[playerid] == false && NaoCarro[playerid] == false)
  72.     {
  73.         RemovePlayerFromVehicle(playerid);
  74.         new Float:XD,Float:YD,Float:ZD,Float:ANGLED;
  75.         GetPlayerPos(playerid,XD,YD,ZD);
  76.         new Float:r;
  77.         GetVehicleZAngle(GetPlayerVehicleID(playerid),r);
  78.         XD += (10 * floatsin(-r, degrees));
  79.         YD += (10 * floatcos(-r, degrees));
  80.         GetPlayerFacingAngle(playerid,ANGLED);
  81.         SetPlayerPos(playerid,XD,YD,ZD+2);
  82.         SetPlayerHealth(playerid,HealthV/20);
  83.         SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Você esta sem cinto de segurança cuidado com acidentes");
  84.         ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
  85.         ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
  86.         SetTimerEx("StopAnimes",8000,false,"i",playerid);
  87.         SetTimerEx("CongelarPlayer",10000,false,"i",playerid);
  88.         NaoCarro[playerid] = true;
  89.     }
  90.     if(HealthV < 500)
  91.     {
  92.         GetVehicleDamageStatus(vehicleid, damage[0], damage[1], damage[2], damage[3]);
  93.         UpdateVehicleDamageStatus(vehicleid, damage[0], damage[1], damage[2], EncodeDamage(1, 1, 1, 1));
  94.         SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Seu Carro foi Danificado Chame um Mecanico antes que sejá tarde");
  95.     }
  96.     if(HealthV < 400)
  97.     {
  98.         new Float:XD,Float:YD,Float:ZD;
  99.         GetPlayerPos(playerid,XD,YD,ZD);
  100.         SetPlayerPos(playerid,XD+1,YD+1,ZD+1);
  101.         SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Seu Carro foi Danificado Chame um Mecanico imediatamente");
  102.         Danificado[vehicleid] = true;
  103.     }
  104.     return true;
  105. }
  106. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  107. {
  108.     if(Danificado[vehicleid] == true)
  109.     {
  110.         new Float:XD,Float:YD,Float:ZD;
  111.         GetPlayerPos(playerid,XD,YD,ZD);
  112.         SetPlayerPos(playerid,XD+1,YD+1,ZD+1);
  113.         SendClientMessage(playerid,0xFFFFFFFF,"[INFO] Seu Carro foi Danificado Chame um Mecanico imediatamente");
  114.        
  115.     }
  116.     return true;
  117. }
  118. public OnPlayerText(playerid,text[])
  119. {
  120.     if(NaoCarro[playerid] == false && !IsPlayerInAnyVehicle(playerid))
  121.     {
  122.         ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4,0, 0, 0, 0, 0, 0);
  123.         SetTimerEx("StopAnimes",2500,false,"i",playerid);
  124.     }
  125.     return true;
  126. }
  127. public CongelarPlayer(playerid)
  128. {
  129.     TogglePlayerControllable(playerid,0);
  130.     return true;
  131. }
  132. public StopAnimes(playerid)
  133. {
  134.     TogglePlayerControllable(playerid,1);
  135.     ClearAnimations(playerid);
  136.     NaoCarro[playerid] = false;
  137.     ClearAnimations(playerid);
  138.     return true;
  139. }
  140. stock GetPlayerVelo(playerid) // [FeK]Kyle - DarK TeaM PT
  141. {
  142.     new Float:PosX, Float:PosY,Float:PosZ,Float:PlayerSpeedDistance;
  143.     GetVehicleVelocity(GetPlayerVehicleID(playerid), PosX, PosY, PosZ);
  144.     PlayerSpeedDistance = floatmul(floatsqroot(floatadd(floatadd(floatpower( PosX, 2), floatpower(PosY, 2)), floatpower(PosZ, 2))), 170.0);
  145.     new spe = floatround(PlayerSpeedDistance * 1);
  146.     return spe;
  147. }
  148. //www.feksquad.blogspot.com | Por [FeK]DrakIns
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement