[Guia] Sistema de registro/guardado/cargado INI [COMPLETA]

Aprende lo que no sabes de este lenguaje y encuentra herramientas y códigos útiles.

Moderador: Ayudantes

Reglas del Foro
  • Si tu código es corto, no crees un tema nuevo para liberarlo, publica un mensaje en el tema [Funciones] ¡Publica tu código aquí!.
  • Si creas una guía, debes explicar el código claramente. Evita poner la explicación en forma de comentarios dentro del mismo y no olvides utilizar el BBCode correspondiente: [Pawn]Código aquí[/Pawn].
  • No postear códigos sin probar. Publicar códigos con errores (que impidan compilar el script para el cual está destinado) en este apartado es motivo de sanción.
  • Si tu código necesita plugins, includes u otros códigos adicionales para funcionar, debes mencionarlo en el mensaje.
  • Si has utilizado códigos de otros autores, recuerda colocar los créditos correspondientes. (El plagio es motivo de sanción).
  • Si tu aporte es para un GameMode en específico, debes publicar el tema en el apartado "Guías y Aportes para GameModes específicos".
Responder
Avatar de Usuario
FailLout
Avanzado
Avanzado
Mensajes: 1385
Registrado: 10 Abr 2014 14:09
Ubicación: Estados Unidos
Contactar:
Reputación: 40

25 Ene 2017 18:24

Buenas a todos los queridos usuarios de pawnoscript Invitado la guia de hoy tratara de explicar paso a paso como crear un simple guardado y cargado de cuenta en INI primero que nada.

¿Que necesitamos?
Necesitaras lo siguiente:
ncludes:
YSI\y_ini
a_samp


Tener un conocimiento basico de condicionales, si no es asi les recomiendo leer la guia de Matt primero para que tengan un concepto basico de como hacer condicionales y loops -hi

Una vez aclarado eso vamos a ello!

primero debemos crear un "Enum" para almacenar varias variables en una asi nos ahorramos mas trabajo a la hora de programar

un ejemplo de lo que digo
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14

//
new Score[MAX_PLAYERS];
new Admin[MAX_PLAYERS];
new Float:Vida[MAX_PLAYERS];
new Float:Chaleco[MAX_PLAYERS];
//
enum pInfo
{
Score,
Admin,
Float:Vida,
Float:Chaleco
}
new Info[MAX_PLAYERS][pInfo];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 14
Se puede hacer de ambas formas un guardado y cargado pero si lo hacemos creando variables que se guardaran con "new" el proceso se hara mas largo y desordenado, con enum es mas sencillo y ordenado

Ok una vez aclarado eso empecemos!
 Codigo Pawno:
1
2
3
4
5
6
7
8

enum jInformacion
{
Clave[12], //Tenemos variable clave con string de 12 caracteres
Float:Vida, //Una flotante de vida
Float:Chaleco,//flotante de chaleco
Score//escore INT
}
new Info[MAX_PLAYERS][jInformacion];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 8
Es muy importante que identifiquen las variables si son Flotantes, int,string,hexa o binario. Este tutorial sera sencillo y abarcara solamente lo mas basico, flotantes, int y string

Luego de eso ¿Que hacemos?

Nos toca crear un guardado pero antes necesitamos hacer una ruta

¿Una ruta? si una ruta asi le llamo a la definicion de donde ira guardada o donde se almacenara en este caso la cuenta
Asi que Abajo de los include pondremos
 Codigo Pawno:
1

#define Ruta_Jugador "Cuentas/%s.ini"
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Si se preguntan ¿Donde creo la carpeta "Cuentas"? esta carpeta se crea en scriptfiles. Recuerden crearla por que si no les dara bug de guardado y como en scriptfiles no hay una carpeta con dicho nombre no se guardara la misma

Una vez echo eso vamos a crear los siguientes forward. Es muy importante esto. Hay gente que le gusta hacer el guardado como stock. A mi personalmente me gusta hacerla tipo funcion
 Codigo Pawno:
1
2
3

forward Guardarcuenta(playerid);
forward Cargarcuenta_data(playerid,name[],value[]);//Es muy importante que pongan name[],value[] aca por que esas variables ayudan a cargar cada dato al jugador. Si no se crean dara "error"
forward Cargarcuenta(playerid);//Esta es para llamar el cargado...
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 3
Ok perfecto ya vamos un paso adelante!! ahora vamos a hacer el guardado de cuentas. Es muy importante que tengan en cuenta la "Clave" no se guarda con las otras variables ya que esta variable Solo se guarda 1 ves y se carga. El guardado y cargado de ella esta aparte para no provocar bugs en el "Lobby"
Asi que crearemos estos forwards !
 Codigo Pawno:
1
2

forward CargarClave_data(playerid,name[],value[]);
forward Cargarclave(playerid);
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2

Ahora vamos a lo nuestro a realizar el guardado de cuenta

Para guardar las variables, hay varias formas pero en el INI es de la siguiente
para las int
INI_WriteInt(ARCHIVO,"NOMBREVARIABLE",VARIABLE);
//float
INI_WriteFloat(ARCHIVO,"NOMBREVARIABLE",VARIABLE);
//string
INI_WriteString(ARCHIVO,"NOMBREVARIABLE",VARIABLE);
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

//crearemos este stock para ahorrarme algo de tiempo
stock Name(playerid)
{
new N[MAX_PLAYER_NAME];
GetPlayerName(playerid,N,sizeof(N));
return N;
}
public Guardarcuenta(playerid)
{
new st[128];
format(st,128,Ruta_Jugador,Name(playerid));//Marcamos el numero
new INI:File = INI_Open(st);//Hacemos la llamada
Info[playerid][Score] = GetPlayerScore(playerid);//Tenemos que hacer esto para que nuestro score se guarde
INI_WriteInt(File,"Score",Info[playerid][Score]);
GetPlayerHealth(playerid,Info[playerid][Vida]);//Tenemos que hacer esto para que nuestra vida se guarde
INI_WriteFloat(File,"Vida",Info[playerid][Vida]);
GetPlayerArmour(playerid,Info[playerid][Chaleco]);//Tenemos que hacer esto para que nuestro chaleco se guarde
INI_WriteFloat(File,"Chaleco",Info[playerid][Chaleco]);
INI_Close(File);//colgamos la llamada
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 21
Para los que no entienden, La referencia a marcamos el numero, alli le digo asi por que gracias a eso es que podemos llamar la cuenta cuando pongo la funcion INI_Open que es en sentido figurado el "Telefono" por eso digo que hacemos la llamda por que llamamos a la cuenta. El INI_Close hago referencia en colgamos la llamada por que esta funcion cierra y almacena nuestra cuenta

Ahora vamos al cargado
Como para guardar se hace con unas funciones para cargar son otras funciones
Int
INI_Int("NOMBREVARIABLE",Variable);
Float
INI_Float("NOMBREVARIABLE",Variable);
String
INI_String("NOMBREVARIABLE",Variable,TAMAÑO STRING);
 Codigo Pawno:
1
2
3
4
5
6
7

public Cargarcuenta_data(playerid,name[],value[])
{
INI_Int("Score",Info[playerid][Score]);
INI_Float("Vida",Info[playerid][Vida]);
INI_Float("Chaleco",Info[playerid][Chaleco]);
return 1;
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 7
Aca no necesitamos llamar a la cuenta aun por que estamos haciendo cargado a variables pero no le integramos valores de el guardado aun! para ello necesitamos la siguiente funcion INI_ParseFile
INI_ParseFile(filename[], remoteFormat[], bool:bFileFirst = false, bool:bExtra = false, extra = 0, bool:bLocal = false, bool:bPassTag = false) //Salido de wiki ... No necesitaremos mucho solamente lo siguiente
 Codigo Pawno:
1
2
3
4
5
6
7

public Cargarcuenta(playerid)
{
new st[128];
format(st,128,Ruta_Jugador,Name(playerid));
INI_ParseFile(st,"Cargarcuenta_data", .bExtra = false, .extra = playerid);// Asi creamos un cargado de cuenta eh ingresamos las variables al jugador, llamando Cargarcuenta_data
return 1;
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 7
Hasta aca llega esta guia Nos vemos en la parte dos!!

-hi

Edit-

Retomando la guia pasada ..... Quedamos en crear el cargado de clave, guardado de clave y el resto del registro.

Ok crearemos el cargado de clave. Te preguntaras ¿POR QUE CREAR Este cargado si no has creado el guardado? ... Es una pregunta facil el guardado se creara en su debido tiempo, cuando ya creemos el log del registro. mientras crearemos su cargado.
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12

public CargarClave_data(playerid,name[],value[])
{
INI_String("Clave",Info[playerid][Clave],12);
return 1;
}
public Cargarclave(playerid)
{
new st[128];
format(st,128,Ruta_Jugador,Name(playerid));
INI_ParseFile(st,"CargarClave_data", .bExtra = false, .extra = playerid);
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 12
Una vez creado eso vamos a el public onplayerconnect PERO! antes debemos crear un stock
 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

//abajo de  Ruta_Jugador crearemos
#define Login 1
#define Regis 2//recuerden que estos son ID 1 - 2 ... Revisen que no choquen con otros ID de DIALOGOS


stock INI_Exist(nickname[])//este stock verificara si existe la cuenta o no
{
  new tmp[128];
  format(tmp,sizeof(tmp),Ruta_Jugador, nickname);
  return fexist(tmp);
}

public OnPlayerConnect(playerid)
{
if(INI_Exist(Name(playerid)))//Si existe la cuenta ... 
{
Cargarclave(playerid);//le cargamos la clave
ShowPlayerDialog(playerid,Login,DIALOG_STYLE_PASSWORD,"Login","Su cuenta esta registrada en nuestra base de datos","Ingresar","");
}
else//Si noo...
{
ShowPlayerDialog(playerid,Regis,DIALOG_STYLE_PASSWORD,"Registro","Su cuenta no esta registrada en nuestra base de datos","Registrar","");
}
return 1;
}
  Cantidad de llaves: Abiertas(4)-Cerradas(4) | Lineas Totales: 25
Luego de crear estos dialogos... Si no sabes crear dialogos busca en el foro hay una guia donde se explican
 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

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
     case Login:
     {
         if(response)
         {
             if(strcmp(inputtext,Info[playerid][Clave],false)==0)//comparamos nuestra clave con la ingresada en el login
            {
                 //Si es igual hara esto
                SpawnPlayer(playerid);
            }
            else Kick(playerid);
         }
         else Kick(playerid);
     }
    case Regis:
    {
        if(response)
        {
            new st[128];
            format(st,sizeof(st),Ruta_Jugador,Name(playerid));
            new INI:File = INI_Open(st);
            INI_WriteString(File,"Clave",Info[playerid][Clave]);
            INI_Close(File);
            SpawnPlayer(playerid);
        }
        else Kick(playerid);
     }
}
return 1;
}
  Cantidad de llaves: Abiertas(7)-Cerradas(7) | Lineas Totales: 33
Ya tenemos nuestro registro listo ahora para que guarde la cuenta ponemos en OnPlayerDisconnect
 Codigo Pawno:
1

Guardarcuenta(playerid);
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1

PD: esta guia no tiene puntos de spawn, sistemas extra solamente lo que ven.

Guias necesarias antes de aprender esto:
http://PawnScript.com/foro/guias-aport ... 19412.html
http://PawnScript.com/foro/guias-aport ... 19546.html
http://PawnScript.com/foro/guias-aport ... 19396.html


-hi
[img]http://i.imgur.com/ewTFkYP.jpg[/img]

[url=http://pawnscript.com/foro/viewtopic.php?f=41&t=7263&p=42268#p42268]Roleplay Base v0.2 Beta[/url]

Innovando, Imaginando y creando así nacen los mejores sistemas
Luego vienen los bugs
Nacion Zombie RPG
Battlerine Royale SA-MP

Kale[x]
Aprendiz
Aprendiz
Mensajes: 31
Registrado: 28 May 2016 18:53
Ubicación: Lima
Reputación: 0

25 Ene 2017 20:10

Buena guia +1, estoy empezando en pawno y quiero empezar con un DM basico hecho por mi, con mis errores que cometa, lo que quiero saber es que como puedo hacer para crear mas enums, tanto de muertes, dinero, etc, osea como crear enums mayormente.
Avatar de Usuario
FailLout
Avanzado
Avanzado
Mensajes: 1385
Registrado: 10 Abr 2014 14:09
Ubicación: Estados Unidos
Contactar:
Reputación: 40

25 Ene 2017 20:21

Kale[x] escribió:Buena guia +1, estoy empezando en pawno y quiero empezar con un DM basico hecho por mi, con mis errores que cometa, lo que quiero saber es que como puedo hacer para crear mas enums, tanto de muertes, dinero, etc, osea como crear enums mayormente.

Pronto sacare mas guias tomare tu duda para realizar una guia de ello.

Me complace haberte ayudado!


-hi
[img]http://i.imgur.com/ewTFkYP.jpg[/img]

[url=http://pawnscript.com/foro/viewtopic.php?f=41&t=7263&p=42268#p42268]Roleplay Base v0.2 Beta[/url]

Innovando, Imaginando y creando así nacen los mejores sistemas
Luego vienen los bugs
Nacion Zombie RPG
Battlerine Royale SA-MP

Michaell
Baneado
Baneado
Mensajes: 361
Registrado: 27 Oct 2016 09:58
Ubicación: Republica Dominicana - Santo Domingo
Contactar:
Reputación: 4

26 Ene 2017 08:18

Buen Aporte! men la dvd -bye xd
¡Hola! ¿Te Gustaría Entrar?
Michaell_Gomez
HostName: | DarkGaming Roleplay | [Stats Registro]
Address: cloud1.hostingsamp.com:9006
Players: 63 / 105 -mu
Ping: 118 -fisch
Mode: DG:RP - [Versión 1.20]
Language: Español - Spanish
Avatar de Usuario
TheMaster
Aprendiz
Aprendiz
Mensajes: 229
Registrado: 26 Feb 2017 12:15
Ubicación: Maracary
Contactar:
Reputación: 8

29 Mar 2017 10:38

Gracias man me ayudaste mucho con tu registro pero te falto el guardado de la posicion del jugador ya yo se la añadi pero me ayudaste mucho :3 -laughing
x3ck0x
Aprendiz
Aprendiz
Mensajes: 65
Registrado: 19 Mar 2016 22:01
Reputación: 0

29 Mar 2017 13:17

TheMaster escribió:
29 Mar 2017 10:38
Gracias man me ayudaste mucho con tu registro pero te falto el guardado de la posicion del jugador ya yo se la añadi pero me ayudaste mucho :3 -laughing
Me podrías explicar como hiciste el guardado de posición?
Ayudando en lo que puedo...

Scripter & mapper 2013-2017*
Avatar de Usuario
FailLout
Avanzado
Avanzado
Mensajes: 1385
Registrado: 10 Abr 2014 14:09
Ubicación: Estados Unidos
Contactar:
Reputación: 40

23 Abr 2017 17:53

x3ck0x escribió:
29 Mar 2017 13:17
TheMaster escribió:
29 Mar 2017 10:38
Gracias man me ayudaste mucho con tu registro pero te falto el guardado de la posicion del jugador ya yo se la añadi pero me ayudaste mucho :3 -laughing
Me podrías explicar como hiciste el guardado de posición?
Hola mi amigo si te podria explicar como hacerlo....
Tomare como ejemplo la guia para que no te pierdas

Código: Seleccionar todo

enum jInformacion
{
Clave[12], //Tenemos variable clave con string de 12 caracteres
Float:Vida, //Una flotante de vida
Float:Chaleco,//flotante de chaleco
Score,//escore INT
/* Agregamos 3 variables flotantes para las posiciones x y z */
Float:PosX,
Float:PosY,
Float:PosZ
}
new Info[MAX_PLAYERS][jInformacion];
Luego nos dirigimos al guardado. Recuerda que estoy usando la guia como ejemplo...

Código: Seleccionar todo

public Guardarcuenta(playerid)
{
new st[128];
format(st,128,Ruta_Jugador,Name(playerid));//Marcamos el numero
new INI:File = INI_Open(st);//Hacemos la llamada
Info[playerid][Score] = GetPlayerScore(playerid);//Tenemos que hacer esto para que nuestro score se guarde
INI_WriteInt(File,"Score",Info[playerid][Score]);
GetPlayerHealth(playerid,Info[playerid][Vida]);//Tenemos que hacer esto para que nuestra vida se guarde
INI_WriteFloat(File,"Vida",Info[playerid][Vida]);
GetPlayerArmour(playerid,Info[playerid][Chaleco]);//Tenemos que hacer esto para que nuestro chaleco se guarde
INI_WriteFloat(File,"Chaleco",Info[playerid][Chaleco]);
GetPlayerPos(playerid,Info[playerid][PosX],Info[playerid][PosY],Info[playerid][PosZ]);
INI_WriteFloat(File,"PosX",Info[playerid][PosX]);
INI_WriteFloat(File,"PosY",Info[playerid][PosY]);
INI_WriteFloat(File,"PosZ",Info[playerid][PosZ]);
INI_Close(File);//colgamos la llamada
return 1;
}
Y ahora nos dirigimos al cargado del juego

Código: Seleccionar todo

public Cargarcuenta_data(playerid,name[],value[])
{
INI_Int("Score",Info[playerid][Score]);
INI_Float("Vida",Info[playerid][Vida]);
INI_Float("Chaleco",Info[playerid][Chaleco]);
INI_Float("PosX",Info[playerid][PosX]);
INI_Float("PosY",Info[playerid][PosY]);
INI_Float("PosZ",Info[playerid][PosZ]);
return 1;
}
Seguidamente agregamos lo siguiente en onplayerspawn

Código: Seleccionar todo

SetPlayerPos(playerid,Info[playerid][PosX],Info[playerid][PosY],Info[playerid][PosZ]);
Y tendrias un guardado y cargado de posicion
[img]http://i.imgur.com/ewTFkYP.jpg[/img]

[url=http://pawnscript.com/foro/viewtopic.php?f=41&t=7263&p=42268#p42268]Roleplay Base v0.2 Beta[/url]

Innovando, Imaginando y creando así nacen los mejores sistemas
Luego vienen los bugs
Nacion Zombie RPG
Battlerine Royale SA-MP

Avatar de Usuario
Kanamex
Aprendiz
Aprendiz
Mensajes: 181
Registrado: 22 Mar 2017 02:33
Ubicación: México
Contactar:
Reputación: 4

10 Jul 2017 16:48

Amigo me da estos errores:
 Codigo Pawno:
1
2
3
4
5

(151) : error 021: symbol already defined: "Score"
(182) : error 021: symbol already defined: "Score"
(417) : error 033: array must be indexed (variable "Score")
(418) : error 033: array must be indexed (variable "Score")
(425) : error 033: array must be indexed (variable "Score")
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 5
Linea 151
 Codigo Pawno:
1
2
3
4
5
6

enum pInfo
{
	Score,
};

new PlayerInfo[MAX_PLAYERS][pInfo];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 6
Linea 182
 Codigo Pawno:
1
2
3
4
5
6
7

enum jInformacion
{
	Clave[12], //Tenemos variable clave con string de 12 caracteres
	Score//escore INT //LINEA DEL ERROR
}

new Info[MAX_PLAYERS][jInformacion];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 7
Linea417-418
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

public Guardarcuenta(playerid)
	{
		new st[128];
		format(st,128,Ruta_Jugador,Name(playerid));
		new INI:File = INI_Open(st); //linea 417 del error
		Info[playerid][Score] = GetPlayerScore(playerid); //Linea 418 del error
		INI_WriteInt(File,"Score",Info[playerid][Score]);
		INI_Close(File);
	return 1;
	}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 10
Linea 425
 Codigo Pawno:
1
2
3
4
5

	public Cargarcuenta_data(playerid,name[],value[])
	{ //linea del error
	INI_Int("Score",Info[playerid][Score]);
	return 1;
	}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5
Scripter
65%
Mapper
30%
webmaster
70%
¿Quieres ver mis aportes?
Spoiler:
todos somos noobs, nadie es mas que otro y si se cree mas algun dia lo veras que te pedira ayuda en alguna ocasión.

Aportes

Crear bandas IG en gm Oz viewtopic.phpf=40&t=21128

TexDraw de entrada simple viewtopic.php?f=40&t=21390

Sistema de vagabundos simpleviewtopic.php?f=40&p=113282#p113282
Guias

Guia como poner texto en los objetos viewtopic.php?f=40&t=25347
Mapas

[Mapa]Spawn para Freerom por Snapy viewtopic.php?f=43&t=21342

[Mapa]HQ en un interior para pandilleros por Kanamex viewtopic.php?f=43&t=21687


Gm

Actualmente estoy trabajando en una gm si quieres ser parte de el proyecto manda pm
#HailGrasa prros :v

Avatar de Usuario
FailLout
Avanzado
Avanzado
Mensajes: 1385
Registrado: 10 Abr 2014 14:09
Ubicación: Estados Unidos
Contactar:
Reputación: 40

20 Jul 2017 18:44

Kanamex escribió:
10 Jul 2017 16:48
Amigo me da estos errores:
 Codigo Pawno:
1
2
3
4
5

(151) : error 021: symbol already defined: "Score"
(182) : error 021: symbol already defined: "Score"
(417) : error 033: array must be indexed (variable "Score")
(418) : error 033: array must be indexed (variable "Score")
(425) : error 033: array must be indexed (variable "Score")
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 5
Linea 151
 Codigo Pawno:
1
2
3
4
5
6

enum pInfo
{
	Score,
};

new PlayerInfo[MAX_PLAYERS][pInfo];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 6
Linea 182
 Codigo Pawno:
1
2
3
4
5
6
7

enum jInformacion
{
	Clave[12], //Tenemos variable clave con string de 12 caracteres
	Score//escore INT //LINEA DEL ERROR
}

new Info[MAX_PLAYERS][jInformacion];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 7
Linea417-418
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

public Guardarcuenta(playerid)
	{
		new st[128];
		format(st,128,Ruta_Jugador,Name(playerid));
		new INI:File = INI_Open(st); //linea 417 del error
		Info[playerid][Score] = GetPlayerScore(playerid); //Linea 418 del error
		INI_WriteInt(File,"Score",Info[playerid][Score]);
		INI_Close(File);
	return 1;
	}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 10
Linea 425
 Codigo Pawno:
1
2
3
4
5

	public Cargarcuenta_data(playerid,name[],value[])
	{ //linea del error
	INI_Int("Score",Info[playerid][Score]);
	return 1;
	}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5
En tu gm borra esto
 Codigo Pawno:
1
2
3
4
5
6
7

enum jInformacion
{
	Clave[12], //Tenemos variable clave con string de 12 caracteres
	Score//escore INT //LINEA DEL ERROR
}

new Info[MAX_PLAYERS][jInformacion];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 7
Saludos!
[img]http://i.imgur.com/ewTFkYP.jpg[/img]

[url=http://pawnscript.com/foro/viewtopic.php?f=41&t=7263&p=42268#p42268]Roleplay Base v0.2 Beta[/url]

Innovando, Imaginando y creando así nacen los mejores sistemas
Luego vienen los bugs
Nacion Zombie RPG
Battlerine Royale SA-MP

Avatar de Usuario
Kanamex
Aprendiz
Aprendiz
Mensajes: 181
Registrado: 22 Mar 2017 02:33
Ubicación: México
Contactar:
Reputación: 4

20 Ago 2017 00:41

FailLout escribió:
20 Jul 2017 18:44
Kanamex escribió:
10 Jul 2017 16:48
Amigo me da estos errores:
 Codigo Pawno:
1
2
3
4
5

(151) : error 021: symbol already defined: "Score"
(182) : error 021: symbol already defined: "Score"
(417) : error 033: array must be indexed (variable "Score")
(418) : error 033: array must be indexed (variable "Score")
(425) : error 033: array must be indexed (variable "Score")
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 5
Linea 151
 Codigo Pawno:
1
2
3
4
5
6

enum pInfo
{
	Score,
};

new PlayerInfo[MAX_PLAYERS][pInfo];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 6
Linea 182
 Codigo Pawno:
1
2
3
4
5
6
7

enum jInformacion
{
	Clave[12], //Tenemos variable clave con string de 12 caracteres
	Score//escore INT //LINEA DEL ERROR
}

new Info[MAX_PLAYERS][jInformacion];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 7
Linea417-418
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

public Guardarcuenta(playerid)
	{
		new st[128];
		format(st,128,Ruta_Jugador,Name(playerid));
		new INI:File = INI_Open(st); //linea 417 del error
		Info[playerid][Score] = GetPlayerScore(playerid); //Linea 418 del error
		INI_WriteInt(File,"Score",Info[playerid][Score]);
		INI_Close(File);
	return 1;
	}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 10
Linea 425
 Codigo Pawno:
1
2
3
4
5

	public Cargarcuenta_data(playerid,name[],value[])
	{ //linea del error
	INI_Int("Score",Info[playerid][Score]);
	return 1;
	}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5
En tu gm borra esto
 Codigo Pawno:
1
2
3
4
5
6
7

enum jInformacion
{
	Clave[12], //Tenemos variable clave con string de 12 caracteres
	Score//escore INT //LINEA DEL ERROR
}

new Info[MAX_PLAYERS][jInformacion];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 7
Saludos!
Lo resolví hace mucho jaja igualmente muchas gracias wey -nosweat -hi
Scripter
65%
Mapper
30%
webmaster
70%
¿Quieres ver mis aportes?
Spoiler:
todos somos noobs, nadie es mas que otro y si se cree mas algun dia lo veras que te pedira ayuda en alguna ocasión.

Aportes

Crear bandas IG en gm Oz viewtopic.phpf=40&t=21128

TexDraw de entrada simple viewtopic.php?f=40&t=21390

Sistema de vagabundos simpleviewtopic.php?f=40&p=113282#p113282
Guias

Guia como poner texto en los objetos viewtopic.php?f=40&t=25347
Mapas

[Mapa]Spawn para Freerom por Snapy viewtopic.php?f=43&t=21342

[Mapa]HQ en un interior para pandilleros por Kanamex viewtopic.php?f=43&t=21687


Gm

Actualmente estoy trabajando en una gm si quieres ser parte de el proyecto manda pm
#HailGrasa prros :v

Avatar de Usuario
viades15
Aprendiz
Aprendiz
Mensajes: 9
Registrado: 14 May 2014 15:56
Contactar:
Reputación: 0

28 Sep 2017 21:21

Oye enserio muchísimas gracias por el aporte, voy aprendiendo poco a poco, me ha servido la guía para entender los sistemas como son, vi que le comentaste a otro usuario sobre el Guardado/Cargado de la posición pero seria bueno que lo agregaras también al aporte.

Saludos y gracias!
Scripter: 20%

Mapper: 10%

WebMaster: 5%



“El mayor error que una persona puede cometer es tener miedo de cometer un error.” Autor: Elbert Hubbard

DontPanic
Aprendiz
Aprendiz
Mensajes: 1
Registrado: 13 Oct 2017 14:49
Reputación: 0

21 Oct 2017 11:36

No entendí casi nada y me sale un error: fatal error 100: cannot read from file: "YSI/y_ini"
Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 1049
Registrado: 05 Oct 2017 12:13
Reputación: 113

21 Oct 2017 13:12

DontPanic escribió:
21 Oct 2017 11:36
No entendí casi nada y me sale un error: fatal error 100: cannot read from file: "YSI/y_ini"
Primero lo debes de incluir de esta manera:
 Codigo Pawno:
1

#define <YSI\y_ini>
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Luego tienes que instalar la carpeta "YSI" en el fichero "include" que viene por defecto en el compilador.

- Temporalmente estoy retirado de SA-MP; por lo tanto no me envíen propuestas de proyectos.
- No respondo dudas por privado, usa la sección de preguntas.
Responder