Porfavor ayudenme a crear un registro en dialogo con la gm de GF :)
#1

Hola! bueno la cosa es si me podrian por favor decir como puedo crear un dialogo de registro y logeo con la gm de gf, ya intente cambiando las variables de uno normal de "pawnopedo2.com" y la cosa es que no me funciono , aqui les dejo las variables por si desean ayudarme .

Variable si esta o no registrado
Код:
gPlayerAccount[playerid] = 0;
Estos son los comandos que normalmente se utilizarian.

Код:
//-------------------------------[Login]--------------------------------------------------------------------------
	if (strcmp(cmd, "/conectar", true) ==0 )
	{
	    if(IsPlayerConnected(playerid))
	    {
	        new tmppass[64];
			if(gPlayerLogged[playerid] == 1)
			{
				SendClientMessage(playerid, COLOR_WHITE, "SERVER:Ya Estas Conectado.");
				return 1;
			}
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /conectar [password]");
				return 1;
			}
			strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
			Encrypt(tmppass);
			OnPlayerLogin(playerid,tmppass);
		}
		return 1;
	}
	if (strcmp(cmd, "/registrar", true) ==0 )
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(gPlayerLogged[playerid] == 1)
			{
				SendClientMessage(playerid, COLOR_WHITE, "SERVER: Ya Estas Conectado.");
				return 1;
			}
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "%s.ini", sendername);
			new File: hFile = fopen(string, io_read);
			if (hFile)
			{
				SendClientMessage(playerid, COLOR_YELLOW, "Este nick Ya Esta Usado, Porfavor Escoja Otro.");
				fclose(hFile);
				return 1;
			}
	        new tmppass[64];
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /registrar [password]");
				return 1;
			}
			strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
			Encrypt(tmppass);
			OnPlayerRegister(playerid,tmppass);
		}
		return 1;
	}
//----------------------------------[ooc]-----------------------------------------------
Y el enum con la informaciуn del jugador

Код:
enum pInfo
{
	pKey[128],
	pLevel,
	pAdmin,
	pDonateRank,
	gPupgrade,
	pConnectTime,
	pReg,
	pSex,
	pAge,
	pOrigin,
	pCK,
	pMuted,
	pExp,
	pCash,
	pAccount,
	pCrimes,
	pKills,
	pDeaths,
	pArrested,
	pWantedDeaths,
	pPhoneBook,
	pLottoNr,
	pFishes,
	pBiggestFish,
	pJob,
	pPayCheck,
	pHeadValue,
	pJailed,
	pJailTime,
	pMats,
	pDrugs,
	pLeader,
	pMember,
	pFMember,
	pRank,
	pChar,
	pContractTime,
	pDetSkill,
	pSexSkill,
	pBoxSkill,
	pLawSkill,
	pMechSkill,
	pJackSkill,
	pCarSkill,
	pNewsSkill,
	pDrugsSkill,
	pCookSkill,
	pFishSkill,
	Float:pHealth,
	Float:pSHealth,
	pInt,
	pLocal,
	pTeam,
	pModel,
	pPnumber,
	pPhousekey,
	pPbiskey,
	Float:pPos_x,
	Float:pPos_y,
	Float:pPos_z,
	pCarLic,
	pFlyLic,
	pBoatLic,
	pFishLic,
	pGunLic,
	pGun1,
	pGun2,
	pGun3,
	pGun4,
	pAmmo1,
	pAmmo2,
	pAmmo3,
	pAmmo4,
	pCarTime,
	pPayDay,
	pPayDayHad,
	pCDPlayer,
	pWins,
	pLoses,
	pAlcoholPerk,
	pDrugPerk,
	pMiserPerk,
	pPainPerk,
	pTraderPerk,
	pTut,
	pMissionNr,
	pWarns,
	pAdjustable,
	pFuel,
	pMarried,
	pMarriedTo[128],
};
new PlayerInfo[MAX_PLAYERS][pInfo];
De antemano muchisimas gracias al que desee ayudarme! Suerte cabasheros!
Reply
#2

Por favor?
Reply
#3

Hmm nadie? Jaja bueno :/
Reply
#4

Mejor cambia el GM, eso estб demasiado obsoleto. Tienes muy buenas alternativas, fнjate en la secciуn lanzamientos en espaсol, o si no encuentras uno de tu agrado busca en la secciуn inglesa.

Y si no quieres hacer caso a mi consejo, pues te dejo mбs o menos a lo que serнa el login y registro por dialog, aunque te advierto que si piensas abrir un servidor con un pйsimo [I]host[/I, se te caerб el servidor continuamente o simplemente habrнa lag moderadamente.

PHP код:
#define DIALOG_INGRESO (1234)
#define DIALOG_REGISTRO (1235)
public OnPlayerRequestClass(playeridclassid)
{
    if(
gPlayerLogged[playerid] == 1) return SpawnPlayer(playerid); // Me imagino que debes tener esta funciуn en el callback, si no agrйgalo.
    
if(gPlayerAccount[playerid] == 0) return ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_PASSWORD"Registro""Ingresa una contraseсa para registrarte.""Aceptar""Cancelar");
    else return 
ShowPlayerDialog(playeridDIALOG_INGRESODIALOG_STYLE_PASSWORD"Ingreso""Ingresa una contraseсa para iniciar sesiуn.""Aceptar""Cancelar");
    return 
true;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    
// Probablemente tu GM busque las ids de los dialogs por sentencias, algo obsoleto... Si es por switch, sуlo quitar la sentencia y guнate de otra lнnea para aсadir las ID's de los dialogs.
    
if(dialogid == DIALOG_INGRESO)
    {
        if(!
strlen(inputtext))
        {
            
SendClientMessage(playeridCOLOR_GRAD1"No se detectу ningъn caracter.");
            return 
true;
        }
        if(
strlen(inputtext) > 64)
        {
            
SendClientMessage(playeridCOLOR_GRAD1"No puedes escribir mбs de 64 carбcteres.");
            return 
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_PASSWORD"Registro""Ingresa una contraseсa para registrarte.""Aceptar""Cancelar");
        }
        new 
tm_pass[64];
        
strcat(tm_passinputtext);
        
Encrypt(tm_pass);
        return 
OnPlayerLogin(playeridtm_pass);
    }
    else if(
dialogid == DIALOG_REGISTRO)
    {
        
GetPlayerName(playeridsendernamesizeof(sendername));
        
format(stringsizeof(string), "%s.ini"sendername);
        new 
FilehFile fopen(stringio_read);
        if (
hFile)
        {
            
SendClientMessage(playeridCOLOR_YELLOW"Este nickname ya estб usado, por favor escoja otro.");
            
fclose(hFile);
            return 
Kick(playerid);
        }
        if(!
strlen(inputtext))
        {
            
SendClientMessage(playeridCOLOR_GRAD1"No se detectу ningъn caracter.");
            return 
true;
        }
        if(
strlen(inputtext) > 64)
        {
            
SendClientMessage(playeridCOLOR_GRAD1"No puedes escribir mбs de 64 carбcteres.");
            return 
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_PASSWORD"Registro""Ingresa una contraseсa para registrarte.""Aceptar""Cancelar");
        }
        new 
tm_pass[64];
        
strcat(tm_passinputtext);
        
Encrypt(tm_pass);
        return 
OnPlayerRegister(playeridtm_pass);
    }
    return 
true;

Lo que no entendн es que si usas gPlayerAccount[playerid] para verificar si la cuenta existe o no, entonces la parte del dialog donde lee el nombre de usuario para ver si existe un archivo con ese nombre, estб demбs, en todo caso si es asн borra esa parte. Suerte.
Reply
#5

Gracias amigo!, si te quieres unir al equipo administrativo en el servidor me puedes decir , sobre tu mensaje de que la gm es obsoleta, la cosa es que no solo la GM crea un servidor, pronto sabras de lo que digo... Feliz dia!
Reply
#6

Quote:
Originally Posted by Goss
Посмотреть сообщение
Gracias amigo!, si te quieres unir al equipo administrativo en el servidor me puedes decir , sobre tu mensaje de que la gm es obsoleta, la cosa es que no solo la GM crea un servidor, pronto sabras de lo que digo... Feliz dia!
Agradezco que quieras integrarme en tu equipo administrativo, pero como verбs en mi firma ya tengo mi propio proyecto.

Si necesitas ayuda, pide soporte y intentarй ayudarte, feliz noche .
Reply
#7

Jaja vale, Feliz Noche! y gracias igual
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)