You are on page 1of 2

/*************************************************************

Ghostrider Filterscript
-» Author : robin_be (yugecin)
-» Release Date : 23th March 2012
-» Description : Puts flames around a 'freeway' like the ghost rider cleo
mod
-» Video : http://www.youtube.com/watch?v=nF825-2v7bc
-» forum post : http://forum.sa-mp.com/showthread.php?t=328072
**************************************************************/
#include <a_samp>
new grider[MAX_PLAYERS][3];
public OnFilterScriptInit() return print("[FS]Ghostrider Loaded!");
public OnFilterScriptExit() {
for(new i=0; i < MAX_PLAYERS+1; i++){
if(grider[i][0]){
DestroyObject(grider[i][0]);
DestroyObject(grider[i][1]);
DestroyObject(grider[i][2]);
grider[i][0] = 0;
}
}
return print("[FS]Ghostrider Unloaded!");
}

public OnPlayerCommandText(playerid, cmdtext[])


{
if(!strcmp(cmdtext, "/ghostrider", true)) {
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,
0xFF0000AA, "[GHOSTRIDER] {FFFFFF}You have to be in a 'freeway' motorbike!");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return
SendClientMessage(playerid, 0xFF0000AA, "[GHOSTRIDER] {FFFFFF}You must be the
driver!");
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 463) return
SendClientMessage(playerid, 0xFF0000AA, "[GHOSTRIDER] {FFFFFF}You have to be in a
'freeway' motorbike!");
if(grider[playerid][0]){
DestroyObject(grider[playerid][0]);
DestroyObject(grider[playerid][1]);
DestroyObject(grider[playerid][2]);
grider[playerid][0] = 0;
return 1;
}
new Float:vh;
GetVehicleHealth(GetPlayerVehicleID(playerid), vh);
if(vh < 250) return SendClientMessage(playerid, 0xFF0000AA,
"[GHOSTRIDER] {FFFFFF}Repair your bike first!");
grider[playerid][0] = CreateObject(18689, 0.0, 0.0, 0.0, 0.0, 0.0,
256.0);
grider[playerid][1] = CreateObject(18689, 0.0, 0.0, 0.0, 0.0, 0.0,
256.0);
grider[playerid][2] = CreateObject(18693, 0.0, 0.0, 0.0, 0.0, 0.0,
256.0);
AttachObjectToVehicle(grider[playerid][0], GetPlayerVehicleID(playerid),
0.0, 0.6, -1.7, 0.0, 0.0, 0.0);
AttachObjectToVehicle(grider[playerid][1], GetPlayerVehicleID(playerid),
0.0, -1.4, -1.7, 0.0, 0.0, 0.0);
AttachObjectToPlayer(grider[playerid][2], playerid, 0.0, -0.01, -0.9,
0.0, 0.0, 0.0);
ChangeVehicleColor(GetPlayerVehicleID(playerid), 0, 0);
return 1;
}
return 0;
}

public OnPlayerStateChange(playerid, newstate, oldstate)


{
if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT){
if(grider[playerid][0]){
DestroyObject(grider[playerid][0]);
DestroyObject(grider[playerid][1]);
DestroyObject(grider[playerid][2]);
grider[playerid][0] = 0;
}
}
if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_WASTED){
if(grider[playerid][0]){
DestroyObject(grider[playerid][0]);
DestroyObject(grider[playerid][1]);
DestroyObject(grider[playerid][2]);
grider[playerid][0] = 0;
}
}
return 1;
}

public OnPlayerConnect(playerid)
{
grider[playerid][0] = 0;
grider[playerid][1] = 0;
grider[playerid][2] = 0;
}

public OnPlayerDisconnect(playerid, reason)


{
if(grider[playerid][0]){
DestroyObject(grider[playerid][0]);
DestroyObject(grider[playerid][1]);
DestroyObject(grider[playerid][2]);
grider[playerid][0] = 0;
}
}

You might also like