Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #define MAX_YEAR 2000
- #define MIN_YEAR 1000
- #include <a_samp>
- #include <btf> //The line that includes the include itself
- //////////// The variables /////////////
- new Text:CurrentYear[MAX_PLAYERS], Text:NextYear[MAX_PLAYERS], PlayerNextYear[MAX_PLAYERS], CarObj[4][MAX_PLAYERS], Float:VehHP[MAX_PLAYERS], bool:TimeTravelling[MAX_PLAYERS];
- ///////////////////////////////////////
- ///////////// The stocks //////////////
- stock GetVehiclePassengers(vehicle)
- {
- for(new i=0; i<MAX_PLAYERS, IsPlayerConnected(i); i++)
- {
- if(GetPlayerVehicleID(i) == vehicle) return i;
- }
- return INVALID_PLAYER_ID;
- }
- stock Float:GetVehicleSpeed(vehicleid)
- {
- new Float:speed_x,Float:speed_y,Float:speed_z,Float:temp_speed;
- GetVehicleVelocity(vehicleid,speed_x,speed_y,speed_z);
- temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667;
- floatround(temp_speed,floatround_round);return temp_speed;
- }
- //////////////////////////////////////
- //////////// The script /////////////
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Back to the future FS by King_Hual");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- CurrentYear[playerid] = TextDrawCreate(515.000000, 170.000000, "~r~Current Year: ~w~2000");
- TextDrawBackgroundColor(CurrentYear[playerid], 255);
- TextDrawFont(CurrentYear[playerid], 3);
- TextDrawLetterSize(CurrentYear[playerid], 0.340000, 1.500000);
- TextDrawColor(CurrentYear[playerid], -1);
- TextDrawSetOutline(CurrentYear[playerid], 0);
- TextDrawSetProportional(CurrentYear[playerid], 0);
- TextDrawSetShadow(CurrentYear[playerid], 1);
- TextDrawUseBox(CurrentYear[playerid], 1);
- TextDrawBoxColor(CurrentYear[playerid], 128);
- TextDrawTextSize(CurrentYear[playerid], 702.000000, -20.000000);
- NextYear[playerid] = TextDrawCreate(515.000000, 189.000000, " ~g~Next Year: ~w~1000");
- TextDrawBackgroundColor(NextYear[playerid], 255);
- TextDrawFont(NextYear[playerid], 3);
- TextDrawLetterSize(NextYear[playerid], 0.340000, 1.500000);
- TextDrawColor(NextYear[playerid], -1);
- TextDrawSetOutline(NextYear[playerid], 0);
- TextDrawSetProportional(NextYear[playerid], 0);
- TextDrawSetShadow(NextYear[playerid], 1);
- TextDrawUseBox(NextYear[playerid], 1);
- TextDrawBoxColor(NextYear[playerid], 128);
- TextDrawTextSize(NextYear[playerid], 638.000000, -20.000000);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- TextDrawDestroy(CurrentYear[playerid]);
- TextDrawDestroy(NextYear[playerid]);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- DestroyObject(CarObj[0][playerid]);
- DestroyObject(CarObj[1][playerid]);
- DestroyObject(CarObj[2][playerid]);
- DestroyObject(CarObj[3][playerid]);
- return 1;
- }
- public OnVehicleConverted(vehicleid, oldstate, newstate)
- {
- if(oldstate == VEHICLE_NORMAL && newstate == VEHICLE_TIME)
- {
- new str[32], id;
- id = GetVehiclePassengers(vehicleid);
- format(str, sizeof(str), " ~g~Next Year: ~w~%i", GetPlayerYear(id));
- TextDrawSetString(NextYear[id], str);
- TextDrawShowForPlayer(id, NextYear[id]);
- }
- }
- public OnPlayerYearChange(playerid, oldyear, newyear)
- {
- new str[32];
- format(str, sizeof(str), "~r~Current Year: ~w~%i", newyear);
- TextDrawSetString(CurrentYear[playerid], str);
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if (newstate == PLAYER_STATE_DRIVER)
- {
- if(IsVehTimeVehicle(GetPlayerVehicleID(playerid)))
- {
- new str[32];
- TextDrawShowForPlayer(playerid, NextYear[playerid]);
- PlayerNextYear[playerid] = GetPlayerYear(playerid);
- format(str, sizeof(str), " ~g~Next Year: ~w~%i", PlayerNextYear[playerid]);
- TextDrawSetString(NextYear[playerid], str);
- }
- }
- if (newstate != PLAYER_STATE_DRIVER)
- {
- TextDrawHideForPlayer(playerid, NextYear[playerid]);
- DestroyObject(CarObj[0][playerid]);
- DestroyObject(CarObj[1][playerid]);
- DestroyObject(CarObj[2][playerid]);
- DestroyObject(CarObj[3][playerid]);
- }
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- new string[32];
- SetPlayerYear(playerid, 1990);
- TextDrawShowForPlayer(playerid, CurrentYear[playerid]);
- format(string, sizeof(string), "~r~Current Year: ~w~%i", GetPlayerYear(playerid));
- TextDrawSetString(CurrentYear[playerid], string);
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if (IsPlayerInAnyVehicle(playerid) && IsVehTimeVehicle(GetPlayerVehicleID(playerid)) && (newkeys & KEY_CROUCH) && GetVehicleSpeed(GetPlayerVehicleID(playerid)) >= 88 && TimeTravelling[playerid] == false)
- {
- new engine,lights,alarm,doors,bonnet,boot,objective;
- GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
- SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,1,doors,bonnet,boot,objective);
- CarObj[0][playerid] = CreateObject(18718, 0, 0, 0, 0, 0, 0, 50);
- CarObj[1][playerid] = CreateObject(18718, 0, 0, 0, 0, 0, 0, 50);
- CarObj[2][playerid] = CreateObject(18718, 0, 0, 0, 0, 0, 0, 50);
- CarObj[3][playerid] = CreateObject(2780, 0, 0, 0, 0, 0, 0, 50);
- AttachObjectToVehicle(CarObj[0][playerid], GetPlayerVehicleID(playerid), 0, 0, -2, 0, 0,0);
- AttachObjectToVehicle(CarObj[1][playerid], GetPlayerVehicleID(playerid), 1, 0, -2, 0, 0,0);
- AttachObjectToVehicle(CarObj[2][playerid], GetPlayerVehicleID(playerid), -1, 0, -2, 0, 0,0);
- AttachObjectToVehicle(CarObj[3][playerid], GetPlayerVehicleID(playerid), 0, 2, -2, 0, 0,0);
- new Float:HP; GetVehicleHealth(GetPlayerVehicleID(playerid), HP);
- VehHP[playerid] = HP;
- SetVehicleHealth(GetPlayerVehicleID(playerid), 300);
- SetTimerEx("TimeMachineTimer", 7500, 0, "i", playerid);
- PlayerPlaySound(playerid, 1153, 0, 0, 0);
- TimeTravelling[playerid] = true;
- }
- if (IsPlayerInAnyVehicle(playerid) && IsVehTimeVehicle(GetPlayerVehicleID(playerid)) && (newkeys & KEY_YES))
- {
- PlayerNextYear[playerid]++;
- new str[32];
- format(str, sizeof(str), " ~g~Next Year: ~w~%i", PlayerNextYear[playerid]);
- TextDrawSetString(NextYear[playerid], str);
- }
- if (IsPlayerInAnyVehicle(playerid) && IsVehTimeVehicle(GetPlayerVehicleID(playerid)) && (newkeys & KEY_NO))
- {
- PlayerNextYear[playerid]--;
- new str[32];
- format(str, sizeof(str), " ~g~Next Year: ~w~%i", PlayerNextYear[playerid]);
- TextDrawSetString(NextYear[playerid], str);
- }
- return 1;
- }
- forward TimeMachineTimer(playerid);
- public TimeMachineTimer(playerid)
- {
- TimeTravelling[playerid] = false;
- DestroyObject(CarObj[0][playerid]);
- DestroyObject(CarObj[1][playerid]);
- DestroyObject(CarObj[2][playerid]);
- DestroyObject(CarObj[3][playerid]);
- PlayerPlaySound(playerid, 1149, 0, 0, 0);
- new engine,lights,alarm,doors,bonnet,boot,objective;
- GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
- SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,0,doors,bonnet,boot,objective);
- if (IsPlayerInAnyVehicle(playerid) && IsVehTimeVehicle(GetPlayerVehicleID(playerid)) && GetVehicleSpeed(GetPlayerVehicleID(playerid)) >= 88)
- {
- SetPlayerYear(playerid, PlayerNextYear[playerid]);
- SetVehicleHealth(GetPlayerVehicleID(playerid), VehHP[playerid]);
- new string[64];
- format(string, sizeof(string),"~g~Time travel ~w~succeeded\n~r~Year: ~w~%i", GetPlayerYear(playerid));
- GameTextForPlayer(playerid, string, 5000, 4);
- }
- else
- {
- GameTextForPlayer(playerid, "~r~Time travel ~w~failed", 5000, 4);
- SendClientMessage(playerid, 0xff0000ff, "ERROR: You were moving too slowly, therefore the time jump failed");
- }
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- new string[64], pname[MAX_PLAYER_NAME];
- GetPlayerName(clickedplayerid, pname, sizeof(pname));
- format(string, sizeof(string), "%s's year: %i", pname, GetPlayerYear(playerid));
- SendClientMessage(playerid, 0xffff00ff, string);
- return 1;
- }
- //////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement