hii leute kann einer mal hier posten wie ich ein rennen erstelle
das rennen kann jeder /starten nicht nur admins
und wie mache ich das mit dem roten Checkpoints
wenn mann /rennen schreibt wird mann zur rennort teleportiert dann steht da die TOP 5 Liste wer ein Rekord geschaft hatt usw.
wie bei [RSD]Andy`s Server oder [NSG] Server
ein tut würde auch reichen
danke schon mal im vorraus
Rennen Script
- W3STSID3
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
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;
//onplayercommandtextif(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ß
-
hää ich check das nicht soo ganz hab alles eingefügt und hab auch 17 checkponits
-
Was checkst du nicht ?
-
wie ich es in mein gamemode eingefügt habe kamm error und wo soll ich die checkponints einfügen
-
Welche Erros? Schreibe sie auf
-
Die Errors
Code
Alles anzeigenC:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1109) : error 017: undefined symbol "cmd" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1113) : error 017: undefined symbol "tmp" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1113) : error 017: undefined symbol "strtok" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1114) : error 017: undefined symbol "tmp" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1119) : error 017: undefined symbol "ReturnUser" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1150) : error 017: undefined symbol "cmd" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1152) : error 017: undefined symbol "tmp" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1152) : error 017: undefined symbol "strtok" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1153) : error 017: undefined symbol "tmp" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1159) : error 017: undefined symbol "tmp" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1190) : error 017: undefined symbol "cmd" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1198) : error 017: undefined symbol "X" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1200) : error 029: invalid expression, assumed zero C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1208) : warning 209: function "JB_OnPlayerCommandText" should return a value C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1208) : warning 235: public function lacks forward declaration (symbol "OnPlayerInfoChange") Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 13 Errors.
-
#define COLOR_GREY FARBE, bei den anderen auch.
Zu strtok:
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
} -
und wo muss ich das einfügen
-
Unter/Über public split(); -Oder wo du willst -.-
-
-
immer noch 13 errors tut sich garnichts
Code
Alles anzeigenC:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1106) : error 017: undefined symbol "cmd" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1110) : error 017: undefined symbol "tmp" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1110) : error 017: undefined symbol "idx" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1111) : error 017: undefined symbol "tmp" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1116) : error 017: undefined symbol "ReturnUser" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1147) : error 017: undefined symbol "cmd" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1149) : error 017: undefined symbol "tmp" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1149) : error 017: undefined symbol "idx" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1150) : error 017: undefined symbol "tmp" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1156) : error 017: undefined symbol "tmp" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1187) : error 017: undefined symbol "cmd" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1195) : error 017: undefined symbol "X" C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1197) : error 029: invalid expression, assumed zero C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1205) : warning 209: function "JB_OnPlayerCommandText" should return a value C:\Users\Yunus Bostan\Documents\Neuer Ordnerm\gamemodes\spiel.pwn(1205) : warning 235: public function lacks forward declaration (symbol "OnPlayerInfoChange") Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 13 Errors.
kannst du mir über teamviewer helfen msn : yunus-93@hotmail.de icq: 460 632 880
-
Zitat
public function lacks forward declaration (symbol "OnPlayerInfoChange")
Forward erstellen.
Bei Return User musst du eventuel new erstellen. & Bei den anderen sind die doch zu sehen, schau mal genauer hin -
ich will ja nix sagen, aber eig. sollte jeder richtige programmierer errors ausbügeln können
außerdem sagt es doch eh schon was der haken ist: "undefined symbol" na was heißt das wohl
-
bin ya kein profi scripter
-
Hast du es nun hinbekommen ?
-
breadfish.de
Hat das Thema geschlossen.