Race mit Freezetime und Countdown

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 wollte fragen ob jemand mir sagen kann wie ich ein Freezetimer für mein Race Server mache.
    Also mit Countdown z.b Rennen Startet in 5 4 3 2 1 ...


    Wäre sehr nett wenn einer weiß wie das funktioniert

  • So hier bitte, eine kleine Lösung für deinen Wunsch


    forward RaceTimerForPlayer(playerid);


    public RaceTimerForPlayer(playerid)
    {
    new string[64],count=GetPVarInt(playerid,"RaceCountDown");
    if(count==0) {format(string,sizeof(string),"~g~GO~b~GO~r~GO~y~GO"); DeletePVar(playerid,"RaceCountDown");}
    else {format(string,sizeof(string),"... %d ...",count); SetPVarInt(playerid,"RaceCountDown",count-1); SetTimerEx("RaceTimerForPlayer",1000,false,"d",playerid);}
    GameTextForPlayer(playerid,string,1000,3);
    }


    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if(!strcmp(cmdtext,"/startcountdown",false))
    {
    SetPVarInt(playerid,"RaceCountDown",5); //Wieviele Sekunden runterzählen sollen
    SetTimerEx("RaceTimerForPlayer",1000,false,"d",playerid);
    return GameTextForPlayer(playerid,"~y~Countdown ~g~gestartet ~w~...",1000,3);
    }
    return 0;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Vielen Dank ich werde es gleich ausprobieren.

  • return GameTextForPlayer(playerid,"~y~Countdown ~g~gestartet ~w~...",1000,3);
    ist das so richtig?
    weil ich bekomm ein Warning.
    wenn ich es lösche gehts wieder

  • Ich bekomme keinen Fehler, was kommt denn für einer?

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • : warning 225: unreachable code
    brauch ich ein include?

  • nein ^^, dass bedeutet das du irgendwo ein return zuviel hast. Hast du zufällig mein return 0; auch kopiert? oder wie hast du es eingefügt?

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • ah danke jetzt geht , nein hatte das return 0 zu 1 gemacht ^^
    habs aber entfernt , vielen dank

  • Er wollte nur einen Countdownzähler ^^ Natürlich kann er es für mehrere Raceteilnehmer auch einbauen, aber das war in diesem Fall nicht gefordert. ^^

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • War doch falsch^^
    Werde es irgendwie schon hinbekommen
    /edit

  • So 8D, da hat der junge Mann hier recht. Wie man sieht sind die älteren schon überfordert ne? ^^


    Nebenbei Bassi gute Idee, hab schon so kompliziert gedacht mit Schleifen und allem Mögliche, aber nein du schlagst es mit einem einzigen Befehl ^^ Auch wenn dann wirklich jeder den countdown sieht, was etwas nervig ist, aber eher Ansichtssache ^^

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Jaja, nur weil du wieder die Hälfte vergisst ;)


    Beim Command:


    TogglePlayerControllable(playerid,false);


    und bei der if-abfrage mit count == 0 vor der "}" noch


    TogglePlayerControllable(playerid,true);

  • //EDIT:


    Ja und was ist, wenn er doch die SpielerKamera bewegen möchte, wenn er gefreezt ist? Hah? Also BasiDerGamer hör ned auf 8D, er richtet sich nur monoton an SAMP Wiki!


    Meine Empfehlung:


    Zum Einfrieren
    ApplyAnimation(playerid,"CAR","Sit_relaxed",2.5,1,1,1,1,90000000);


    Zum Lösen
    ClearAnimations(playerid);


    und er ist gefreezt und kann trotzdem die Kamera bewegen ^^

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Und was ist wenn er ganz schnell nochmal an die nächste Wand zum Pinkeln muss?


    Da machste dann beim CMD:


    new engine,lights,alarm,doors,bonnet,boot,objective,vid;
    vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,0,lights,alarm,doors,bonnet,boot,objective);


    Und beim Count == 0:


    new engine,lights,alarm,doors,bonnet,boot,objective,vid;
    vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,1,lights,alarm,doors,bonnet,boot,objective);


    Dann kann er auch nochmal pinkeln, oder kaka machen :D

  • langsam wird bisle seriös^^
    Kacka und Pipi brauch ich nicht ingame^^

  • ok habs GameTextForAll(string,1000,3);





    /edit habs

  • Tja junge, aber du hast das wichtigste vergessen, wo ist denn die Wand die er benötigt zum anpinkeln? Nebenbei was für ein Mann bist du, der auf Beton sein Geschäft erledigt, sicher ist BasiDerGamer nicht so ein Mann wie du! Ein Mann braucht einen Baum! und dieser muss immer bereit stehn, wenn man pinkelt!


    SetPlayerAttachedObject(playerid, 3, 627, 1, 0.5, 2, 0, 0, 90, 0);
    SetPlayerSpecialAction(playerid, 68);


    Und BasiDerGamer, wenn du das wirklich so einfügst, dann wirst du was besonderes haben, weil bis jetzt hat noch kein Server nen Baum, der ganze Zeit mit dem Spieler geht und du auch noch deine Geschäfte darin erledigen kannst.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Das ist niveaulos xD


    Der Beitrag ist zu kurz. Der Beitrag muss mindestens 15 Zeichen lang sein und 6 Wörter enthalten.


    dcmd_nichtandenbaum(playerid,params[])
    {
    new gp;
    if(sscanf(params, "u",gp)) {
    SendClientMessage(playerid,COLOR_RED,"Verwendung: /nichtandenbaum [playerid]");
    return 1;
    }
    GivePlayerMoney(gp,-20);
    return 1;
    }


    Bußgeld.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen