Wow, dass kopierst noch schöner ins Tutorial Forum du wirst beliebt xD
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
-
-
Wow, dass kopierst noch schöner ins Tutorial Forum du wirst beliebt xD
Mach ich aber Scripte by "Templer"
Noch ne frage was müsste ich änder damit wer er auf Server sich neu anmeldet das dies zuerstkommen wie tutorial?
-
Du siehst das bei dem Befehl er gestartet wird. Also fügst du dann einfach die folgenden Zeilen dort ein, wo du es gestartet haben willst:
ggebetCount[playerid] = 1;
ggebetTimer[playerid] = SetTimerEx("gebet", 1000, 1, "d", playerid); //Jede Sekunde erscheint ein neuer Text! -
Du siehst das bei dem Befehl er gestartet wird. Also fügst du dann einfach die folgenden Zeilen dort ein, wo du es gestartet haben willst:
ggebetCount[playerid] = 1;
ggebetTimer[playerid] = SetTimerEx("gebet", 1000, 1, "d", playerid); //Jede Sekunde erscheint ein neuer Text!Sprich:
Wen ich das z.b. hier machen würde (Ausschnitt nach Register -> Nochmals Login daten eingeben:)
[...]yerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
IstEingeloggt[playerid] = 1;
SendClientMessage(playerid,weiß,"Erfolgreich eingeloggt");//HIER INFÜGEN?????????????????
new string3[128];
format(string3,sizeof(string3),"Spieler %s hat sich eingeloggt",playername);print("-----");
print(string3);
}Oder bin ich da falsch?... oder wen Er nach dem er sich ein account erstellt hat, DAs Tutorial kommt, danach "nun können sie sich einloggen" ?
//EDIT; Wie muss das Abspeichern damit er erkennt das der User das Tutorial gesehen hat?
//EDIT²; Hab so gemacht das in den account-Daten "Tutorial = 0" eingespeichert wird 0=Kein Tutorial 1=Tutorial gemacht
Halt bei abcheck 0 wird tutorial gestartet, bei abcheck 1 Wir tutorial nicht gestarte player Spawn -
Passtz genau, dort einfügen und deine Tutorial Abfrage auch einfügen, denn wieso sollte einer, der das Tut gesehen hat, nochmal sehen ohne jeden Grund
-
So sieht jetzt aus
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
IstEingeloggt[playerid] = 1;
PlayerInfo[playerid][pTutorial] = 0;
gTutorialTimer[playerid] = SetTimerEx("Tutorial", 15000, 0, playerid); //Jede Sekunde erscheint ein neuer Text!
SendClientMessage(playerid,weiß,"Erfolgreich eingeloggt");new string3[128];
format(string3,sizeof(string3),"Spieler %s hat sich eingeloggt",playername); -
Naja ich weiß jetzt ned so genau wo das is, aber wenn diese public FUnktion auch bei Leuten aufgerufen wird, die bereits sich registriert haben würde ich es so machen..
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
IstEingeloggt[playerid] = 1;
if(PlayerInfo[playerid][pTutorial] == 0)
{
gTutorialTimer[playerid] = SetTimerEx("Tutorial", 15000, 0, playerid); //Jede Sekunde erscheint ein neuer Text!
SendClientMessage(playerid,weiß,"Erfolgreich eingeloggt");
}new string3[128];
format(string3,sizeof(string3),"Spieler %s hat sich eingeloggt",playername);//Dort wo das Tut Message endet, also bei default: das rein
PlayerInfo[playerid][pTutorial] = 1;
//Und bei OnPlayerConnect zu den anderen Variablen das einfügen:
PlayerInfo[playerid][pTutorial] = 0; //Damit neue Spieler die Standart Werte kriegen
//Den die richtigen Werte werden ja dann von der Spielerdatei übernommen, wenn du es
//so programmiert hast ^^ -
Naja ich weiß jetzt ned so genau wo das is, aber wenn diese public FUnktion auch bei Leuten aufgerufen wird, die bereits sich registriert haben würde ich es so machen..
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
IstEingeloggt[playerid] = 1;
if(PlayerInfo[playerid][pTutorial] == 0)
{
gTutorialTimer[playerid] = SetTimerEx("Tutorial", 15000, 0, playerid); //Jede Sekunde erscheint ein neuer Text!
SendClientMessage(playerid,weiß,"Erfolgreich eingeloggt");
}new string3[128];
format(string3,sizeof(string3),"Spieler %s hat sich eingeloggt",playername);//Dort wo das Tut Message endet, also bei default: das rein
PlayerInfo[playerid][pTutorial] = 1;
//Und bei OnPlayerConnect zu den anderen Variablen das einfügen:
PlayerInfo[playerid][pTutorial] = 0; //Damit neue Spieler die Standart Werte kriegen
//Den die richtigen Werte werden ja dann von der Spielerdatei übernommen, wenn du es
//so programmiert hast ^^Alles im Turoial richti jedoch kommt das:
C:\v9.pwn(5867) : warning 217: loose indentation
C:\v9.pwn(5867) : error 029: invalid expression, assumed zero
C:\v9.pwn(5867) : error 004: function "tutorial" is not implemented
C:\v9.pwn(5869) : error 012: invalid function call, not a valid address
C:\v9.pwn(5869) : error 029: invalid expression, assumed zero
C:\v9.pwn(5869) : error 029: invalid expression, assumed zero
C:\v9.pwn(5869) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
6 Errors.
-
Bitte zeilen posten, da ich ned sonderbar weiß wie du alles umbenannt hast
-
Bitte zeilen posten, da ich ned sonderbar weiß wie du alles umbenannt hast
Hab ein } Vergessen nur noch diese Errors:
C:\v9.pwn(5870) : error 012: invalid function call, not a valid address
C:\v9.pwn(5870) : error 029: invalid expression, assumed zero
C:\v9.pwn(5870) : error 029: invalid expression, assumed zero
C:\v9.pwn(5870) : fatal error 107: too many error messages on one lineHier
public tutorial(playerid)
{
switch(gTutorialCount(playerid)) //Zeile 5870
{ -
Keine runde Klammer, sondern eckige!
switch(gTutorialCount[playerid]) //Zeile 5870 -
Keine Fehlers...
Aber irgenwie Startet der das Tutoril nicht...
PlayerInfo[playerid][pTutorial] = 1; //(Für hat Turtoial muss nicht)
PlayerInfo[playerid][pTutorial] = 0; //(für hat nicht muss tutorial=Oder ist das anders rum, sowie du mir das erklärt hast?
-
1 .. Tutorial gemacht
0 .. Tutorial nicht gemacht -
Irgenwie Startet der das tutorial nicht....
OnPlayerConnect:
PlayerInfo[playerid][pTutorial] = 0; // Kein toturialund bei Login:
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
IstEingeloggt[playerid] = 1;
if(PlayerInfo[playerid][pTutorial] == 0)
{
gTutorialTimer[playerid] = SetTimerEx("Tutorial", 15000, 0, playerid); //Jede Sekunde erscheint ein neuer Text!
SendClientMessage(playerid,weiß,"Erfolgreich eingeloggt");
}new string3[128];
format(string3,sizeof(string3),"Spieler %s hat sich eingeloggt",playername);und halt am ende Des tutorials:
PlayerInfo[playerid][pTutorial] = 1; -
Fehler gefunden.
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
IstEingeloggt[playerid] = 0; //Nicht 1 sondern 0...
if(PlayerInfo[playerid][pTutorial] == 0)
{
gTutorialTimer[playerid] = SetTimerEx("Tutorial", 15000, 0, playerid); //Jede Sekunde erscheint ein neuer Text!
SendClientMessage(playerid,weiß,"Erfolgreich eingeloggt");
}new string3[128];
format(string3,sizeof(string3),"Spieler %s hat sich eingeloggt",playername); -
Ich post die mal das ganz Login system xD
if(dialogid == logindialog)
{
if(response == 0)
{
SendClientMessage(playerid,rot,"Fehler: Du willst dich also nicht einloggen");
SendClientMessage(playerid,rot,"Fehler: Um spielen zu können, musst du dich einloggen");
Kick(playerid);
}
if(response == 1)
{
new string[128];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),"account/%s.dini",playername);new pass[128];
format(pass,sizeof(pass),"%s",inputtext);
if(!dini_Exists(string))
{
SendClientMessage(playerid,rot,"Fehler: Es existiert noch keine Spielerdatei. Benutze /register");
return 1;
}
else
{
if(strcmp(pass,dini_Get(string,"Password"),true)==0)
{
if(dini_Isset(string,"Geld"))
{
PlayerInfo[playerid][pCash] = dini_Int(string,"Geld");
}
else
{
dini_IntSet(string,"Geld",(50000));
}//HIER SIND ALLE WIE OBEN DAS MIT DEM GELD!!!!!!
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
IstEingeloggt[playerid] = 0; //<<<<<<< Geändert
if(PlayerInfo[playerid][pTutorial] == 0)
{
gTutorialTimer[playerid] = SetTimerEx("Tutorial", 15000, 1,"Tutorial Startet", playerid); //Jede Sekunde erscheint ein neuer Text!
SendClientMessage(playerid,rot,"Fehler: Du musst das Tutorial noch machen!");
}
SendClientMessage(playerid,weiß,"Erfolgreich eingeloggt");new string3[128];
format(string3,sizeof(string3),"Spieler %s hat sich eingeloggt",playername);print("-----");
print(string3);
}
else
{
ShowPlayerDialog(playerid,logindialog,DIALOG_STYLE_INPUT,"Login","Logge dich bitte mit deinem Password ein","Absenden","Abbrechen");
SendClientMessage(playerid,rot,"Fehler: Das ist das falsche Passwort");
new string3[128];
format(string3,sizeof(string3),"Spieler %s hat versuch sich mit dem falschen Passwort einzuloggen. PW: %s",playername,pass);print("-----");
print(string3);
}if(PlayerInfo[playerid][pBan] == 1)
{
SendClientMessage(playerid,braun,"Du wurdet gekickt, da du früher schon mal gebannt wurdest");
Kick(playerid);new string2[128];
format(string2,sizeof(string2),"Spieler %s wurde gekickt, da er gebannt ist",playername);
}if(PlayerInfo[playerid][pFraktion] == 100)
{
SendClientMessage(playerid,weiß,"Du gehörst noch keiner Fraktion an. Suche dir eine aus");
ForceClassSelection(playerid);
SetPlayerHealth(playerid,0);
}
}
}
}Könnte das sein weil ein TDM script aufpas das ws wegen den Spawn nicht geht? Weil ich kann immer neuen skin aussuchen
-
Templer?
Ich bins
DerOdinwurde von 8D. Gebannt Wegen doppelt account.
Weil freund sich kurz bei mir eingeloggt hat naja Sebihunter sagt 2 Pro haushalt/Ip sind erlaubt aber
Irgen wie hat 8D. an sich jeden zubannen.Aufjeden fall das TUT geht irgenwie immer noch nicht
-
Versteh das ned, so müsste es klappen.. Wieso was passiert eigentlich beim einloggen? Kommt wenigstens die Meldung?
-
Wen ich mich einlogge steht da halt mein text "Sie haben das tutorial nicht abgeschlossen." Da sollte dan das tut kommen machts aber ned
-
Wir sind aber ganz schön doof, aber wirklich...
Wir haben vergessen die Varbiable zu setzen
gWerbungCount[playerid] = 1;Also:
IstEingeloggt[playerid] = 0; //Wieso ist das auf 0, wenn er sich einloggt musses auf 1 ....
if(PlayerInfo[playerid][pTutorial] == 0)
{
gWerbungCount[playerid] = 1; //Das hat vergessen xD
gTutorialTimer[playerid] = SetTimerEx("Tutorial", 15000, 1,"d", playerid); //Jede Sekunde erscheint ein neuer Text!
SendClientMessage(playerid,rot,"Fehler: Du musst das Tutorial noch machen!");
}