Guten Nachmittag liebe Brotfische,
ich stelle euch nun ein System vor, was äußerst praktisch ist bei z.B. einem Tutorial oder einer Erklärung.
Es geht um Dialoge die man erst nach einer bestimmten Zeit wegklicken kann.
Funktionen:
//Funktionen
native ShowPlayerTimeDialog(playerid,time,header[],body[],const button[]); //returnt dialogid
native RestartTimeDialog(playerid,id,time=0);
//Callback
OnTimeDialogResponse(playerid, dialogid);
Beispiele:
Im folgenden Beispiel erstelle ich nun einen Dialog, der für 15 Sekunden angezeigt wird.
new id; //Oben im Skript
//Da wo der Dialog angezeigt werden soll
id = ShowPlayerTimeDialog(playerid,15,"{FF0000}Timer Dialog","{FFFFFF}Sie müssen diese Nachricht leider {FF0000}15 Sekunden{FFFFFF} lesen!","Bestätigen");
/*
Zur Information...da steht ja "Bestätigen", dieser Button-Text wird dann nach 15 Sekunden angezeigt!
*/
//Und dann der Callback irgendwo im Skript:
public OnTimeDialogResponse(playerid, dialogid)
{
if(dialogid == id)
{
SendClientMessage(playerid,-1,"uuuund Bestätigt! :)"); //Das wird erst aufgerufen, sobald Bestätigen als Button angezeigt wurde (also nach 15sek)
}
return 1;
}
Falls ihr jetzt diesen Dialog nochmal anzeigen lassen wollt, könnt ihr einfach folgendes machen:
RestartTimeDialog(playerid,id);
Ihr könnt aber auch eine neue Zeit einstellen, z.B. nur 10 Sekunden:
RestartTimeDialog(playerid,id,10);
Ihr bekommt einen Error?
{
return 1;
}
Screenshots:
Download:
Source-Code: PasteBin
Direkter-Download: MediaFire
Schlusswort:
So das wars auch schon mit der kleinen Vorstellung
Falls ihr Fragen oder Probleme habt, einfach in den Thread damit
mfg.