Jump to content
  • 0

Dupa edit dialog-urile nu-si schimba text-ul


ImTouchk

Question

Problema intalnita (descriere): M-am uitat pe net si am vrut sa fac un sistem de register/login si am gasit unul care chiar merge si e bun (Y_INI) dar totusi nu vreau sa aiba text-ul default ( cel care e lasat in tutorial, in engleza si ce a editat omu' in romana ) asa ca am editat din ShowPlayerDialog text-urile si le-am modelat cum am vrut. O data ce l-am compilat, n-am avut vreo eroare. Am pornit server-ul si vad ca imi ramane tot textul default :| 
Ero(area / rile) / warning-(ul / urile): Nu exista nicio eroare sau warning pe aceasta tema, exista doar warning-uri in script.
Liniile de cod / sursa / script-ul(obligatoriu): 

define PATH ( folosit la unul din dialog-uri )

#define PATH "conturi/%s.ini"

enum pInfo

enum pInfo
{
    pPass,
    pCash,
    pAdmin,
    pKills,
    pDeaths,
    DT,
	DTT
}
new PlayerInfo[MAX_PLAYERS][pInfo];

OnPlayerConnect

public OnPlayerConnect(playerid)
{
    if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Bine ai revenit!",""COL_WHITE"Contul acesta este deja inregistrat.\nIntrodu-ti parola in caseta de mai jos.","LOGARE","IESI");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Bine ai venit!",""COL_WHITE"Bine ai venit pe "SERVER_NAME". Contul acesta nu este inregistrat.\nIntrodu-ti parola in caseta de mai jos pentru a te inregistra.","CREEAZA","IESI");
    }
    return 1;
}

OnPlayerDisconnect

public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
    INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
    INI_Close(File);
    return 1;
}

OnDialogResponse

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTER:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_RED"EROARE",""COL_RED"Nu ai introdus o parola"COL_WHITE".\n"COL_WHITE"Introdu-ti parola mai jos pentru a te inregistra.","Register","Quit");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteInt(File,"Password",udb_hash(inputtext));
                INI_WriteInt(File,"Cash",0);
                INI_WriteInt(File,"Admin",0);
                INI_WriteInt(File,"Kills",0);
                INI_WriteInt(File,"Deaths",0);
                INI_Close(File);

                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"SUCCES!",""COL_GREEN"Cont inregistrat\n"COL_WHITE"Ai fost inregistrat cu succes. Acum te poti juca pe server.","Continua","");
            }
        }

        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
                    ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"SUCCES!",""COL_GREEN"Te-ai logat\n"COL_WHITE"Acum te poti juca. Spor la joc!","Continua","");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE""COL_RED"EROARE",""COL_RED"Parola incorecta.\n"COL_WHITE"Te rog introdu-ti parola in casuta de mai jos.","LOGHEAZA","IESI");
                }
                return 1;
            }
        }
    }
    return 1;
}

stock UserPath

stock UserPath(playerid)
{
    new string[128],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),PATH,playername);
    return string;
}

stock udb_hash

stock udb_hash(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}

public LoadUser_data

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Password",PlayerInfo[playerid][pPass]);
    INI_Int("Cash",PlayerInfo[playerid][pCash]);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Kills",PlayerInfo[playerid][pKills]);
    INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
    return 1;
}


Imagini / Video (optional): Nu cred ca este nevoie, daca este imi spuneti.
Ati incercat sa rezolvati singur?: M-am chinuit mult timp si degeaba.. :( 

:D

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 1

Incearca sa stergi ce a fost compilat din gamemode [ fila .amx  de la gamemode-ul tau, adica tu ai gamemode vasile, are 2 file vasile.pwn si vasile.amx] si dupa incearca sa compilezi din nou.

// Desenul meu animat 
// Alte episoade aici: 
https://www.youtube.com/channel/UCF2kY1CzhHI_PCyV5LprQ1w/videos

 

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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.