Advertisement
TheEnforced

display_adv.inc

Sep 22nd, 2014
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 11.48 KB | None | 0 0
  1. new Text:vehStatsDisplayAdvanced_txt[8]; // 8 static td's
  2. new PlayerText:vehStatsDisplayAdvanced_ptxt[MAX_PLAYERS][12]; // 12 player td's
  3.  
  4. // update the player textdraws with the information for the passed vehicleid
  5. stock vehStatsDisplayAdvanced_update()
  6. {
  7.     for(new playerid=0; playerid<MAX_PLAYERS; playerid++){
  8.         if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
  9.             new vehicleid = GetPlayerVehicleID(playerid);
  10.             new statid = vehicleInfo[vehicleid][vStatsID];//vehicleInfo[vehicleid][vStatsID];
  11.  
  12.             if(statid==INVALID_VEHSTATS_ID){
  13.                 print("statid does not exist!");
  14.             }
  15.  
  16.             new string[32]; // [32] something small will sufice, but for testing use 256
  17.  
  18.             //                              vehicle model                   actual      ground          heading    pitch      altitude         damage          fuel            consumption  type        total distance (for vehid)
  19.             //format(string,sizeof(string),"Police Cruiser LVPD  Velocity gnd 500km/h act 600km/h head 6400mils ptc 6400mils Alt 50000ft   Damage 000%%   Fuel 500.0L 000.0%% 50.0L/100km Aviation Fuel   Distance 5000000km"); // we measure heading in mils
  20.             //format(string,sizeof(string),"XXXXXXXXX Police Cruiser LVPD     Velocity 600km/h 6400mils     Alt 50000ft     Damage 000%%     Fuel 500.0L 000.0%% 500km Aviation Fuel                      Distance 5000000km");
  21.             //format(string,sizeof(string),"XXXXXXXXX Police Cruiser LVPD     Speed 600km/h     Alt 50000ft     Damage 000%%     Fuel 500.0L Aviation Fuel                                                  Distance 5000000km");
  22.  
  23.             // model name
  24.             format(string,sizeof(string), "%s", vehicleNames[GetVehicleModel(vehicleid) - 400]);
  25.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][0], string);
  26.  
  27.             // ground
  28.             format(string,sizeof(string), "%.0fkm/h", vehicleStats[statid][vSpeedGround]);
  29.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][1], string);
  30.  
  31.             // actual speed
  32.             format(string,sizeof(string), "%.0fkm/h", vehicleStats[statid][vSpeedActual]);
  33.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][2], string);
  34.  
  35.             // heading
  36.             format(string,sizeof(string), "%.0fmils", vehicleStats[statid][vHeading]);
  37.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][3], string);
  38.  
  39.             // elevation
  40.             format(string,sizeof(string), "%.0fmils", vehicleStats[statid][vAttitude]);
  41.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][4], string);
  42.  
  43.             // altitude
  44.             format(string,sizeof(string), "%.0fft", vehicleStats[statid][vAltitude]);
  45.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][5], string);
  46.  
  47.             // damage
  48.             format(string,sizeof(string), "%.0f%%", vehicleStats[statid][vDamage]);
  49.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][6], string);
  50.  
  51.             // fuel litres
  52.             format(string,sizeof(string), "%.1fL", vehicleStats[statid][vFuel]);
  53.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][7], string);
  54.  
  55.             // fuel percent
  56.             new Float: fuelPercent = vehicleStats[statid][vFuel] / vehicleFuelTankCapacity(GetVehicleModel(vehicleid)) * 100;
  57.             format(string,sizeof(string), "%.1f%%", fuelPercent);
  58.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][8], string);
  59.  
  60.             // fuel consumption
  61.             format(string,sizeof(string),"%.1fL/100km",vehicleConsumption(vehicleid));
  62.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][9], string);
  63.  
  64.             // fuel type
  65.             format(string,sizeof(string), "%s", fuelTypeString(vehicleStats[statid][vFuelTypeInTank]) );
  66.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][10], string);
  67.  
  68.             // distance
  69.             format(string,sizeof(string), "%.0fkm", vehicleStats[statid][vTotalDistance]);
  70.             PlayerTextDrawSetString(playerid, vehStatsDisplayAdvanced_ptxt[playerid][11], string);
  71.         }
  72.     }
  73.    
  74.     return;
  75. }
  76.  
  77. stock vehStatsDisplayAdvanced_show(playerid)
  78. {
  79.     for(new i=0; i<8; i++){
  80.         TextDrawShowForPlayer(playerid, vehStatsDisplayAdvanced_txt[i]);
  81.     }
  82.  
  83.     for(new i=0; i<12; i++){
  84.         PlayerTextDrawShow(playerid, vehStatsDisplayAdvanced_ptxt[playerid][i]);
  85.     }
  86.  
  87.     return;
  88. }
  89.  
  90. stock vehStatsDisplayAdvanced_hide(playerid)
  91. {
  92.     for(new i=0; i<8; i++){
  93.         TextDrawHideForPlayer(playerid, vehStatsDisplayAdvanced_txt[i]);
  94.     }
  95.  
  96.     for(new i=0; i<12; i++){
  97.         PlayerTextDrawHide(playerid, vehStatsDisplayAdvanced_ptxt[playerid][i]);
  98.     }
  99.  
  100.     return;
  101. }
  102.  
  103. stock vehStatsDisplayAdvanced_init()
  104. {
  105.     // static
  106.     // velocity ground
  107.     vehStatsDisplayAdvanced_txt[0] = TextDrawCreate(70.000000, 439.000000, "Velocity gnd"); // 2,470
  108.     TextDrawAlignment(vehStatsDisplayAdvanced_txt[0], 1);
  109.     TextDrawColor(vehStatsDisplayAdvanced_txt[0], 0xFFFE80FF);
  110.  
  111.     // velocity actual
  112.     vehStatsDisplayAdvanced_txt[1] = TextDrawCreate(146.000000, 439.000000, "act");
  113.     TextDrawAlignment(vehStatsDisplayAdvanced_txt[1], 1);
  114.     TextDrawColor(vehStatsDisplayAdvanced_txt[1], 0xFFFE80FF);
  115.  
  116.     // heading
  117.     vehStatsDisplayAdvanced_txt[2] = TextDrawCreate(192.000000, 439.000000, "head");
  118.     TextDrawAlignment(vehStatsDisplayAdvanced_txt[2], 1);
  119.     TextDrawColor(vehStatsDisplayAdvanced_txt[2], 0xFFFE80FF);
  120.  
  121.     // elevation
  122.     vehStatsDisplayAdvanced_txt[3] = TextDrawCreate(244.000000, 439.000000, "ptc");
  123.     TextDrawAlignment(vehStatsDisplayAdvanced_txt[3], 1);
  124.     TextDrawColor(vehStatsDisplayAdvanced_txt[3], 0xFFFE80FF);
  125.  
  126.     // altitude
  127.     vehStatsDisplayAdvanced_txt[4] = TextDrawCreate(289.000000, 439.000000, "Alt");
  128.     TextDrawAlignment(vehStatsDisplayAdvanced_txt[4], 1);
  129.     TextDrawColor(vehStatsDisplayAdvanced_txt[4], 0xFFFE80FF);
  130.  
  131.     // damage
  132.     vehStatsDisplayAdvanced_txt[5] = TextDrawCreate(338.000000, 439.000000, "Damage");
  133.     TextDrawAlignment(vehStatsDisplayAdvanced_txt[5], 1);
  134.     TextDrawColor(vehStatsDisplayAdvanced_txt[5], 0xFFFE80FF);
  135.  
  136.     // fuel
  137.     vehStatsDisplayAdvanced_txt[6] = TextDrawCreate(397.000000, 439.000000, "Fuel");
  138.     TextDrawAlignment(vehStatsDisplayAdvanced_txt[6], 1);
  139.     TextDrawColor(vehStatsDisplayAdvanced_txt[6], 0xFFFE80FF);
  140.  
  141.     // total vehicle distance
  142.     vehStatsDisplayAdvanced_txt[7] = TextDrawCreate(567.000000, 439.000000, "Distance");
  143.     TextDrawAlignment(vehStatsDisplayAdvanced_txt[7], 1);
  144.     TextDrawColor(vehStatsDisplayAdvanced_txt[7], 0xFFFE80FF);
  145.  
  146.     // static common
  147.     for(new i=0; i<8; i++){
  148.         TextDrawBackgroundColor(vehStatsDisplayAdvanced_txt[i], 0x00000077);
  149.         TextDrawFont(vehStatsDisplayAdvanced_txt[i], 1);
  150.         TextDrawLetterSize(vehStatsDisplayAdvanced_txt[i], 0.200000, 0.700000);
  151.         TextDrawSetOutline(vehStatsDisplayAdvanced_txt[i], 0);
  152.         TextDrawSetProportional(vehStatsDisplayAdvanced_txt[i], 1);
  153.         TextDrawSetShadow(vehStatsDisplayAdvanced_txt[i], 1);
  154.     }
  155.  
  156.     return;
  157. }
  158.  
  159. // create the textdraws
  160. stock vehStatsDisplayAdvanced_create(playerid)
  161. {
  162.     // player
  163.     // model name
  164.     vehStatsDisplayAdvanced_ptxt[playerid][0] = CreatePlayerTextDraw(playerid, 2.000000, 439.000000, "Cruiser"); // 2,470     Police Cruiser LVPD     Velocity 500km/h 6400mils     Damage 000%     Fuel 000.0%
  165.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][0], 1);
  166.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][0], 0x88ED77FF);
  167.     // display a box for the vehicle info
  168.     PlayerTextDrawUseBox(playerid, vehStatsDisplayAdvanced_ptxt[playerid][0], 1);
  169.     PlayerTextDrawBoxColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][0], 0x40404080);
  170.     PlayerTextDrawTextSize(playerid, vehStatsDisplayAdvanced_ptxt[playerid][0], 638.00, 7.00);
  171.  
  172.     // velocity ground
  173.     vehStatsDisplayAdvanced_ptxt[playerid][1] = CreatePlayerTextDraw(playerid, 142.000000, 439.000000, "500km/h");
  174.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][1], 3);
  175.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][1], -1);
  176.  
  177.     // velocity actual
  178.     vehStatsDisplayAdvanced_ptxt[playerid][2] = CreatePlayerTextDraw(playerid, 188.000000, 439.000000, "600km/h");
  179.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][2], 3);
  180.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][2], -1);
  181.  
  182.     // heading
  183.     vehStatsDisplayAdvanced_ptxt[playerid][3] = CreatePlayerTextDraw(playerid, 239.000000, 439.000000, "6400mils");
  184.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][3], 3);
  185.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][3], -1);
  186.  
  187.     // elevation
  188.     vehStatsDisplayAdvanced_ptxt[playerid][4] = CreatePlayerTextDraw(playerid, 285.000000, 439.000000, "6400mils");
  189.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][4], 3);
  190.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][4], -1);
  191.  
  192.     // altitude
  193.     vehStatsDisplayAdvanced_ptxt[playerid][5] = CreatePlayerTextDraw(playerid, 328.000000, 439.000000, "50000ft");
  194.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][5], 3);
  195.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][5], -1);
  196.  
  197.     // damage
  198.     vehStatsDisplayAdvanced_ptxt[playerid][6] = CreatePlayerTextDraw(playerid, 386.000000, 439.000000, "100%");
  199.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][6], 3);
  200.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][6], -1);
  201.  
  202.     // fuel
  203.     vehStatsDisplayAdvanced_ptxt[playerid][7] = CreatePlayerTextDraw(playerid, 435.000000, 439.000000, "500.0L");
  204.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][7], 3);
  205.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][7], -1);
  206.  
  207.     vehStatsDisplayAdvanced_ptxt[playerid][8] = CreatePlayerTextDraw(playerid, 465.000000, 439.000000, "100.0%");
  208.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][8], 3);
  209.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][8], -1);
  210.  
  211.     vehStatsDisplayAdvanced_ptxt[playerid][9] = CreatePlayerTextDraw(playerid, 512.000000, 439.000000, "50.0L/100km");
  212.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][9], 3);
  213.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][9], -1);
  214.  
  215.     // fuel type
  216.     vehStatsDisplayAdvanced_ptxt[playerid][10] = CreatePlayerTextDraw(playerid, 516.000000, 439.000000, "Petrol");
  217.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][10], 1);
  218.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][10], -1);
  219.  
  220.     // total distance
  221.     vehStatsDisplayAdvanced_ptxt[playerid][11] = CreatePlayerTextDraw(playerid, 597.000000, 439.000000, "5000000km");
  222.     PlayerTextDrawAlignment(playerid, vehStatsDisplayAdvanced_ptxt[playerid][11], 1);
  223.     PlayerTextDrawColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][11], -1);
  224.  
  225.     // player common
  226.     for(new i=0; i<12; i++){
  227.         PlayerTextDrawBackgroundColor(playerid, vehStatsDisplayAdvanced_ptxt[playerid][i], 0x00000077);
  228.         PlayerTextDrawFont(playerid, vehStatsDisplayAdvanced_ptxt[playerid][i], 1);
  229.         PlayerTextDrawLetterSize(playerid, vehStatsDisplayAdvanced_ptxt[playerid][i], 0.200000, 0.700000);
  230.         PlayerTextDrawSetOutline(playerid, vehStatsDisplayAdvanced_ptxt[playerid][i], 0);
  231.         PlayerTextDrawSetProportional(playerid, vehStatsDisplayAdvanced_ptxt[playerid][i], 1);
  232.         PlayerTextDrawSetShadow(playerid, vehStatsDisplayAdvanced_ptxt[playerid][i], 1);
  233.     }
  234.  
  235.     return;
  236. }
  237.  
  238. stock vehStatsDisplayAdvanced_delete()
  239. {
  240.     for(new i=0; i<5; i++){
  241.         TextDrawDestroy(vehStatsDisplayAdvanced_txt[i]);
  242.     }
  243.     /*for(new i=0; i<11; i++){ // done automatically on player quit
  244.         PlayerTextDrawDestroy(playerid, vehStatsDisplayAdvanced_ptxt[playerid][i]);
  245.     }*/
  246.     return;
  247. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement