Peršokti į turinį

REGISTRACIJOS/PRISIJUNGIMO pamoka (su textdraw pasirinkimu) By Fexurious


Fexurious

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3415 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki, sulaukiau nemažai prašymų, parašyti pamoką, apie registraciją, prisijungimą (su tetxdraw pasirinkimais), tai nusprendžiau ją ir parašyti. (prašyta buvo kurti DINI, todėl ir kursiu DINI)
 
 
1. Mums reikės a_samp include. viršuje modifikacijos turi būti: 
#include <a_samp>
2. Susikuriame savo textdraw, bei Logged kintamuosius. viršuje modifikacijos, po include turi būti:
new
    Text:LoginTD [ 4 ],
    bool:Logged [ MAX_PLAYERS ]
;

3. Įdedame savo textdraw duomenis (t.y sukūrimo koordinates ir pnš):

po OnGameModeInit() dedame:

LoginTD [ 0 ] = TextDrawCreate(300.000000, 351.000000, "NEW BOX");
TextDrawBackgroundColor(LoginTD [ 0 ], 255);
TextDrawFont(LoginTD [ 0 ], 1);
TextDrawLetterSize(LoginTD [ 0 ], 0.000000, 2.700000);
TextDrawColor(LoginTD [ 0 ], -1);
TextDrawSetOutline(LoginTD [ 0 ], 0);
TextDrawSetProportional(LoginTD [ 0 ], 1);
TextDrawSetShadow(LoginTD [ 0 ], 1);
TextDrawUseBox(LoginTD [ 0 ], 1);
TextDrawBoxColor(LoginTD [ 0 ], 16711935);
TextDrawTextSize(LoginTD [ 0 ], 0.000000, 32.000000);
TextDrawSetSelectable(LoginTD [ 0 ], 1);


LoginTD [ 1 ] = TextDrawCreate(693.000000, 351.000000, "NEW BOX");
TextDrawBackgroundColor(LoginTD [ 1 ], 255);
TextDrawFont(LoginTD [ 1 ], 1);
TextDrawLetterSize(LoginTD [ 1 ], 0.000000, 2.700000);
TextDrawColor(LoginTD [ 1 ], -1);
TextDrawSetOutline(LoginTD [ 1 ], 0);
TextDrawSetProportional(LoginTD [ 1 ], 1);
TextDrawSetShadow(LoginTD [ 1 ], 1);
TextDrawUseBox(LoginTD [ 1 ], 1);
TextDrawBoxColor(LoginTD [ 1 ], -16776961);
TextDrawTextSize(LoginTD [ 1 ], 312.000000, 42.000000);
TextDrawSetSelectable(LoginTD [ 1 ], 1);


LoginTD [ 2 ] = TextDrawCreate(158.000000, 355.000000, "prisijungti");
TextDrawBackgroundColor(LoginTD [ 2 ], 255);
TextDrawFont(LoginTD [ 2 ], 2);
TextDrawLetterSize(LoginTD [ 2 ], 0.500000, 4.000000);
TextDrawColor(LoginTD [ 2 ], -1);
TextDrawSetOutline(LoginTD [ 2 ], 0);
TextDrawSetProportional(LoginTD [ 2 ], 1);
TextDrawSetShadow(LoginTD [ 2 ], 1);
TextDrawSetSelectable(LoginTD [ 2 ], 1);


LoginTD [ 3 ] = TextDrawCreate(319.000000, 355.000000, "registruotis");
TextDrawBackgroundColor(LoginTD [ 3 ], 255);
TextDrawFont(LoginTD [ 3 ], 2);
TextDrawLetterSize(LoginTD [ 3 ], 0.500000, 4.000000);
TextDrawColor(LoginTD [ 3 ], -1);
TextDrawSetOutline(LoginTD [ 3 ], 0);
TextDrawSetProportional(LoginTD [ 3 ], 1);
TextDrawSetShadow(LoginTD [ 3 ], 1);
TextDrawSetSelectable(LoginTD [ 3 ], 1);

INFO: Norėdami, kad jūsų textdraw būtų galima pasirinkti, funkcijoje TextDrawSetSelectable priskirkite "1":

Pavizdys bus: Textdraw: LoginTD [ 3 ]:

TextDrawSetSelectable(LoginTD [ 3 ], 1);

4. Judame toliau!

Po OnPlayerConnect(playerid):

  • Parodome savo textdraw:
for(new TD; TD < sizeof LoginTD; TD++) TextDrawShowForPlayer(playerid, LoginTD[TD]);

NOTE: ciklo pagalba parodome textdraw zaidejui, kuris prisijunge (kuriam buvo iškviestas OnPlayerConnect callback'as.

Apie ciklus daugiau rasite, Justo Š. pamokoje, apie pawn pagrindus: PAMOKA

 

  • Nustatome žaidėją į rėžimą, kad jis galėtu pasirinkti textdraw:
SelectTextDraw(playerid, 0xC7C7C775);

INFO: vietoje 0xC7C7C775 įrašykite savo norimą spalvą, kuri pakeis textdraw spalvą, kai bus ant jo užvesta pelytė (galioja tik textdraw, kuriuos galima pasirinkti).

 

 

OnPlayerConnect callback'as turėtų atrodyti štai taip:

public OnPlayerConnect(playerid)
{
    for(new TD; TD < sizeof LoginTD; TD++) TextDrawShowForPlayer(playerid, LoginTD[TD]);//rodome textdaw
    SelectTextDraw(playerid, 0xC7C7C775); //leidziame pasirinkti textdraw
    Logged [ playerid ] = false; //padarome Logged kintamojo reiksme neigiamą, kad negalėtų neprisijungęs atsispawninti (paspausti shift arba spawn)
    return 1;
}

5. Rašome registracijos/prisijungimo kodą!

Po OnPlayerClickTextDraw(playerid, Text:clickedid):

  • Tikriname, jei paspaudė textdraw: "registruotis":
if(clickedid == LoginTD [ 3 ])
{
   //kodas
}

       - Susikuriame failo kintamajį, kurio mums prireiks formatuojant failą:

new
    failas [ 128 ]
;

        - Formatuojame failą:

format(failas, sizeof failas, "saves/users/%s.ini", GetPlayerNameEx(playerid));

NOTE: Ieškome failo, žmogaus vardu.

 

        - Toliau tikriname ar jis turi savo failą (vartotoją su savo vardu) ar neturi, jei turi, pranešame, kad jūs turite savo vartotoją, prašome prisijungti:

if(dini_Exists(failas)) SendClientMessage(playerid, -1, "Jus turite savo vartotoja, prasome prisijngti!");

        - Dabar tikrinsime, ar neturi vartotojo, su žodeliu "else" kuris reiškia: "jei kitaip", jei neturi, iškarto rodome registracijos GUI lentele ir slepiame textdraw, taippat padarome, kad žaidėjas nebegalėtų rinktis textdraw:

else
{
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Registracija i serveri", "Sveiki, atvykote i kuriamo serverio registracija, prasome ivesti savo norima slaptazodi [ 6 - 17 ] simboliu limito", "Registruotis", "Iseiti");
    for(new TD; TD < sizeof LoginTD; TD++) TextDrawHideForPlayer(playerid, LoginTD[TD]);
    CancelSelectTextDraw(playerid);
}
  • Tikriname, jei paspaudė textdraw: "prisijungti":
if(clickedid == LoginTD [ 2 ])
{
   //kodas
}

       - Susikuriame failo kintamajį, kurio mums prireiks formatuojant failą:

new
    failas [ 128 ]
;

        - Formatuojame failą:

format(failas, sizeof failas, "saves/users/%s.ini", GetPlayerNameEx(playerid));

NOTE: Ieškome failo, žmogaus vardu.

 

        - Toliau tikriname ar jis turi savo failą (vartotoją su savo vardu) ar neturi, jei neturi, pranešame, kad jūs neturite savo vartotojo, prašome registruotis:

if(!dini_Exists(failas)) SendClientMessage(playerid, -1, "Jus neturite savo vartotojo, prasome registruotis!");

        - Dabar tikrinsime, ar turi vartotoją, su žodeliu "else" kuris reiškia: "jei kitaip", jei turi, iškarto rodome prisijungimo GUI lentele ir slepiame textdraw, taippat padarome, kad žaidėjas nebegalėtų rinktis textdraw:

else
{
    ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Prisijungimasi serveri", "Sveiki, atvykote i kuriamo serverio prisijungima, prasome ivesti savo slaptazodi", "Prisijungti", "Iseiti");
    for(new TD; TD < sizeof LoginTD; TD++) TextDrawHideForPlayer(playerid, LoginTD[TD]);
    CancelSelectTextDraw(playerid);
}

OnPlayerClickTextDraw callback'as turėtų atrodyti štai taip:

public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == LoginTD [ 3 ]) //registracija
    {
        new
            failas [ 128 ]
        ;
        format(failas, sizeof failas, "saves/users/%s.ini", GetPlayerNameEx(playerid)); //formatuojame failą
        if(dini_Exists(file)) SendClientMessage(playerid, -1, "Jus turite savo vartotoja, prasome prisijungti!"); //jei turi vartotoja (failas žaidėjo vardu egzistuoja)
        else //jei kitaip (failas žaidėjo vardu neegzistuoja)
        {
            ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Registracija i serveri", "Sveiki, atvykote i kuriamo serverio registracija, prasome ivesti savo norima slaptazodi [ 0 - 17 ] simboliu limito", "Registruotis", "Iseiti"); //rodome GUI registracijos lentelę
           for(new TD; TD < sizeof LoginTD; TD++) TextDrawHideForPlayer(playerid, LoginTD[TD]); //slepiame textdraw
            CancelSelectTextDraw(playerid); //uzdraudziame pasirinkti textdraw
        }
    }
    if(clickedid == LoginTD [ 2 ]) //prisijungimas
    {
        new
            failas [ 128 ]
        ;
        format(failas, sizeof failas, "saves/users/%s.ini", GetPlayerNameEx(playerid)); //formatuojame failą
        if(dini_Exists(file)) SendClientMessage(playerid, -1, "Jus neturite savo vartotojo, prasome registruotis!"); //jei neturi vartotojo (failas žaidėjo vardu neegzistuoja)
        else //jei kitaip (failas žaidėjo vardu egzistuoja)
        {
            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Prisijungimasi serveri", "Sveiki, atvykote i kuriamo serverio prisijungima, prasome ivesti savo slaptazodi", "Prisijungti", "Iseiti"); //rodome GUI prisijungimo lentelę
            for(new TD; TD < sizeof LoginTD; TD++) TextDrawHideForPlayer(playerid, LoginTD[TD]); //slepiame textdraw
            CancelSelectTextDraw(playerid); //uzdraudziame pasirinkti textdraw
        }
    }
    return 1;
}

 

 

 

6. Rašome dialogų kodą!

Po OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]):

 

  • Tikriname, kuris dialogid, 0 = registracija, 1 = prisijungimas:

​INFO: Mano patarimas jums: nedaryti viso OnDialogResponse callback'o vien tik "if", aš rašysiu su switch, pamatysite, kaip tai atrodo, tiesiog vietoj if(dialogid == 1) //kodas bus case 1: //kodas

switch(dialogid)
{
    case 0: //dialogid == 0 (registracija)
    {
        //kodas
    }
}
  • Tikriname ar paspaudė "registruotis", jei taip, tikriname ar ivestas tekstas (slaptažodis) nera ilgesnis, nei 17 simbolių ir ne trumpesnis, kaip 6 simbolių, jei ilgesnis, arba trumpesnis - siunčiame žinutę, kad slaptažodžio simbolių limitai neteisingi ir iš naujo rodome GUI lentelę (registracijos), jei paspaudė "išeiti" - išmetame žaidėją (kick):
switch(dialogid)
{
    case 0: //dialogid == 0 (registracija)
    {
        if(response) // paspaudė "registruotis"
        {
            if(strlen(inputtext) > 17 || strlen(inputtext) < 6)
            {
                SendClientMessage(playerid, -1, "Slaptzodzio simboliai: [ 6 - 17 ]");
                ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Registracija i serveri", "Sveiki, atvykote i kuriamo serverio registracija, prasome ivesti savo norima slaptazodi [ 0 - 17 ] simboliu limito", "Registruotis", "Iseiti");
                return 1; //neleidziame prieiti prie tolimesnių funkcijų
            }
        }
        if(!response) // paspaudė "išeiti"
        {
            Kick(playerid); // išmetame žaidėją iš serverio
        }
    }
    return 1;
}

INFO: strlen - suskaiciuoja nurodyto teksto simbolių skaičių, šiuo atvėju tai - inputtext

  • Toliau, po patikrinimo, ar teisingas simbolių skaičius rašome "else" ir viduje susikuriame kintamajį, failui formatuoti, formatuojame failą, sukuriame failą (dini_Create), faile, žaidėjo vardu įrašome žaidėjo slaptažodį ir rodome prisijungimo GUI lentelę:
switch(dialogid)
{
    case 0: //dialogid == 0 (registracija)
    {
        if(response) // paspaudė "registruotis"
        {
            if(strlen(inputtext) > 17 || strlen(inputtext) < 6)
            {
                SendClientMessage(playerid, -1, "Slaptzodzio simboliai: [ 6 - 17 ]");
                ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Registracija i serveri", "Sveiki, atvykote i kuriamo serverio registracija, prasome ivesti savo norima slaptazodi [ 0 - 17 ] simboliu limito", "Registruotis", "Iseiti");
                return 1; //neleidziame prieiti prie tolimesnių funkcijų
            }
            else
            {
                new
                    failas [ 128 ]
                ;
                format(failas, sizeof failas, "saves/users/%s.ini", GetPlayerNameEx(playerid));//formatuojame failą (žaidėjo vardu)
                dini_Create(failas); //sukuriame failą, žaidėjo vardu
                dini_Set(failas,"slaptazodis",inputtext); // faile žaidėjo vardu įrašome jo sugalvotą slaptažodį
                    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Prisijungimasi serveri", "Sveiki, atvykote i kuriamo serverio prisijungima, prasome ivesti savo slaptazodi", "Prisijungti","Iseiti");
            }
        }
        if(!response) // paspaudė "išeiti"
        {
            Kick(playerid); // išmetame žaidėją iš serverio
        }
    }
}
  • Tikriname, kuris dialogid, 0 = registracija, 1 = prisijungimas:
switch(dialogid)
{
    case 1: //dialogid == 1 (prisijungimas)
    {
        //kodas
    }
}
  • Tikriname, ar paspaude "Prisijungti", jei taip, susikuriame kintamajį, failui formatuoti, formatuojame failą, patikriname ar įvestas spaltažodis buvo teisingas, jei teisingas, siunčiame pranešančią žinutę, jog slaptažodis buvo teisingas, bei padarome, kad žaidėjas galėtų spausti "SPAWN" (priskiriame kintamajui Logged - teigiamą reikšmę) ir tuomet jis bus atspawnintas (bus žaidėjui iškviestas OnPlayerSpawn callback'as), jei neteisingas (else) - siunčiame žinutę, kad slaptažodis buvo neteisingas ir iš naujo rodome prisijungimo GUI lentelę, jei paspaudė "Iseiti" išmetame žaidėją iš serverio:
​switch(dialogid)
{
    case 1: //dialogid == 1 (prisijungimas)
    {
        if(response) // Prisijungti
        {
            new
                failas [ 128 ]
            ;
            format(failas, sizeof failas,"saves/users/%s.ini",GetPlayerNameEx(playerid));
            if(!strcmp(dini_Get(failas, "slaptazodis"), inputtext, true))
            {
                Send.Message(playerid, -1, "{3CFF3C}[ ! ] {C7C7C7}Jus sekmingai prisijungete! {FF5555}SPAUSKITE SPAWN [ SHIFT ]");
                Logged [ playerid ] = true;
                return 1;
            }
            else
            {
                SendClientMessage(playerid, -1, "Jusu ivestas slaptazodis neteisingas! Bandykite dar karta!");
                ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Prisijungimasi serveri", "Sveiki, atvykote i kuriamo serverio prisijungima, prasome ivesti savo slaptazodi", "Prisijungti","Iseiti");
            }
        }
        if(!response) // Išeiti
        {
            Kick(playerid); //išmetame žaidėją
        }
    }
}

 

 

OnDialogResponse callback'as turėtų atrodyti štai taip:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case 0: //dialogid == 0 (registracija)
        {
            if(response) // paspaudė "registruotis"
            {
                if(strlen(inputtext) > 17 || strlen(inputtext) < 6) //jei įvestas tekstas (slaptažodis) ilgesnis už 17 simbolių arba trumpesnis už 6 simbolius
                {
                    SendClientMessage(playerid, -1, "Slaptzodzio simboliai: [ 6 - 17 ]"); //perspejimoji zunute
                    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Registracija i serveri", "Sveiki, atvykote i kuriamo serverio registracija, prasome ivesti savo norima slaptazodi [ 0 - 17 ] simboliu limito", "Registruotis", "Iseiti"); //rodome GUI registracijos lentelę
                    return 1; //neleidziame prieiti prie tolimesnių funkcijų
                }
                else //jei kitaip (jei įvestas tekstas (slaptažodis) trumpesnis už 17 simbolių ir ilgesnis už 6 simbolius)
                {
                    new
                        failas [ 128 ]
                    ;
                    format(failas, sizeof failas, "saves/users/%s.ini", GetPlayerNameEx(playerid));//formatuojame failą (žaidėjo vardu)
                    dini_Create(failas); //sukuriame failą, žaidėjo vardu
                    dini_Set(failas,"slaptazodis",inputtext); // faile žaidėjo vardu įrašome jo sugalvotą slaptažodį
                    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Prisijungimasi serveri", "Sveiki, atvykote i kuriamo serverio prisijungima, prasome ivesti savo slaptazodi", "Prisijungti","Iseiti");//rodome GUI prisijungimo lentelę
                }
            }
            if(!response) // paspaudė "išeiti"
            {
                Kick(playerid); // išmetame žaidėją iš serverio
            }
        }
        case 1: //dialogid == 1 (prisijungimas)
        {
            if(response)
            {
                new
                    failas [ 128 ]
                ;
                format(failas, sizeof failas,"saves/users/%s.ini",GetPlayerNameEx(playerid)); //formatuojame failą
                if(!strcmp(dini_Get(failas, "slaptazodis"), inputtext, true)) //jei įvestas tekstas (slaptažodis) teisingas
                {
                    Send.Message(playerid, -1, "{3CFF3C}[ ! ] {C7C7C7}Jus sekmingai prisijungete! {FF5555}SPAUSKITE SPAWN [ SHIFT ]"); //zinute
                    Logged [ playerid ] = true; //padarome Logged kintamajam teigiamą reikšmę (dabar žaidėjas galės atsispawninti paspaudes SPAWN arba SHIFT)
                    return 1;
                }
                else //jei kitaip (įvestas tekstas (slaptažodis) yra neteisingas)
                {
                    SendClientMessage(playerid, -1, "Jusu ivestas slaptazodis neteisingas! Bandykite dar karta!"); //perspejimoji žinutė
                    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Prisijungimasi serveri", "Sveiki, atvykote i kuriamo serverio prisijungima, prasome ivesti savo slaptazodi", "Prisijungti","Iseiti"); //rodome GUI prisijungimo lentelę
                }
            }
            if(!response) // paspaudė "išeiti"
            {
                Kick(playerid); // išmetame žaidėją iš serverio
            }
        }
    }
    return 1:
}

 

 

 

7. Jei žaidėjas paspaudė SPAWN (shift), neleidžiame atspawninti žaidėjo, jei jis nepraėjo sėkmingai prisijungimo GUI lentelės (jei jo Logged kintamajo reikšmė naigiama):

Po OnPlayerRequestSpawn(playerid):

 

  • Tikriname, ar žaidėjo kintamajo Logged reikšmė yra neigiama, jei taip, siunčiame žinutę, kad pirma jūs turite prisijungti ir neleidžiame vykdyti default funkciju (atspawninti) (return 0;)
​​​if(!Logged [ playerid ]) {Send.Message(playerid,-1,"{FF5555}[ ! ] {C7C7C7}Pirma prisijunkite!"); return 0;}

Visas OnPlayerRequestSpawn callback'as turėtų atrodyti štai taip:

public OnPlayerRequestSpawn(playerid)
{
    if(!Logged [ playerid ]) {Send.Message(playerid,-1,"{FF5555}[ ! ] {C7C7C7}Pirma prisijunkite!"); return 0;}
    return 1;
}

Taigi, ačiū už dėmesį, tikiuosi padėjau, sekmės mokinantis toliau!

 

 

TEXTDRAW FOTO:

0fff0c2699bb70780779d43a59adcf88617.png

 

UŽ TEXTDRAW DĖKOKITE JOVITUI

 

 

Pamoką kūrė: Matas.F (Fexurious) (norėdami kelti, privalote pasitarti su manimi)

 

 

P.S Kodas kaikuriose vietose atrodo netvarkingas, nesulygiuotas, tai nuo per didelio simbolių skaičiaus, kai įsikelsite į savo kodų editorius, kodas bus tvarkingas ir sulygiuotas!

 

Jei radote kokių nors klaidelių, praneškite, ištaisysiu, truputį skubėdamas rašiau pamoką :D

Redaguota , nario Matas F.
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

 

    for(new TD; TD < sizeof LoginTD++) TextDrawHideForPlayer(playerid, LoginTD[TD]);

Taisyk... 

 

   for(new TD; TD < sizeof LoginTD; TD++) TextDrawHideForPlayer(playerid, LoginTD[TD]);

 

 362d3e60d52fe5f8d859403d92fcd10e141.png

 

Klaida buvo ištaisyta vakar, o tu pranešimą parašei šiandien, tai kaip tu galėjai pamatyti klaidą, jei ji jau buvo ištaisyta? :D

Be to, šią žinutę skypeje tau siunčiau ir neabėjoju kad jei nebūčiau jos išsiuntęs, tavo pranešimo nebūtų. :)

Redaguota , nario Matas F.
Nuoroda į komentarą
Dalintis per kitą puslapį

 362d3e60d52fe5f8d859403d92fcd10e141.png

 

Klaida buvo ištaisyta vakar, o tu pranešimą parašei šiandien, tai kaip tu galėjai pamatyti klaidą, jei ji jau buvo ištaisyta? :D

Be to, šią žinutę skypeje tau siunčiau ir neabėjoju kad jei nebūčiau jos išsiuntęs, tavo pranešimo nebūtų. :)

public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == LoginTD [ 3 ]) //registracija
    {
        new
            failas [ 128 ]
        ;
        format(failas, sizeof failas, "saves/users/%s.ini", GetPlayerNameEx(playerid)); //formatuojame failą
        if(dini_Exists(file)) SendClientMessage(playerid, -1, "Jus turite savo vartotoja, prasome prisijungti!"); //jei turi vartotoja (failas žaidėjo vardu egzistuoja)
        else //jei kitaip (failas žaidėjo vardu neegzistuoja)
        {
            ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Registracija i serveri", "Sveiki, atvykote i kuriamo serverio registracija, prasome ivesti savo norima slaptazodi [ 0 - 17 ] simboliu limito", "Registruotis", "Iseiti"); //rodome GUI registracijos lentelę
           for(new TD; TD < sizeof LoginTD; TD++) TextDrawHideForPlayer(playerid, LoginTD[TD]); //slepiame textdraw
            CancelSelectTextDraw(playerid); //uzdraudziame pasirinkti textdraw
        }
    }
    if(clickedid == LoginTD [ 2 ]) //prisijungimas
    {
        new
            failas [ 128 ]
        ;
        format(failas, sizeof failas, "saves/users/%s.ini", GetPlayerNameEx(playerid)); //formatuojame failą
        if(dini_Exists(file)) SendClientMessage(playerid, -1, "Jus neturite savo vartotojo, prasome registruotis!"); //jei neturi vartotojo (failas žaidėjo vardu neegzistuoja)
        else //jei kitaip (failas žaidėjo vardu egzistuoja)
        {
            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Prisijungimasi serveri", "Sveiki, atvykote i kuriamo serverio prisijungima, prasome ivesti savo slaptazodi", "Prisijungti", "Iseiti"); //rodome GUI prisijungimo lentelę
            for(new TD; TD < sizeof LoginTD; TD++) TextDrawHideForPlayer(playerid, LoginTD[TD]); //slepiame textdraw
            CancelSelectTextDraw(playerid); //uzdraudziame pasirinkti textdraw
        }
    }
    return 1;
}

Klaida ir cia buvo bet jau pataisiai. ;)

Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 2 savaičių...
  • Parašė po 1 mėnesio...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3415 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...