Jump to content
  • 0

Ajutor sistem de sleep


BaFFyJunior

Question

Salutare! Am un sistem de sleep, am incercat sa pun o variabila(pSleep) pentru a putea folosi acest sistem. De exemplu: daca scri /sleepon sa obosesti si sa trebuiasca sa dormi, daca scri /sleepoff sa poti dezactiva sistemul. Am facut asta, am pus variabila in publicuri, dar nu se mai actualizeaza nivelul de oboseala. Aveti idee de ce? Va rog sa nu sariti pe mine ,sunt incepator.
 

new SleepLevel[MAX_PLAYERS];
new Bar:SleepBar[MAX_PLAYERS];
new PlayerText:SleepScreanTD;
new Sleeping[MAX_PLAYERS];

OnPlayerConnect

SetTimer("SleepTimer", 60000, true); // 1200000:20 minute

SleepLevel[playerid] = 0;

OnPlayerSpawn

SleepBar[playerid] = CreateProgressBar(548.000000, 58.000000, 58.000000, 3.700000, 16755455, 5);
SetProgressBarValue(SleepBar[playerid], SleepLevel[playerid]);
ShowProgressBarForPlayer(playerid, SleepBar[playerid]);

//=======================================================================================================//
CMD:sleepon( playerid, params[ ] )
{
    gQuery[0]=EOS;
    if(APlayerData[playerid][Sleep] == 0)
    {
        APlayerData[playerid][Sleep] = 1;
        mysql_format( SQL, gQuery, sizeof( gQuery ), "UPDATE `users` SET `Sleep` = '1' WHERE `Name` = '%s'", GetName( playerid ) );
        mysql_query( SQL, gQuery );
    }
    else return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ai deja pornit sistemul de sleep!");
    return 1;
}
//=======================================================================================================//
CMD:sleepoff( playerid, params[ ] )
{
    gQuery[0]=EOS;
    if(APlayerData[playerid][Sleep] == 1)
    {
        APlayerData[playerid][Sleep] = 0;
        mysql_format( SQL, gQuery, sizeof( gQuery ), "UPDATE `users` SET `Sleep` = '0' WHERE `Name` = '%s'", GetName( playerid ) );
        mysql_query( SQL, gQuery );
    }
    else return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ai deja oprit sistemul de sleep!");
    return 1;
}
//=======================================================================================================//

OnPlayerLogin

APlayerData[ playerid ][ Sleep ]    = cache_get_field_content_int( 0, "Sleep", SQL );

//=======================================================================================================//
forward SleepTimer(playerid);
public SleepTimer(playerid)
{
    for(new i=0;i<MAX_PLAYERS;i++)
    {
        if(APlayerData[playerid][Sleep] == 1)
        {
            if(IsPlayerConnected(i))
            {
                if(SleepLevel[i] == 5)
                {
                    SendClientMessage(i, 0xFFFFFF, "{00FF00}[{FFFFFF}SleepSystem{00FF00}]{808080}Ai adormit deoarece esti prea obosit!");
                    TogglePlayerControllable(i, 0);
                    ApplyAnimation(i,"CRACK","crckdeth2",4.0, 1, 0, 0, 0, 0);
                    GameTextForPlayer(i, "~w~Sleeping....", 5000, 1);
                    SetTimerEx("SleepOutSide", 45000, false, "i", i);
                    Sleeping[i] = 1;
                    return 1;
                }
                if(SleepLevel[i] == 4)
                {
                    SendClientMessage(i, 0xFFFFFF, "{00FF00}[{FFFFFF}SleepSystem{00FF00}]{808080}Atipesti, trage pe partea dreapta a carosabilului la cea mai apropiata benzinarie!");
                    SleepLevel[i] = 5;
                    SetTimerEx("SleepT3", 1500, false, "i", i);
                    SetProgressBarValue(SleepBar[i], SleepLevel[i]);
                    UpdateProgressBar(SleepBar[i], i);
                }
                else
                {
                    SleepLevel[i] += 1;
                    SetProgressBarValue(SleepBar[i], SleepLevel[i]);
                    UpdateProgressBar(SleepBar[i], i);
                }
            }
        }
    }
    return 1;
}
//=======================================================================================================//
forward Sleep2(playerid);
public Sleep2(playerid)
{
    if(APlayerData[playerid][Sleep] == 1)
    {
        PlayerTextDrawHide(playerid, SleepScreanTD);
        SleepLevel[playerid] = 0;
        SetProgressBarValue(SleepBar[playerid], SleepLevel[playerid]);
        UpdateProgressBar(SleepBar[playerid], playerid);
        TogglePlayerControllable(playerid, 1);
        Sleeping[playerid] = 0;
        SendClientMessage(playerid, 0xFFFFFF, "{00FF00}[{FFFFFF}SleepSystem{00FF00}]{808080} Ai dormit si acum esti revigorat. Iti uram drum bun!");
    }
    return 1;
}
//=======================================================================================================//
forward SleepOutSide(playerid);
public SleepOutSide(playerid)
{
    if(APlayerData[playerid][Sleep] == 1)
    {
        PlayerTextDrawHide(playerid, SleepScreanTD);
        SleepLevel[playerid] = 3;
        SetProgressBarValue(SleepBar[playerid], SleepLevel[playerid]);
        UpdateProgressBar(SleepBar[playerid], playerid);
        TogglePlayerControllable(playerid, 1);
        SetCameraBehindPlayer(playerid);
        ClearAnimations(playerid);
        Sleeping[playerid] = 0;
        SendClientMessage(playerid, 0xFFFFFF, "{00FF00}[{FFFFFF}SleepSystem{00FF00}]{808080} Ai adormit la volan. Inca esti obosit, trage pe partea dreapta la cea mai apropiata benzinarie!");
    }
    return 1;
}
//=======================================================================================================//
forward SleepT3(playerid);
public SleepT3(playerid)
{
    if(APlayerData[playerid][Sleep] == 1)
    {
        if(SleepLevel[playerid] >= 4)
        {
            if(Sleeping[playerid] == 0)
            {
                PlayerTextDrawShow(playerid, SleepScreanTD);
                SetTimerEx("SleepTime4", 10000, false, "i", playerid);
            }
        }
    }
     return 1;
}
//=======================================================================================================//
forward SleepTime4(playerid);
public SleepTime4(playerid)
{
    if(APlayerData[playerid][Sleep] == 1)
    {
        if(Sleeping[playerid] == 0)
        {
            PlayerTextDrawHide(playerid, SleepScreanTD);
            SetTimerEx("SleepT3", 10000, false, "i", playerid);
        }
    }
}
//=======================================================================================================//

 

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.