Beiträge von YaBroo

    new string4[100], namer[MAX_PLAYER_NAME];
    GetPlayerName(playerid,namer,sizeof(namer));
    format(String4, sizeof(String4), "~y~%s~w~ hat den Server ~g~betreten",namer);
    TextDrawSetString(VerbindungsLeiste, String4);


    /E
    Muss nicht richtig sein aber probieren kostet nichts^^

    Danke es funktioniert.
    Kann man jetzt noch die Bestzeit sprich von dem Spieler mit der schnellsten Zeit der Runde ermitteln & speichern bei dini?
    //Edit2


    Es funktioniert doch noch nicht so ganz.
    Ich habe den Counter wirklich Zeitgleich mit dem counter der hoch zählt laufen.


    SetTimer("countdown",1000,true);
    SetTimer("countdown2",1000,false);


    new Mini;
    new second;
    public countdown()
    {
    new String2[256];
    second++;
    format(String2, sizeof(String2), "Zeit: %d:%d",Mini,second);
    TextDrawSetString(Textdraw7, String2);
    if (second == 59)
    {
    second = 0;
    Mini += 1;
    }
    if (second <= 9)
    {
    format(String2, sizeof(String2), "Zeit: %d:0%d",Mini,second);
    TextDrawSetString(Textdraw7, String2);
    }
    if(Mini <= 9)
    {
    format(String2, sizeof(String2), "Zeit: 0%d:%d",Mini,second);
    TextDrawSetString(Textdraw7, String2);
    }
    return 1;
    }
    forward countdown2();
    public countdown2()
    {
    racestart = GetTickCount();
    }


    Nach dem letzten Checkpoint
    else if(CheckpointStatus[playerid] == MAX_RACE_POINTS)
    {
    new timeMs = ( GetTickCount() - racestart );
    //timeMs(millisekunden) in Min:Sek.Ms umrechnen
    new minuten = (timeMs/60000);
    timeMs -= (minuten * 60000);
    new sekunden = (timeMs/1000);
    sieger += 1;
    CheckpointStatus[playerid] = 0;
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof string,"Spieler %s ist als %d. durchs Ziel gefahren.(Zeit:0%d/%d) !",name,sieger,minuten,sekunden);
    SendClientMessageToAll(grün, string);
    format(string, sizeof string,"Deine Plazierung: %d. Platz!",sieger);
    SendClientMessage(playerid, grün, string);
    Finishstock(playerid);
    DisablePlayerRaceCheckpoint(playerid);
    MachtArbeit[playerid]= 0;
    return 1;
    }


    Das problem ist jetzt, das der Counter der die Zeit stopt, komischer Weise bei 2:38(Wo der Racetimer im Ziel ist) bei 2:50 oder höher steht sprich immer paar Sekunden vorne. Wie kann das sein?
    //Edit 2


    Was hat das mit den TimeMS auf sich?

    Erst einmal danke.
    racestart ersetze ich durch meinen Counter? Millisekunden will ich garnicht dabei haben, können raus. Also bei mir siehts jetzt so aus


    forward countdown();


    SetTimer("countdown",1000,true);


    new Mini;
    new second;
    public countdown()
    {
    new String2[256];
    second++;
    format(String2, sizeof(String2), "Zeit: %d:%d",Mini,second);
    TextDrawSetString(Textdraw7, String2);
    if (second == 59)
    {
    second = 0;
    Mini += 1;
    }
    if (second <= 9)
    {
    format(String2, sizeof(String2), "Zeit: %d:0%d",Mini,second);
    TextDrawSetString(Textdraw7, String2);
    }
    if(Mini <= 9)
    {
    format(String2, sizeof(String2), "Zeit: 0%d:%d",Mini,second);
    TextDrawSetString(Textdraw7, String2);
    }
    return 1;
    }

    Wo müsste ich was einsetzen um bei


    else if(CheckpointStatus[playerid] == MAX_RACE_POINTS)
    {
    sieger += 1;
    CheckpointStatus[playerid] = 0;
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof string,"Spieler %s ist als %d. durchs Ziel gefahren !",name,sieger);
    SendClientMessageToAll(grün, string);
    format(string, sizeof string,"Deine Plazierung: %d. Platz!",sieger);
    SendClientMessage(playerid, grün, string);
    Finishstock(playerid);
    DisablePlayerRaceCheckpoint(playerid);
    MachtArbeit[playerid]= 0;
    return 1;
    }


    in der Client Message die Zeit mit einzubauen? Sollte für jeden Spieler einzelnt sein natürlich
    //Edit3

    Servus Leute,
    wie manche von heute mittag bestimmt wissen, sitze ich derzeit an einem kleinen Race Script.
    Jetzt möchte ich einen Countdown laufen lassen, und beim erreichen des letzten Checkpoints möchte ich das die Zahl sprich da wo der countdown gekillt wurde gemerkt und im Chat wiedergegeben wird.
    Den Countdown habe ich bereits, der funktioniert auch Einwand frei, aber wie komme ich an die Zeit?

    StopAudioStreamForPlayer(playerid);


    public OnPlayerRequestClass(playerid)


    machste denke ich mal einfach nur die Animation rein und stoppst die dann wenn einer sein Skin ausgewählt hat

    Was bringt's mir denn wenn ich dann immer noch nicht weiß wie's funktioniert.
    Ja danke für's Include, ist das denn auch eine Antwort auf meine Frage mit dem Ranking? Ich möchte ja nur das wissen, da steht viel zu viel drinnen^^


    //Edit
    Also ich will das Ranking AKTUELL während dem Rennen wissen nicht zum Schluss wenn jeder einzelnt durchs Ziel fährt.


    //Edit
    //Edit
    Jetzt steht da ganz unten noch um permanent die Posi während dem Rennen heraus zu finden.
    Also müsste ich dann theoretisch einen 1sek timer laufen lassen der jede Sekunden abruft auf welcher Position man ist?
    Race_GetPlayerPosition(playerid);


    Ist damit jetzt die Position in der Liste von den erst schnellsten zB oder die Position wo er sich auf der Map befindet. Ich will natürlich das 1. !

    Hey Leute, ich wollte mich jetzt mal ran machen an ein kleines Race Script. Jetzt ist die Frage, weiß / kennt wer von euch ein Tutorial für Platzierungen?
    Sprich einem soll angezeigt werden wie vielter Platz / x Spielern man ist. Wäre nett wenn da wer was hat.
    Lässt man das über die Checkpoints überprüfen? Habe es auch schon gesehen das es per Timer gemacht wird sprich wenn man wirklich überholt. Aber dann muss man den Abstand zum nächsten checkpoint berechnen oder? Ich hab ja sowas von kein Plan^^


    Wäre genial wenn mir das wer näher bringen könnte


    Du musst auch noch schreiben was passieren soll wenn er einsteigt. Sprich das nur ein bestimmtes Team einsteigen darf und der rest gekickt wird aus dem Fahrzeug


    Du musst bei einem von beiden oben schon ein E dran hängen. Die dürfen nicht gleich heißen.


    new PremiumFahrzeug[10];


    forward PremiumFahrzeug(vehicleid);


    zu


    new PremiumFahrzeug[10];


    forward PremiumFahrzeuge(vehicleid);


    //Edit

    Ich wollte ihm damit nur einen kleinen Anstupser bzw. einen Tipp geben wie er es machen könnte..
    Ich kenne leider seine Pawn Kenntnisse nicht, daher weis ich auch nicht ob er weis was zwischenspeichern ist bzw, wie es funktioniert.



    Aber der Sinn und Zweck dahinter ist doch der gleiche?!


    Ich habe das mit der SprachAbfrage auch deshalb gemacht, damit ich bei der if abfrage nicht überall

    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    machen muss welches ich aber machen muss wenn ich
    if(dini_Int(Spielerdatei,"Sprache") == 1)
    nutze.. Muss man das wirklich bei jeder if Abfrage hin setzen?


    Wobei
    SprachAbfrage = dini_Int("Spielerdatei", "Sprache");
    if(SprachAbfrage == 1)
    {
    return 1;
    }
    doch reichen sollte, aber dann muss ich ja auch an die Spielerdatei kommen
    //Edit
    //Edit Sprach
    //Edit 2
    //Edit 3


    Dank euch, wenn dann aber wohl dini_Get oder nicht!?