їCуmo guardo (guardar me refiero en el server) mis armas? (MySQL)
#1

Tengo el siguiente problema:

Intentй seguir la guнa de acб pero mi tabla principal ya estб hecha y por algъn motivo no me deja agregar la foreign key (tampoco pude ni lo entendн muy bien). El tema es que no sй como hacer para guardar todas las armas de cada slot y por algъn motivo no hay nada en internet. Alguna soluciуn?
Estoy usando MySQL R41

Edito por las dudas: No estoy pidiendo una modificaciуn a mi cуdigo, sino algъn tutorial o algo que explique cуmo hacer, sino voy a tener que agregar 26 columnas a mi tabla de usuarios, lo cual va a terminar como con... 40? columnas, quizбs mбs, no lo veo muy efectivo
Reply
#2

Si querйs guardar las armas con MySQL vas a tener que guardarlas columna por columna.

Puedes guardarla por el tipo de arma:
- ArmaBlanca
- Pistola
- Escopeta
- Subfusil
- Fusil


No sй si a eso te referнs o quй, es lo que entendн.
Reply
#3

Quote:
Originally Posted by GlobitoPawn
Посмотреть сообщение
Si querйs guardar las armas con MySQL vas a tener que guardarlas columna por columna.

Puedes guardarla por el tipo de arma:
- ArmaBlanca
- Pistola
- Escopeta
- Subfusil
- Fusil


No sй si a eso te referнs o quй, es lo que entendн.
Creo que voy a tener que agregar los 13 slots para cada cosa.
Mi idea era guardar las armas en otra tabla, pero se me hace imposible relacionar ID del usuario en la tabla donde se registrу con la tabla donde estбn las armas.

Me refiero a algo como...

Tabla usuarios
________________________________________________
| ID | Nombre | Password | Dinero |
________________________________________________

Tabla armas
________________________________________________
| ID | Arma1| Municion1| Arma2 | Municion2
________________________________________________


Y relacionar ID de usuario con ID de la tabla de armas.
En fin, explicarlo es mбs dificil que agregar 23 columnas nuevas
Reply
#4

Utiliza el nombre de usuario para relacionarlas.
Reply
#5

Quote:
Originally Posted by GlobitoPawn
Посмотреть сообщение
En vez del ID utiliza el nick para relacionarlas.
La idea es buena pero la hora no me ayuda, un ejemplo rбpido?
Creo que voy a tener que hacerlo maсana

La otra consulta, podrй hacerlo con un for para evitarme escribir 26 lineas de mбs?
Reply
#6

Quote:
Originally Posted by nikotragedy
Посмотреть сообщение
La idea es buena pero la hora no me ayuda, un ejemplo rбpido?
Creo que voy a tener que hacerlo maсana

La otra consulta, podrй hacerlo con un for para evitarme escribir 26 lineas de mбs?
La tabla serнa algo asн:
________________________________________________
| ID | Nombre | Arma1| Municion1| Arma2 | Municion2 ..
________________________________________________

Al momento de realizar la consulta serб WHERE `Nombre`='%e'.
Desconozco esa versiуn MySQL pero para que te des una idea:
Код:
MySQL plugin versiуn R39-3

//ENUM PARA EL ALMACENAMIENTO
enum DatosDeArmas
{
  Pistola,  
  PistolaBalas
};
new DatosArmas[MAX_PLAYERS][DatosDeArmas];


//CONSULTA
new nombre[MAX_PLAYER_NAME], query[150];
GetPlayerName(playerid, nombre, sizeof(nombre));

mysql_format(Conexion, query, sizeof(query), "SELECT * FROM `laTabla` WHERE `Nombre`='%e'", nombre);
mysql_pquery(Conexion, query, "CargarDatos","d", playerid);


//CARGAR DATOS
forward CargarDatos(playerid);
public CargarDatos(playerid)
{
  new Rows;
  Rows = cache_get_row_count();
  if(Rows) //Si encontrу la tabla con el nombre de usuario cargarб los datos.
   {
     DatosArmas[playerid][Pistola] = cache_get_row_int(0, 2);
   }
  return 1;
}
Reply
#7

Quote:
Originally Posted by GlobitoPawn
Посмотреть сообщение
La tabla serнa algo asн:
________________________________________________
| ID | Nombre | Arma1| Municion1| Arma2 | Municion2 ..
________________________________________________

Al momento de realizar la consulta serб WHERE `Nombre`='%e'.
Desconozco esa versiуn MySQL pero para que te des una idea:
Код:
MySQL plugin versiуn R39-3

//ENUM PARA EL ALMACENAMIENTO
enum DatosDeArmas
{
Pistola,
PistolaBalas
};
new DatosArmas[MAX_PLAYERS][DatosDeArmas];


//CONSULTA
new nombre[MAX_PLAYER_NAME],query[150];
GetPlayerName(playerid, nombre, sizeof(nombre));

mysql_format(Conexion, query, sizeof(query), "SELECT * FROM `laTabla` WHERE `Nombre`='%e'", nombre);
mysql_pquery(Conexion, query, "CargarDatos","d", playerid);


//CARGAR DATOS
forward CargarDatos(playerid);
public CargarDatos(playerid)
{
  new Rows;
  Rows = cache_get_row_count();
  if(Rows)
   {
     DatosArmas[playerid][Pistola] = cache_get_row_int(0, 2);
   }
  return 1;
}
Es buena, igual de ansioso me mandй y cree toda la tabla de nuevo en InnoDB para relacionar ID, cuestiуn que ahora tampoco me guarda las armas maсana verй de usar tu cуdigo. Gracias!
Reply
#8

Quote:
Originally Posted by nikotragedy
Посмотреть сообщение
Es buena, igual de ansioso me mandй y cree toda la tabla de nuevo en InnoDB para relacionar ID, cuestiуn que ahora tampoco me guarda las armas maсana verй de usar tu cуdigo. Gracias!
En lo personal cuando trabajo con mбs de 1 tabla que guardan datos del mismo usuario uso el nick para evitar cualquier tipo de problemas, generalmente el ID siempre lo usй para llevar como un conteo de los datos.

Cualquier cosa no olvides comentarla y quizб te pueda ayudar o cualquier otra persona que estй en el foro, saludos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)