Prova a controllare se dopo aver fatto la registrazione i tuoi dati vengono salvati nel database (o nel tuo file .ini, dipende da che script usi )
Se i dati non sono presenti allora vuol dire che lo script ha qualche problema e sarebbe meglio che ci postassi i codici :soso:
Allora si vede che è un problema dello script, se posti i codici forse riesco a darti una mano (spero sia mysql) D:i dati della registrazione ci sono :cry: ma non li rilegge
Allora si vede che è un problema dello script, se posti i codici forse riesco a darti una mano (spero sia mysql) D:
Mysql è più veloce e comodo da utilizzare, comunque per "script" intendo le parti della gamemode inerenti il login e la registrazione...Ehmmm che script? xD comunque non è mysql :cry:
Mysql è più veloce e comodo da utilizzare, comunque per "script" intendo le parti della gamemode inerenti il login e la registrazione...
Sembra che non siano queste le righe che volessi, scusa ma mi sono spiegato male xDRegistrazione:Perfavore, Entra oppure Registrati per vedere i Link!
Login:Perfavore, Entra oppure Registrati per vedere i Link!
Sembra che non siano queste le righe che volessi, scusa ma mi sono spiegato male xD
Prova a vedere se in OnPlayerConnect c'è una parte che controlla se l'utente esiste (quindi se il file .ini dell'utente è presente); se la trovi posta quella, altrimenti cerca in giro per la gamemode finché non la trovi
GetPlayerName(playerid, plname, sizeof(plname));
format(string, sizeof(string), "users/%s.ini", plname);
SendClientMessage(playerid, COLOR_YELLOW2, "Caricamento in corso...");
if(fexist(string))
{
gPlayerAccount[playerid] = 1;
}
else
{
gPlayerAccount[playerid] = 0;
}
return 1;
}
C'è solo questo in OnPlayerConnect?vuoi dire questo?
C'è solo questo in OnPlayerConnect?
Riusciresti per caso a trovarmi le parti in cui vengono richiamate le due funzioni OnPlayerLogin e OnPlayerRegister?
if(dialogid == 12345)
{
if (response == 1)
{
if(strlen(inputtext))
{
OnPlayerRegister(playerid,inputtext);
}
else if(!strlen(inputtext))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new kayitmsg[256];
format(kayitmsg,256,"Benvenuto a Boston City {ffff9d}%s{ffffff} !!!\n\nCrea un nuovo account per poter giocare !\n\nDigita la nuova password desiderata:",name);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_PASSWORD,"Benvenuto/a %s , Per favore, registrati",kayitmsg,"Registrati","Esci");
if(strfind(inputtext, "=") != -1)
{
format(kayitmsg,256,"Benvenuto a Boston City {ffff9d}%s{ffffff} !!!\n\nCrea un nuovo account per poter giocare !\n\nDigita la nuova password desiderata:",name);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_PASSWORD,"Benvenuto/a %s , Per favore, registrati",kayitmsg,"Registrati","Esci");
SendClientMessage(playerid, COLOR_RED, "Carattere non ammesso");
return 1;
}
if(strfind(inputtext, ",") != -1)
{
format(kayitmsg,256,"Benvenuto a Boston City {ffff9d}%s{ffffff} !!!\n\nCrea un nuovo account per poter giocare !\n\nDigita la nuova password desiderata:",name);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_PASSWORD,"Benvenuto/a %s , Per favore, registrati",kayitmsg,"Registrati","Esci");
SendClientMessage(playerid, COLOR_RED, "Carattere non ammesso");
return 1;
}
}
}
else return Kick(playerid);
}
if(dialogid == 12346)
{
if (response == 1)
{
if(strlen(inputtext))
{
OnPlayerLogin(playerid,inputtext);
}
else if(!strlen(inputtext))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new girismsg[256];
format(girismsg,256," %s bentornato a Boston City !!!\n\nNome Utente: {ffff9d}%s{ffffff}\n\nDigita la tua password per effettuare il Log-in:",name);
ShowPlayerDialog(playerid,12346,DIALOG_STYLE_PASSWORD,"Benvenuto/a %s , per favore, esegui il Log-In",girismsg,"Entra","Esci");
}
}
else return Kick(playerid);
}
@AgenteX Non proprio D:
In pratica ho capito che dini funziona, visto che, come hai detto tu prima, il file con i tuoi dati viene salvato.
Il problema è nella parte in cui avviene il controllo oppure in qualcosa successivo ad esso, ad esempio prima mi hai postato questo
In questa parte ho capito che riesce a trovare il file personale dell'utente con tutte le informazioni e, se lo trova, da alla variabile gPlayerAccount valore 1, altrimenti da il valore 0.Codice:Perfavore, Entra oppure Registrati per vedere i codici!
Fin qui ci sono, ma dopo non mi hai postato altro inerente a queste due variabile, per cui non riesco a capire cosa succede dopo D:
La variabile è una, gPlayerAccount, dovresti trovarmi i codici inerenti a questa...quali variabili?? DDDD:
La variabile è una, gPlayerAccount, dovresti trovarmi i codici inerenti a questa...
Comunque intanto per verificare se dini funziona al 101% metti Kick(playerid); sotto gPlayerAccount[playerid] = 1; poi salva, compila, avvia il server, logga e dimmi se vieni kickato oppure no...
Da quello che vedo sembrerebbe tutto ok :soso:
Da quello che vedo sembrerebbe tutto ok :soso:
Inoltre, se ti ha appena kickato, vuol dire che la variabile è settata correttamente, sei sicuro che ti faccia registrare ogni volta che logghi?
if(PlayerInfo[playerid][pReg] == 0)
Beh se era per il tutorial allora si, quel pezzo di codice andava bene visto che era per gli utenti appena registrati, se me lo avessi detto prima peròallora il fatto che fa rifare il tutorial solo ai player, e se ti setti admin va tutto alla meraviglia....... cioè allora la pass si salva e dice di fare il log-in lo faccio e devo rifare tutorial..........
--------------- AGGIUNTA AL POST ---------------
Problema risolto bastava mettere questa stringa
all'inizio del tutorial......
@#F96 puoi chiudere