Jump to content

TedyYy.

Membru
  • Posts

    25
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by TedyYy.

  1. Quote

    CMD:housename(playerid, params[])
    {
        if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa te loghezi mai intai.");
        if(PlayerInfo[playerid][pPinLogged] == 0 && strlen(PlayerInfo[playerid][pPin]) != 1) return SendClientMessage(playerid, COLOR_YELLOW2, "Eroare: Contul tau este blocat. Scrie /pin pentru a il debloca si pentru a folosi aceasta comanda.");
        if(IsPlayerConnected(playerid))
        {
            new bouse = PlayerInfo[playerid][pPhousekey],housename[250],string[100],playername[MAX_PLAYER_NAME];
            GetPlayerName(playerid, playername, sizeof(playername));
            if (PlayerInfo[playerid][pPhousekey] != 999 && strcmp(GetName(playerid), HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
            {
                if(sscanf(params, "s[250]", housename)) return SendClientMessage(playerid, COLOR_GREY, "Sintaxa: {FFFFFF}/housename <Message>");
                new maxc = strlen(housename);
                if(maxc > 20) return SCM(playerid,COLOR_YELLOW2, "Eroare: Maximum caracter is 20.");
                new housename2[250];
                mysql_real_escape_string(housename, housename2);
                strmid(HouseInfo[bouse][hDiscription], housename2, 0, 64, 255);
                    format(string, sizeof(string), "House name set to: %s",HouseInfo[bouse][hDiscription]);
                SendClientMessage(playerid, COLOR_WHITE, string);
                new str[256];
                format(str,sizeof(str),"UPDATE houses SET Discription='%s' WHERE ID='%d'",HouseInfo[bouse][hDiscription],PlayerInfo[playerid][pPhousekey]);
                mysql_query(SQL,str);
                OnPropTextdrawUpdate(1, bouse);
            }
            else
            {
                SendClientMessage(playerid, COLOR_YELLOW2, "Eroare: You don't own a house.");
            }
            
        }
        return 1;
    }

    EDIT NoNamed : Data viitoare cand pui date de contact in post-uri primesti warn .

    • Upvote 1
  2. Citat

    CMD:housename(playerid, params[])
    {
        if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa te loghezi mai intai.");
        if(PlayerInfo[playerid][pPinLogged] == 0 && strlen(PlayerInfo[playerid][pPin]) != 1) return SendClientMessage(playerid, COLOR_YELLOW2, "Eroare: Contul tau este blocat. Scrie /pin pentru a il debloca si pentru a folosi aceasta comanda.");
        if(IsPlayerConnected(playerid))
        {
            new bouse = PlayerInfo[playerid][pPhousekey],housename[250],string[100],playername[MAX_PLAYER_NAME];
            GetPlayerName(playerid, playername, sizeof(playername));
            if (PlayerInfo[playerid][pPhousekey] != 999 && strcmp(GetName(playerid), HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
            return SendClientMessage(playerid, COLOR_YELLOW2, "Eroare: You don't own a house.");
            {
                if(sscanf(params, "s[250]", housename)) return SendClientMessage(playerid, COLOR_GREY, "Sintaxa: {FFFFFF}/housename <Message>");
                new maxc = strlen(housename);
                if(maxc > 20) return SCM(playerid,COLOR_YELLOW2, "Eroare: Maximum caracter is 20.");
                new housename2[250];
                mysql_real_escape_string(housename, housename2);
                strmid(HouseInfo[bouse][hDiscription], housename2, 0, 64, 255);
                    format(string, sizeof(string), "House name set to: %s",HouseInfo[bouse][hDiscription]);
                SendClientMessage(playerid, COLOR_WHITE, string);
                new str[256];
                format(str,sizeof(str),"UPDATE houses SET Discription='%s' WHERE ID='%d'",HouseInfo[bouse][hDiscription],PlayerInfo[playerid][pPhousekey]);
                mysql_query(SQL,str);
                OnPropTextdrawUpdate(1, bouse);
            }
            
        }
        return 1;
    }

    Incearca asa , daca nu merge, revii cu un reply.

    • Upvote 1
  3.   if(response)//daca se apasa pe primul buton se vor intampla urmatoarele
            {
                SendClientMessageToAll(-1, "Serverul se va inchide in 5 secunde");//Se da un messaj la tot serverul , cum ca severul se va inchide dupa 5 minute.
                TimpScurs = SetTimer("mesajul", 5000, false);//Aici este new-ul , dupa cum vedeti , TimpScurs = cu comanda timpului.
            }

    Daca te reveri la acel SendClientMessageToAll , da asa am pus eu , asa am vrut sa fie.

  4. Nu prea am inteles ce ai vrut sa spui.

    1.Tu acolo ai scris SetTimerEx , nu este totuna cu SetTimer , sunt doua lucruri diferite si nu fac acelasi lucru

    SetTimerEx("mesajul",5000,false,"d",playerid);

    2.Tu ai luat dialogul dupa bunul plac. Nu era gresit daca am pus id-ul dialogului.

    3.Nici macar nu ai probat sa vezi daca merge sau daca aveam erori la compilare.

    4.Concluzie: Eu zic ca nu prea am avut greseli , dar iti multumesc pentru reply.

    if(dialogid == DIALOG_SERVERCLOSED)
  5. Acum 6 minute, WopsS a spus:

    Salut,

    Ti-am adaugat eu condul intre tag-urile de cod (iconita care arata cam asa <>), arata mai frumos.

    Chiar iti multumesc @WopsS , nu stiam asta. 

    Acum 16 minute, Uzzi25 a spus:

    Bun pentru incepatori :D

    Felicitari :) 

    Multumesc @Uzzi25 , sper ca ti-a placut tutorialul.

  6. Salutare Sa-Mp.Ro, astazi am venit cu un tutorial destul de usor zic eu.Pentru cei care inca nu stiu cum sa foloseasca un Timer pentru serverul lor vor invata chiar acum.

    Ce trebuie sa retineti:

    SetTimer("mesajul", 5000, false); sau SetTimer("mesajul", 5000, true);
    //SetTimer = Comanda pentru timp.
    //1000 = timpul care este controlat de timer se masoara in milisecunde. Deci
    // 1 secunda = 1000 milisecunde, 5 secunde = 5000 milisecunde
    // false = inseamna ca nu se repeta timer-ul , true = inseamna ca timer-ul se repeta mereu.

    Sa incepem cu inceputu'

    Avem nevoie de un include denumit foreach , iar acest include puteti sa-l gasiti aici

    #include <foreach>
    #include <zcmd>//avem nevoie si de zcmd pentru a crea o comanda , sau puteti folosi comanda pawnu-lui

    Eu am decis sa cream o comanda pe dialog , deci.

    #define DIALOG_SERVERCLOSED 1//Definim un dialog

    Trebuie sa fabricam si un new.

    new TimpScurs;// este new-ul care ne va ajuta la timp.

    Acum cream comanda dorita.

    CMD:serverclosed(playerid, params[])
    {
        ShowPlayerDialog(playerid, DIALOG_SERVERCLOSED, DIALOG_STYLE_MSGBOX, "Server Closed", "Doriti sa inchideti acest server?", "Ok", "No"); //Este un dialog care l-am creat eu.
        return 1;
    }

    Dupa ce am creat comanda, mergem si facem un public si un forward.

    forward mesajul();//Se creaza forward-ul
    public mesajul()//cream publicul de care avem nevoie
    {    
        foreach(Player, i)//Pentru a folosi aceasta comanda aveam nevoie de foreach, daca la sendclientmessage scriam playerid, inloc de i imi aparea o eroare
        {
            SendClientMessage(i, -1, "Ai inchis serverul: Timpul care s-a scurs a fost de 5 secunde");//Dupa ce timpul s-a scurs apare acest mesaj si
            SendRconCommand("exit");//se va inchide serverul
        }
    }

    Mergem si la OnDialogResponse(), fiindca avem un dialog de reprezentat.

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        if(dialogid == 1)//dialogulid care l-am creat noi.
        {
            if(response)//daca se apasa pe primul buton se vor intampla urmatoarele
            {
                SendClientMessageToAll(-1, "Serverul se va inchide in 5 secunde");//Se da un messaj la tot serverul , cum ca severul se va inchide dupa 5 minute.
                TimpScurs = SetTimer("mesajul", 5000, false);//Aici este new-ul , dupa cum vedeti , TimpScurs = cu comanda timpului.
            }
            else//Daca se apasa al 2-lea buton ii se inchide dialogul si ii va da un mesaj
            {
                SendClientMessage(playerid, -1, "Ai anulat!");
            }
        }
        return 1;
    }

    Si la final se va distruge Timpul , mergem la OnGameModeExit()

    public OnGameModeExit()
    {
        KillTimer(TimpScurs);// KillTimer inseamna ca se va distruge timpul nostru , adica =TimpScurs
        return 1;
    }

    Am realizat un timer cu o comanda . Peste 5 secunde serverul se va inchide prin apasarea unui singur buton.

    Asta a fost tutorialul meu ,sper ca va placut si ne revedem data viitoare.

     

    Nu uitati - Tutorial 100% creat de mine ,

    Nu uitati - Daca va placut tutorialul puteti da un +1

  7. Nu conteaza la ce profil sunteti , eu am intrat la Matematica-Informatica si nu o sa invat acolo pawno , trebuie sa va placa acest limbaj dupa care poti sa-l inveti . Te uiti la videoclipuri , la tutoriale pe forumul nostru si asa poti invata. @AdryanOvi joburile, factiunile nu sunt mereu in acelasi loc unde vezi si pe alte servere , daca crezi ca acolo este jobul respectiv inseamna ca nu ai adaugat bine filterscript-ul

  8. Da este facut de mine si o sa mai fac tutoriale despre altele , haide sa-ti explic si de ce nu inteleg mysql. Ei sigur stiu sa instaleze XAMPP , dar cand vad ca trebuie sa faca coloane , comenzi , query si multe altele , trec direct pe dini sau pe SQLite, deci problema grava este ca : multi nu vor sa invete . Multumesc mult pentru +1

    -Mai astept comentarii despre tutorial.

  9. Salutare la toti. Bine ati venit la primul meu tutorial pe acest site, azi va voi invata cum sa faceti un Login/Register mai "complex". Am vazut ca multi fug de MySQL fiindca li se par foarte greu . Eu am pregatit unul pe include-ul [DINI], iar acest include puteti sa-l descarcati de aici.

    Sa incepem.

    Pentru inceput vom aduga cele doua include-uri

    Citat

    /*Credite : TedyYy. , Tutorial Login/Register Sa-mp.Ro*/

    #include <a_samp>
    #include <dini>

    Ca in orice login/register ne trebuie niste enum-uri, haideti sa le facem.

    Avem enum-uri la Dialoguri

    Citat

    enum
    {
        DIALOG_REGISTER, //dialog de inregistrare
        DIALOG_LOGIN,//dialog de logare
        DIALOG_AGE,//dialog de varsta
        DIALOG_SEX,//dialog de sex
        DIALOG_EMAIL,//dialog de email
        DIALOG_FINISH// ultimul dialog(dialog finala)
    }

    Avem enum-uri si la cont

    Citat

    enum pInfo
    {
        pLogged,// cu el verificam daca este conectat sau nu playerul pe server
        pPass,
        pAge,
        pSex,
        pEmail
    }

    new PlayerInfo[MAX_PLAYERS][pInfo]; // Aici se regasesc toate datele despre cont [Parola, Varsta, Sex ,Email ..etc] iar acestea se salveaza intr-un fisier cu extensia .ini

    Acum avem nevoie sa vedem daca contul exista sau nu exista.   DIALOG_REGISTER - Nu exista cont .. DIALOG_LOGIN - Exista cont

    Citat

    public OnPlayerConnect(playerid)
    {
        new pname[MAX_PLAYER_NAME], path[200];
        GetPlayerName(playerid, pname, sizeof(pname));
        format(path, sizeof(path), "accounts/%s.ini", pname);// Aici am redirectionat datele de la cont sa se salveze in niste fisiere cu extensia .ini , iar aceste fisiere se regasesc in folderul "accounts"
        
        if(dini_Exists(path)) // verificam daca contul exista
        {
            ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "LOGIN: Login Account", "Welcome Back, type in the box below \nPassword on our existing accounts", "Login", "Exit");//Am vazut ca , contul exista , deci am apelat la dialogul cu Login, deoaece are o parola si se poate loga
        }
        else//opusul lui , adica daca contul nu exista
        {
            ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{FF3333}[1/5]{FFFFFF}REGISTER: Register Account", "Bine ai venit, introdu parola dorita in casuta de mai jos\nPentru a putea sa se creeze un cont in baza noastra de conturi", "Register", "Exit");//Am vazut ca , contul nu exista , deci am apelat la dialogul cu register ca sa se creeze o parola si alte date..
        }
        /*InterpolateCameraPos(playerid, 1662.168823, -1525.083984, 160.861648, 1860.854248, -952.482666, 255.745819, 10000);
        InterpolateCameraLookAt(playerid, 1662.083984, -1520.090942, 160.611755, 1858.182006, -956.270141, 253.871215, 10000);*/ //Puteti sa le puneti doar daca doriti ca serverul sa fie mai stralucitor(frumos)
        return 1;
    }

    La "InterlopateCameraPos" si la "InterlopateCameraLookAt" puteti sa puneti daca vreti. -Cand se conecteaza playerul pe server , ii se va misca camera.

    Dupa ce am facut si asta vom merge la "public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])" Si vom crea urmatoarele Dialoguri --> "DIALOG_REGISTER", "DIALOG_AGE", "DIALOG_SEX", "DIALOG_EMAIL", "DIALOG_FINISH" si "DIALOG_LOGIN"

    1.DIALOG_REGISTER

    Citat

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        new pname[MAX_PLAYER_NAME], path[200];
        GetPlayerName(playerid, pname, sizeof(pname));
        format(path, sizeof(path), "accounts/%s.ini", pname);
        
        switch(dialogid)
        {
            case DIALOG_REGISTER:
            {
                if(!response) return Kick(playerid); //Daca apasa butonul "cancel" sau apasa tasta "ESC" el va primi kick automat
                if(response)//Daca apasa primul buton se vor intampla urmatoarele minuni
                {
                    new pwlength = strlen(inputtext);//cream new-ul
                    if(pwlength > 4)// parola trebuie sa fie mai mare de 4 caractere!
                    {
                        SendClientMessage(playerid, COLOR_SERVER, "");
                        SendClientMessage(playerid, COLOR_SERVER, "{CC0000}SERVER: {FFFFFF}Parola salvata");
                        dini_Create(path);//se creaza path-ul
                        dini_Set(path, "Password", inputtext);//Se seteaza linia "Password" in fisierul %s.ini
                        ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "{FF3333}[2/5]{FFFFFF}AGE: Age Account", "Introdu varsta caracterului tau!!", "Next", "Exit");//Aici am pus DIALOG_AGE, pentru ca atunci cand apasa primul buton de la register sa ii dea direct acest dialog..
                    }
                    else
                    {
                        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{FF3333}[1/5]{FFFFFF}REGISTER: Register Account", "Tasteaza parola in casuta de mai jos pentru a te inregistra\nParola trebuie sa aibe mai mult de 4 caractere!", "Register", "Exit");
                    }
                }
            }

    2.DIALOG_AGE - Varsta

    Citat

    case DIALOG_AGE: //Dialog-Varsta
            {
                if(!response) return Kick(playerid); //Daca apasa butonul "cancel" sau apasa tasta "ESC" el va primi kick automat
                if(response)//Daca apasa primul buton se vor intampla urmatoarele minuni 
                {
                    new age = strval(inputtext);//cream new-ul
                    if(age < 6 || age > 35)     // varsta trebuie sa fie cuprinsa 6 si 35 de ani mai bine zis, sa nu fie mai mica de 6 si sa nu fie mai mare de 35 de ani.
                    return ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "{FF3333}[2/5]{FFFFFF}AGE: Age Account", "Introdu varsta caracterului tau!!\nVarsta trebuie sa fie intre [6] si [35] de ani", "Next", "Exit");//Aici ii precizeaza de la cati ani pana la cati ani sa fie varsta..
                    {
                        new string[120];
                        SendClientMessage(playerid, COLOR_SERVER, "");
                        format(string, sizeof(string), "{CC0000}SERVER: {FFFFFF}Varsta setata la %s ani", inputtext);
                        SendClientMessage(playerid, 0xFFFFFF, string);
                        dini_Create(path);//se creaza path-ul
                        dini_Set(path, "Varsta", inputtext); //Se seteaza linia "Varsta" in fisierul %s.ini
                        PlayerInfo[playerid][pAge] = age;// Aici pAge = age, mai explicit pAge = cu numarul scris in casuta de Varsta adica , pAge = 15 sa zicem..
                    }
                }    
                else
                {    
                    ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "{FF3333}[2/5]{FFFFFF}AGE: Age Account", "Introdu varsta caracterului tau!!\nVarsta trebuie sa fie intre [6] si [35] de ani", "Next", "Exit");//Aici ii precizeaza de la cati ani pana la cati ani sa fie varsta..
                }
                
            }

    3.DIALOG_SEX -Sex-ul caracterului

    Citat

    case DIALOG_SEX:
            {   
                if(response)//primul buton , se intampla urmatoarele chestii
                {
                    new string[120];
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    format(string, sizeof(string), "{CC0000}SERVER: {FFFFFF}Sex-ul caracterului tau este Masculin");
                    SendClientMessage(playerid, 0xFFFFFF, string);
                    dini_Create(path);//se creaza path-ul
                    dini_Set(path, "Sex", "0");//Se seteaza linia "Sex" in fisierul %s.ini
                    ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "{FF3333}[4/5]{FFFFFF}EMAIL: Email Account", "Introdu email-ul tau pe care il folosesti", "Next", "Exit");//Aici am pus DIALOG_EMAIL, pentru ca atunci cand apasa primul buton de la dialog_age sa ii dea direct acest dialog..
                    SetSpawnInfo(playerid, 0, 58, 1081.3278,-1702.0394,13.5469,182.3852, 0, 0, 0, 0, 0 ,0);//Setam spawn-ul playerului cu tot cu skin
                }
                if(!response) 
                {
                    new string[120];
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    format(string, sizeof(string), "{CC0000}SERVER: {FFFFFF}Sex-ul caracterului tau este Feminin");
                    SendClientMessage(playerid, 0xFFFFFF, string);
                    dini_Create(path);//se creaza path-ul
                    dini_Set(path, "Sex", "1");//Se seteaza linia "Sex" in fisierul %s.ini
                    ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "{FF3333}[4/5]{FFFFFF}EMAIL: Email Account", "Introdu email-ul tau pe care il folosesti", "Next", "Exit");
                    SetSpawnInfo(playerid, 0, 56, 1081.3278,-1702.0394,13.5469,182.3852, 0, 0, 0, 0, 0 ,0);//Setam spawn-ul playerului cu tot cu skin
                }
            }    

    4.DIALOG_EMAIL - Email-ul

    Citat

    case DIALOG_EMAIL:
            {
                if(!response) return Kick(playerid); //Daca apasa butonul "cancel" sau apasa tasta "ESC" el va primi kick automat
                if(response)//Daca apasa primul buton se vor intampla urmatoarele minuni
                {
                    new email = strlen(inputtext);// cream new-ul
                    if(email > 4)//email-ul trebuie sa fie mai mare de 4 caractere
                    {
                        new string[120];
                        SendClientMessage(playerid, COLOR_SERVER, "");
                        format(string, sizeof(string), "{CC0000}SERVER: {FFFFFF}Email-ul tau este %s", inputtext);
                        SendClientMessage(playerid, 0xFFFFFF, string);
                        dini_Create(path);//se creaza path-ul
                        dini_Set(path, "Email", inputtext);//Se seteaza linia "Email" in fisierul %s.ini
                        ShowPlayerDialog(playerid, DIALOG_FINISH, DIALOG_STYLE_MSGBOX, "{FF3333}[5/5]{FFFFFF}FINISH: Finish Step", "Felicitari, te-ai inregistrat cu succes pe server", "Finish", "");//Aici am pus DIALOG_FINISH, pentru ca atunci cand apasa primul buton de la dialog_email sa ii dea direct acest dialog..
                    }
                    else
                    {
                        ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "{FF3333}[4/5]{FFFFFF}EMAIL: Email Account", "Introdu email-ul tau pe care il folosesti. Email-ul trebuie sa aiba mai mult de 4 caractere", "Next", "Exit");//DIALOG_EMAIL mai detaliat[mai mare de 4 caractere]
                    }
                }
            }

    5.DIALOG_FINISH - Final de inregistrare

    Citat

    case DIALOG_FINISH:
            {
                if(!response) return Kick(playerid); //Daca apasa butonul "cancel" sau apasa tasta "ESC" el va primi kick automat
                if(response)//Daca apasa primul buton se vor intampla urmatoarele minuni
                {
                    new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
                    GetPlayerName(playerid, name, sizeof(name));
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    SendClientMessage(playerid, COLOR_SERVER, "");
                    format(string, sizeof(string), "SUCCES: You have logged with name '%s'", name);
                    SendClientMessage(playerid, 0x999999, string);
                    SpawnPlayer(playerid);//Spawneaza playerul la locul lui[SetSpawnInfo]
                }
            }    

    6.DIALOG_LOGIN - Login-ul

    Citat

    case DIALOG_LOGIN:
            {
                if(!response) return Kick(playerid); //Daca apasa butonul "cancel" sau apasa tasta "ESC" el va primi kick automat
                if(response)//Daca apasa primul buton se vor intampla urmatoarele minuni
                {
                    new pwlength = strlen(inputtext);
                    if(pwlength > 4)//parola mai mare de 4 caractere
                    PlayerInfo[playerid][pSex] = 0; // pSex = 0 - este masculin
                    {
                        SetSpawnInfo(playerid, 0, 58, 1081.3278,-1702.0394,13.5469,182.3852, 0, 0, 0, 0, 0 ,0);//Alege skin-ul si spawn-ul
                    }
                    PlayerInfo[playerid][pSex] = 1; // pSex = 1 - este feminin
                    {
                        SetSpawnInfo(playerid, 0, 56, 1081.3278,-1702.0394,13.5469,182.3852, 0, 0, 0, 0, 0 ,0);//Alege skin-ul si spawn-ul
                    }
                    
                    {
                        new pw[200];
                        format(pw, sizeof(pw), "%s", dini_Get(path, "Password"));
                        if(strcmp(inputtext, dini_Get(path, "Password"), true))//Aceasta comanda este foarte importanta deoarece , acesta verifica daca parola este corecta, adica daca este acceasi ca la register
                        return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Password Incorrected", "Introdu parola corecta a contului tau", "Login", "Exit");// Ii da dialogul cu parola incorecta
                        {
                            PlayerInfo[playerid][pLogged] = 1;// Player logat pe server pLogged = 1 - logat
                            PlayerInfo[playerid][pAge] = dini_Int(path, "Age");//Verifica varsta
                            PlayerInfo[playerid][pSex] = dini_Int(path, "Sex");//Verifica Sex
                            PlayerInfo[playerid][pEmail] = dini_Int(path, "Email");//Verifica Email
                            SpawnPlayer(playerid);// Spawneaza player
                        }
                        return 1;
                    }
                }
            }
        }
        return 1;
    }

    Acum ca am terminat cu dialoguri-le si le-am creat pe toate vom trece la ultima etapa, si aceea este 

    Citat

    public OnPlayerDisconnect(playerid, reason)
    {
        new pname[MAX_PLAYER_NAME], path[200];
        GetPlayerName(playerid, pname, sizeof(pname));
        format(path, sizeof(path), "/accounts/%s.ini", pname);

        PlayerInfo[playerid][pLogged] = 0;// Player delogat pLogged = 0 - delogat
    }

    Asta a fost tutorialul , este primul meu turorial si sper ca va placut mult

    Daca am avut greseli de ortografie sau greseli in script nu ezitati sa lasa-ti un reply . Multumesc

    Nu uitati - Tutorial 100% creat de mine ,

    Nu uitati - Daca va placut tutorialul puteti da un +1

    • Upvote 4
  10. Salut , am o problema care imi bat capul cu ea de ceva timp , am tot incercat s-o rezolv dar nu a iesit nimic. 

    Aici este Server_Log

    Citat


    ----------
    Loaded log file: "server_log.txt".
    ----------

    SA-MP Dedicated Server
    ----------------------
    v0.3.7-R2, (C)2005-2015 SA-MP Team

    [15:23:10] 
    [15:23:10] Server Plugins
    [15:23:10] --------------
    [15:23:10]  Loading plugin: mysql.dll
    [15:23:10] 
    /*************************************************/
    /* SAMP-MySQL v0.15 Plugin loaded successfully ! */
    /*************************************************/

    [15:23:10]   Loaded.
    [15:23:10]  Loading plugin: streamer.dll
    [15:23:10] 

    *** Streamer Plugin v2.6.1 by Incognito loaded, modified by Jovanny ***

    [15:23:10]   Loaded.
    [15:23:10]  Loaded 2 plugins.

    [15:23:10] 
    [15:23:10] Filterscripts
    [15:23:10] ---------------
    [15:23:10]   Loaded 0 filterscripts.

    [15:23:10] Script[gamemodes/server.amx]: Run time error 19: "File or function is not found"
    [15:23:10] Number of vehicle models: 0
    [15:23:11] --- Server Shutting Down.
    [15:23:11] 
    /***************************************************/
    /* SAMP-MySQL v0.15 Plugin unloaded successfully ! */
    /***************************************************/

    [15:23:11] 

    *** Streamer Plugin v2.6.1 by Incognito unloaded, modified by Jovanny***

    Multi spun ca este de la plugins , ceea ce eu n-am probleme(erori) cu plugins , altii spun ca este de la NET Framework , eu am:[3.5] si pe [4].

    Iar in gamemode nu imi da nici-o eroare. 

    Citat

    Process started >>>
    Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase

    <<< Process finished. (Exit code 0)
    ================ READY ================

    Sper ca ati inteles din ce v-am aratat si sper ca o sa ma ajutati , Multumesc .

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