You can use a timer for that and then use it every time you'd like to continue tutorial steps instead of using new callbacks for each tutorial step.
You can use strcat to change your tutorial from texdraws to dialog, but you gotta re-write it.
pawn Код:
forward TimeForTutorial(playerid, tutorialstep);
public TimeForTutorial(playerid, tutorialstep)
{
//--------------------------------------TUTORIJAL--------------------------------------------------------------
if(TutTime[playerid] >= 1)
{
switch(tutorialstep)
{
case 3:
{
ClearChatbox(playerid, 100);
InterpolateCameraPos(playerid, 708.382324, 312.173919, 75.567367, 429.388458, 702.377685, 75.567367, 39000);
InterpolateCameraLookAt(playerid, 703.829711, 311.769317, 73.539985, 430.007537, 697.849304, 73.539985, 39000);//BZONA MOST
TextDrawHideForPlayer(playerid, EXPTD21[playerid]);
TextDrawHideForPlayer(playerid, EXPTD20);
TextDrawHideForPlayer(playerid, DWExpLinija0);
TextDrawHideForPlayer(playerid, DWExpLinija1);
TextDrawHideForPlayer(playerid, poruke);
TextDrawHideForPlayer(playerid, DWExpBrojka0);
TextDrawShowForPlayer(playerid, DMTD1);
TextDrawShowForPlayer(playerid, DMTD2);
TextDrawShowForPlayer(playerid, DMTD3);
TextDrawShowForPlayer(playerid, DMTD4);
SetTimerEx("TimeForTutorial", SECONDS/MINUTES, false, "ii", playerid, 16);
}
case 16:
{
ClearChatbox(playerid, 100);
InterpolateCameraPos(playerid, -1560.903076, 450.358062, 135.485458, -959.937927, 1179.366821, 135.485458, 39000);
InterpolateCameraLookAt(playerid, -1564.076293, 454.088104, 134.476806, -964.506469, 1177.435546, 134.854339, 39000);//SF MOST
TextDrawHideForPlayer(playerid, DMTD1);
TextDrawHideForPlayer(playerid, DMTD2);
TextDrawHideForPlayer(playerid, DMTD3);
TextDrawHideForPlayer(playerid, DMTD4);
//======
TextDrawHideForPlayer(playerid, DWExpBrojka0);
TextDrawShowForPlayer(playerid, PGTD1);
TextDrawShowForPlayer(playerid, PGTD2);
TextDrawShowForPlayer(playerid, PGTD3);
TextDrawShowForPlayer(playerid, PGTD4);
SetTimerEx("TimeForTutorial", SECONDS/MINUTES, false, "ii", playerid, 25);
}
case 25:
{
ClearChatbox(playerid, 100);
InterpolateCameraPos(playerid, -2532.761718, 1187.813232, 169.755920, -2667.331542, 2331.351074, 169.755920, 39000);
InterpolateCameraLookAt(playerid, -2537.157714, 1189.922119, 168.647491, -2667.290527, 2326.385009, 169.175460, 39000);//SF MOST CRVEN
TextDrawHideForPlayer(playerid, PGTD1);
TextDrawHideForPlayer(playerid, PGTD2);
TextDrawHideForPlayer(playerid, PGTD3);
TextDrawHideForPlayer(playerid, PGTD4);
//======
TextDrawHideForPlayer(playerid, DWExpBrojka0);
TextDrawShowForPlayer(playerid, MGTD1);
TextDrawShowForPlayer(playerid, MGTD2);
SetTimerEx("TimeForTutorial", SECONDS/MINUTES, false, "ii", playerid, 35);
}
case 35:
{
ClearChatbox(playerid, 100);
InterpolateCameraPos(playerid, -2545.415771, 2545.600585, 51.495285, -2331.558593, 2244.818603, 25.535427, 39000);
InterpolateCameraLookAt(playerid, -2541.811767, 2542.236328, 50.662208, -2334.986572, 2248.454345, 25.362024, 39000);//SF SELO
TextDrawHideForPlayer(playerid, MGTD1);
TextDrawHideForPlayer(playerid, MGTD2);
//======
TextDrawHideForPlayer(playerid, DWExpBrojka0);
TextDrawShowForPlayer(playerid, SKTD1);
TextDrawShowForPlayer(playerid, SKTD2);
TextDrawShowForPlayer(playerid, SKTD3);
SetTimerEx("TimeForTutorial", SECONDS/MINUTES, false, "ii", playerid, 45);
}
case 45:
{
ClearChatbox(playerid, 100);
InterpolateCameraPos(playerid, -2949.191650, 1274.835571, 117.730987, -2881.024169, 630.610839, 117.730987, 39000);
InterpolateCameraLookAt(playerid, -2945.519531, 1272.079956, 115.750366, -2877.061279, 633.128112, 116.011116, 39000);//SF DO CRVEN MOST
TextDrawHideForPlayer(playerid, SKTD1);
TextDrawHideForPlayer(playerid, SKTD2);
TextDrawHideForPlayer(playerid, SKTD3);
//======
TextDrawHideForPlayer(playerid, DWExpBrojka0);
TextDrawShowForPlayer(playerid, DBTD1);
TextDrawShowForPlayer(playerid, DBTD2);
TextDrawShowForPlayer(playerid, DBTD3);
TextDrawShowForPlayer(playerid, DBTD4);
SetTimerEx("TimeForTutorial", SECONDS/MINUTES, false, "ii", playerid, 53);
}
case 53:
{
ClearChatbox(playerid, 100);
TextDrawHideForPlayer(playerid, DMTD1);
TextDrawHideForPlayer(playerid, DMTD2);
TextDrawHideForPlayer(playerid, DMTD3);
TextDrawHideForPlayer(playerid, DMTD4);
TextDrawHideForPlayer(playerid, PGTD1);
TextDrawHideForPlayer(playerid, PGTD2);
TextDrawHideForPlayer(playerid, PGTD3);
TextDrawHideForPlayer(playerid, PGTD4);
TextDrawHideForPlayer(playerid, MGTD1);
TextDrawHideForPlayer(playerid, MGTD2);
TextDrawHideForPlayer(playerid, SKTD1);
TextDrawHideForPlayer(playerid, SKTD2);
TextDrawHideForPlayer(playerid, SKTD3);
TextDrawHideForPlayer(playerid, DBTD1);
TextDrawHideForPlayer(playerid, DBTD2);
TextDrawHideForPlayer(playerid, DBTD3);
TextDrawHideForPlayer(playerid, DBTD4);
TextDrawHideForPlayer(playerid, DWExpBrojka0);
//======
new onostring[1000];
format(onostring, sizeof(onostring), "\n{FFFFFF}Se nadevame deka uspesno go prosledivte tutorialot",onostring);
format(onostring, sizeof(onostring), "%s\n{FFFFFF}i go nasocivte veseto vnimanie kon Role-Play pravilata koi vi",onostring);
format(onostring, sizeof(onostring), "%s\n{FFFFFF}bea prikazani vo nego..",onostring);
format(onostring, sizeof(onostring), "%s\n\n{0049FF}>{FFFFFF}Vi posakuvame prijatna igra, mnogu druzenje",onostring);
format(onostring, sizeof(onostring), "%s\n{FFFFFF}zabava i mnogu uspeh.",onostring);
format(onostring, sizeof(onostring), "%s\n\n\n{0049FF}>{FFFFFF}Vo sledniot cekor treba da izberete mesto na ziveenje..",onostring);
ShowPlayerDialog(playerid,PREDPITANJA,DIALOG_STYLE_MSGBOX,"{FF4040}Registracija",onostring,"Prodolzi","");
//======
TutTime[playerid] = 0;
PlayerInfo[playerid][pTut] = 1;
}
}
}
}