Advertisement
Guest User

btf.pwn

a guest
Feb 16th, 2012
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.99 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #define MAX_YEAR 2000
  3. #define MIN_YEAR 1000
  4.  
  5. #include <a_samp>
  6. #include <btf> //The line that includes the include itself
  7.  
  8. //////////// The variables /////////////
  9. new Text:CurrentYear[MAX_PLAYERS], Text:NextYear[MAX_PLAYERS], PlayerNextYear[MAX_PLAYERS], CarObj[4][MAX_PLAYERS], Float:VehHP[MAX_PLAYERS], bool:TimeTravelling[MAX_PLAYERS];
  10. ///////////////////////////////////////
  11.  
  12. ///////////// The stocks //////////////
  13. stock GetVehiclePassengers(vehicle)
  14. {
  15.   for(new i=0; i<MAX_PLAYERS, IsPlayerConnected(i); i++)
  16.   {
  17.     if(GetPlayerVehicleID(i) == vehicle) return i;
  18.   }
  19.   return INVALID_PLAYER_ID;
  20. }
  21.  
  22. stock Float:GetVehicleSpeed(vehicleid)
  23. {
  24.     new Float:speed_x,Float:speed_y,Float:speed_z,Float:temp_speed;
  25.     GetVehicleVelocity(vehicleid,speed_x,speed_y,speed_z);
  26.     temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667;
  27.     floatround(temp_speed,floatround_round);return temp_speed;
  28. }
  29. //////////////////////////////////////
  30.  
  31. //////////// The script /////////////
  32. public OnFilterScriptInit()
  33. {
  34.     print("\n--------------------------------------");
  35.     print(" Back to the future FS by King_Hual");
  36.     print("--------------------------------------\n");
  37.     return 1;
  38. }
  39.  
  40. public OnFilterScriptExit()
  41. {
  42.     return 1;
  43. }
  44.  
  45. public OnPlayerConnect(playerid)
  46. {
  47.     CurrentYear[playerid] = TextDrawCreate(515.000000, 170.000000, "~r~Current Year: ~w~2000");
  48.     TextDrawBackgroundColor(CurrentYear[playerid], 255);
  49.     TextDrawFont(CurrentYear[playerid], 3);
  50.     TextDrawLetterSize(CurrentYear[playerid], 0.340000, 1.500000);
  51.     TextDrawColor(CurrentYear[playerid], -1);
  52.     TextDrawSetOutline(CurrentYear[playerid], 0);
  53.     TextDrawSetProportional(CurrentYear[playerid], 0);
  54.     TextDrawSetShadow(CurrentYear[playerid], 1);
  55.     TextDrawUseBox(CurrentYear[playerid], 1);
  56.     TextDrawBoxColor(CurrentYear[playerid], 128);
  57.     TextDrawTextSize(CurrentYear[playerid], 702.000000, -20.000000);
  58.  
  59.     NextYear[playerid] = TextDrawCreate(515.000000, 189.000000, "   ~g~Next Year: ~w~1000");
  60.     TextDrawBackgroundColor(NextYear[playerid], 255);
  61.     TextDrawFont(NextYear[playerid], 3);
  62.     TextDrawLetterSize(NextYear[playerid], 0.340000, 1.500000);
  63.     TextDrawColor(NextYear[playerid], -1);
  64.     TextDrawSetOutline(NextYear[playerid], 0);
  65.     TextDrawSetProportional(NextYear[playerid], 0);
  66.     TextDrawSetShadow(NextYear[playerid], 1);
  67.     TextDrawUseBox(NextYear[playerid], 1);
  68.     TextDrawBoxColor(NextYear[playerid], 128);
  69.     TextDrawTextSize(NextYear[playerid], 638.000000, -20.000000);
  70.     return 1;
  71. }
  72.  
  73. public OnPlayerDisconnect(playerid, reason)
  74. {
  75.     TextDrawDestroy(CurrentYear[playerid]);
  76.     TextDrawDestroy(NextYear[playerid]);
  77.     return 1;
  78. }
  79.  
  80. public OnPlayerSpawn(playerid)
  81. {
  82.     DestroyObject(CarObj[0][playerid]);
  83.     DestroyObject(CarObj[1][playerid]);
  84.     DestroyObject(CarObj[2][playerid]);
  85.     DestroyObject(CarObj[3][playerid]);
  86.     return 1;
  87. }
  88.  
  89. public OnVehicleConverted(vehicleid, oldstate, newstate)
  90. {
  91.     if(oldstate == VEHICLE_NORMAL && newstate == VEHICLE_TIME)
  92.     {
  93.         new str[32], id;
  94.         id = GetVehiclePassengers(vehicleid);
  95.         format(str, sizeof(str), "   ~g~Next Year: ~w~%i", GetPlayerYear(id));
  96.         TextDrawSetString(NextYear[id], str);
  97.         TextDrawShowForPlayer(id, NextYear[id]);
  98.     }
  99. }
  100.  
  101. public OnPlayerYearChange(playerid, oldyear, newyear)
  102. {
  103.     new str[32];
  104.     format(str, sizeof(str), "~r~Current Year: ~w~%i", newyear);
  105.     TextDrawSetString(CurrentYear[playerid], str);
  106. }
  107.  
  108. public OnPlayerStateChange(playerid, newstate, oldstate)
  109. {
  110.     if (newstate == PLAYER_STATE_DRIVER)
  111.     {
  112.         if(IsVehTimeVehicle(GetPlayerVehicleID(playerid)))
  113.         {
  114.             new str[32];
  115.             TextDrawShowForPlayer(playerid, NextYear[playerid]);
  116.             PlayerNextYear[playerid] = GetPlayerYear(playerid);
  117.             format(str, sizeof(str), "   ~g~Next Year: ~w~%i", PlayerNextYear[playerid]);
  118.             TextDrawSetString(NextYear[playerid], str);
  119.            
  120.         }
  121.     }
  122.     if (newstate != PLAYER_STATE_DRIVER)
  123.     {
  124.         TextDrawHideForPlayer(playerid, NextYear[playerid]);
  125.         DestroyObject(CarObj[0][playerid]);
  126.         DestroyObject(CarObj[1][playerid]);
  127.         DestroyObject(CarObj[2][playerid]);
  128.         DestroyObject(CarObj[3][playerid]);
  129.     }
  130.     return 1;
  131. }
  132.  
  133. public OnPlayerRequestSpawn(playerid)
  134. {
  135.     new string[32];
  136.     SetPlayerYear(playerid, 1990);
  137.     TextDrawShowForPlayer(playerid, CurrentYear[playerid]);
  138.     format(string, sizeof(string), "~r~Current Year: ~w~%i", GetPlayerYear(playerid));
  139.     TextDrawSetString(CurrentYear[playerid], string);
  140.     return 1;
  141. }
  142.  
  143. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  144. {
  145.     if (IsPlayerInAnyVehicle(playerid) && IsVehTimeVehicle(GetPlayerVehicleID(playerid)) && (newkeys & KEY_CROUCH) && GetVehicleSpeed(GetPlayerVehicleID(playerid)) >= 88 && TimeTravelling[playerid] == false)
  146.     {
  147.         new engine,lights,alarm,doors,bonnet,boot,objective;
  148.         GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  149.         SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,1,doors,bonnet,boot,objective);
  150.         CarObj[0][playerid] = CreateObject(18718, 0, 0, 0, 0, 0, 0, 50);
  151.         CarObj[1][playerid] = CreateObject(18718, 0, 0, 0, 0, 0, 0, 50);
  152.         CarObj[2][playerid] = CreateObject(18718, 0, 0, 0, 0, 0, 0, 50);
  153.         CarObj[3][playerid] = CreateObject(2780, 0, 0, 0, 0, 0, 0, 50);
  154.         AttachObjectToVehicle(CarObj[0][playerid], GetPlayerVehicleID(playerid), 0, 0, -2, 0, 0,0);
  155.         AttachObjectToVehicle(CarObj[1][playerid], GetPlayerVehicleID(playerid), 1, 0, -2, 0, 0,0);
  156.         AttachObjectToVehicle(CarObj[2][playerid], GetPlayerVehicleID(playerid), -1, 0, -2, 0, 0,0);
  157.         AttachObjectToVehicle(CarObj[3][playerid], GetPlayerVehicleID(playerid), 0, 2, -2, 0, 0,0);
  158.         new Float:HP; GetVehicleHealth(GetPlayerVehicleID(playerid), HP);
  159.         VehHP[playerid] = HP;
  160.         SetVehicleHealth(GetPlayerVehicleID(playerid), 300);
  161.         SetTimerEx("TimeMachineTimer", 7500, 0, "i", playerid);
  162.         PlayerPlaySound(playerid, 1153, 0, 0, 0);
  163.         TimeTravelling[playerid] = true;
  164.     }
  165.     if (IsPlayerInAnyVehicle(playerid) && IsVehTimeVehicle(GetPlayerVehicleID(playerid)) && (newkeys & KEY_YES))
  166.     {
  167.             PlayerNextYear[playerid]++;
  168.             new str[32];
  169.             format(str, sizeof(str), "   ~g~Next Year: ~w~%i", PlayerNextYear[playerid]);
  170.             TextDrawSetString(NextYear[playerid], str);
  171.     }
  172.     if (IsPlayerInAnyVehicle(playerid) && IsVehTimeVehicle(GetPlayerVehicleID(playerid)) && (newkeys & KEY_NO))
  173.     {
  174.             PlayerNextYear[playerid]--;
  175.             new str[32];
  176.             format(str, sizeof(str), "   ~g~Next Year: ~w~%i", PlayerNextYear[playerid]);
  177.             TextDrawSetString(NextYear[playerid], str);
  178.     }
  179.     return 1;
  180. }
  181.  
  182. forward TimeMachineTimer(playerid);
  183.  
  184. public TimeMachineTimer(playerid)
  185. {
  186.     TimeTravelling[playerid] = false;
  187.     DestroyObject(CarObj[0][playerid]);
  188.     DestroyObject(CarObj[1][playerid]);
  189.     DestroyObject(CarObj[2][playerid]);
  190.     DestroyObject(CarObj[3][playerid]);
  191.     PlayerPlaySound(playerid, 1149, 0, 0, 0);
  192.     new engine,lights,alarm,doors,bonnet,boot,objective;
  193.     GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  194.     SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,0,doors,bonnet,boot,objective);
  195.     if (IsPlayerInAnyVehicle(playerid) && IsVehTimeVehicle(GetPlayerVehicleID(playerid)) && GetVehicleSpeed(GetPlayerVehicleID(playerid)) >= 88)
  196.     {
  197.         SetPlayerYear(playerid, PlayerNextYear[playerid]);
  198.         SetVehicleHealth(GetPlayerVehicleID(playerid), VehHP[playerid]);
  199.         new string[64];
  200.         format(string, sizeof(string),"~g~Time travel ~w~succeeded\n~r~Year: ~w~%i", GetPlayerYear(playerid));
  201.         GameTextForPlayer(playerid, string, 5000, 4);
  202.     }
  203.     else
  204.     {
  205.         GameTextForPlayer(playerid, "~r~Time travel ~w~failed", 5000, 4);
  206.         SendClientMessage(playerid, 0xff0000ff, "ERROR: You were moving too slowly, therefore the time jump failed");
  207.     }
  208. }
  209.  
  210. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  211. {
  212.     new string[64], pname[MAX_PLAYER_NAME];
  213.     GetPlayerName(clickedplayerid, pname, sizeof(pname));
  214.     format(string, sizeof(string), "%s's year: %i", pname, GetPlayerYear(playerid));
  215.     SendClientMessage(playerid, 0xffff00ff, string);
  216.     return 1;
  217. }
  218. //////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement