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.