Advertisement
yugecin

[FS]Ghostrider

Mar 23rd, 2012
3,417
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.45 KB | None | 0 0
  1. /*************************************************************
  2.  Ghostrider Filterscript
  3.  -» Author             : robin_be (yugecin)
  4.  -» Release Date       : 23th March 2012
  5.  -» Description        : Puts flames around a 'freeway' like the ghost rider cleo mod
  6.  -» Video              : http://www.youtube.com/watch?v=nF825-2v7bc
  7.  -» forum post         : http://forum.sa-mp.com/showthread.php?t=328072
  8. **************************************************************/
  9. #include <a_samp>
  10. new grider[MAX_PLAYERS][3];
  11. public OnFilterScriptInit() return print("[FS]Ghostrider Loaded!");
  12. public OnFilterScriptExit() {
  13.     for(new i=0; i < MAX_PLAYERS+1; i++){
  14.         if(grider[i][0]){
  15.             DestroyObject(grider[i][0]);
  16.             DestroyObject(grider[i][1]);
  17.             DestroyObject(grider[i][2]);
  18.             grider[i][0] = 0;
  19.         }
  20.     }
  21.     return print("[FS]Ghostrider Unloaded!");
  22. }
  23.  
  24. public OnPlayerCommandText(playerid, cmdtext[])
  25. {
  26.     if(!strcmp(cmdtext, "/ghostrider", true)) {
  27.         if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000AA, "[GHOSTRIDER] {FFFFFF}You have to be in a 'freeway' motorbike!");
  28.         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xFF0000AA, "[GHOSTRIDER] {FFFFFF}You must be the driver!");
  29.         if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 463) return SendClientMessage(playerid, 0xFF0000AA, "[GHOSTRIDER] {FFFFFF}You have to be in a 'freeway' motorbike!");
  30.         if(grider[playerid][0]){
  31.             DestroyObject(grider[playerid][0]);
  32.             DestroyObject(grider[playerid][1]);
  33.             DestroyObject(grider[playerid][2]);
  34.             grider[playerid][0] = 0;
  35.             return 1;
  36.         }
  37.         new Float:vh;
  38.         GetVehicleHealth(GetPlayerVehicleID(playerid), vh);
  39.         if(vh < 250) return SendClientMessage(playerid, 0xFF0000AA, "[GHOSTRIDER] {FFFFFF}Repair your bike first!");
  40.         grider[playerid][0] = CreateObject(18689, 0.0, 0.0, 0.0, 0.0, 0.0, 256.0);
  41.         grider[playerid][1] = CreateObject(18689, 0.0, 0.0, 0.0, 0.0, 0.0, 256.0);
  42.         grider[playerid][2] = CreateObject(18693, 0.0, 0.0, 0.0, 0.0, 0.0, 256.0);
  43.         AttachObjectToVehicle(grider[playerid][0], GetPlayerVehicleID(playerid), 0.0, 0.6, -1.7, 0.0, 0.0, 0.0);
  44.         AttachObjectToVehicle(grider[playerid][1], GetPlayerVehicleID(playerid), 0.0, -1.4, -1.7, 0.0, 0.0, 0.0);
  45.         AttachObjectToPlayer(grider[playerid][2], playerid, 0.0, -0.01, -0.9, 0.0, 0.0, 0.0);
  46.         ChangeVehicleColor(GetPlayerVehicleID(playerid), 0, 0);
  47.         return 1;
  48.     }
  49.     return 0;
  50. }
  51.  
  52. public OnPlayerStateChange(playerid, newstate, oldstate)
  53. {
  54.     if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT){
  55.         if(grider[playerid][0]){
  56.             DestroyObject(grider[playerid][0]);
  57.             DestroyObject(grider[playerid][1]);
  58.             DestroyObject(grider[playerid][2]);
  59.             grider[playerid][0] = 0;
  60.         }
  61.     }
  62.     if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_WASTED){
  63.         if(grider[playerid][0]){
  64.             DestroyObject(grider[playerid][0]);
  65.             DestroyObject(grider[playerid][1]);
  66.             DestroyObject(grider[playerid][2]);
  67.             grider[playerid][0] = 0;
  68.         }
  69.     }
  70.     return 1;
  71. }
  72.  
  73. public OnPlayerConnect(playerid)
  74. {
  75.     grider[playerid][0] = 0;
  76.     grider[playerid][1] = 0;
  77.     grider[playerid][2] = 0;
  78. }
  79.  
  80. public OnPlayerDisconnect(playerid, reason)
  81. {
  82.    if(grider[playerid][0]){
  83.         DestroyObject(grider[playerid][0]);
  84.         DestroyObject(grider[playerid][1]);
  85.         DestroyObject(grider[playerid][2]);
  86.         grider[playerid][0] = 0;
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement