Szerző Téma: Regisztrácio segitség  (Megtekintve 2837 alkalommal)

Regisztrácio segitség
« Dátum: 2014. szeptember 05. - 11:29:17 »
0 Show voters
Ki tudná valaki venni nekem ebböl a regisztrácios rendszerböl,azt,hogy regisztráláskor,meg belépéskor ne lehessen csak regisztrálás meg belépés gombra kattintani,kilépés lehetoség ne legyen.
Kód:
#include <a_samp>
#include <dini>
new szoveg1[128];
new Fajl[256];
enum pAdat
{
        pPenz,
        pSkin,
        pReg,
        Float:X,
        Float:Y,
        Float:Z,
        Float:Angle
}
new JatekosInfo[MAX_PLAYERS][pAdat];
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_NEM 3
#define KEK 0x00ccffAA
#define ZOLD 0x43e85fAA
#define FEHER 0xffffffAA
#pragma tabsize 0
public OnPlayerConnect(playerid)
{
        SetSpawnInfo(playerid,0,26,2269.4287,-75.1134,26.7724,178.8719,0,0,0,0,0,0);
        SpawnPlayer(playerid);
    format(Fajl,sizeof(Fajl),\"/Karakterek/%s.ini\",Neve(playerid));
    format(szoveg1,sizeof(szoveg1),\"Üdvözöllek %s!\",Neve(playerid));
    if(fexist(Fajl))
    {
        ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,szoveg1,\"Ez a név már regisztrálva van!\\nKérlek jelentkezz be!\",\"Belép\",\"Kilép\");
    }
    else
    {
        ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,szoveg1,\"Ez a név még nincsen regisztrálva!\\nKérlek regisztrálj!\",\"Regisztrál\",\"Kilép\");
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
        new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    JatekosInfo[playerid][X] = x;
    JatekosInfo[playerid][Y] = y;
    JatekosInfo[playerid][Z] = z;
    JatekosInfo[playerid][pPenz] = GetPlayerMoney(playerid);
    JatekosInfo[playerid][pSkin] = GetPlayerSkin(playerid);
    GetPlayerFacingAngle(playerid,JatekosInfo[playerid][Angle]);
        format(Fajl,sizeof(Fajl),\"/Karakterek/%s.ini\",Neve(playerid));
        dini_IntSet(Fajl,\"Penz\",JatekosInfo[playerid][pPenz]);
        dini_IntSet(Fajl,\"Skin\",JatekosInfo[playerid][pSkin]);
        dini_FloatSet(Fajl,\"Latoszog\",JatekosInfo[playerid][Angle]);
        dini_FloatSet(Fajl,\"X\",Float:JatekosInfo[playerid][X]);
        dini_FloatSet(Fajl,\"Y\",Float:JatekosInfo[playerid][Y]);
        dini_FloatSet(Fajl,\"Z\",Float:JatekosInfo[playerid][Z]);
        return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        format(Fajl,sizeof(Fajl),\"/Karakterek/%s.ini\",Neve(playerid));
        if(dialogid == DIALOG_REGISTER)
        {
            if(response)
            {
                        dini_Create(Fajl);
                        dini_Set(Fajl,\"Jelszo\",inputtext);
                        dini_IntSet(Fajl,\"Penz\",30);
                        dini_IntSet(Fajl,\"Skin\",0);
                        SpawnPlayer(playerid);
                        ShowPlayerDialog(playerid,DIALOG_NEM,DIALOG_STYLE_LIST,\"Regisztráció...\",\"Fiú\\nLány\",\"Folytat\",\"Kilép\");
            }
            else
            {
                dini_Remove(Fajl);
                Kick(playerid);
            }
        }
        if(dialogid == DIALOG_NEM)
        {
            if(response)
            {
                        if(listitem == 0)
                        {
                                dini_IntSet(Fajl,\"Nem\",1);
                                SendClientMessage(playerid,KEK,\"Fiú lettél!\");
                                SetPlayerSkin(playerid,60);
                        }
                        if(listitem == 1)
                        {
                                dini_IntSet(Fajl,\"Nem\",2);
                                SendClientMessage(playerid,KEK,\"Lány lettél!\");
                                SetPlayerSkin(playerid,233);
                        }
            }
            else
            {
                dini_Remove(Fajl);
                Kick(playerid);
            }
        }
        if(dialogid == DIALOG_LOGIN)
        {
            if(response)
            {
                        new jelszo[200];
                        format(jelszo, sizeof(jelszo), \"%s\", dini_Get(Fajl, \"Jelszo\"));
                        if(strcmp(inputtext, jelszo) == 0)
                        {
                                JatekosInfo[playerid][pPenz] = dini_Int(Fajl, \"Penz\");
                                JatekosInfo[playerid][pSkin] = dini_Int(Fajl,\"Skin\");
                                JatekosInfo[playerid][Angle] = dini_Int(Fajl, \"posicio\");
                                JatekosInfo[playerid][Angle] = dini_Int(Fajl, \"Latoszog\");
                                JatekosInfo[playerid][X] = dini_Int(Fajl, \"X\");
                                JatekosInfo[playerid][Y] = dini_Int(Fajl, \"Y\");
                                JatekosInfo[playerid][Z] = dini_Int(Fajl, \"Z\");
                                SetPlayerSkin(playerid,JatekosInfo[playerid][pSkin]);
                                SetPlayerColor(playerid,FEHER);
                                SetSpawnInfo(playerid,0,JatekosInfo[playerid][pSkin],JatekosInfo[playerid][X],JatekosInfo[playerid][Y],JatekosInfo[playerid][Z],JatekosInfo[playerid][Angle],0,0,0,0,0,0);
                                SpawnPlayer(playerid);
                                GivePlayerMoney(playerid,JatekosInfo[playerid][pPenz]);
                                SendClientMessage(playerid,KEK,\"Sikeresen Bejelentkeztél!\");
                        }
                        else
                        {
                                ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Bejelentkezõ Panel\",\"Rossz jelszó!\\nJelentkezz be!\",\"Oké\",\"Kilép\");
                        }
            }
            else
            {
                Kick(playerid);
            }
        }
        return 1;
}
stock Neve(playerid)
{
        new Nev[MAX_PLAYER_NAME];
        GetPlayerName(playerid,Nev,sizeof(Nev));
        return Nev;
}

 
Köszönöm elöre is!!
« Utoljára szerkesztve: 2014. szeptember 05. - 11:30:50 írta Flash »

Nem elérhető Nátha

  • 1036
    • Profil megtekintése
Regisztrácio segitség
« Válasz #1 Dátum: 2014. szeptember 05. - 12:15:14 »
0 Show voters
    #include <a_samp>
    #include <dini>
    new szoveg1[128];
    new Fajl[256];
    enum pAdat
    {
            pPenz,
            pSkin,
            pReg,
            Float:X,
            Float:Y,
            Float:Z,
            Float:Angle
    }
    new JatekosInfo[MAX_PLAYERS][pAdat];
    #define DIALOG_REGISTER 1
    #define DIALOG_LOGIN 2
    #define DIALOG_NEM 3
    #define KEK 0x00ccffAA
    #define ZOLD 0x43e85fAA
    #define FEHER 0xffffffAA
    #pragma tabsize 0
    public OnPlayerConnect(playerid)
    {
            SetSpawnInfo(playerid,0,26,2269.4287,-75.1134,26.7724,178.8719,0,0,0,0,0,0);
            SpawnPlayer(playerid);
        format(Fajl,sizeof(Fajl),\"/Karakterek/%s.ini\",Neve(playerid));
        format(szoveg1,sizeof(szoveg1),\"Üdvözöllek %s!\",Neve(playerid));
        if(fexist(Fajl))
        {
            ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,szoveg1,\"Ez a név már regisztrálva van!\\nKérlek jelentkezz be!\",\"Belép\",\"\");
        }
        else
        {
            ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,szoveg1,\"Ez a név még nincsen regisztrálva!\\nKérlek regisztrálj!\",\"Regisztrál\",\"\");
        }
        return 1;
    }
    public OnPlayerDisconnect(playerid, reason)
    {
            new Float:x,Float:y,Float:z;
        GetPlayerPos(playerid,x,y,z);
        JatekosInfo[playerid][X] = x;
        JatekosInfo[playerid][Y] = y;
        JatekosInfo[playerid][Z] = z;
        JatekosInfo[playerid][pPenz] = GetPlayerMoney(playerid);
        JatekosInfo[playerid][pSkin] = GetPlayerSkin(playerid);
        GetPlayerFacingAngle(playerid,JatekosInfo[playerid][Angle]);
            format(Fajl,sizeof(Fajl),\"/Karakterek/%s.ini\",Neve(playerid));
            dini_IntSet(Fajl,\"Penz\",JatekosInfo[playerid][pPenz]);
            dini_IntSet(Fajl,\"Skin\",JatekosInfo[playerid][pSkin]);
            dini_FloatSet(Fajl,\"Latoszog\",JatekosInfo[playerid][Angle]);
            dini_FloatSet(Fajl,\"X\",Float:JatekosInfo[playerid][X]);
            dini_FloatSet(Fajl,\"Y\",Float:JatekosInfo[playerid][Y]);
            dini_FloatSet(Fajl,\"Z\",Float:JatekosInfo[playerid][Z]);
            return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
            format(Fajl,sizeof(Fajl),\"/Karakterek/%s.ini\",Neve(playerid));
            if(dialogid == DIALOG_REGISTER)
            {
                if(response)
                {
                            dini_Create(Fajl);
                            dini_Set(Fajl,\"Jelszo\",inputtext);
                            dini_IntSet(Fajl,\"Penz\",30);
                            dini_IntSet(Fajl,\"Skin\",0);
                            SpawnPlayer(playerid);
                            ShowPlayerDialog(playerid,DIALOG_NEM,DIALOG_STYLE_LIST,\"Regisztráció...\",\"Fiú\\nLány\",\"Folytat\",\"\");
                }
            }
            if(dialogid == DIALOG_NEM)
            {
                if(response)
                {
                            if(listitem == 0)
                            {
                                    dini_IntSet(Fajl,\"Nem\",1);
                                    SendClientMessage(playerid,KEK,\"Fiú lettél!\");
                                    SetPlayerSkin(playerid,60);
                            }
                            if(listitem == 1)
                            {
                                    dini_IntSet(Fajl,\"Nem\",2);
                                    SendClientMessage(playerid,KEK,\"Lány lettél!\");
                                    SetPlayerSkin(playerid,233);
                            }
                }
            }
            if(dialogid == DIALOG_LOGIN)
            {
                if(response)
                {
                            new jelszo[200];
                            format(jelszo, sizeof(jelszo), \"%s\", dini_Get(Fajl, \"Jelszo\"));
                            if(strcmp(inputtext, jelszo) == 0)
                            {
                                    JatekosInfo[playerid][pPenz] = dini_Int(Fajl, \"Penz\");
                                    JatekosInfo[playerid][pSkin] = dini_Int(Fajl,\"Skin\");
                                    JatekosInfo[playerid][Angle] = dini_Int(Fajl, \"posicio\");
                                    JatekosInfo[playerid][Angle] = dini_Int(Fajl, \"Latoszog\");
                                    JatekosInfo[playerid][X] = dini_Int(Fajl, \"X\");
                                    JatekosInfo[playerid][Y] = dini_Int(Fajl, \"Y\");
                                    JatekosInfo[playerid][Z] = dini_Int(Fajl, \"Z\");
                                    SetPlayerSkin(playerid,JatekosInfo[playerid][pSkin]);
                                    SetPlayerColor(playerid,FEHER);
                                    SetSpawnInfo(playerid,0,JatekosInfo[playerid][pSkin],JatekosInfo[playerid][X],JatekosInfo[playerid][Y],JatekosInfo[playerid][Z],JatekosInfo[playerid][Angle],0,0,0,0,0,0);
                                    SpawnPlayer(playerid);
                                    GivePlayerMoney(playerid,JatekosInfo[playerid][pPenz]);
                                    SendClientMessage(playerid,KEK,\"Sikeresen Bejelentkeztél!\");
                            }
                            else
                            {
                                    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Bejelentkezõ Panel\",\"Rossz jelszó!\\nJelentkezz be!\",\"Oké\",\"\");
                            }
                }
            }
            return 1;
    }
    stock Neve(playerid)
    {
            new Nev[MAX_PLAYER_NAME];
            GetPlayerName(playerid,Nev,sizeof(Nev));
            return Nev;
    }

Regisztrácio segitség
« Válasz #2 Dátum: 2014. szeptember 05. - 12:32:28 »
0 Show voters
Ez igy jó mostmár,köszönöm szépen,csak az miért van hogyha jelendkezek be,kód nélkül is belépik ha irok kodotis és ha nem is?Mi lehet a gond?

Nem elérhető Nátha

  • 1036
    • Profil megtekintése
Regisztrácio segitség
« Válasz #3 Dátum: 2014. szeptember 05. - 12:42:25 »
0 Show voters
Ez a Defensive és az abból editelt módoknál van.
Akkor jelentkezik ez a hiba ha a lementett account fájlt megnyitod a jegyzettömbbel, wordpad-al stb. hulladék programmal.
Mert amikor módosítasz rajta valamit és azt lemented BOM keletkezik a fájlba és onnantól a dini nem tudja normálisan kezelni.
Notepad++ programmal nyisd meg és a változást azzal mentsd le és nem lesz ilyen probléma.

Regisztrácio segitség
« Válasz #4 Dátum: 2014. szeptember 05. - 12:47:31 »
0 Show voters
De hogyha kitorolom a regisztráciot,és ujra regisztrálok,nem nyitom meg(nem bajlodok a fileval) és viszalépek bejelendkezni,ujbol belépik kod nélkül :(

Nem elérhető Nátha

  • 1036
    • Profil megtekintése
Regisztrácio segitség
« Válasz #5 Dátum: 2014. szeptember 05. - 12:51:46 »
0 Show voters
Én szartam volna el valamit vagy a réginél is ezt csinálja?
Ha az enyémmel van gond akk 4-5 körül kijavítom, mert most már mobilról vagyok

Regisztrácio segitség
« Válasz #6 Dátum: 2014. szeptember 05. - 12:59:16 »
0 Show voters
Az eredetiben is csinálja :( ienkor mit lehet tenni?...
és most vettem észre hogy kod nélkül lehet regisztrálni is.. :(
« Utoljára szerkesztve: 2014. szeptember 05. - 13:30:12 írta lorantf »

Regisztrácio segitség
« Válasz #7 Dátum: 2014. szeptember 05. - 14:33:21 »
0 Show voters
Hali!
 

if(strcmp(inputtext, jelszo) == 0)

 
Te itt azt ellenõrzöd le hogyha 0-at ír be akkor történik xy....
Így próbáld meg, hanem jó akkor írj.
 

if(strcmp(inputtext, jelszo) > 3)

 
A 3 helyett annyit írsz hogy mennyi legyen a minimum karakter amivel regisztrálni tud.
Tehát ahogy most írtam az azt ellenõrzi hogyha a jelszó nagyobb mint 3 karakter akkor történik xy...
Remélem érthetõen írtam. :) Próbáld meg így!
EDIT: Loginnál pedig:
 

if(strlen(inputtext, jelszo)>0)
« Utoljára szerkesztve: 2014. szeptember 05. - 14:36:35 írta Robi222 »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Regisztrácio segitség
« Válasz #8 Dátum: 2014. szeptember 05. - 14:36:42 »
0 Show voters
[mod]Szerepjátékos regisztrációról van szó így a témát áthelyeztem. Legközelebb nyisd jó helyere! Köszi.[/mod]

Regisztrácio segitség
« Válasz #9 Dátum: 2014. szeptember 05. - 14:39:09 »
0 Show voters
De ien rész csak a LOGIN-nál van,a regiszterben nincs.

Regisztrácio segitség
« Válasz #10 Dátum: 2014. szeptember 05. - 14:43:38 »
0 Show voters
Idézetet írta: lorantf date=1409920749\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50506\" data-ipsquote-contentclass=\"forums_Topic
De ien rész csak a LOGIN-nál van,a regiszterben nincs.
 
Regiszternél is oda kell rakni,mert ha nem rakod különben bármennyire karakterrel regisztrálhat a játékos,akár 0-ával is,ahogy most van neked. :)

Regisztrácio segitség
« Válasz #11 Dátum: 2014. szeptember 05. - 15:35:34 »
0 Show voters
Meg tudnád csinálni az :if(dialogid == DIALOG_REGISTER) alatti részt légyszives,mert igy nem nagyon értem.

Regisztrácio segitség
« Válasz #12 Dátum: 2014. szeptember 05. - 15:39:24 »
0 Show voters
Idézetet írta: lorantf date=1409924134\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50506\" data-ipsquote-contentclass=\"forums_Topic
Meg tudnád csinálni az :if(dialogid == DIALOG_REGISTER) alatti részt légyszives,mert igy nem nagyon értem.
 
Igen,én módomból szedtem ki,MySQL es de az nem lényeges,azt már átírod.
 

case DIALOG_REGISTER:
{
    if(response)
    {
        new query[1024],passwort[32];
        if(strlen(inputtext)>4)
        {
            //Regisztráció ha sikeres
           
   }
        else
        {
            //Ha kevesebb mint 4 karakter
            SendClientMessage(playerid,COLOR_RED,\"(( A Jelszónak minimum 5 karakternek kell lenni! ))\");
            ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,\"Regisztráció\",\"A Regisztrációhoz írj be egy jelszót!\",\"Rendben\",\"Mégse\");
        }
    }
    else
    {
        SendClientMessage(playerid, COLOR_ULTRARED,\"(( Nem regisztráltál,ezért kickeltünk! ))\");
        Kick(playerid);
    }
    return 1;
}

 
Változókat,mindent írj át.

Regisztrácio segitség
« Válasz #13 Dátum: 2014. szeptember 05. - 15:41:38 »
0 Show voters
Nem tudnád a script alapján ha nem gond,tudom hogy sokat kérek de még csak tanulgatom,és nekem ugy kellene hogy dinis maradjon.

Dupla hozzászólás automatikusan összefûzve. ( 2014. szeptember 05. - 19:18:50 )

Vagy tudnátok linkelni egy ehez hasonlo regisztrácios rendszert,lényeg az hogy igy müködjön,tehát amikor belelépek a játékba ne adjon elõ semmit csak a bejelendkezõ ablakot,és mikor belépek oda tegyen le ahol voltam,amikor kiléptem.Lényeg hogy mentse a poziciot,a látoszöget,a pénzt!De lényeg az hogy dinivel mentsen ha lehet!Nagyon köszönöm elõre is!!
« Utoljára szerkesztve: 2014. szeptember 05. - 19:18:50 írta lorantf »

Regisztrácio segitség
« Válasz #14 Dátum: 2014. szeptember 05. - 19:34:26 »
0 Show voters
Leírtam az egész regisztrációs dialógot, mi kell még ? :) Majd valaki segít,aki tud.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal