Skip to content

Latest commit

 

History

History
191 lines (158 loc) · 3.57 KB

File metadata and controls

191 lines (158 loc) · 3.57 KB

d_races.inc

SA:MP Races - Create races, add and remove players from them, start them and end them.

Go back to the home page...

How to start to use?

  • The most basic example on getting started with using the library:
public OnRaceCreate(racename[], maxplayers, Float:startX, Float:startY, Float:startZ,
    Float:finishX, Float:finishY, Float:finishZ, Float:checkpoint_size)
{
    printf("OnRaceCreate: %s, %i, %f,%f,%f,%f,%f,%f,%f", racename, 
        maxplayers, Float:startX, Float:startY, Float:startZ,
        Float:finishX, Float:finishY, Float:finishZ, Float:checkpoint_size);
    return 1;
}

public OnPlayerJoinRace(playerid, racename[])
{
    fmargs_SendClientMessage(playerid, -1, "You joined the race %s!", racename);
    return 1;
}

public OnPlayerLeaveRace(playerid, racename[])
{
    fmargs_SendClientMessage(playerid, -1, "You left the race %s!", racename);
    return 1;
}

public OnPlayerFinishRace(playerid, racename[], place)
{
    fmargs_SendClientMessage(playerid, -1, "Congrats! You finished %s! Your place: %ith", racename, place);
    return 1;
}

public OnRaceStart(racename[])
{
    fmargs_SendClientMessageToAll(-1, "Race %s started", racename);
    return 1;
}

public OnRaceFinish(racename[])
{
    fmargs_SendClientMessageToAll(-1, "Race %s finished", racename);
    return 1;
}

@command(.type = SLASH_COMMAND) joinrace(playerid, params[])
{
    CreateRace("My race", 1, 811.1299,-1616.0647,13.5469,825.6589,-1614.8202,13.5469);
    AddPlayerToRace(playerid, "My race");
    StartRace("My race");
    return 1;
}

API (functions)

CreateRace

native CreateRace(const name[], maxplayers, Float:startX, Float:startY, Float:startZ, Float:finishX, Float:finishY, Float:finishZ, Float:checkpoint_size = 5.0);

DestroyRace

native DestroyRace(const name[]);

AddPlayerToRace

native AddPlayerToRace(playerid, const name[]);

StartRace

native StartRace(const name[]);

GetRaceRemainingPlayers

native GetRaceRemainingPlayers(const name[]);

GetRaceWinnerID

native GetRaceWinnerID(const name[]);

GetPlayerRace

native GetPlayerRace(playerid);

IsValidRace

native bool:IsValidRace(id);

IsValidRaceName

native bool:IsValidRaceName(const name[]);

GetRaceNameByID

native GetRaceNameByID(id, dest[], size = sizeof dest);

IsPlayerInRace

native bool:IsPlayerInRace(playerid, const name[]);

IsPlayerInAnyRace

native bool:IsPlayerInAnyRace(playerid);

GetRaceMaxPlayers

native GetRaceMaxPlayers(const name[]);

GetRaceFinishedPlayers

native GetRaceFinishedPlayers(const name[]);

RemovePlayerFromRace

native RemovePlayerFromRace(playerid);

API (public callbacks)

OnRaceCreate

public OnRaceCreate(racename[], maxplayers, Float:startX, Float:startY, Float:startZ, Float:finishX, Float:finishY, Float:finishZ, Float:checkpoint_size)
{
    return 1;
}

OnRaceDestroy

public OnRaceDestroy(racename[])
{
    return 1;
}

OnPlayerJoinRace

public OnPlayerJoinRace(playerid, racename[])
{
    return 1;
}

OnPlayerLeaveRace

public OnPlayerLeaveRace(playerid, racename[])
{
    return 1;
}

OnPlayerFinishRace

public OnPlayerFinishRace(playerid, racename[], place)
{
    return 1;
}

OnRaceStart

public OnRaceStart(racename[])
{
    return 1;
}

OnRaceFinish

public OnRaceFinish(racename[])
{
    return 1;
}