Posts: 452
Threads: 126
Joined: Aug 2014
Reputation:
0
Buenas, estoy viendo un par de tutoriales e iba a comenzar a crear mi sistema de registro y todo eso, pero mi duda es que si hay algъn problema si almaceno demasiados datos en una sola base de datos, es decir, si almaceno: nombre, contraseсa, score, muertes, y como 20 cosas mбs.
їPuede causar algъn error almacenar muchas cosas en una sola base de datos?
Desde ya muchas gracias.
EDIT: Perdуn, se me olvidу mencionar que estoy usando SQLite.
Posts: 1,642
Threads: 35
Joined: Nov 2011
Reputation:
0
No si lo haces bien, por algo las bases de datos estбn tan popularizadas. Y no interviene que uses SQLite, es la misma estructura, salvo en las funciones que quizб varнen. Separalos por tablas, pero si son variables individules y simples de jugadores como las que tъ dijiste no conviene meterlas en otra, hace tiempo hice un sistema de inventarios y el jugador debнa de tener posibilidad de agrandar el inventario, asн de 10 a 15, de 15 a 25, etc.. El caso es que no iba a crear columnas como: inv1, cantidad1, inv2, cantidad2, serнan demasiadas y nada me asegura que el jugador las use todas.
Creй otra tabla llamada 'Inventario' y al cargar o guardar datos era indexado a los datos del usuario segъn su ID de cuenta, todo funcionу muy bien.
Posts: 14
Threads: 3
Joined: Aug 2013
Reputation:
0
Crea una funciуn que al spawnear haga esto
AsignarDatosAlJugador(playerid)
{
cache_get_field_content();// esta funcion da a obtener/traer un string o cadena de texto
un ejemplo seria
cache_get_field_content(0, "strPassword", Jugador[playerid][Password], cMySQL, 129);
el 0 es el resultado de la bd, el "strPassword" es el campo que quieres coger de la bd, el Jugador[playerid][Password] es el valor que quieres que contenga este valor traido de la bd, el 129 es el tamaсo o caracteres que quieres que contenga.
PARA TRAER UN VALOR ENTERO ES DIFERENTE SE ULTILIZA ESTA FUNCION:
cache_get_field_content_int();
Un ejemplo seria:
Jugador[playerid][Score] = cache_get_field_content_int(0, "intScore");
el Jugador[playerid][Score] es el valor que quieras que contenga el valor traido, el 0 es el resultado de la bd, el "intScore" es el que campo que quieres coger de la bd!
return 1;
}
Posts: 2,524
Threads: 109
Joined: Sep 2009
Reputation:
0
Amigo, aunque ya te dijeron como hacerlo quiero aclarar que las bases de datos SQL estбn diseсadas para mucha informaciуn, puedes tener cientos de columnas en una tabla sin problemas. La verdad, casi nunca se requieren tanta ya que existen maneras de hacerlo mбs eficaz y dinбmico como mencionу SickAttack.