1. Erstell doch einfach vorher schon ein paar Strecken, indem du mit einem Fahrzeug durch die Stadt fährst und /save Strecke 1 Checkpoint 1 usw. machst.
2. Bau dann ein Befehl, mit dem ein Spieler, einen anderen zum Rennen "einlädt".
z.B. :
new RaceStarted[MAX_PLAYERS];
new RaceOffer[MAX_PLAYERS];
new RaceReady[MAX_PLAYERS];
//onplayerconnect
RaceReady[playerid] = 0;
RaceStarted[playerid] = 0;
RaceOffer[playerid] = 999;
//onplayercommandtext
if(strcmp(cmd, "/invitetorace", true) == 0)
{
if(RaceStarted[playerid] == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "Befehl: /invitetorace [playerID/playerName]");
return 1;
}
new gegner = ReturnUser(tmp);
if(IsPlayerConnected(gegner))
{
if(gegner!= playerid)
{
new racestring[128];
new gegnername[MAX_PLAYER_NAME];
new meinname[MAX_PLAYER_NAME];
GetPlayerName(playerid, meinname, sizeof(meinname));
GetPlayerName(gegner, gegnername, sizeof(gegnername));
format(racestring, sizeof(racestring), "** %s lädt dich zu einem Rennen ein, bestätige mit ( /accept race ).", meinname);
SendClientMessage(gegner, COLOR_LIGHTBLUE, racestring);
format(racestring, sizeof(racestring), "** Du hast %s zu einem Rennen eingeladen, warte auf seine Antwort.", gegnername);
SendClientMessage(playerid, COLOR_LIGHTBLUE, racestring);
RaceOffer[gegner] = playerid;
RaceOffer[playerid] = playerid;
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist Offline!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du machst bereits bei einem Rennen mit!");
}
}
if(strcmp(cmd, "/accept", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "Befehl: /accept [Name]");
SendClientMessage(playerid, COLOR_GREY, "Namen: Race");
return 1;
}
if(strcmp(tmp, "race", true) == 0)
{
if(RaceOffer[playerid] < 999)
{
if(IsPlayerConnected(RaceOffer[playerid]))
{
new racestring[128];
new gegnername[MAX_PLAYER_NAME];
new meinname[MAX_PLAYER_NAME];
GetPlayerName(playerid, meinname, sizeof(meinname));
GetPlayerName(RaceOffer[playerid], gegnername, sizeof(gegnername));
format(racestring, sizeof(racestring), "** %s hat deine Einladung angenommen, starte das Rennen mit ( /startrace ).", meinname);
SendClientMessage(RaceOffer[playerid], COLOR_LIGHTBLUE, racestring);
format(racestring, sizeof(racestring), "** Du hast die Einladung von %s angenommen, warte, bis er das Rennen startet.", gegnername);
SendClientMessage(playerid, COLOR_LIGHTBLUE, racestring);
RaceReady[RaceOffer[playerid]] = 1;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Dein Renneinlader ist Offline!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Es hat dich niemand zu einem Rennen eingeladen!");
}
}
}
if(strcmp(cmd, "/startrace", true) == 0)
{
if(RaceReady[playerid] == 1)
{
for(new r = 0; r<MAX_PLAYERS; r++)
{
if(RaceOffer[r] == playerid)
{
SetPlayerPos(r, X, Y, Z);
SendClientMessage(r, COLOR_GREEN, "** Das Rennen startet in 10 Sekunden!");
...
}
}
}
}
Da kannst du halt machen was du willst, jeweils die Fahrer in ein Fahrzeug stecken oder was anderes, ist dir überlassen. Ist nur ein kleiner Gedankenanstoß