Advertisement
Guest User

Untitled

a guest
May 27th, 2015
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <a_samp>
  2. enum td
  3. {
  4.     Text:TDSpeedClock[15]
  5. }
  6.  
  7. new TextDraws[td];
  8. new Text:TextDrawsd[MAX_PLAYERS][4];
  9. new DeActiveSpeedometer[MAX_PLAYERS];
  10.  
  11. public OnFilterScriptInit()
  12. {
  13.     print("Clock Speedometer load");
  14.    
  15.     TextDraws[TDSpeedClock][0] = TextDrawCreate(496.000000,400.000000,"~g~20");
  16.     TextDraws[TDSpeedClock][1] = TextDrawCreate(487.000000,388.000000,"~g~40");
  17.     TextDraws[TDSpeedClock][2] = TextDrawCreate(483.000000,375.000000,"~g~60");
  18.     TextDraws[TDSpeedClock][3] = TextDrawCreate(488.000000,362.000000,"~g~80");
  19.     TextDraws[TDSpeedClock][4] = TextDrawCreate(491.000000,349.000000,"~g~100");
  20.     TextDraws[TDSpeedClock][5] = TextDrawCreate(508.000000,336.500000,"~g~120");
  21.     TextDraws[TDSpeedClock][6] = TextDrawCreate(536.000000,332.000000,"~g~140");
  22.     TextDraws[TDSpeedClock][7] = TextDrawCreate(567.000000,337.000000,"~g~160");
  23.     TextDraws[TDSpeedClock][8] = TextDrawCreate(584.000000,348.000000,"~g~180");
  24.     TextDraws[TDSpeedClock][9] = TextDrawCreate(595.000000,360.000000,"~g~200");
  25.     TextDraws[TDSpeedClock][10] = TextDrawCreate(603.000000,374.000000,"~g~220");
  26.     TextDraws[TDSpeedClock][11] = TextDrawCreate(594.000000,386.000000,"~g~240");
  27.     TextDraws[TDSpeedClock][12] = TextDrawCreate(585.000000,399.000000,"~g~260");
  28.     TextDraws[TDSpeedClock][13] = TextDrawCreate(534.000000,396.000000,"~r~/ \\");
  29.     TextDraws[TDSpeedClock][14] = TextDrawCreate(548.000000,401.000000,".");
  30.     TextDrawLetterSize(TextDraws[TDSpeedClock][13], 1.059999, 2.100000);
  31.     TextDrawLetterSize(TextDraws[TDSpeedClock][14], 0.73, -2.60);
  32.     for(new i; i < 15; i++)
  33.     {
  34.         TextDrawSetShadow(TextDraws[TDSpeedClock][i], 1);
  35.         TextDrawSetOutline(TextDraws[TDSpeedClock][i], 0);
  36.     }
  37.  
  38.    
  39.     return 1;
  40. }
  41.  
  42. public OnFilterScriptExit()
  43. {
  44.     print("Clock Speedometer unload");
  45.    
  46.     return 1;
  47. }
  48.  
  49. public OnPlayerCommandText(playerid, cmdtext[])
  50. {
  51.     if(strcmp(cmdtext[1], "speedo", false) == 0)
  52.     {
  53.         new strOptionInfo[2][37]=
  54.             {
  55.                 "You have turned on your speedometer",
  56.                 "You have turned off your speedometer"
  57.             };
  58.            
  59.         DeActiveSpeedometer[playerid] = !DeActiveSpeedometer[playerid];
  60.         SendClientMessage(playerid, 0x00AA00FF, strOptionInfo[DeActiveSpeedometer[playerid]]);
  61.         if(!DeActiveSpeedometer[playerid])
  62.         {
  63.             for(new i; i < 15; i++)
  64.                 TextDrawShowForPlayer(playerid, TextDraws[TDSpeedClock][i]);
  65.  
  66.             for(new i; i < 4; i++)
  67.                 TextDrawsd[playerid][i] = TextDrawCreate(555.0, 402.0, "~b~.");
  68.         }
  69.         else
  70.         {
  71.             for(new i; i < 4; i++)
  72.                 TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
  73.             for(new i; i < 15; i++)
  74.                 TextDrawHideForPlayer(playerid, TextDraws[TDSpeedClock][i]);
  75.         }
  76.        
  77.         return 1;
  78.     }
  79.    
  80.     return 0;
  81. }
  82.  
  83. public OnPlayerStateChange(playerid, newstate, oldstate)
  84. {
  85.     if(newstate == PLAYER_STATE_DRIVER && !DeActiveSpeedometer[playerid])
  86.     {
  87.         for(new i; i < 15; i++)
  88.             TextDrawShowForPlayer(playerid, TextDraws[TDSpeedClock][i]);
  89.            
  90.         for(new i; i < 4; i++)
  91.             TextDrawsd[playerid][i] = TextDrawCreate(555.0, 402.0, "~b~.");
  92.  
  93.     }
  94.     else
  95.     {
  96.         for(new i; i < 4; i++)
  97.             TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
  98.         for(new i; i < 15; i++)
  99.             TextDrawHideForPlayer(playerid, TextDraws[TDSpeedClock][i]);
  100.     }
  101.    
  102.     return 1;
  103. }
  104.  
  105. public OnPlayerUpdate(playerid)
  106. {
  107.     new
  108.         Float:fPos[3],
  109.         Float:Pos[4][2],
  110.         Float:fSpeed;
  111.        
  112.     if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !DeActiveSpeedometer[playerid])
  113.     {
  114.         GetVehicleVelocity(GetPlayerVehicleID(playerid), fPos[0], fPos[1], fPos[2]);
  115.  
  116.         fSpeed = floatsqroot(floatpower(fPos[0], 2) + floatpower(fPos[1], 2) +
  117.          floatpower(fPos[2], 2)) * 200;
  118.        
  119.         new Float:alpha = 320 - fSpeed;
  120.         if(alpha < 60)
  121.             alpha = 60;
  122.  
  123.         for(new i; i < 4; i++)
  124.         {
  125.             TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
  126.             TextDrawDestroy(TextDrawsd[playerid][i]);
  127.             GetDotXY(548, 401, Pos[i][0], Pos[i][1], alpha, (i + 1) * 8);
  128.             TextDrawsd[playerid][i] = TextDrawCreate(Pos[i][0], Pos[i][1], "~b~.");
  129.             TextDrawLetterSize(TextDrawsd[playerid][i], 0.73, -2.60);
  130.             TextDrawSetOutline(TextDrawsd[playerid][i], 0);
  131.             TextDrawSetShadow(TextDrawsd[playerid][i], 1);
  132.             TextDrawShowForPlayer(playerid, TextDrawsd[playerid][i]);
  133.         }
  134.     }
  135.    
  136.    
  137.     return 1;
  138. }
  139.  
  140. stock GetDotXY(Float:StartPosX, Float:StartPosY, &Float:NewX, &Float:NewY, Float:alpha, Float:dist)
  141. {
  142.      NewX = StartPosX + (dist * floatsin(alpha, degrees));
  143.      NewY = StartPosY + (dist * floatcos(alpha, degrees));
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement