Hallo,
Ich möchte euch in diesen tutorial zeigen wie man eine Werbung, Tutorials oder wie auch immer Per Befehl Starten kann.
Erstmal eins vor weg "Script by Templer" Dan wollen wir mal anfangen
Ganz oben beim GM (direkt unter #define) Kommt folgenes hin:
new gWerbungCount[MAX_PLAYERS];
new gWerbungTimer[MAX_PLAYERS];
Direkt darunter machen wir dies hin:
forward Werbung(playerid);
Nun suchen wir OnPlayerConnect(playerid) und Fügen Folgenes ein:
ACHTUNG: Bei Loginsystem zwischen rein fügen:
gWerbungCount[playerid] = 0:
Wen nicht Sollte da Folgenes stehen:
{
gWerbungCount[playerid] = 0:
return 1;
}
Jetzt suchen wir public OnPlayerDisconnect(playerid) Und fügen Folgenes ein:
HINWEIS: Wie oben auch hier:
Wen login:
if(gWerbungCount[playerid] != 0) KillTimer(gWerbungTimer[playerid]);
Wen nicht
{
if(gWerbungCount[playerid] != 0) KillTimer(gWerbungTimer[playerid]);
}
Gehen wir weiter zu public OnPlayerCommandText(playerid, cmdtext[]) DAs fügen wir folgenes ein:
{
if(!strcmp(cmdtext, "/text", false))
{
if(!IsPlayerConnected(playerid)) return 1;
if(gWerbungCount[playerid] != 0) return SendClientMessage(playerid, 0xFFFFFF00, "Du siehst dir gerade den Text an!");
gWerbungCount[playerid] = 1;
gWerbungTimer[playerid] = SetTimerEx("Werbung", 1000, 1, "d", playerid); //Jede Sekunde erscheint ein neuer Text!
return 1;
}
return 0;
}
Dies fügen wir am Besten GANNNZZZZZ weit unten am GM hinzu:
public Werbung(playerid)
{
switch(gWerbungCount[playerid])
{
case 1: //Text #1
{
//Deine Texte für Spieler
SendClientMessage(playerid, 0xFFFFFF00, "Text #2");
}
case 2: //Text#2
{
//Deine Texte für Spieler
SendClientMessage(playerid, 0xFFFFFF00, "Text #2");
}
case 3: //Text#3
{
//Deine Texte für Spieler
SendClientMessage(playerid, 0xFFFFFF00, "Text #3");
}
//Wenn du mehr Texte einfügen willst, dann einfach weiterzählen, also:
// case 4:
// case 5:
// case 6:
// case 7:
// usw...
default: //Letzer Text
{
gWerbungCount[playerid] = 0; //Setzt Wert wieder auf 0 und es wird kein Text mehr angezeigt...
//Dein letzter Text für den Spieler
SendClientMessage(playerid, 0xFFFFFF00, "Letzter Text...");
KillTimer(gWerbungTimer[playerid]);
}
}
gWerbungCount[playerid]++; //Zählt eins rauf
}
Nun Könnten wir das ganze einmal durch /text [id] Sogesagt jemand das zeigen/Sagen:
Da zu müsst ihr folgenes machen sucht public OnPlayerCommandText(playerid, cmdtext[]) und Löscht:
{
if(!strcmp(cmdtext, "/text", false))
{
if(!IsPlayerConnected(playerid)) return 1;
if(gWerbungCount[playerid] != 0) return SendClientMessage(playerid, 0xFFFFFF00, "Du siehst dir gerade den Text an!");
gWerbungCount[playerid] = 1;
gWerbungTimer[playerid] = SetTimerEx("Werbung", 1000, 1, "d", playerid); //Jede Sekunde erscheint ein neuer Text!
return 1;
}
return 0;
}
Wen ihr das Gemacht habt, wird folgenes eingefügt:
dcmd_text(playerid, params[])
{
if(!IsPlayerConnected(playerid)) return 1;
new zielid, string[128];
if(sscanf(params, "u", zielid)) return SendClientMessage(playerid, 0xFFFFFF00, "VERWENDUNG: /gebet [Spieler ID/Name]");
if(!IsPlayerConnected(zielid)) return SendClientMessage(playerid, 0xFFFFFF00, "Ungültige SpielerID!");
if(gWerbungCount[zielid] != 0) return SendClientMessage(playerid, 0xFFFFFF00, "Spieler liest bereits Text!");
gWerbungCount[zielid] = 1;
gWerbungTimer[zielid] = SetTimerEx("Werbung", 1000, 1, "d", zielid); //Jede Sekunde erscheint ein neuer Text!
format(string, sizeof(string), "Du zeigst den Text für SpielerID %d!", zielid);
return SendClientMessage(playerid, 0xFFFFFF00, "Start");
}
Sollte irgenwas mit undefined dcmd Stehen Über den New bla bla.... Das einfügen
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
Fertig
Ich hoffe es könnte euch helfen oder Nützlich sein
MfG
DerOdin