In-Game Tutorial Help
#1

ok i have started to make my first in game tutorial. what i need is help on making steps to it. so when the player uses /tutorial it will take them through the steps and show them different places.

i have a code i've started with but i can't get the camera to change and continue on with the tutorial.

pawn Код:
if(strcmp(cmd, "/tutorial", true) == 0)
    {
        InterpolateCameraPos(playerid, 1128.874511, -1433.678222, 19.867807, 1482.004028, -1724.596435, 27.425724, 3000, 1);
        InterpolateCameraLookAt(playerid, 1128.881835, -1437.677612, 19.799060, 1481.875244, -1728.519042, 26.653110, 3000, 1);
        SendClientMessage(playerid, COLOR_WHITE, "Welcome to SSA-RP. You can find many Businesses and Houses around LS.");
        SendClientMessage(playerid, COLOR_WHITE, "If you need help, please PM an admin (/admins to see who can help).");
    }
please, all i need is to figure out how to continue with the tutorial instead of everything show up at once and the camera not fixing back on to the player and setting him controllable.
Reply
#2

Place this under the OnPlayerText callback. (Make sure you make the Enumations too)
pawn Код:
if(! strcmp(text, "Continue", true))
    {
        if(Player[playerid][Tutorial] >= 1)
        {
            if(Player[playerid][RPTutStep] >= 1)
            {
                switch(Player[playerid][RPTutStep])
                {
                    case 1:
                    {
                        if(TutTimer[playerid] == 0)
                        {
                            SendClientMessage(playerid, RED, "Introduction");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, WHITE, "This tutorial will benefit you as a new player, by explaining various parts of the server.");
                            SendClientMessage(playerid, WHITE, "If you didn't already know the server is ROLEPLAY meaning you take on the role of a specific individual.");
                            SendClientMessage(playerid, WHITE, "Also when playing here it is no place for DeathMatching or Stunting/Racing. A full list of rules that must");
                            SendClientMessage(playerid, WHITE, "be followed can be found on the forums: gta-osrp.hostzi.com");
                            SendClientMessage(playerid, WHITE, "You are expected to RP as much as possible here including: realistic driving/crashes, fear, deaths, jobs,");
                            SendClientMessage(playerid, WHITE, "shooting, material collecting and whatever else your character will be RPing as.");
                            SendClientMessage(playerid, WHITE, " ");
                            SetTimerEx("TutTime", 30000, 0, "i", playerid);
                            TutTimer[playerid] = 1;
                            SendClientMessage(playerid, RED, "Type continue to move on.");
                            Player[playerid][RPTutStep]++;
                            return 0;
                        }
                        else
                        {
                            SendClientMessage(playerid, GREY, "Please spend some time reading the text before moving on.");
                            return 0;
                        }
                    }
                    case 2:
                    {
                        if(TutTimer[playerid] == 0)
                        {
                            SendClientMessage(playerid, RED, "Introduction");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, WHITE, "Throughout the tutorial you will be informed about usefull commands, most of which can be found by looking in /help.");
                            SendClientMessage(playerid, WHITE, "Another way of getting help is via the Newbie chat, you can ask questions using /n, where Helpers or Admins should");
                            SendClientMessage(playerid, WHITE, "respond with an answer.");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, WHITE, "First we will look at all the most common features: houses, businesses and vehicles.");
                            SendClientMessage(playerid, WHITE, " ");
                            SetTimerEx("TutTime", 30000, 0, "i", playerid);
                            TutTimer[playerid] = 1;
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, RED, "Type continue to move on.");
                            Player[playerid][RPTutStep]++;
                            return 0;
                        }
                        else
                        {
                            SendClientMessage(playerid, GREY, "Please spend some time reading the text before moving on.");
                            return 0;
                        }
                    }
                    case 3:
                    {
                        if(TutTimer[playerid] == 0)
                        {
                            SendClientMessage(playerid, RED, "Houses");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, WHITE, "You might be happy to hear that Old Santos Roleplay has a unique player house system.");
                            SendClientMessage(playerid, WHITE, "This includes the basic features, along with the more advanced ones coming soon.");
                            SendClientMessage(playerid, WHITE, "You can buy a house with the command /buyhouse and it's as simple as that!");
                            SendClientMessage(playerid, WHITE, "Once you have your house, you can store various items inside it, these include....");
                            SendClientMessage(playerid, WHITE, "Weapons, Drugs, Materials, and other such items. Your house is also a great way to roleplay");
                            SendClientMessage(playerid, WHITE, "and meet new people like your neighbours.");
                            SendClientMessage(playerid, WHITE, "More info. for houses can be found under '/help house'");
                            SendClientMessage(playerid, RED, "Type continue to move on.");
                            SetTimerEx("TutTime", 30000, 0, "i", playerid);
                            TutTimer[playerid] = 1;
                            Player[playerid][RPTutStep]++;
                            return 0;
                        }
                        else
                        {
                            SendClientMessage(playerid, GREY, "Please spend some time reading the text before moving on.");
                            return 0;
                        }
                    }
                    case 4:
                    {
                        if(TutTimer[playerid] == 0)
                        {
                            SendClientMessage(playerid, RED, "Vehicles");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, WHITE, "Movement around the server is vital to achieve success which is why Old Santos Roleplay is home");
                            SendClientMessage(playerid, WHITE, "to many different vehicles that can be bought as easily as houses!");
                            SendClientMessage(playerid, WHITE, "Scattered across Red County you will come across vehicle dealerships.");
                            SendClientMessage(playerid, WHITE, "These dealerships are the main source for player vehicles and also the cheapest!");
                            SendClientMessage(playerid, WHITE, "Vehicles can be kept where ever you want them to be, within parking regulations");
                            SendClientMessage(playerid, WHITE, "Just simply save your cars position using /parkcar, and it will stay there when you re-log, and everything.");
                            SendClientMessage(playerid, WHITE, "More info. for vehicles can be found under '/help vehicles'");
                            SendClientMessage(playerid, RED, "Type continue to move on.");
                            SetTimerEx("TutTime", 30000, 0, "i", playerid);
                            TutTimer[playerid] = 1;
                            Player[playerid][RPTutStep]++;
                            return 0;
                        }
                        else
                        {
                            SendClientMessage(playerid, GREY, "Please spend some time reading the text before moving on.");
                            return 0;
                        }
                    }
                    case 5:
                    {
                        if(TutTimer[playerid] == 0)
                        {
                            SendClientMessage(playerid, RED, "Businesses");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, WHITE, "Businesses are another way to achieve success on the server. They are a key provider");
                            SendClientMessage(playerid, WHITE, "of money to most of the players on the server. Money will be transferred into your bank");
                            SendClientMessage(playerid, WHITE, "While you play!");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, WHITE, "More info. for businesses can be found under '/help business'");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, WHITE, " ");
                            SetTimerEx("TutTime", 30000, 0, "i", playerid);
                            TutTimer[playerid] = 1;
                            SendClientMessage(playerid, RED, "Type continue to move on.");
                            Player[playerid][RPTutStep]++;
                            return 0;
                        }
                        else
                        {
                            SendClientMessage(playerid, GREY, "Please spend some time reading the text before moving on.");
                            return 0;
                        }
                    }
                    case 6:
                    {
                        if(TutTimer[playerid] == 0)
                        {
                            SendClientMessage(playerid, RED, "Communication");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, WHITE, "You are nearing the end of the tutorial now and there are just a few things left to learn!");
                            SendClientMessage(playerid, WHITE, "There are many different ways to talk to other players in this server. Private Messages");
                            SendClientMessage(playerid, WHITE, "Local Out Of Character, Global Out Of Character, via the phone and others! These are listed below.");
                            SendClientMessage(playerid, WHITE, "/o(oc), /n(ewbie), /b(asic Out Of Character Local), /pm, /s(hout), and /w(hisper)");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, RED, "Type continue to move on.");
                            SetTimerEx("TutTime", 30000, 0, "i", playerid);
                            TutTimer[playerid] = 1;
                            Player[playerid][RPTutStep]++;
                            return 0;
                        }
                        else
                        {
                            SendClientMessage(playerid, GREY, "Please spend some time reading the text before moving on.");
                            return 0;
                        }
                    }
                    case 7:
                    {
                        if(TutTimer[playerid] == 0)
                        {
                            SendClientMessage(playerid, WHITE, "Conclusion");
                            SendClientMessage(playerid, WHITE, " ");
                            SendClientMessage(playerid, WHITE, "Thank you for reading the tutorial, we hope you have a good time playing on the server.");
                            SendClientMessage(playerid, WHITE, "If you should need any other help why not ask another player in the /n(ewbie) chat?");
                            SendClientMessage(playerid, WHITE, "Or use the /help command followed by the help category needed!");
                            SendClientMessage(playerid, WHITE, " ");
                            SetTimerEx("TutTime", 30000, 0, "i", playerid);
                            TutTimer[playerid] = 1;
                            if(Player[playerid][Age] >= 17)
                            {
                                PutPlayerInTutorial(playerid, 99);
                            }
                            else
                            {
                                SendClientMessage(playerid, RED, "Type continue to finish.");
                                Player[playerid][RPTutStep]++;
                            }
                            return 0;
                        }
                        else
                        {
                            SendClientMessage(playerid, GREY, "Please spend some time reading the text before moving on.");
                            return 0;
                        }
                    }
                }
            }
        }
    }
You'll get the basic idea...which is:
*Timer
*Camera Pos
*Client Messages.
Good luck.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)