[Ayuda]: Sistema de Login

¿Tienes dudas sobre un código? Consúltalas aquí y aprende cómo se solucionan diferentes tipos de errores.

Moderador: Ayudantes

Reglas del Foro
  • A la hora de realizar su pregunta, especifique bien los detalles y tenga buena ortografía, de esa manera el resto de los usuarios podrán entender su pregunta.
  • Recuerde proporcionar el código que le trae problemas y sus respectivos errores utilizando el BBCode [Pawn]Código aquí[/Pawn] en su mensaje.
  • En esta sección, sólo podrás publicar preguntas asociadas a programación en PAWN ("¿Cuál es la diferencia entre new y static?"), más no temas relacionados a pedir códigos ("¿Me pueden pasar el sistema de 'X' servidor?"). (Ir a Pedidos para publicar estos temas).
  • Si tu pregunta es relacionada con un GM publicado en PawnScript, no crees tu pregunta en esta sección, créala en el mismo tema desde donde obtuviste el GameMode.
  • Evita colocar títulos como: "[Pregunta]", "[Duda]", "[Ayuda]", etc. Los títulos deben ser descriptivos.
  • Si la pregunta es respondida, no modifiques el título ni el contenido de los mensajes del tema. Quizás le pueda servir a alguien más en otro momento.
  • Si la pregunta es respondida, el tema será movido a "Preguntas Solucionadas".
  • Si la pregunta no cumple con alguna de las reglas antes mencionadas o con las Normas del foro, el tema será movido a "Preguntas Cerradas" o a la Papelera.
Responder
MarkBuchwald
Aprendiz
Aprendiz
Mensajes: 17
Registrado: 05 Ago 2016 14:01
Ubicación: Edo. Anzoategui
Reputación: 0

28 Jun 2019 16:44

Explicación: Hola comunidad de pawnscript, estoy presentando un problema de Warnnigns con un sistema de Login que instale en mi GM, a simple vista veo que es problema por el Include YSI\y_amx.inc.

Cuando subo los archivos a mi host, no carga el sistema de login y cada 3m se reinicia el servidor automaticamente. Por lo que no se, o no encuentro su solucion, me podria ayudar por favor??.

Error de warnings:

Código: Seleccionar todo

C:\Users\ultimate\Desktop\gm\GH.pwn(482) : loose indentation
C:\Users\ultimate\Desktop\gm\GH.pwn(634) : loose indentation
C:\Users\ultimate\Desktop\gm\GH.pwn(645) : loose indentation
C:\Users\ultimate\Desktop\gm\GH.pwn(646) : loose indentation
C:\Users\ultimate\Desktop\gm\GH.pwn(648) : loose indentation
C:\Users\ultimate\Desktop\gm\GH.pwn(649) : loose indentation
C:\Users\ultimate\Desktop\gm\GH.pwn(1092) : loose indentation
C:\Users\ultimate\Desktop\gm\GH.pwn(1111) : loose indentation
C:\Users\ultimate\Desktop\gm\GH.pwn(2761) : loose indentation
C:\Users\ultimate\Desktop\server\pawno\include\YSI\y_amx.inc(294) : warning: recursion in AMX_GetGlobal
Disable recursion warning: #pragma disablerecursion or #pragma warning disable 238
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2017, ITB CompuPhase


1 Warning.
Este es el sistema de admin que estoy utilizando, creado por Tusso, si no me equivocó. #credito a él.
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129

#include <a_samp>
#include <zcmd>
#include <streamer>
#include <sscanf2>
#include <YSI\y_ini>

/*================================================================================================================================================================*/

#define DIALOGO_REG 1
#define DIALOGO_LOG 2
#define PATH "/Cuentas/%s.ini"

enum jInfo
{
    jContra[64],
    jDinero,
    jAdmin,
    Float:jPosX,
    Float:jPosY,
    Float:jPosZ,
}
new Info[MAX_PLAYERS][jInfo];

public OnPlayerRequestClass(playerid, classid)
{
if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOGO_LOG, DIALOG_STYLE_INPUT,"Cuenta registrada","Contraseña:","Ingresar","Salir");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOGO_REG, DIALOG_STYLE_INPUT,"Cuenta no registrada","Contraseña:","Siguiente","Salir");
    }
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
GuardarCuenta(playerid);
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOGO_REG)
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOGO_REG, DIALOG_STYLE_INPUT, "Fallo en el registro","Contraseña:","Sigueinte","Cancelar");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteString(File,"Contrasena",inputtext);
                INI_WriteInt(File,"Dinero",8000);
                INI_WriteInt(File,"Admin",0);
                INI_WriteFloat(File,"Pos_X",1958.33);
                INI_WriteFloat(File,"Pos_Y",1343.12);
                INI_WriteFloat(File,"Pos_Z",15.36);
                INI_Close(File);
		    	Info[playerid][jAdmin]=0;
		    	Info[playerid][jDinero]=0;
		    	Info[playerid][jPosX]=1958.33;
		   		Info[playerid][jPosY]=1343.12;
		    	Info[playerid][jPosZ]=15.36;
                SetPlayerSkin(playerid, 60);
                SpawnPlayer(playerid);
            }
        }

        if(dialogid==DIALOGO_LOG)
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
            	if(strcmp(inputtext, Info[playerid][jContra], true) == 0)
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, Info[playerid][jDinero]);
                    SpawnPlayer(playerid);
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOGO_LOG, DIALOG_STYLE_INPUT,"Fallo en el ingreso","Contraseña:","Ingresar","Cancelar");
                }
                return 1;
            }
        }
	return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Contrasena",Info[playerid][jContra]);
    INI_Int("Dinero",Info[playerid][jDinero]);
    INI_Int("Admin",Info[playerid][jAdmin]);
    INI_Float("Pos_X",Info[playerid][jPosX]);
    INI_Float("Pos_Y",Info[playerid][jPosY]);
    INI_Float("Pos_Z",Info[playerid][jPosZ]);
    return 1;
}

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

stock GuardarCuenta(playerid)
	{
	new INI:File = INI_Open(UserPath(playerid));
	INI_SetTag(File,"data");
	INI_WriteString(File,"Contrasena",Info[playerid][jContra]);
	INI_WriteInt(File,"Dinero",Info[playerid][jDinero]);
	INI_WriteInt(File,"Admin",Info[playerid][jAdmin]);
	GetPlayerPos(playerid,Info[playerid][jPosX], Info[playerid][jPosY], Info[playerid][jPosZ]);
    INI_WriteFloat(File,"Pos_X",Info[playerid][jPosX]);
	INI_WriteFloat(File,"Pos_Y",Info[playerid][jPosY]);
	INI_WriteFloat(File,"Pos_Z",Info[playerid][jPosZ]);
 	INI_Close(File);
	return 1;
	}
  Cantidad de llaves: Abiertas(16)-Cerradas(16) | Lineas Totales: 129
Avatar de Usuario
Angel Masci
Aprendiz
Aprendiz
Mensajes: 92
Registrado: 06 Ene 2019 22:38
Ubicación: ..::Venezuela::..
Reputación: 8

28 Jun 2019 19:00

https://github.com/Zeex/amx_assembly
Pegalo en la carpeta pawno->include->amx
Aportes:
Angel Masci

Copyright © Angel Masci . Todos los Derechos Reservados.

Avatar de Usuario
Trifasico
Aprendiz
Aprendiz
Mensajes: 139
Registrado: 21 Jun 2017 13:22
Ubicación: Venezuela
Reputación: 7

28 Jun 2019 23:42

MarkBuchwald escribió:
28 Jun 2019 16:44
Hola, las primeras Warnings o Advertencias (loose indentation), son porque hay algunas zonas con malas tabulaciones, y la otra warning del YSI intenta colocar el "#include <YSI\y_ini>" de primero en tus include, sino prueba instalando lo que dijo el compañero arriba.

Aprovecho para avisarte que dicho sistema de Tusso4 tiene algunos defectos o errores, los cuales afectan al sistema. Yo realicé un aporte solucionando dichos errores y mejorando un poco su sistema, acá te lo dejo, eres libre de usar el que quieras:

viewtopic.php?f=40&t=30767


Acá te dejo el código con las tabulaciones buenas y el include arriba (Igualmente debes tener cuidado al pegar el código, aveces se muy un poco):
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125

#include <a_samp>
#include <YSI\y_ini>
#include <zcmd>
#include <streamer>
#include <sscanf2>

/*================================================================================================================================================================*/

#define DIALOGO_REG 1
#define DIALOGO_LOG 2
#define PATH "/Cuentas/%s.ini"

enum jInfo
{
    jContra[64],
    jDinero,
    jAdmin,
    Float:jPosX,
    Float:jPosY,
    Float:jPosZ,
}
new Info[MAX_PLAYERS][jInfo];

public OnPlayerRequestClass(playerid, classid)
{
    if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOGO_LOG, DIALOG_STYLE_INPUT,"Cuenta registrada","Contraseña:","Ingresar","Salir");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOGO_REG, DIALOG_STYLE_INPUT,"Cuenta no registrada","Contraseña:","Siguiente","Salir");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
        GuardarCuenta(playerid);
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid==DIALOGO_REG)
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOGO_REG, DIALOG_STYLE_INPUT, "Fallo en el registro","Contraseña:","Sigueinte","Cancelar");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteString(File,"Contrasena",inputtext);
                INI_WriteInt(File,"Dinero",8000);
                INI_WriteInt(File,"Admin",0);
                INI_WriteFloat(File,"Pos_X",1958.33);
                INI_WriteFloat(File,"Pos_Y",1343.12);
                INI_WriteFloat(File,"Pos_Z",15.36);
                INI_Close(File);
		Info[playerid][jAdmin]=0;
		Info[playerid][jDinero]=0;
		Info[playerid][jPosX]=1958.33;
	        Info[playerid][jPosY]=1343.12;
		Info[playerid][jPosZ]=15.36;
                SetPlayerSkin(playerid, 60);
                SpawnPlayer(playerid);
            }
        }

        if(dialogid==DIALOGO_LOG)
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
            	if(strcmp(inputtext, Info[playerid][jContra], true) == 0)
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, Info[playerid][jDinero]);
                    SpawnPlayer(playerid);
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOGO_LOG, DIALOG_STYLE_INPUT,"Fallo en el ingreso","Contraseña:","Ingresar","Cancelar");
                }
                return 1;
            }
        }
	return 1;
}

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Contrasena",Info[playerid][jContra]);
    INI_Int("Dinero",Info[playerid][jDinero]);
    INI_Int("Admin",Info[playerid][jAdmin]);
    INI_Float("Pos_X",Info[playerid][jPosX]);
    INI_Float("Pos_Y",Info[playerid][jPosY]);
    INI_Float("Pos_Z",Info[playerid][jPosZ]);
    return 1;
}

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

stock GuardarCuenta(playerid)
{
	new INI:File = INI_Open(UserPath(playerid));
	INI_SetTag(File,"data");
	INI_WriteString(File,"Contrasena",Info[playerid][jContra]);
	INI_WriteInt(File,"Dinero",Info[playerid][jDinero]);
	INI_WriteInt(File,"Admin",Info[playerid][jAdmin]);
	GetPlayerPos(playerid,Info[playerid][jPosX], Info[playerid][jPosY], Info[playerid][jPosZ]);
        INI_WriteFloat(File,"Pos_X",Info[playerid][jPosX]);
	INI_WriteFloat(File,"Pos_Y",Info[playerid][jPosY]);
	INI_WriteFloat(File,"Pos_Z",Info[playerid][jPosZ]);
 	INI_Close(File);
	return 1;
}
  Cantidad de llaves: Abiertas(15)-Cerradas(15) | Lineas Totales: 125
Mis aportes:


Reglas de Pawn Script:
>> http://pawnscript.com/foro/rules <<

Mi Servidor:


Responder