RaceCheckpoints

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
  • Hallo ich versuche gerade ein Rennen zu machen aber es klappt nicht so ganz:


    if (strcmp("/beginner", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,-2457.9744,-110.4660,25.9867);
    SetPlayerRaceCheckpoint(playerid, 1, -2446.8931,-86.8839,34.1725,-2457.5818,-85.8853,42.1875, 2); /* Renncheckpoint mit Pfeil zum nächsten Checkpoint */
    RaceCheckpoint[playerid] = 1;
    if(RaceCheckpoint[playerid] == 3){
    SendClientMessageToAll(0xFF6347AA, "hat den beginner Parcour geschafft!");
    return 1;
    }
    return 1;
    }


    if(RaceCheckpoint[playerid] == 1)
    {
    switch(RaceCheckpoint[playerid])
    {
    case 1:
    {
    SetPlayerRaceCheckpoint(playerid,1,-2457.5818,-85.8853,42.1875,-2487.3667,-87.6387,39.1798,2);
    RaceCheckpoint[playerid] = 2;
    }
    case 2:
    {
    RaceCheckpoint[playerid] == 2;
    SetPlayerRaceCheckpoint(playerid,1,-2487.3667,-87.6387,39.1798,-2477.2505,-114.9111,39.1798,2);
    RaceCheckpoint[playerid] = 3;
    }
    case 3:
    {
    DisablePlayerCheckpoint(playerid);
    RaceCheckpoint[playerid] = 0;
    return 1;
    }


    }
    }


    Es kommen keine Errors nur ein Warning:
    :\Users\Michael\Desktop\GTA San Andreas\samp03asvr_R4_win32\gamemodes\new.pwn(212) : warning 215: expression has no effect


    Und zwar in
    RaceCheckpoint[playerid] == 2;


    Man kann in den ersten Checkpoint rein, der verschwindet, aber beim 2ten gehts dann halt nicht mehr :O

  • switch(RaceCheckpoint[playerid])
    {
    case 1:
    {
    SetPlayerRaceCheckpoint(playerid,1,-2457.5818,-85.8853,42.1875,-2487.3667,-87.6387,39.1798,2);
    RaceCheckpoint[playerid] = 2;
    }
    case 2:
    {
    RaceCheckpoint[playerid] == 2;
    SetPlayerRaceCheckpoint(playerid,1,-2487.3667,-87.6387,39.1798,-2477.2505,-114.9111,39.1798,2);
    RaceCheckpoint[playerid] = 3;
    }
    case 3:
    {
    DisablePlayerCheckpoint(playerid);
    RaceCheckpoint[playerid] = 0;
    return 1;
    }
    }


    du überprüfst erst ob der Checkpoint 1 ist und DANN switcht du es, so KANN es nicht gehen, mach mal das if(RaceCheckpoint[playerid] == 1) weg!

    GermanCityOfDreams
    Programmierstatus bis zur Alpha: 50%
    http://www.gaintex.de
    Bei Problemen helfe ich auch gern über ICQ, meine Nummer ist in meinem Profil zu finden ;)

  • Er hat oben noch einen Fehler...


    SendClientMessageToAll(0xFF6347AA, "hat den beginner Parcour geschafft!");


    Am Anfang sollte hier wohl der Name stehen, also...


    new
    str[90],
    name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(str, sizeof(str), "%s hat den beginner Parcour geschafft!",name);
    SendClientMessageToAll(0xFF6347AA, str);

    [align=center]
    Mta Script Editor - Work in Progress

  • xD das war da noch net fertig @ jason^^ ich werds mal probieren
    Ok es funktioniert jetzt!
    Hab nur ein Problem, normalerweise wenn man in ein Checkpoint reingeht, kommt ja so ein SOund "dig" wo mitman erkennt das man ihn auch erwischt hat. Warum ist der SOund bei mir nicht?


    Und noch was:
    Muss ich jetzt für jedes Race eine new RaceCheckpoint1,2,3,4,5,5,6, usw. erstellen?
    Und wird da mein OnPlayerEnterRaceCheckpoint nicht übelst lange? wenn ich z.b. 20 Parcours habe?


    PS: Arbeite nämlich an einem Parcour Server ala Mirrors Edge

    Einmal editiert, zuletzt von Flaming ()

  • Hab ein ähnliches Problem:
    switch(RaceCheckpoint[playerid])
    {
    case 1:
    {
    SetPlayerRaceCheckpoint(playerid,0,-2457.5818,-85.8853,42.1875,-2487.3667,-87.6387,39.1798,3);
    RaceCheckpoint[playerid] = 2;
    }
    case 2:
    {
    SetPlayerRaceCheckpoint(playerid,0,-2487.3667,-87.6387,39.1798,-2477.2505,-114.9111,39.1798,3);
    RaceCheckpoint[playerid] = 3;
    }
    case 3:
    {
    SetPlayerRaceCheckpoint(playerid,0,-2477.2505,-114.9111,39.1798,-2478.8101,-149.7431,33.6486,3);
    RaceCheckpoint[playerid] = 4;
    }
    case 4:
    {
    SetPlayerRaceCheckpoint(playerid,0,-2478.8101,-149.7431,33.6486,-2453.6765,-165.3675,35.3125,3);
    RaceCheckpoint[playerid] = 5;
    }
    case 5:
    {
    DisablePlayerCheckpoint(playerid);
    RaceCheckpoint[playerid] = 0;
    return 1;
    }


    Bei case 3 wird irgendwie nicht auf case 4 geswitched ...


    Melde dich heute noch an und werde ein Teil der Community !