SetTimer

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 Breadfish Community
    Heute möchte ich mein drittes Tutorial vorstellen.


    Was lernen wir?
    SetTimer (richtig) zu verwenden.
    PayDay’s erstellen.
    eventuell mehr


    Was benötigen wir?
    SA:MP Server (zum testen)
    Pawno (Scripting)
    Eventuell ein paar Grundkentnisse



    Vorwort
    Viele denken sich nun:
    „wieder ein payday tutorial? Hmpf -.-“
    Aber nein, der PayDay ist in diesem tutorial nur eine
    „Beilage“. Das eigentliche Thema heute ist das SetTimer.
    Und ja, ich habe dieses mal mit Absicht den Text linksstehen ;)


    Schritt 1
    Wir öffnen Pawno.
    Wir öffnen unser Script und erstellen ganz oben ein forward SetTimerTutorial(playerid);
    //Der name hängt vom Public ab, welches später kommt ;) das playerid ist dafür da, das es die funktion „playerid“ mit sich trägt. Sonst könne man playerid für beispielweiße SendClientMessage nicht benutzen.
    Schritt2
    Erstellt dort, wo ihr es wollt, den SetTimer ("SetTimerTutorial"/*heißt deswegen so, weil der public später so heißen soll*/, 120000 /*Dies ist die zeit wie lange es dauert, bis der public "SetTimerTutorial" aktiviert wird. Dies ist minisec. (Hier, 20 minuten)*/, 1/*ob es wiederholt werden soll (1 = ja 0 = nein.*/);
    Ich habe es unter OnPlayerConnect getan, da es sonst - wenn es unter OnGameModeInit wäre – nach 5 x 20 min. zu ende wäre, da der SetTimer dann startet, wenn der Server startet. Dies hätten wir nun geklärt.
    Schritt3
    Nun erstellen wir ganz unten im Script, einen neuen public.
    Dieser sollte – wenn er noch leer ist – so aussehen:
    public SetTimerTutorial(playerid)
    {
    return 1;
    }

    So, sollte bei eurem Compilelog nun ein Error oder mehrere Errors erscheinen,
    empfehle ich euch, dieses Tutorial von Anfang an zu wiederholen, aber mehr darauf zu achten,
    ob alles 1 zu 1 übereinstimmt.
    Schritt4
    Nun könnt ihr dies einfügen was ihr wollt, ein Teleport, einfache News mit SendClientMessageToAll,
    oder aber auch PayDay’s.
    Schritt5 – Der PayDay
    Dies soll nur für die Leute sein, die einen PayDay erstellen möchten.
    (Ihr müsst euren forward SetTimerTutorial(playerid); durch ein forward SetTimerTutorial(playerid, i); ersetzen und public SetTimerTutorial(playerid) durch public SetTimerTutorial(playerid, i) ersetzen, damit ‚i‘ – was soviel wie „alle playerid‘s“ bedeutet – definiert ist. Sonst gibt’s Errors.)
    Also, als erstes erstellt ihr in eurem neuem public ein GivePlayerCash (i, 5000);
    // ihr könnt 5000, welches 5000$ entspricht, ersetzen durch eure Summe.
    Nun könnt ihr noch ein SendClientMessageToAll erstellen, aber dies könnt ihr sicher.
    Wenn nicht, guckt in der SA:MP Wiki nach.
    http://www.wiki.sa-mp.de


    Fertig
    Und zum Drittenmal habt ihr es geschafft.
    Nun habt ihr einen SetTimer in eurem Gamemode, mit dem ihr viele Dinge „Vereinfachen“ könnt.
    Ich habe hier mal aus Langeweile ein Rohling eines SetTimer teleporters gemacht: (nur der public)
    public SetTimerTutorial(playerid, i)
    {
    SetPlayerPos(i,float:x,float:y,float:z);
    //float:x,float:y,float:z durch eure Coordinaten ersetzen, (ohne das float)
    //Wie ihr diese Coordinaten erhaltet, erfahrt ihr in meinem Teleport Tutorial.
    SendClientMessage(i, COLOR, "Sie werden in <schreib deine zeit rein> zum krankenhaus teleportiert");
    // COLOR durch eure Farbe austauschen bitte, sonst gibt es wieder Errors.
    return 1;
    }
    Dies könnte man erstellen, wenn man den timer eventuell unter OnPlayerDeath hat ;)
    Habt spaß damit! Euer Loadup[GER] - Ende

    Copyright by Loadup[GER}
    bei fragen bezüglich diesem hier, bitte eine PM schicken.
    Bei gefundenen rechtschreibfehlern bitte im Tread melden.
    Bei ergänzungen bitte im Tread melden.

    Dies wurde von mir getestet, da ich meinen Compiler wieder habe.

    Falls Errors auftreten bitte in diesem Tread einfügen.

    Wenn man Errors postet, sollte man auch sein Command mit einfügen.

    („sollte“ deswegen unterstrichen, da wenn man dies nicht tut, einem auch nicht geholfen werden kann;))

    Wer ein paar Ideen hätte, zu was ich ein Tutorial machen könne,

    kann sich gerne per PM melden.

    (da dies nicht zum tutorial tread gehört ;))

    Die Idee zu diesem Tutorial bekam ich, als ein User fragt,

    was es mit dem SetTimer auf sich hat.

    2 Mal editiert, zuletzt von Loadup[GER] ()

  • schlecht. Deine SetTimer Erklärung ist falsch


    SetTimer(namederfunktion, zeit, wiederholen? 1 ja/ 0 nein);


    und warum public SetTimerTutorial(playerid, i)


    lieber mit ner for schleife


    also
    2/10


    ach es gibt schon ein Timer Tut

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • ah fu** hab ich wieder nen fehler gemacht, aber danke das du es nochmal ergänzt hast! :)
    echt? hm hab ich net gefunden :(
    edit: editiert. (schade, da denkste man hätte was was keiner gemacht hat, und dann kommt heraus das es schon eins gab, und das ich es sogar falsch erkläre rofl ... :()

  • danke für die info zombie :) naja ... aber zumindest hab ichs ja versucht^^

  • sama, wieso kickste mich jetzt so einfach in die mülltonne?
    ich habe dir nichts getan und du hast wohl auch net immer alles beim ersten anlauf verstanden / BEstanden, also mach mich nicht so an :cursing:
    ich fühl mich von dir bedroht :huh: um es auf den punkt zu bringen ... kA.

  • Er hat aber vollkommen recht. Bist ja eig. recht neu und schon biste Profi ( glaubst du ja ) und machst Tutorials. Mein erstes Tutorial habe ich auch nicht nach 3 Wochen geschrieben xDD.

  • tuh ich das? denke nicht, ich habe ihn nur klar gemacht das ich mich von ihm bedroht fühle :cursing:
    auserdem wieso mischst du dich da ein? nichts gegen dich aber das ist eine sache zwischen mir und monti


    EDIT: ich bin schon über 2 jahre hier. das ist ein neuer acc.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich habe dich nicht "in die Mülltonne gekickt". Außerdem sagte ich auch nicht, dass du alles von Anfang an richtig machen sollst.
    Ich habe lediglich gesagt, wenn du es nicht richtig weißt, mach auch kein Tutorial, damit bringst du Anföngern nur deine Fehler bei.
    Also erst lernen und dann Tutorials schreiben, dann bringen sie einem auch was bei. Wer dich nach SetTimer fragt, dem schickste getrost ein Link zum SA:MP Wiki.
    Dort wird jede Funktion erklärt (bzw. fast jede).


    EDIT: Das du hier schon 2 Jahre bist, bedeutet nicht, dass du ein super Scripter bist -.-

    Einmal editiert, zuletzt von Monte ()

  • Haha!!!!!!!!!! Geht gar nicht. Weil erst am Montag breadfish 2 Jahre alt wird ( also ehm das breadfish forum ) :P:P:P:P:P:P:P:P:P:P

  • nochmal an kev:

    Zitat

    EDIT: ich bin schon über 2 jahre hier. das ist ein neuer acc.

    hatte aber ne auszeit habe dadurch viel vergessen. wie auch immer, ich habe ja den fehler berichtigt, war ja nicht so das es alles müll war^^
    naja ich guck noma bissl in der wiki nach, vllt hab ich ja noch bissl zu wiederholen was ich früher schon konnte ...



    //EDIT dann halt 1 jahr kA aber 1 jahr mindest lol^^

  • Lies mal mein edit HAHA. und wie hießte früher?

  • lies mal meins :P

    Zitat

    //EDIT dann halt 1 jahr kA aber 1 jahr mindest lol^^

    löl, anders halt xD SendClientMessageToAll(COLOR_ROTWEIß,"kitarou, habs aber als joke in SUCK_MY_DICK unbenannt omfg ich weiß rofl^^");

  • Genau. Ich bin hier ca. 10 Monate und ich kann mehr als du

  • ja wen interessiert es denn? Nur weil man bsp 10000 Beiträge hat heißt es nicht man ist ein super top skripter.


    Hört einfach auf euch immer weiter zu provozieren! Das endet nur wieder in beleidigungen.


    @ Topicersteller


    Nimm dir lieber etwas mehr Zeit zum lernen bevor du hier irgendetwas reinschreibst. Nicht böse gemeint ist aber so

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • Zitat

    Das du hier schon 1 Jahr bist, bedeutet nicht, dass du ein super Scripter bist.

    sagte ich nie
    ich habe nur behauptet (und bewießen) das ich länger als 2-3 wochen hier bin^^
    hm, also ... keine ahnung was ich jetzt noch hinzufügen sollte hm ... nix :D
    verwirrung :S


    //EDIT: bin jetzt weg cu^^

  • Ich will dich jetzt hier nicht fertig machen oderso. Tutorial is gut, aber unnötig, Payday Tutorials gibts genug und um die SetTimer Funktion zu erklären, hätte das WIKI gereicht.
    ABer der Gedanke zum Helfen allein ist schon gut.