//Tutorial dialogs #define Dialog_Tutorial_Question 1000 #define Dialog_BasicsTutorial_Camera 1001 #define Dialog_BasicsTutorial_Movement 1002 forward NextStep(playerid); public OnPlayerConnect(playerid) { SetPVarString(playerid, "ServerTutorial", "false"); SetPVarString(playerid, "BasicsTutorial", "false"); } public OnPlayerSpawn(playerid) { new NewPlayer[24]; GetPVarString(playerid, "NewPlayer", NewPlayer, sizeof(NewPlayer)); if (strcmp(NewPlayer, "true") == 0) { SetPlayerPos(playerid, 1294.5718, 4.4446, 1004.2735); SetCameraBehindPlayer(playerid); SetPlayerInterior(playerid, 18); SetPVarString(playerid, "InTutorial", "true"); SetPVarInt(playerid, "TutorialStep", 0); NextStepTimer(playerid, 3); if (TutorialDebug == 1) printf("[tutorial] Player spawned in tutorial place."); return 1; } return 0; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new PName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PName, sizeof(PName)); if (dialogid == Dialog_Tutorial_Question) { if (response == Dialog_Button_Left) { SetPVarString(playerid, "BasicsTutorial", "true"); SetPVarString(playerid, "NewPlayer", "false"); SetPVarInt(playerid, "TutorialStep", 1); NextStepTimer(playerid, 3); if (TutorialDebug == 1) printf("[tutorial] Player %s selected the basic tutorial.", PName); return 1; } else if (response == Dialog_Button_Right) { SetPVarString(playerid, "ServerTutorial", "true"); SetPVarString(playerid, "NewPlayer", "false"); SetPVarInt(playerid, "TutorialStep", 1); NextStepTimer(playerid, 3); if (TutorialDebug == 1) printf("[tutorial] Player %s selected the server tutorial.", PName); return 1; } } if (response == Dialog_BasicsTutorial_Camera) { NextStepTimer(playerid, 15); if (TutorialDebug == 1) printf("[basics tutorial] Player %s is learning camera movement.", PName); } return 0; } public NextStep(playerid) { new BasicsTutorial[24], ServerTutorial[24], Title[256], Text[2048], PName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PName, sizeof(PName)); GetPVarString(playerid, "BasicsTutorial", BasicsTutorial, sizeof(BasicsTutorial)); GetPVarString(playerid, "ServerTutorial", ServerTutorial, sizeof(ServerTutorial)); if (TutorialDebug == 1) printf("[tutorial] NextStep %d for player %s.", GetPVarInt(playerid, "TutorialStep"), PName); if (GetPVarInt(playerid, "TutorialStep") == 0) { ShowPlayerDialog(playerid, Dialog_Tutorial_Question, DIALOG_STYLE_MSGBOX, "Tutorial", ReadFile("Question"), "No", "Yes"); } else if (strcmp(BasicsTutorial, "true") == 0) { if (GetPVarInt(playerid, "TutorialStep") == 1) { format(Title, sizeof(Title), "%s", ReadFile("Basics/CameraTitle")); format(Text, sizeof(Text), "%s", ReadFile("Basics/Camera")); ShowPlayerDialog(playerid, Dialog_BasicsTutorial_Camera, DIALOG_STYLE_MSGBOX, Title, Text, "Ok", ""); NextStepTimer(playerid, 10); } else if (GetPVarInt(playerid, "TutorialStep") == 2) { format(Title, sizeof(Title), "%s", ReadFile("Basics/MovementTitle")); format(Text, sizeof(Text), "%s", ReadFile("Basics/Movement")); ShowPlayerDialog(playerid, Dialog_BasicsTutorial_Movement, DIALOG_STYLE_MSGBOX, Title, Text, "Ok", ""); NextStepTimer(playerid, 2); } else if (GetPVarInt(playerid, "TutorialStep") == 3) { GameTextForPlayer(playerid, "Move around using ~k~~GO_FORWARD~, ~k~~GO_LEFT~, ~k~~GO_BACK~ and ~k~~GO_RIGHT~.", 10*1000, 3); SetPVarString(playerid, "CountMoves", "true"); } } SetPVarInt(playerid, "TutorialStep", GetPVarInt(playerid, "TutorialStep") + 1); } stock NextStepTimer(playerid, time) { SetTimerEx("NextStep", time*1000, false, "%d", playerid); }
[18:10:19] [tutorial] Player spawned in tutorial place. [18:10:22] [tutorial] NextStep 0 for player sekonoppa. //This is the place where the dialog should be shown [18:10:46] [part] seontonppa has left the server (0:1) |
SetTimerEx("NextStep", time*1000, false, "d", playerid); // this would be only d not %d
pawn Код:
|