Jump to content

Tutorial Register/Login MYSQL R39


WiDuAlK

Recommended Posts

  • 2 months later...
  • 3 months later...
  • 11 months later...
  • 1 year later...
  • 2 months later...
  • 7 months later...
  • 3 months later...
Quote

 

//desenvolvido por Debora
#include <a_samp>
#include <zcmd>
#include <foreach>
#include <progress>

#include <a_mysql>

// TUTORIAL MADE BY WiDuAlK

new Text:Textdraw0;
new Text:Textdraw1;
new Text:Textdraw2;
new Text:Textdraw3;
new Text:Textdraw4;

new Text:TextFomeSede[6];

new Text:TDPM[2];

new PlayerText:AB[MAX_PLAYERS][3];

new Text:PainelPM[6];
    
new Bar:Fome;
new Bar:Sede;
    

new PlayerText:PPainelPM[MAX_PLAYERS][1];
    
//cores
#define VERMELHO_BEM_CLARO 0xFF9C9CF6
#define VERDE_BEM_CLARO 0xC5FFC2F6
#define AZUL_BEM_CLARO 0xACF6FFF6
#define ROXO_BEM_CLARO 0xCBC2FFF6
#define COR_ROSA_CLARO 0xFFB7FFF6
#define COR_PRETA_TRANSPARENTE 0x00000051
#define COR_VERDE_AMARELADA 0xD8FF12F6
#define COR_BRANCA 0xFFFFFFF6
#define COR_CINZA 0xD2D2D2F6
#define COR_VERDE_FOLHA 0x90BC70F6
#define COR_LARANJA 0xFFA500F6
#define COR_AMARELO 0xEBEB00F6
#define COR_Motorista 0xFFA500F6
/* //////////////////////////////// */
#define mysql_host "localhost" // aici punem ip hostului. Daca folosim in PC GM lasam localhost
#define mysql_db "bazadate"// aici punem numele bazei de date.
#define mysql_user "root"// aici punem numele userului de la host. Daca folositi PC lasati root.
#define mysql_pass ""//Aici puneti parola de la host(de la phpmyadmin al hostului). In caz de folositi PC lasati asa.

enum
{
    DIALOG_LOGIN, // dialogul de login
    DIALOG_REGISTER// dialogul de register
};

enum pInfo //numele enumului este pInfo. in el vom pune datele playerului gen Admin/Level/ Money/Experianta si altele.
{
    pParola,//cu pParola vom lua parola din baza de date a playerului
    pID// cu pID vom lua ID-ul din baza de date a playerului
};

new P_Data[MAX_PLAYERS][pInfo];// Aceasta variabila este array. cu ea vom verifica 2 lucruri. id playerului si datele lui gen P_Data[playerid][pID] == 1;

new handle; // handle(mâner) este cea de care ne vom folosi sa facem lagatura intre baza de date si server 

#define Desempregado 0
#define Motorista 1
#define furtador 2


new Profissao[MAX_PLAYERS];
new carregar [MAX_PLAYERS];
new descarregando[MAX_PLAYERS];


forward Descarregando(playerid);
public Descarregando(playerid)
{
    TogglePlayerControllable(playerid,1);
    GameTextForPlayer(playerid, "~g~Onibus Descarreagado com Sucesso", 5000, 4); //manda mensgaem pro player
    GivePlayerMoney(playerid, 2500); //da dinheiro ao player
    return 1;
}

forward carregando(playerid);
public carregando(playerid)
{
    SendClientMessage(playerid, -1, "o timer acabou");
    GameTextForPlayer(playerid, "Onibus Carregado, Digite /fecharporta para seguir viajem", 5000, 4);
    return 1;
}
main()
{
    print("\n----------------------------------");
    print(" KEVIN");
    print("----------------------------------\n");
}
public OnGameModeInit()
{
    MySQLConnect();
    return 1;
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(0,2523.2722,-1679.3199,15.4970,275.8227,0,0,0,0,0,0); // casa1
    UsePlayerPedAnims(); // andado do player
    AddStaticPickup(1275, 23, 2089.7207,-2242.3582,13.5469, 0);
    AddStaticPickup(19198, 23, 2523.2722,-1679.3199,15.4970, 0);
    AddStaticPickup(19198, 23, 2514.2102,-1691.7473,14.0460, 0);
    AddStaticPickup(19198, 23, 2498.7375,-1642.6049,13.7826, 0);
    AddStaticPickup(19198, 23, 2459.3887,-1691.6633,13.5468, 0);
    AddStaticPickup(19198, 23, 2486.4539,-1644.5316,14.0772, 0);
    Create3DTextLabel ( "{04B404}Para iniciar seu turno digite\n{04B404}/iniciarturno" , 0x008080FF, 2089.7207,-2242.3582,13.5469 , 30.0 , 0 , 0 );
    AddStaticVehicleEx(431, 2102.1980,-2233.1260,13.5469,52.2320, 0, 0, 30);
    AddStaticVehicleEx(609, 2292.9543,-1791.1365,13.5469,356.9004, 0, 0, 30);

    


    TextFomeSede[0] = TextDrawCreate(2.500000, 226.750061, "box");
    TextDrawLetterSize(TextFomeSede[0], 0.000000, 0.850498);
    TextDrawTextSize(TextFomeSede[0], 128.419769, 0.000000);
    TextDrawAlignment(TextFomeSede[0], 1);
    TextDrawColor(TextFomeSede[0], -1);
    TextDrawUseBox(TextFomeSede[0], 1);
    TextDrawBoxColor(TextFomeSede[0], 127);
    TextDrawSetShadow(TextFomeSede[0], 0);
    TextDrawBackgroundColor(TextFomeSede[0], 255);
    TextDrawFont(TextFomeSede[0], 1);
    TextDrawSetProportional(TextFomeSede[0], 1);

    TextFomeSede[1] = TextDrawCreate(2.500000, 223.833267, "fome:");
    TextDrawLetterSize(TextFomeSede[1], 0.225620, 1.296666);
    TextDrawAlignment(TextFomeSede[1], 1);
    TextDrawColor(TextFomeSede[1], -5963521);
    TextDrawSetShadow(TextFomeSede[1], 0);
    TextDrawSetOutline(TextFomeSede[1], 1);
    TextDrawBackgroundColor(TextFomeSede[1], 255);
    TextDrawFont(TextFomeSede[1], 2);
    TextDrawSetProportional(TextFomeSede[1], 1);

    TextFomeSede[2] = TextDrawCreate(2.500000, 241.333343, "box");
    TextDrawLetterSize(TextFomeSede[2], 0.000000, 0.937500);
    TextDrawTextSize(TextFomeSede[2], 128.000000, 0.000000);
    TextDrawAlignment(TextFomeSede[2], 1);
    TextDrawColor(TextFomeSede[2], -1);
    TextDrawUseBox(TextFomeSede[2], 1);
    TextDrawBoxColor(TextFomeSede[2], 127);
    TextDrawSetShadow(TextFomeSede[2], 0);
    TextDrawBackgroundColor(TextFomeSede[2], 255);
    TextDrawFont(TextFomeSede[2], 1);
    TextDrawSetProportional(TextFomeSede[2], 1);

    TextFomeSede[3] = TextDrawCreate(2.525000, 238.916610, "sede:");
    TextDrawLetterSize(TextFomeSede[3], 0.225620, 1.296666);
    TextDrawAlignment(TextFomeSede[3], 1);
    TextDrawColor(TextFomeSede[3], 16777215);
    TextDrawSetShadow(TextFomeSede[3], 0);
    TextDrawSetOutline(TextFomeSede[3], 1);
    TextDrawBackgroundColor(TextFomeSede[3], 255);
    TextDrawFont(TextFomeSede[3], 2);
    TextDrawSetProportional(TextFomeSede[3], 1);

    TextFomeSede[4] = TextDrawCreate(2.200000, 256.751892, "box");
    TextDrawLetterSize(TextFomeSede[4], 0.000000, 0.850498);
    TextDrawTextSize(TextFomeSede[4], 128.119750, 0.000000);
    TextDrawAlignment(TextFomeSede[4], 1);
    TextDrawColor(TextFomeSede[4], -1);
    TextDrawUseBox(TextFomeSede[4], 1);
    TextDrawBoxColor(TextFomeSede[4], 127);
    TextDrawSetShadow(TextFomeSede[4], 0);
    TextDrawBackgroundColor(TextFomeSede[4], 255);
    TextDrawFont(TextFomeSede[4], 1);
    TextDrawSetProportional(TextFomeSede[4], 1);

    TextFomeSede[5] = TextDrawCreate(2.525000, 253.717514, "sono:");
    TextDrawLetterSize(TextFomeSede[5], 0.225620, 1.296666);
    TextDrawAlignment(TextFomeSede[5], 1);
    TextDrawColor(TextFomeSede[5], -1378294017);
    TextDrawSetShadow(TextFomeSede[5], 0);
    TextDrawSetOutline(TextFomeSede[5], 1);
    TextDrawBackgroundColor(TextFomeSede[5], 255);
    TextDrawFont(TextFomeSede[5], 2);
    TextDrawSetProportional(TextFomeSede[5], 1);

    Fome = CreateProgressBar(36.00, 229.00, 67.50, 4.19, -428670721, 100.0);
    
    Sede = CreateProgressBar(36.00, 244.00, 67.50, 4.19, 16053503, 100.0);


    return 1;
}

public OnGameModeExit()
{
    mysql_close( handle ) ;// deconectam serverul de la baza de date, daca se inchide
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetSpawnInfo(playerid, 0, 0, 2010.9329,1226.3123,10.8203, 0, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    return 1;
}

public OnPlayerConnect(playerid)
{
    new query[100];// definim query(interogare)
    mysql_format(handle, query, sizeof(query), "SELECT * FROM conturi WHERE Nume = '%s'", GetName(playerid));// mysql format face interogarile/setarile/obtiunile/updateurile la baza de date
    //handle reprezinta conectarea la mysql, query si sizeof(queri) reprezinta interogarea
    //"SELECT * FROM conturi WHERE Nume = '%s'"- Selecteaza de la tabelul cu conturi, unde numele este %s(de exemplu eu am numele Widualk pe sa-mp. Mi se va extrage numele si
    mysql_tquery(handle, query, "OnPlayerLogin", "i", playerid);// se va interoga OnPlayerLogin. Adica mai pe scurt , cand se conecteaza se va verifica daca are cont sau nu acel player.
    return 1;
    new skin = GetPlayerSkin(playerid);
    AB[playerid][0] = CreatePlayerTextDraw(playerid, 107.825004, 225.216735, "100%");
    PlayerTextDrawLetterSize(playerid, AB[playerid][0], 0.220623, 1.086665);
    PlayerTextDrawAlignment(playerid, AB[playerid][0], 1);
    PlayerTextDrawColor(playerid, AB[playerid][0], -745139484);
    PlayerTextDrawSetShadow(playerid, AB[playerid][0], 0);
    PlayerTextDrawSetOutline(playerid, AB[playerid][0], 1);
    PlayerTextDrawBackgroundColor(playerid, AB[playerid][0], 255);
    PlayerTextDrawFont(playerid, AB[playerid][0], 1);
    PlayerTextDrawSetProportional(playerid, AB[playerid][0], 1);

    AB[playerid][1] = CreatePlayerTextDraw(playerid, 107.825004, 239.817626, "100%");
    PlayerTextDrawLetterSize(playerid, AB[playerid][1], 0.220623, 1.086665);
    PlayerTextDrawAlignment(playerid, AB[playerid][1], 1);
    PlayerTextDrawColor(playerid, AB[playerid][1], 12648432);
    PlayerTextDrawSetShadow(playerid, AB[playerid][1], 0);
    PlayerTextDrawSetOutline(playerid, AB[playerid][1], 1);
    PlayerTextDrawBackgroundColor(playerid, AB[playerid][1], 255);
    PlayerTextDrawFont(playerid, AB[playerid][1], 1);
    PlayerTextDrawSetProportional(playerid, AB[playerid][1], 1);

    AB[playerid][2] = CreatePlayerTextDraw(playerid, 107.825004, 255.318572, "100%");
    PlayerTextDrawLetterSize(playerid, AB[playerid][2], 0.220623, 1.086665);
    PlayerTextDrawAlignment(playerid, AB[playerid][2], 1);
    PlayerTextDrawColor(playerid, AB[playerid][2], -1378294017);
    PlayerTextDrawSetShadow(playerid, AB[playerid][2], 0);
    PlayerTextDrawSetOutline(playerid, AB[playerid][2], 1);
    PlayerTextDrawBackgroundColor(playerid, AB[playerid][2], 255);
    PlayerTextDrawFont(playerid, AB[playerid][2], 1);
    PlayerTextDrawSetProportional(playerid, AB[playerid][2], 1);

    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
        // Do something here
        return 1;
    }
    return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    if(carregar[playerid]) // verifica qual a variavel do checkpoint
    {//o que tiver aq dentro vai acontecer quando o player entrar naquele checkpoint em especifico
        DisablePlayerCheckpoint(playerid);//desabilita o checkpoint
        GameTextForPlayer(playerid, "Digite /abrirportas para os passageiros entrar", 5000, 4);//manda a mensagem na tela do player
        carregar[playerid] = false;//desqbilita a funcao
    }
    if(descarregando[playerid])
    {
        DisablePlayerCheckpoint(playerid);
        GameTextForPlayer(playerid, "Voce chegou ao Destino final da viajem", 5000, 4);
        descarregando[playerid] = false;
        SetTimer("Descarregando", 10000, false);
        TogglePlayerControllable(playerid,0);
    }
    return 1;
}

stock GetName(playerid)
{
    new Name[MAX_PLAYER_NAME];

    GetPlayerName(playerid, Name, sizeof(Name));
    return Name;
}

public OnPlayerLogin(playerid)//Se creaza publicul
{
    new rows, fields;// definim rows(randurile)si fields(domeniile)
    cache_get_data(rows, fields);//cache_get_data interogheaza date din baza de date. acele date sunt rows si fields
    if(rows)// atunci cand playerul se inregistreaza i se va crea niste randuri. Daca i se gasesc atunci cand se va conecta ii va da:
    {
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Logheaza-te!", "Te rog sa-ti introduci parola contuului mai jos!", "Logare", "Exit");// dialogul register
    }
    else// daca nu i se gasesc randuri, adica daca contul nu exista, atunci i se va da urmatorul dialog
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Inregistrare", "Trebuie sa iti creezi un cont ca sa joci pe server. nTasteaza mai jos o parola, pentru a te inregistra!", "Inregistreaza", "Exit");// dialogul register
    }
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new query[128], ip[25];// se creaza interogarea si ip.
    switch(dialogid)// se va folosi switch pentru a selecta dialogul
    {
        case DIALOG_REGISTER:// daca se va selecta dialogul register
        {
            if(!response)
                    return Kick(playerid);// daca se va apasa pe butonul Exit ii va da kick
            if(response)// daca se apasa pe Butonul inregistrare se vor face urmatoarele verificari
            {
                if(!strlen(inputtext))// daca nu e scris nimic la parola
                        return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Parola incorecta!", "Introdu-ti o parola pentru a te inregistra pe server! n", "Inregistreaza", "Exit");// ii va da din nou dialogul register cu mesajul specific

                GetPlayerIp(playerid, ip, sizeof(ip));// definim ip-ul de mai sus
                mysql_format(handle, query, sizeof(query), "INSERT INTO conturi (Nume, Parola, IP) VALUES ('%s', '%e', '%s')", GetName(playerid), inputtext, ip);// se insereaza in tabelul cu conturi numele playerului, parola pe care a scris-o si ip pe care il are
                mysql_query(handle, query);// se va trimite setarile si se va interoga callback-ul OnRegistration
                SpawnPlayer(playerid); // ii da spawn
            }
            return 1;
        }
        case DIALOG_LOGIN:// daca se va selecta dialogul de login
        {
            if(!response) return Kick(playerid);// si se va apasa pe butonul exit ii va da kick
            if(response)//daca se apasa pe butonul LOGARE se va face urmatoarele verificari
            {
                if(!strlen(inputtext))// daca nu a scris nimic la parola
                        return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Parola incorecta!", "Te rog sa iti introduci parola corecta, pentru a te loga pe server.", "Logare", "Exit");// ii va da dialogul cu login cu mesajul specific
                // daca se va trece peste aceasta verificare se vor face urmatoarele:
                mysql_format(handle, query, sizeof(query), "SELECT * FROM `conturi` WHERE `Name`='%e' AND `password` = '%e'", GetName(playerid),inputtext);// va fi selectata parola de la tabelul cu conturi
mysql_tquery(handle, query, "OnLogin", "i", playerid);// se va face apel la baza si se va interoga CallBackUl OnLogin (Tquery = take query sau ia interogare in romana)
            }
            return 1;
        }
    }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}

CMD:pegarskin13(playerid, params[])
{
    SetPlayerSkin(playerid, 13);
    SendClientMessage(playerid, 0xC5FFC2F6,"vc adquiriu uma nova skin");
    return 1;
}
CMD:modmoney(playerid)
{
    GivePlayerMoney(playerid, 11500);
    SendClientMessage(playerid, 0xC5FFC2F6,"dinheiro");
    return 1;
}
CMD:pegarskin(playerid, params[])
{
    SetPlayerSkin(playerid, 217);
    SendClientMessage(playerid, 0xC5FFC2F6,"vc adquiriu uma nova skin");
    return 1;
}
CMD:sermotorista(playerid)//comandos
{
    Profissao[playerid] = Motorista;// aqui definismos o  player para a profissao
    SendClientMessage(playerid, COR_Motorista, "Parabens, voce se tornou motorista");//mando uma mensgaem para o player
    SendClientMessage(playerid, -1, "Para sair da profissão digite /sairdoemprego");
    return 1;
}
CMD:sairdoemprego(playerid)
{
    if(Profissao[playerid] == Desempregado)//verifica se o player é desempregado
    {
    SendClientMessage(playerid, -1, "Vc nao tem uma profissao"); //caso ele for manda um mensagem
    }
    else //OUUU se ele tiver uma emprego
    Profissao[playerid] = Desempregado; //seta a profissao para desempregado
    SendClientMessage(playerid, -1, "Voce saiu da profissao");//manda uma mensagem
    return 1;
}
forward OnLogin(playerid);// definim callback ul
public OnLogin(playerid)// facem publicul
{
    new rows, fields,temporar[200];// definim randurile si domeniile, iar temporar se va folosi la extragerea stringurilor
    cache_get_data(rows, fields);// facem interogarea lor
    if(rows)// daca playerul are randuri(adica daca are cont creat, odata cu contul se creeaza randurile)
    {
        //deci daca are randuri
        cache_get_field_content(0, "Parola",temporar), format(P_Data[playerid][pParola], 25, temporar);// i se vaextrage parola si i se verifica daca coincide cu numele. Se foloseste new-ul temporar pentru extragerea parolei, ea retinandu-se temporar(pana cand se deconecteaza jucatorul)
        P_Data[playerid][pID] = cache_get_field_content_int(0, "ID");// i se vaextrage ip-ul
        //un exemplu ar fi , daca are Admin , va fi ceva de genu P_Data[playerid][pAdmin] = cache_get_field_content_int(0,"Admin)"; i se va extrage din baza de date levelul de admin si i se va returna pe server, mai precis, cand se conecteaza are levelul de admin , care i-a fost setat de owner
        SpawnPlayer(playerid);// si se va da spawn
    }
    else// altfel , daca parola este gresita
    {
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Parola incorecta!", "Te rog sa iti introduci parola corecta, pentru a te loga pe server.", "Logare", "Exit");// ii va da dialogul cu mesajul specific.
    }
    return 1;
}
CMD:iniciarturno(playerid)
{
    if(Profissao[playerid] == Motorista)
    {
    SetPlayerSkin(playerid, 286);
    SendClientMessage(playerid, -1, "Pegue um onibus e va ate o local marcado para pegar os passageiros");
    SetPlayerCheckpoint(playerid, 1671.6798,-2249.3491,-2.8456, 5.0);
    carregar[playerid] = true;
    }
    return 1;
}

CMD:irl(playerid)
{
    SetPlayerPos(playerid, 2292.9543,-1791.1365,13.5469);
        TextDrawShowForPlayer(playerid, Textdraw0);
    TextDrawShowForPlayer(playerid, Textdraw1);
    TextDrawShowForPlayer(playerid, Textdraw2);
    TextDrawShowForPlayer(playerid, Textdraw3);
    TextDrawShowForPlayer(playerid, Textdraw4);

    SelectTextDraw(playerid, 0xA3B4C5FF);
    return 1;
}
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == Textdraw1) // If the player clicked on the teleportLS textdraw, teleport him there!
    {
        SetPlayerPos(playerid, 1630.2030,-2328.9673,13.5469);
        SetPlayerFacingAngle(playerid, 0.9392);
    }
    else if(clickedid == Textdraw2) // Same as above, but for SF
    {
        SetPlayerPos(playerid, -1424.6083, -290.9622, 14.1484);
        SetPlayerFacingAngle(playerid, 134.9570);
    }

                     // Hide the textdraws after the player has teleport himself.
    TextDrawHideForPlayer(playerid, Textdraw0);
    TextDrawHideForPlayer(playerid, Textdraw1);
    TextDrawHideForPlayer(playerid, Textdraw2);
    TextDrawHideForPlayer(playerid, Textdraw3);
    TextDrawHideForPlayer(playerid, Textdraw4);

    CancelSelectTextDraw(playerid); // Everything worked out perfectly, now stop the player to be able to select shizzle.
    return 1;
}
CMD:abrirporta(playerid)
{
    SetTimer("carregando", 6000, false);
    TogglePlayerControllable(playerid,0);
    GameTextForPlayer(playerid, "~g~Portas Abertas", 3000, 4);
    GameTextForPlayer(playerid, "os passageiros estão subindo", 5000, 4);
    return 1;
}
CMD:farda(playerid)
{
    TextDrawShowForPlayer(playerid, PainelPM[0]);
    TextDrawShowForPlayer(playerid, PainelPM[1]);
    TextDrawShowForPlayer(playerid, PainelPM[2]);
    TextDrawShowForPlayer(playerid, PainelPM[3]);
    TextDrawShowForPlayer(playerid, PainelPM[4]);
    
    PlayerTextDrawShow(playerid, PPainelPM[0][playerid]);
    SelectTextDraw(playerid, 0x00FF00FF);
    return 1;
}

public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
    if(playertextid == PPainelPM[0][playerid])
    {
         SetPlayerSkin(playerid, 283);
         TextDrawHideForPlayer(playerid, PainelPM[0]);
         TextDrawHideForPlayer(playerid, PainelPM[1]);
         TextDrawHideForPlayer(playerid, PainelPM[2]);
         TextDrawHideForPlayer(playerid, PainelPM[3]);
         TextDrawHideForPlayer(playerid, PainelPM[4]);
         
         PlayerTextDrawHide(playerid, PPainelPM[0][playerid]);

    }
    return 1;
}
CMD:a(playerid)
{
    SetPlayerWantedLevel(playerid, 5);
    return 1;
}
CMD:fecharporta(playerid)
{
    GameTextForPlayer(playerid, "~g~Portas Fechadas", 3000, 4);
    TogglePlayerControllable(playerid,1);
    SetPlayerCheckpoint(playerid, 1713.0907,1461.4066,10.6929, 5.0);
    descarregando[playerid] = true;//só para dizer q só descarrega no local certo
    return 1;
}

 

 

Web Developer 
My portfolio: Click

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.