GTA-Expert Forum: [GUIDA] Sistema di registrazione usando i dialoghi - GTA-Expert Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

[GUIDA] Sistema di registrazione usando i dialoghi

#1 L'utente č offline   [F12] phantom 

  • Borsaiolo
  • Gruppo: Utenti
  • Messaggi: 465
  • Iscritto il: 16/04/10

Inviato il 03 novembre 2010 - 20:51

magari questo tutorial potra non servire ma per abbellire un pochettino il server questo potrebbe fare al caso vostro.
[Sistema di registrazione a dialoghi


innanzitutto dovete scaricare l'include Dini creato da DracoBlue ecco <a href="http://dracoblue.net/download/dini-16/35/">qua</a> il link di download.

al termine del download mettete questo file all'interno della cartella /pawno/include

dopodichè aprite la vostra gamemode e in clima mettete:

#include <Dini>


create una costante bool (in questo tutorial io userò la costante loggato)

new bool:loggato[MAX_PLAYERS];


in modo che utilizzando questa costante controlleremo se l'utente è loggato o no

ora andate nel public OnPlayerConnect // consiglio questo

e mettiamo:

new name[256], file[256];
GetPlayerName(playerid, name, 256);
format(file, 256, "Utenti/%s.ini", name);
if(!fexist(file))
{
     ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, "registrazione","Digita la password","Registrati","Esci");
     return 1;
}


in questo modo controlla che se il file con il nome dell'utente in estensione ini se non existe con la funzione fexist e il ! sta per controllare se NON esiste allora crea un dialogo definito con dialogid ma consiglio di cambiare nome a stile input, chiamato Registrazione.

Andiamo nell Callback OnDialogResponse e mettiamo:

if(dialogid == dialogid)
{
    new name[256], file[256];
    GetPlayerName(playerid, name, 256);
    format(file, 256, "Utenti/%s.ini", name);
    dini_Create(file);
    dini_Set(file, "Password", inputtext);
    // aggiungete quello che volete con la funzione dini_IntSet
    SendClientMessage(playerid, colore, "Account Creato");
    ShowPlayerDialog(playerid, nome, DIALOG_STYLE_INPUT, "Login","Digita la Password","Entra",£Esci");
    return 1;
}


in questo modo crea il file nella cartella Utenti e setta al suo interno una variabile password con il valore dell'inputtext ovvero ciò che noi scriviamo

sempre nello stesso callback mettiamo un dialogo per il login

if(dialogid == nome)
{
   new name[256], file[256];
    GetPlayerName(playerid, name, 256);
    format(file, 256, "Utenti/%s.ini", name);
   if(fexist(file))  // controlla se esiste
   {
        if(strcmp(dini_Get(file, "Password"), inputtext, true) == 0)
        {
             variabile[1] = dini_Int(file, "nomeattribuitoaldini_IntSet");
             SendClientMessage(playerid, colore, "Login Effettuato");
              return 1;
        }
        else
        {
	       SendClientMessage(playerid, rosso, "Password errata riprova");
               ShowPlayerDialog(playerid, dialog_Log, DIALOG_STYLE_INPUT, "Login", "Immetti la password per loggarti","Login","Esci");
                return 1;
	}
}


a questo punto noi abbiamo il sistema quasi completo, dico quai perchè al momento della disconnessione dal server cioò che è successo nel server finirà allora andiamo nell OnPlayerDisconnect e mettiamo:

nomignolo(playerid);


in fondo a tutti metteremo:

nomignolo(playerid)
{
	new name[256], file[256];
	GetPlayerName(playerid, name, 256);
 	format(file, 256, "LARP/Utenti/%s.ini", name);
	dini_IntSet(file, "nome attribuito", variabile in cui salvarlo dal gioco);
	
}


io ho scritto "variabile in cui salvarlo dal gioco", io esempio metterei
dini_IntSet(file, "nomeattribuito", PlayerInfo[playerid][pAdmin]);
in questo modo salva nella variabile PlayerInfo alla sezione pAdmin il valore corrispondente alla variabile nomeattribuito
ho messo PlayerInfo, perchè è il più comune

Guida Interamente Creata da [f12] phantom è vietata la riproduzione totale o spezzata senza la diretta autorizzazione via PM

Messaggio modificato da [F12] phantom il 09 febbraio 2011 - 21:04

HostName: [ITA][VIP]Dream Cityt RP[ITA] by pisa city!
Address: 95.110.228.30:7777
Players: 38 / 50
Ping: 40
Mode: RolePlay v 0.4
Map: San Andreas

Siamo in cerca di CF
0

#2 L'utente č offline   (Rocco91) 

  • Cleptomane
  • Gruppo: Utenti
  • Messaggi: 121
  • Iscritto il: 11/01/11
  • GTA Preferito:GTA: San Andreas

Inviato il 11 febbraio 2011 - 22:54

Immagine PostataSemplice Guida Immagine Postata
Firma fuori dai limiti del regolamento. Codice originale:

[IMG]http://img-s3-01.mytextgraphics.com/myrainbowtext/2011/03/19/5508278003eb1b6eaa05fd02d15250a0.gif[/IMG]
===========Programmi===================
[url="http://www.mediafire.com/?e48fuq1efv391ki"]SetPlayerAttachedObject[Programma] by Rocco aka TheRoccoNat[/url]
[url="http://www.mediafire.com/?m148641gvqbe5f5"]SetPlayerCheckpoint [Programma] by Rocco91[/url]
[url="http://www.mediafire.com/?6j223gedp6jptol"]AddPlayerClass [Programma] by Rocco91 and Farmy[/url]

[url="http://www.shareyouraim.com"][img]http://www.shareyouraim.com/at_7320535.png[/img][/url]                                                [img]http://www.shareyouraim.com/at_8530822.png[/img][url="http://www.shareyouraim.com"][img]http://www.shareyouraim.com/at_3599330.png[/img][/url][img]http://www.shareyouraim.com/at_8144596.png[/img][img]http://www.shareyouraim.com/at_6095090.png[/img][url="http://www.shareyouraim.com"][img]http://www.shareyouraim.com/at_7221197.png[/img][/url]

[size="3"]SAMP Server:  [/size]
[size="3"]HOST1 RP: 93.190.143.129:9999 {Password} [/size]
[size="3"]HOST2 DM: 93.190.143.129:2455 {Chiuso}[/size]
[size="3"]HOST3 STUNT: 81.30.152.27:8832 {Chiuso}
Forum: [url="http://italianroleplay.forumcommunity.net/"]http://italianrolepl...mcommunity.net/[/url][/size]
=====================================
0

#3 L'utente č offline   Peppinux aka Peppe_Stasu 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 2056
  • Iscritto il: 16/04/10
  • GTA Preferito:GTA: San Andreas

Inviato il 12 febbraio 2011 - 14:20

Guida fatta per niente bene. Senza offesa...
0

#4 L'utente č offline   mitosking 

  • Ladro
  • Gruppo: Utenti
  • Messaggi: 582
  • Iscritto il: 10/11/10
  • GTA Preferito:GTA IV

Inviato il 14 febbraio 2011 - 14:02

Visualizza MessaggiPeppinux aka Peppe_Stasu, il 12 febbraio 2011 - 14:20 ha detto:

Guida fatta per niente bene. Senza offesa...



Quoto. Devi migliorarla di piu e ci sono diversi errori gravi. Correggila :)
Mitosking

Scripter dal 05/01/2011
0

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

1 utenti stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi