Filterscript to Gamemode
#1

How to transfer this Filterscript to my Gamemode?

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);
            }
        }
    }
}
HELP
Reply
#2

Add the filterscript pawn file in your filterscript folder in you server directory.Then in you server.cfg there will be a row of filterscripts ,type the name of your filterscript there and press ctrl+s
Reply
#3

Just add it on the same callbacks.
Reply
#4

Quote:
Originally Posted by TheSimpleGuy
Посмотреть сообщение
Just add it on the same callbacks.
I did that , but i have many problems , i think i don't put it properly , i don't know how to connect properly i'm new in scripting
Reply
#5

pawn Код:
// Add These at the Top of your script.
#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];

// Change OnFilterScriptInit() to OnGameModeInit()
public OnGameModeInit()
{
    SetTimer("SpeedoUpdate",100,1);
    SetTimer("FuelUpdate",10000,1);
    ManualVehicleEngineAndLights();
    for(new i = 1;i<MAX_VEHICLES;i++)
    {
        VehicleFuel[i] = 100 + random(50);
    }
    return 1;
}

// The Rest Will be the same.

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);
            }
        }
    }
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)