Jump to content

Recommended Posts

  • 2 months later...
Posted

Foarte bun tutorial. Am facut un mic update la r40 si merge perfect. Insa as avea nevoie de ceva ajutor in sensul ca daca respectivul care se conecteaza apasa pe spawn il va spawna si nu va tine cont ca nu s-a logat. Cum sa rezolv? Cat mai explicit va rog ca sunt incepator si in pawn si mysql. Multumesc frumos!

  • 3 months later...
  • 11 months later...
  • 1 year later...
Posted
Conexiunea la baza de date 'rlrpg' cu user-ul 'root' a reusit!!!
[debug] Run time error 20: "Invalid index parameter (bad entry point)"
Script[gamemodes/RLRPG1.amx]: Run time error 20: "Invalid index parameter (bad entry point)"
Number of vehicle models: 0

um? sunt eu prost?

  • 2 months later...
  • 7 months later...
Posted

Salut. Pot sti si eu cum pot crea o baza de date pentru server? Am uitat cum se ajungea acolo unde se apuca el sa creeze baza de date.

  • 3 months later...
Posted
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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.