28.05.2014, 06:37
How to transfer this Filterscript to my Gamemode?
FS
HELP
FS
pawn Код:
#include <a_samp>
forward SpeedoUpdate();
forward FuelUpdate();
new Text:box[MAX_PLAYERS],Text:speed[MAX_PLAYERS],Text:health[MAX_PLAYERS],Text:fuel[MAX_PLAYERS];
new VehicleFuel[MAX_VEHICLES];
public OnFilterScriptInit()
{
SetTimer("SpeedoUpdate",100,1);
SetTimer("FuelUpdate",10000,1);
ManualVehicleEngineAndLights();
for(new i = 1;i<MAX_VEHICLES;i++)
{
VehicleFuel[i] = 100 + random(50);
}
return 1;
}
public OnPlayerConnect(playerid)
{
box[playerid] = TextDrawCreate(618,389,"_");
TextDrawLetterSize(box[playerid],0.5,3.999996);
TextDrawUseBox(box[playerid],1);
TextDrawBoxColor(box[playerid],0x00000060);
TextDrawTextSize(box[playerid],473,0);
speed[playerid] = TextDrawCreate(478,389,"_");
TextDrawLetterSize(speed[playerid],0.37,1.099999);
TextDrawSetOutline(speed[playerid],1);
health[playerid] = TextDrawCreate(478,401,"_");
TextDrawLetterSize(health[playerid],0.37,1.099999);
TextDrawSetOutline(health[playerid],1);
fuel[playerid] = TextDrawCreate(478,413,"_");
TextDrawLetterSize(fuel[playerid],0.37,1.099999);
TextDrawSetOutline(fuel[playerid],1);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
TextDrawDestroy(box[playerid]);
TextDrawDestroy(speed[playerid]);
TextDrawDestroy(health[playerid]);
TextDrawDestroy(fuel[playerid]);
return 1;
}
public OnVehicleSpawn(vehicleid)
{
VehicleFuel[vehicleid] = 100 + random(50);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext,"/refuel",true))
{
if(IsPlayerInAnyVehicle(playerid)) VehicleFuel[GetPlayerVehicleID(playerid)] = 100 + random(50);
return 1;
}
return 0;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(newkeys & KEY_ACTION)
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
if(engine == 1) SetVehicleParamsEx(vehicleid,0,lights,alarm,doors,bonnet,boot,objective);
else
{
if(VehicleFuel[vehicleid] > 0) SetVehicleParamsEx(vehicleid,1,lights,alarm,doors,bonnet,boot,objective);
}
}
if(newkeys & KEY_CROUCH)
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
if(lights == 1) SetVehicleParamsEx(vehicleid,engine,0,alarm,doors,bonnet,boot,objective);
else SetVehicleParamsEx(vehicleid,engine,1,alarm,doors,bonnet,boot,objective);
}
}
return 1;
}
public SpeedoUpdate()
{
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
new Float:x,Float:y,Float:z,Float:hp,string[24],vehicleid = GetPlayerVehicleID(i);
TextDrawShowForPlayer(i,box[i]);
TextDrawShowForPlayer(i,speed[i]);
TextDrawShowForPlayer(i,health[i]);
TextDrawShowForPlayer(i,fuel[i]);
GetVehicleVelocity(vehicleid,x,y,z);
GetVehicleHealth(vehicleid,hp);
format(string,sizeof(string),"Speed: %dkph",floatround(floatsqroot(((x*x)+(y*y))+(z*z))*250.666667));
TextDrawSetString(speed[i],string);
format(string,sizeof(string),"Health: %d",floatround(hp));
TextDrawSetString(health[i],string);
format(string,sizeof(string),"Fuel: %dL",VehicleFuel[vehicleid]);
TextDrawSetString(fuel[i],string);
}
if(!IsPlayerInAnyVehicle(i))
{
TextDrawHideForPlayer(i,box[i]);
TextDrawHideForPlayer(i,speed[i]);
TextDrawHideForPlayer(i,health[i]);
TextDrawHideForPlayer(i,fuel[i]);
}
}
}
public FuelUpdate()
{
for(new i = 1;i<MAX_VEHICLES;i++)
{
if(GetVehicleModel(i))
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
if(engine == 1)
{
if(VehicleFuel[i] > 0) VehicleFuel[i]--;
else SetVehicleParamsEx(i,0,lights,alarm,doors,bonnet,boot,objective);
}
}
}
}