Checkpoints

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
  • Hi Leute.
    Kann mir jemand von euch villeicht sagen, wie ich ein Rennen machen kann? Ich habe mir ne kleine Rennstrecke in MTA Gebastelt. Wie kann ich jezt das so machen, das man so den Checkpoints 'Hinterherfahren' muss? Also so n' ganz normales Rennen, wie geht das?


    Danke schonmal
    MfG Black_Sun




    GER-Clan - Seit 2007 - WIEDER DA!

  • Auf Chekpoints und dann spawnste dir halt die Chekpoints wohinde willst!
    Näheres kann ich dir ein anders mal erklären (bei ICQ) denn bald fang ich damit an mich mit rennen zu beschäftigen!
    Und ich hätte da auch ein Scriptbeispiel für dich, aber das kann ich dir nur per ICQ schicken da es für das Forum zu groß ist^^

    Alkohol löst keine Probleme, Milch aber auch nicht! ;)

  • Also, der DX[Boss] hat mir jezt das Beispiel Script geschickt. Wir wissen aber nicht, wie man mehrere Races mach kann. Kann mir jemand bitte Helfen? Hier der PWN Quelltext


    public OnPlayerCommandText(playerid, cmdtext[])
    {


    if(strcmp(cmdtext, "/race", true) == 0){
    if(race == 1) { SendClientMessage(playerid, COLOR_RED, "Es läuft bereits ein Rennen.Wenn du Teilnehmen willst, tippe /start"); return 1;}
    if(!IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid, COLOR_RED, "Du bist in keinem Fahrzeug"); return 1;}
    SetVehiclePos(GetPlayerVehicleID(playerid),2077.2844,852.0706,6.3632);
    SendClientMessage(playerid,COLOR_YELLOW, "Sammelt euch im Checkpoint und tippt /start");
    SetPlayerCheckpoint(playerid,2077.2844,852.0706,6.3632,15.0);
    new name[MAX_PLAYER_NAME+1];
    GetPlayerName(playerid, name, 30);
    format(string, 256, "%s ruft zu einen Rennen zusammen", name);
    SendClientMessageToAll(COLOR_YELLOW, string);
    race2 = 1;
    return 1;}


    if (strcmp("/start", cmdtext, true) == 0)
    {
    if(race2 == 0) { SendClientMessage(playerid, COLOR_RED, "Es wurde noch kein /race angekündigt"); return 1;}
    if(race == 1) { SendClientMessage(playerid, COLOR_RED, "Das Rennen wurde schon gestartet"); return 1;}
    if(!IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid, COLOR_RED, "Du bist in keinem Fahrzeug"); return 1;}


    new players;


    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerInCircle(i, 2077.2844,852.0706, CP_SIZE) && IsPlayerInAnyVehicle(i))
    {
    players = players+1;
    }
    }
    }


    if(players < 2) { SendClientMessage(playerid, COLOR_RED, "Es sind nicht genug Spieler im Rennen"); return 1;}


    race = 1;
    Countdownkiller = SetTimer("Countdown", 1000, true);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    SetPlayerRaceCheckpoint(i, 0, 1787.0017,853.0433,10.3016, 1226.5175,1106.1713,6.4430, 12.0);
    rennen[i] = CP1;
    }
    }
    return 1;
    }
    return 0;
    }
    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    switch (rennen[playerid])
    {
    case CP1:
    {
    SetPlayerRaceCheckpoint(playerid, 0, 1226.5175,1106.1713,6.4430, 1443.4899,2453.4138,6.3659, 12.0);
    rennen[playerid]++;
    format(cstring, sizeof(cstring), "CP: %d / 7", rennen[playerid]);
    GameTextForPlayer(playerid, cstring, 1000, 3);
    }
    case CP2:
    {
    SetPlayerRaceCheckpoint(playerid, 0, 1443.4899,2453.4138,6.3659, 2708.9509,2188.7012,6.3768, 12.0);
    rennen[playerid]++;
    format(cstring, sizeof(cstring), "CP: %d / 7", rennen[playerid]);
    GameTextForPlayer(playerid, cstring, 1000, 3);
    }
    case CP3:
    {
    SetPlayerRaceCheckpoint(playerid, 0, 2708.9509,2188.7012,6.3768, 2709.2354,1171.9100,6.3679, 12.0);
    rennen[playerid]++;
    format(cstring, sizeof(cstring), "CP: %d / 7", rennen[playerid]);
    GameTextForPlayer(playerid, cstring, 1000, 3);
    }
    case CP4:
    {
    SetPlayerRaceCheckpoint(playerid, 0,2709.2354,1171.9100,6.3679, 2240.8152,852.2742,6.3690, 12.0);
    rennen[playerid]++;
    format(cstring, sizeof(cstring), "CP: %d / 7", rennen[playerid]);
    GameTextForPlayer(playerid, cstring, 1000, 3);
    }
    case CP5:
    {
    SetPlayerRaceCheckpoint(playerid, 0, 2240.8152,852.2742,6.3690, 2115.4902,852.2449,6.7267, 12.0);
    rennen[playerid]++;
    format(cstring, sizeof(cstring), "CP: %d / 7", rennen[playerid]);
    GameTextForPlayer(playerid, cstring, 1000, 3);
    }
    case CP6:
    {
    SetPlayerRaceCheckpoint(playerid, 1, 2115.4902,852.2449,6.7267, 2115.4902,852.2449,6.7267, 12.0);
    rennen[playerid]++;
    format(cstring, sizeof(cstring), "CP: %d / 7", rennen[playerid]);
    GameTextForPlayer(playerid, cstring, 1000, 3);
    }


    case CP7_Ziel:
    {
    if(position == 1)
    {
    GivePlayerMoney(playerid, 3000);
    GetPlayerName(playerid, platz_1,sizeof(platz_1));
    SendClientMessageToAll(0x0022FFAA, "***************************************************");
    format(string, sizeof(string), "Rennen beendet und gewonnen von: %s ",platz_1);
    SendClientMessageToAll(0xFFF00FAA, string);
    format(string, sizeof(string), "%s, dein Preis......$3000",platz_1);
    SendClientMessageToAll(0xFFFF00AA, string);
    SendClientMessageToAll(0x0022FFAA, "***************************************************");
    }
    if(position == 2)
    {
    GivePlayerMoney(playerid, 2000);
    GetPlayerName(playerid, platz_2,sizeof(platz_2));
    SendClientMessageToAll(0x0022FFAA, "***************************************************");
    format(string, sizeof(string), "Zweiter wurde: %s ",platz_2);
    SendClientMessageToAll(0xFFFF00AA, string);
    format(string, sizeof(string), "%s, dein Preis......$2000",platz_2);
    SendClientMessageToAll(0xFFFF00AA, string);
    SendClientMessageToAll(0x0022FFAA, "***************************************************");
    }
    if(position == 3)
    {
    GivePlayerMoney(playerid, 1000);
    GetPlayerName(playerid, platz_3,sizeof(platz_3));
    SendClientMessageToAll(0x0022FFAA, "***************************************************");
    format(string, sizeof(string), "Dritter ist geworden: %s ",platz_3);
    SendClientMessageToAll(0xFFFF00AA, string);
    format(string, sizeof(string), "%s, dein Preis......$1000",platz_3);
    SendClientMessageToAll(0xFFFF00AA, string);
    SendClientMessageToAll(0x0022FFAA, "***************************************************");
    }
    }


    Also richtig ist alles, das eine Rennen tut auch, keine errors und so. Nur wie kann man da jezt noch mehr Rennen einfügen? :D




    GER-Clan - Seit 2007 - WIEDER DA!

  • Bei mir kommen errors. Schaut:



    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Eigene Musik\samp02Xserver.win32\pawno\Untitled.pwn(102) : error 017: undefined symbol "race"
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Eigene Musik\samp02Xserver.win32\pawno\Untitled.pwn(102) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Eigene Musik\samp02Xserver.win32\pawno\Untitled.pwn(102) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Eigene Musik\samp02Xserver.win32\pawno\Untitled.pwn(102) : error 001: expected token: ";", but found ")"
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Eigene Musik\samp02Xserver.win32\pawno\Untitled.pwn(102) : fatal error 107: too many error messages on one line

  • C:\Dokumente und Einstellungen\lukas Desktop\Lukas\SA-MP Server\gamemodes\Untitled.pwn(59) : error 035: argument type mismatch (argument 1)
    C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\Untitled.pwn(60) : error 035: argument type mismatch (argument 2)
    C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\Untitled.pwn(76) : error 012: invalid function call, not a valid address
    C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\Untitled.pwn(76) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\Untitled.pwn(76) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\Untitled.pwn(76) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\Untitled.pwn(76) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\Untitled.pwn(76) : error 001: expected token: ";", but found ")"
    C:\Dokumente und Einstellungen\lukas\Desktop\Lukas\SA-MP Server\gamemodes\Untitled.pwn(76) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\lukas \Desktop\Lukas\SA-MP Server\gamemodes\Untitled.pwn(76) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    6 Errors.


    habe auch Errors ;)