Wie erstelle ich sowas?
Ich bin komplett neu in der Szene und habe ein Dini Register/Login System.
Ich brauche genauere Beschreibungen und auch nur vielleicht einen Code.
Mit freundlichen Grüßen,
Mahoney.
Wie erstelle ich sowas?
Ich bin komplett neu in der Szene und habe ein Dini Register/Login System.
Ich brauche genauere Beschreibungen und auch nur vielleicht einen Code.
Mit freundlichen Grüßen,
Mahoney.
Wir brauchen eine Beschreibung über das Tutorial das du gerne erstellen möchtest, es gibt's verschiedene Arten von Tutorials.
Sobald du uns ein Beispiel gibst, können wir dir Anhaltspunkte bzw. Code Abschnitte geben
Gut, damit kann man etwas anfangen.
Ich empfehle folgendes:
Das war's eigentlich wenn ich nichts vergessen habe.
Gut, damit kann man etwas anfangen.
Ich empfehle folgendes:
- Eine Variable womit du überprüfst ob der: Spieler bereits registriert ist oder nicht bzw. das Tutorial absolviert hat oder nicht
- Eine Variable die du für die verschiedenen Tutorial "Stufen" hochzählst. Beispiel: Bei Wert 0 Aktion A ausführen, bei Wert 1 Aktion B ausführen etc
- Empfehlung: Streamer verwenden und mit den Callbacks OnPlayerEnterDynamicCP & OnPlayerLeaveDynamicCP von dir vordefinierte Aktionen ausführen (beispielsweise Text anzeigen oder Ähnliches)
Das war's eigentlich wenn ich nichts vergessen habe.
1.: Welches Callback soll ich dafür benutzen?
2.: Gleiches wie bei 1
3.: Wird für mich sehr schwer^^
Zusatz: Ich habe schon oft versucht, ein Tutorial zu erstellen, aber immer tauchten wieder Fehler auf.
Mit freundlichen Grüßen,
Mahoney.
Wie schaut dein Login / Register System aus bzw. womit überprüfst du ob der Spieler bereits registriert ist oder nicht? Ich denke mal da wird einiges an Code in OnPlayerConnect drin sein, schau mal nach.
Wie schaut dein Login / Register System aus bzw. womit überprüfst du ob der Spieler bereits registriert ist oder nicht? Ich denke mal da wird einiges an Code in OnPlayerConnect drin sein, schau mal nach.
Ich habe ein eigenes Selfmade Login/Register, das ist alles:
@JustMe.77 oder was meinst du?
Mit freundlichen Grüßen,
Mahoney.
hier evt. ;D
@Mogly1 - Ich schicke dir mal meinen Code hier rein.
enum PlayerData
{
pTutorial
}
new Tutorial[MAX_PLAYERS];
forward Player_Tutorial(playerid);
public Player_Tutorial(playerid)
{
if(PlayerInfo[playerid][pTutorial] == 0)
switch(Tutorial[playerid])
{
case 0:
{
SendClientMessage(playerid, -1, "* Der Anfang: Der Neulingsspawn");
ResetChat();
InterpolateCameraPos(playerid, -52.614315, 1193.950195, 36.733676, -118.914161, 1189.196777, 42.624492, 10000);
InterpolateCameraLookAt(playerid, -55.710788, 1197.469238, 34.993473, -116.269699, 1192.731567, 40.276679, 10000);
Tutorial[playerid] = 1;
SetTimerEx("Player_Tutorial", 10000, false, "d", playerid);
}
case 1:
{
SendClientMessage(playerid, -1, "* Der erste Schritt: Die Stadthalle");
ResetChat();
InterpolateCameraPos(playerid, -243.819976, 1092.804931, 57.454929, -183.324081, 1134.299194, 41.822441, 10000);
InterpolateCameraLookAt(playerid, -241.776397, 1095.850341, 54.056480, -187.392196, 1132.213745, 39.797298, 10000);
Tutorial[playerid] = 2;
SetTimerEx("Player_Tutorial", 10000, false, "d", playerid);
}
case 2:
{
SendClientMessage(playerid, -1, "* Die umfangreichen Fraktionen: Das Fort Carson Police Department");
ResetChat();
InterpolateCameraPos(playerid, -190.262298, 957.697387, 34.681854, -240.262832, 1019.823974, 40.799301, 10000);
InterpolateCameraLookAt(playerid, -194.027496, 960.482971, 32.931484, -237.485885, 1016.817199, 37.927364, 10000);
Tutorial[playerid] = 3;
SetTimerEx("Player_Tutorial", 10000, false, "d", playerid);
}
case 3:
{
SendClientMessage(playerid, -1, "* Die umfangreichen Fraktionen: Das Fort Carson Medical Department");
ResetChat();
InterpolateCameraPos(playerid, -272.147308, 995.982666, 36.981403, -299.703277, 1082.534179, 34.972068, 10000);
InterpolateCameraLookAt(playerid, -275.679321, 999.184326, 35.473381, -302.236877, 1078.616699, 33.173763, 10000);
Tutorial[playerid] = 4;
SetTimerEx("Player_Tutorial", 10000, false, "d", playerid);
}
case 4:
{
SendClientMessage(playerid, -1, "* Dein eigener Imbiss: Das Restaurant");
ResetChat();
InterpolateCameraPos(playerid, -17.423358, 1206.537597, 28.785625, -65.332923, 1204.952148, 29.313261, 10000);
InterpolateCameraLookAt(playerid, -21.179874, 1203.377929, 27.834457, -62.165554, 1201.326538, 27.963035, 10000);
Tutorial[playerid] = 5;
SetTimerEx("Player_Tutorial", 10000, false, "d", playerid);
}
case 5:
{
SendClientMessage(playerid, -1, "* Dein eigenes Geschäft: Die Bowlingbahn");
ResetChat();
InterpolateCameraPos(playerid, -61.776599, 1202.565917, 34.501117, -112.694885, 1205.880371, 31.288927, 10000);
InterpolateCameraLookAt(playerid, -64.929267, 1199.050415, 32.857414, -109.636009, 1202.282958, 29.645223, 10000);
Tutorial[playerid] = 6;
SetTimerEx("Player_Tutorial", 10000, false, "d", playerid);
}
case 6:
{
SendClientMessage(playerid, -1, "* Deine eigene Immobilie: Die Häuser");
ResetChat();
InterpolateCameraPos(playerid, -267.651245, 1206.459350, 50.153503, -354.381469, 1088.230468, 30.857791, 10000);
InterpolateCameraLookAt(playerid, -271.034545, 1203.631591, 47.796119, -357.154296, 1091.982421, 29.059484, 10000);
Tutorial[playerid] = 7;
SetTimerEx("Player_Tutorial", 10000, false, "d", playerid);
}
}
SendClientMessage(playerid, -1, "* Der Abschluss: Tutorial vollendet.");
Tutorial[playerid] = 0;
TogglePlayerSpectating(playerid, 0);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
PlayerInfo[playerid][pTutorial] = 1;
Player_Save(playerid);
ResetChat();
return 1;
}
Alles anzeigen
Und ich lasse das halt abspeichern die Variable "pTutorial"
Mit freundlichen Grüßen,
Mahoney.
gehbts es nun oder was ist jetzt dein anliegen?
schuldige sehe keine frage
gehbts es nun oder was ist jetzt dein anliegen?
schuldige sehe keine frage
Er führt jeden Tutorialschritt aus und zwar in 3 Sekunden, also ganz schnell.
Alles was er an Nachrichten schickt ist die Letzte mit "Tutorial abgeschlossen".
die kamera fahrten gehen ud die anchrichten wie immobilen kommt?
die kamera fahrten gehen ud die anchrichten wie immobilen kommt?
Wird zwar gezeigt, aber nur alle Kamerfahrten in 2 Sekunden.
Das ganze Tutorial ist in nur 2 Sekunken fertig!
case 0:
{
SendClientMessage(playerid, -1, "* Der Anfang: Der Neulingsspawn");
ResetChat();
InterpolateCameraPos(playerid, -52.614315, 1193.950195, 36.733676, -118.914161, 1189.196777, 42.624492, 10000);
InterpolateCameraLookAt(playerid, -55.710788, 1197.469238, 34.993473, -116.269699, 1192.731567, 40.276679, 10000);
Tutorial[playerid] = 1;
SetTimerEx("Player_Tutorial", 10000, false, "d", playerid);
return 1;
}
mach mal so mit return 1 überall
case 0: { SendClientMessage(playerid, -1, "* Der Anfang: Der Neulingsspawn"); ResetChat(); InterpolateCameraPos(playerid, -52.614315, 1193.950195, 36.733676, -118.914161, 1189.196777, 42.624492, 10000); InterpolateCameraLookAt(playerid, -55.710788, 1197.469238, 34.993473, -116.269699, 1192.731567, 40.276679, 10000); Tutorial[playerid] = 1; SetTimerEx("Player_Tutorial", 10000, false, "d", playerid); return 1; }
mach mal so mit return 1 überall
Danke jetzt geht alles einwandfrei!