Szerző Téma: Help! Timer hiba lehet vajon?  (Megtekintve 453 alkalommal)

Nem elérhető kexy96

  • 281
  • kexy96
    • Profil megtekintése
Help! Timer hiba lehet vajon?
« Dátum: 2013. június 29. - 13:17:10 »
0 Show voters
#include <a_samp>
new Text:SubtitleTextdraw[MAX_PLAYERS];
new SubtitleInfo[MAX_PLAYERS];
forward NextSubtitle(playerid);
forward HideSubtitle(playerid);
stock CreateSubtitleTextdraws() // OnGameModeInit()
{
        for (new i = 0; i < MAX_PLAYERS; i++)
        {
            SubtitleTextdraw = TextDrawCreate(341.000000, 373.000000, \" \");
                TextDrawAlignment(SubtitleTextdraw, 2);
                TextDrawBackgroundColor(SubtitleTextdraw, 255);
                TextDrawFont(SubtitleTextdraw, 1);
                TextDrawLetterSize(SubtitleTextdraw, 0.460000, 1.800000);
                TextDrawColor(SubtitleTextdraw, -1);
                TextDrawSetOutline(SubtitleTextdraw, 1);
                TextDrawSetProportional(SubtitleTextdraw, 1);
                SubtitleInfo = 0;
        }
}
stock DestroySubtitleTextdraw() // OnGameModeExit()
{
        for (new i = 0; i < MAX_PLAYERS; i++)
        {
                TextDrawDestroy(SubtitleTextdraw);
                SubtitleInfo = 0;
        }
}
/*public ShowSubtitle(text[], seconds, ...)
{
        new arg_start = 2, playerid;
        while ((playerid = getarg(arg_start++)) < numargs()+1)
        {
                CallLocalFunction(\"HideSubtitle\", \"i\", playerid);
                TextDrawSetString(SubtitleTextdraw[playerid], text);
                TextDrawShowForPlayer(playerid, SubtitleTextdraw[playerid]);
                SubtitleTimer[playerid] = SetTimerEx(\"HideSubtitle\", seconds * 1000, 0, \"i\", playerid);
        }
}*/
public HideSubtitle(playerid)
{
        KillTimer(SubtitleInfo[playerid] & 0b11111111);
        SubtitleInfo[playerid] = 0;
        TextDrawHideForPlayer(playerid, SubtitleTextdraw[playerid]);
        return 1;
}
public NextSubtitle(playerid)
{
        switch ((SubtitleInfo[playerid] >> 8) & 0b1111)
        {
            case 1: // Visszaemlékezés
            {
                switch ((SubtitleInfo[playerid] >> 12) & 0b1111111)
                {
                    case 1:
                    {
                        TextDrawSetString(SubtitleTextdraw[playerid], \"Csak néhány dolog maradt meg bennem....\");
                        SubtitleInfo[playerid] &= (((SubtitleInfo[playerid] >> 12) & 0b1111111) + 1) << 12 | 1 << 8 | SetTimerEx(\"NextSubtitle\", 4000, 0, \"i\", playerid);
                        }
                        case 2:
                        {
                                TextDrawSetString(SubtitleTextdraw[playerid], \"Szinte már csak az utolsó nap ugrik be az elõzõ életembõl..\");
                                SubtitleInfo[playerid] &= (((SubtitleInfo[playerid] >> 12) & 0b1111111) + 1) << 12 | 1 << 8 | SetTimerEx(\"NextSubtitle\", 4000, 0, \"i\", playerid);
                        }
                        /*
                                a fenti módon folytatod, a szöveget átírod, vagy az idõt is esetleg, az utolsó pedig ilyen:
                        case UTOLSÓ:
                        {
                            TextDrawSetString(SubtitleTextdraw[playerid], \"Utolsó szöveg...\");
                                SubtitleInfo[playerid] &= 0 << 12 | 1 << 8 | SetTimerEx(\"HideSubtitle\", 4000, 0, \"i\", playerid);
                                }
                                */
                        }
                }
                case 2: // Gondolatok a megállóban
                {
                    switch ((SubtitleInfo[playerid] >> 12) & 0b1111111)
                {
                    case 1:
                    {
                        TextDrawSetString(SubtitleTextdraw[playerid], \"hisz személyazonosságom rejtély, ~n~csináltatni kell, mert a valósat sem tudom...\");
                        SubtitleInfo[playerid] &= (((SubtitleInfo[playerid] >> 12) & 0b1111111) + 1) << 12 | 2 << 8 | SetTimerEx(\"NextSubtitle\", 4000, 0, \"i\", playerid);
                        }
                        case 2:
                        {
                                TextDrawSetString(SubtitleTextdraw[playerid], \"Majd valamiféle munkát is találnom kellene, hogy el tudjak indulni.~n~A beinduláshoz jól fog jönni ez az összeg, amit kaptunk a rendõröktõl,\");
                                SubtitleInfo[playerid] &= (((SubtitleInfo[playerid] >> 12) & 0b1111111) + 1) << 12 | 2 << 8 | SetTimerEx(\"NextSubtitle\", 4000, 0, \"i\", playerid);
                        }
                        case 3:
                        {
                                TextDrawSetString(SubtitleTextdraw[playerid], \"mert nem találtak tulajdonosára, hisz a~n~rablóknál volt, és úgy feltételezték tõlünk van..\");
                                SubtitleInfo[playerid] &= (((SubtitleInfo[playerid] >> 12) & 0b1111111) + 1) << 12 | 2 << 8 | SetTimerEx(\"NextSubtitle\", 4000, 0, \"i\", playerid);
                        }
                         
                        /*
                                a fenti módon folytatod, a szöveget átírod, vagy az idõt is esetleg, az utolsó pedig ilyen:
                        case UTOLSÓ:
                        {
                            TextDrawSetString(SubtitleTextdraw[playerid], \"Utolsó szöveg...\");
                                SubtitleInfo[playerid] &= 0 << 12 | 2 << 8 | SetTimerEx(\"HideSubtitle\", 4000, 0, \"i\", playerid);
                                }
                                */
                        }
                }
        }
        return 1;
}
forward Megmenekules(playerid,part);
public Megmenekules(playerid,part)
{
        if(IsPlayerConnected(playerid) && Logged(playerid))
        {
                if(PlayerInfo[playerid][pTut] == 0)
                {
                    if(part == 1)
                    {
                        HideDialog(playerid);
                                if(Magyar(playerid))
                                        GameTextForPlayer(playerid, \"~n~~n~~n~~g~Utazás...\", 30000, 5);
                                else
                                        GameTextForPlayer(playerid, \"~n~~n~~n~~g~Traveling...\", 30000, 5);
                        SetPlayerInterior(playerid,0);
                        SetPlayerPos(playerid,-1963.5682,96.9067,4.3183);
                                ApplyAnimation(playerid,\"PED\",\"SEAT_down\",4.1,0,1,1,1,0);
                                Freeze(playerid,5000);
                        SetTimerEx(\"Megmenekules\",90000,0,\"dd\",playerid,2);
                                Cselekves(playerid, \"Leül a vonaton és visszagondol a múltra mi is történt vele.\");
                               
                                // Felirat
                                CallLocalFunction(\"HideSubtitle\", \"i\", playerid);
                                TextDrawSetString(SubtitleTextdraw[playerid],
                                        \"Alig emlékszem már arra a napra, amikor többé~n~nem mehettem haza a szeretteimhez, barátaimhoz...\");
                                TextDrawShowForPlayer(playerid, SubtitleTextdraw[playerid]);
                        SubtitleInfo[playerid] &= 1 << 12 | 1 << 8 | SetTimerEx(\"NextSubtitle\", 6000, 0, \"i\", playerid);
                    }
                    else if(part == 2)
                    {
                        SetPlayerInterior(playerid, 0);
                        SetPlayerVirtualWorld(playerid, 0);
                        SetPlayerPos(playerid, -1951.1206, 138.4060, 26.613);
                        GiveMoney(playerid,250000);
                                if(Magyar(playerid))
                                Cselekves(playerid, \"Leszáll a vonatról , nézelõdik és gondolkodik.\");
                                GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~Megérkeztünk\", 1000, 1);
                                Freeze(playerid,5000);
                                /*GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~Megtudtam, hogy 2013-at írunk, és az utamnak a városházába kell, hogy vezessen...\", 5000, 1);
                                GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~hisz személyazonosságom rejtély, csináltatni kell, mert a valósat sem tudom..\", 5000, 1);
                                GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~Majd valamiféle munkát is találnom kellene, hogy el tudjak indulni...\", 5000, 1);
                                GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~A beinduláshoz jól fog jönni ez az összeg, amit kaptunk a rendõröktõl...\", 5000, 1);
                                GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~ mert nem találtak tulajdonosára, hisz a rablóknál volt, és úgy feltételezték tõlünk van..\", 5000, 1);
                                GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~El kellene jutnom valamilyen közösséghez is...\", 5000, 1);
                                GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~már 3 éve nem beszéltem több emberrel, ideje barátokat szereznem!\", 5000, 1);
                                */
                // Felirat
                                CallLocalFunction(\"HideSubtitle\", \"i\", playerid);
                                TextDrawSetString(SubtitleTextdraw[playerid],
                                        \"Megtudtam, hogy 2013-at írunk, és az utamnak a városházába kell, hogy vezessen,\");
                                TextDrawShowForPlayer(playerid, SubtitleTextdraw[playerid]);
                        SubtitleInfo[playerid] &= 1 << 12 | 2 << 8 | SetTimerEx(\"NextSubtitle\", 6000, 0, \"i\", playerid);
                       
                        // Ezek itt alul sztem a beszéd után jönnek,akkor tedd át a NextSubtitle() megfelelõ részébe...
                                Cselekves(playerid,\"Észrevesz valamit a földön és felveszi.\");
                                GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~Ohh, csak nem egy városi útmutató? még hasznomra lehet!\", 5000, 1);
                                PlayerInfo[playerid][pLokator] = 1;
                               
                                //else
                                        //Msg(playerid,\"The State has received an emergency 1000.000Ft!\");
                                       
                                //if(Magyar(playerid))
                                        //GameTextForPlayer(playerid, \"~n~~n~~n~~g~Megérkeztünk\", 1000, 5);
                                //else
                                        //GameTextForPlayer(playerid, \"~n~~n~~n~~g~We have arrived!\", 1000, 5);
                                DisablePlayerCheckpoint(playerid);
                                SetPlayerCheckpoint(playerid,-1958.5061,116.0761,27.6875,3.0);
                                PlayerInfo[playerid][pTut] = 1;
                                AdatMentesSQL(playerid);
                                //TogglePlayerControllable(playerid,false);
                    }
                }
        }
        return 1;
}

 
Ezzel a kóddal annyi a bajom , hogy az elsõ szövegnél megakad \"alig emlékszem arra a napra...\"
Aztán a többi nemjön , csak mikor már kispawnol máshova , de ott is csak a legelsõ szöveg jelenik meg és else tûnik , milehet a baj?

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal