Oggi è 15/06/2024, 22:15

Tutti gli orari sono UTC + 1 ora [ ora legale ]



Regole del forum


- Dare titoli sensati, non titoli tipo "Aiuto" oppure "Problema", i topic analoghi verranno immediatamente chiusi.
- Utilizzare http://www.pastebin.com per script superiori a 20 righe.



 Pagina 1 di 1 [ 6 messaggi ] 

  Apri un nuovo argomento Questo argomento è bloccato, non puoi modificare o inviare ulteriori messaggi.

  Stampa pagina

Autore Messaggio
 Oggetto del messaggio: [RISOLTO] [HELP]/login con Dini
MessaggioInviato: 08/01/2011, 22:55 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Salve a tutti, oggi ho creato questo comando con Dini:

Codice:
if(!strcmp(cmd, "/registra", true))
   {
      new account[250];
      new nome[20];
      new tmp[256];
      tmp = strtok(cmdtext, idx);
      if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_RED, "[ERRORE:] Digita /registra <password>");
      GetPlayerName(playerid, nome, 20);
      format(account, 250, "Utenti/%s.ini", nome);
      if(!dini_Exists(account))
      {
       dini_Create(account);
       dini_Set(account, "Password", tmp);
       return 1;
      }
       return 1;
   }


Tutto apposto, funziona. Già testato e funge. Però adesso vorrei sapere come creare un comando /login O.o... Seguendo sempre la mia scaletta. Se me lo fareste, vi ringrazierei tanto ;). Non so proprio da dove cominciare :asd:...

P.S: Non mi dite cose senza senso, tipo: usa il MySQL che è più leggero... Oppure: Non usare il Dini, ti rallenta il server. Queste cose le so, ma io vorrei sapere come farlo con Dini, visto che ho appena cominciato ad usare gli include. Grazie ;)

_________________
Immagine


Top
 E-mail  
 

 Oggetto del messaggio: Re: [HELP]/login con Dini
MessaggioInviato: 08/01/2011, 23:22 
Avatar utente
Utente

Iscritto il: 31/10/2010
Messaggi: 901
Località: Universo - Via Lattea - Sistema Solare - Pianeta Terra - Europa - Italia - Sicilia - Grammichele(CT)
Favourite GTA: San Andreas
Xfire: Privato

Karma
2


Non connesso
semplice, comunque ti rifaccio meglio il comando registra ;)

In Cima

Codice:
new bool:Loggato[MAX_PLAYERS];
new LoginFalliti[MAX_PLAYERS];


Sotto OnPlayerCommandText
Codice:
new account[64];
new tmp[256];

if(strcmp(cmdtext, "/register", true)==0)
{
    new nome[24];
    GetPlayerName(playerid, nome, 24);
    format(account, "Utenti/%s.ini", nome);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_RED, "Uso: /login [password]");
    if(Loggato[playerid]) return SendClientMessage(playerid, COLOR_RED, "Sei già registrato e loggato");
    else
    {
        dini_Create(account);
        dini_Set(account, "Password", tmp);
        SendClientMessage(playerid, COLOR_RED, "Ti sei registrato con successo, loggati usando /login [password]");
    }
    return 1;
}
 
if(strcmp(cmdtext, "/login", true)==0)
{
    new nome[24], password[64];
    GetPlayerName(playerid, nome, 24);
    format(account, "Utenti/%s.ini", nome);       
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_RED, "Uso: /login [password]");
    if(!dini_Exists(account)) return SendClientMessage(playerid, COLOR_RED, "Questo account non esiste, crealo con /register [password]");
    else
    {
        password = dini_Get(account, "Password");
        if(strcmp(password, tmp, true)==0)
        {
             Loggato[playerid] = true;
             SendClientMessage(playerid, COLOR_RED, "Ti sei loggato con successo");
        }
        else
        {
            LoginFalliti[playerid]++;
            SendClientMessage(playerid, COLOR_RED, "Hai sbagliato il login, al terzo tentativo verrai kickato");
        }
        if(LoginFalliti[playerid] == 3) Kick(playerid);
    }
    return 1;
}


L'ho appena fatto, provalo e se trovi bug dimmelo ;)

_________________
Immagine


I Miei Filterscript Per Sa-Mp

Rampone System By me and Mik_Teck
Autovelox System By me and Mik_Teck
Metro System By me
pLaserPointer By me

Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [HELP]/login con Dini
MessaggioInviato: 08/01/2011, 23:30 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Grazie mille provo subito ;)...

EDIT: Fatto tutto quanto, mi da però questo errore:

Codice:
error 047: array sizes do not match, or destination array is too small


Ecco la stringa d'errore:

Codice:
if(!strcmp(cmd, "/login", true))
   {
      new nome[20];
      new password[64];
      GetPlayerName(playerid, nome, 20);
      format(account, 256, "Utenti/%s.ini", nome);
      tmp = strtok(cmdtext, idx);
      if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_RED, "[USO:]/login <password>");
      if(!dini_Exists(account)) return SendClientMessage(playerid, COLOR_GREEN, "Account non registrato, usa /registra <password>");
      else
      {
      password = dini_Get(account, "Password"); // <------------ QUESTA
      if(strcmp(password, tmp, true) == 0)
      {
      Loggato[playerid] = true;
      SendClientMessage(playerid, COLOR_WHITE, "Hai loggato con successo");
      }
      else
      {
      SendClientMessage(playerid, COLOR_RED, "[LOGIN:]Hai sbagliato password. Se fai 3 errori, verrai kickato");
      LoginFalliti[playerid]++;
      if(LoginFalliti[playerid] == 3) Kick(playerid);
      }
      }
      return 1;
   }

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [HELP]/login con Dini
MessaggioInviato: 09/01/2011, 0:54 
Avatar utente
Utente

Iscritto il: 31/10/2010
Messaggi: 901
Località: Universo - Via Lattea - Sistema Solare - Pianeta Terra - Europa - Italia - Sicilia - Grammichele(CT)
Favourite GTA: San Andreas
Xfire: Privato

Karma
2


Non connesso
cambia "new password[64]" con "new password[256]"

comunque il file account io l'ho creato di 64 quindi:

format(account, 256, "Utenti/%s.ini", nome); deve essere
format(account, 64, "Utenti/%s.ini", nome);

prova adesso.

_________________
Immagine


I Miei Filterscript Per Sa-Mp

Rampone System By me and Mik_Teck
Autovelox System By me and Mik_Teck
Metro System By me
pLaserPointer By me

Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [HELP]/login con Dini
MessaggioInviato: 09/01/2011, 0:57 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Grazie mille era il new password ;)... Potete chiudere!

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [RISOLTO] [HELP]/login con Dini
MessaggioInviato: 09/01/2011, 1:41 
Avatar utente
Administrator

Iscritto il: 02/09/2010
Messaggi: 1349
Località: Agrigento
Favourite GTA: Vice City
PlayStation Network: Giovanni94m
Xfire: Giovanni94m
Steam: Giovanni94m

Karma
10


Non connesso
:lock:

_________________
Immagine
Immagine
Immagine
Immagine
Immagine
Immagine
Immagine


Top
 E-mail  
 
Visualizza ultimi messaggi:  Ordina per  
 Pagina 1 di 1 [ 6 messaggi ] 

  Apri un nuovo argomento Questo argomento è bloccato, non puoi modificare o inviare ulteriori messaggi.

Tutti gli orari sono UTC + 1 ora [ ora legale ]



Chi c’è in linea

Visitano il forum: Nessuno e 115 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron