Wie könnte ich sowas erstellen?
Ich bin recht neu da drinne, und konnte gerad nur ein Register/Login System dank Jeffry`s Tutorial erstellen.
So das war dann auch schon meine Frage.
Mit freundlichen Grüßen,
Mythik.
Wie könnte ich sowas erstellen?
Ich bin recht neu da drinne, und konnte gerad nur ein Register/Login System dank Jeffry`s Tutorial erstellen.
So das war dann auch schon meine Frage.
Mit freundlichen Grüßen,
Mythik.
Was genau möchtest du denn erstellen?
Es gibt ja Tutorials mit Kamerafahrten, oder auch welche mit Checkpoints usw.
Schreib uns mal genau was du brauchst dann bekommst du Denkanstöße.
Was genau möchtest du denn erstellen?
Es gibt ja Tutorials mit Kamerafahrten, oder auch welche mit Checkpoints usw.
Schreib uns mal genau was du brauchst dann bekommst du Denkanstöße.
Die Kamerafahrten gibt es für mich auf fast jeden Server.
Man sollte schon was am Anfang zu tun haben, und nicht nur klicken auf den Dialog und vor dem Bildschirm hocken und warten.
Ich möchte es mit den tollen Checkpoints machen, nur wie?
Mit freundlichen Grüßen,
Mythik.
Die Kamerafahrten gibt es für mich auf fast jeden Server.Man sollte schon was am Anfang zu tun haben, und nicht nur klicken auf den Dialog und vor dem Bildschirm hocken und warten.
Ich möchte es mit den tollen Checkpoints machen, nur wie?
Mit freundlichen Grüßen,
Mythik.
Hey, vielleicht ist dieser Thread hilfreich?
Wie kann man eine InGame-Einweisung erstellen?
Zuerst brauchst du eine Variable für das Tutorial, mit der du bei dem Login abfragen kannst ob der Spieler schon das Tutorial hinter sich hat oder nicht.
Ebenfalls musst du die Variable bei der Registration einsetzen um das Tutorial zu starten falls es noch nicht gemacht wurde.
Versuch das erst mal, und bau dort eine normale Nachricht ein zum debuggen.
Zuerst brauchst du eine Variable für das Tutorial, mit der du bei dem Login abfragen kannst ob der Spieler schon das Tutorial hinter sich hat oder nicht.
Ebenfalls musst du die Variable bei der Registration einsetzen um das Tutorial zu starten falls es noch nicht gemacht wurde.
Versuch das erst mal, und bau dort eine normale Nachricht ein zum debuggen.
Nachdem reloggen, wird das Tutorial erneut ausgeführt (warum?)
Code:
Zitat von CodeAlles anzeigen
enum PlayerData
{
pTutorial,
}
new Tutorial[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
PlayerInfo[playerid][pTutorial] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Tutorial[playerid] == 0)
{
SendClientMessage(playerid, -1, "Du wirst zum Tutorial weitergeleitet.....");
SetTimerEx("OnPlayerTutorial", 10000, false, "d", playerid);
}
return 1;
}
forward OnPlayerLogin(playerid);
public OnPlayerLogin(playerid)
{
new Rows;
cache_get_row_count(Rows);
if(Rows == 0)
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Rollenspiel - Einloggen", "Bitte gib nun dein Passwort ein:\n{FF0000}Falsches Passwort!", "Einloggen", "Abbrechen");
}
else
{
cache_get_value_name_int(0, "Tutorial", PlayerInfo[playerid][pTutorial]);
SendClientMessage(playerid, COLOR_GREEN, "{2AD400}Rollenspiel:{FFFFFF} Du hast dich eingeloggt.");
}
return 1;
}
forward OnPlayerSave(playerid);
public OnPlayerSave(playerid)
{
if(!PlayerInfo[playerid][pLoggedIn]) return 1;
new Query[256];
mysql_format(Handle, Query, sizeof(Query), "UPDATE `Spieler` SET `Tutorial` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pTutorial], PlayerInfo[playerid][p_ID]);
mysql_tquery(Handle, Query);
return 1;
}
forward OnPlayerTutorial(playerid);
public OnPlayerTutorial(playerid)
{
SendClientMessage(playerid, -1, "Tutorial absolviert.");
PlayerInfo[playerid][pTutorial] = 1;
OnPlayerSave(playerid);
return 1;
}
1. wirds gespeichert?
2. wirds geladen?
3. schau unten in meiner Youtube lsite evt. sind da hilfreiche sachen
1. wirds gespeichert?
2. wirds geladen?
3. schau unten in meiner Youtube lsite evt. sind da hilfreiche sachen
1. Denke nicht wenn es von vorne beginnt das Tutorial
2. Nein, das Tutorial beginnt ja von vorne
3. Ich schau mal vorbei
Info: Ich möchte das aber lieber mit Checkpoints haben, also nach dem Registrieren.
Mit freundlichen Grüßen,
Mythik.
Schau mal hier
forward OnPlayerSave(playerid);
public OnPlayerSave(playerid)
{
if(!PlayerInfo[playerid][pLoggedIn]) return 1;
new Query[256];
mysql_format(Handle, Query, sizeof(Query), "UPDATE `Spieler` SET `Tutorial` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pTutorial], PlayerInfo[playerid][p_ID]);
mysql_tquery(Handle, Query);
return 1;
}
wird in NAvicat oder wo auch immer in der tabelle Tutorial auf 1 gesetzt?
Schau mal hier
forward OnPlayerSave(playerid);public OnPlayerSave(playerid){if(!PlayerInfo[playerid][pLoggedIn]) return 1;new Query[256];mysql_format(Handle, Query, sizeof(Query), "UPDATE `Spieler` SET `Tutorial` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pTutorial], PlayerInfo[playerid][p_ID]);mysql_tquery(Handle, Query);return 1;}
wird in NAvicat oder wo auch immer in der tabelle Tutorial auf 1 gesetzt?
Ja.
und wann wird der Acc geladen? im script
und wann wird der Acc geladen? im script
forward OnPlayerLogin(playerid);
public OnPlayerLogin(playerid)
{
new Rows;
cache_get_row_count(Rows);
if(Rows == 0)
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Rollenspiel - Einloggen", "Bitte gib nun dein Passwort ein:\n{FF0000}Falsches Passwort!", "Einloggen", "Abbrechen");
}
else
{
cache_get_value_name_int(0, "ID", PlayerInfo[playerid][p_ID]);
cache_get_value_name_int(0, "Level", PlayerInfo[playerid][pLevel]);
cache_get_value_name_int(0, "Money", PlayerInfo[playerid][pMoney]);
cache_get_value_name_int(0, "Kills", PlayerInfo[playerid][pKills]);
cache_get_value_name_int(0, "Deaths", PlayerInfo[playerid][pDeaths]);
cache_get_value_name_int(0, "Tutorial", PlayerInfo[playerid][pTutorial]);
PlayerInfo[playerid][pLoggedIn] = true;
SendClientMessage(playerid, COLOR_GREEN, "{2AD400}Rollenspiel:{FFFFFF} Du hast dich eingeloggt.");
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
}
return 1;
}
Alles anzeigen
und diese messsage kommt?
SendClientMessage(playerid, COLOR_GREEN, "{2AD400}Rollenspiel:{FFFFFF} Du hast dich eingeloggt.");
das sieht mir nähmlich irgendwie net richtig aus
und diese messsage kommt?
SendClientMessage(playerid, COLOR_GREEN, "{2AD400}Rollenspiel:{FFFFFF} Du hast dich eingeloggt.");
das sieht mir nähmlich irgendwie net richtig aus
Ja die kommt direkt nach dem ich das Passwort eingegeben habe.
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
bekommste geld?
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
bekommste geld?
Ja bekomme ich.
new string[250];
format(string,sizeof(string),"ID: %d | Level: %d | Money: %d | Kills: %d | Deaths: %d | Tutorial: %d",PlayerInfo[playerid][p_ID],PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pKills],PlayerInfo[playerid][pDeaths],PlayerInfo[playerid][pTutorial]);
SendCLinetMessage(playerid,string,1);
unter irgend ein befehl ocmd oder...
new string[250];format(string,sizeof(string),"ID: %d | Level: %d | Money: %d | Kills: %d | Deaths: %d | Tutorial: %d",PlayerInfo[playerid][p_ID],PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pKills],PlayerInfo[playerid][pDeaths],PlayerInfo[playerid][pTutorial]);SendCLinetMessage(playerid,string,1);
unter irgend ein befehl ocmd oder...
und das tutorial wird dir trotzdem beim einlogen gezeigt ja?
wann spawnt denn der spieler?
und das tutorial wird dir trotzdem beim einlogen gezeigt ja?
wann spawnt denn der spieler?
Gezeigt wird noch nichts, ich hab nur die 2 Nachrichten eingebaut
und gespawnt wird er bei mir noch nicht.