[Ajuda] MySQL Save
#1

Eai galera, tranquilo? Criei um sistema de gerar a placa do veнculo e ele funciona quase perfeitamente. Implantei dentro da gamemode o sistema que funciona corretamente, cria a placa e salva a placa individualmente dos veнculos, mas tem um porйm. Coloquei para salvar na MySQL normalmente, mas acho que tem um erro dentro do Code da MYSQL que nгo armazena a placa corretamente, buga e gera o nъmero 83 para todos. Oque estб incorreto? Quando o gamemode й reiniciado ele exclui a placa do veнculo, ou seja. Ele nгo salva/carrega.

CУDIGO N°1
Код:
`carPlate` int(12) DEFAULT '0',
A placa padrгo й setada por nъmeros em random de 5 digitos e na frente deles o padrгo, LS-Nъmero. Bбsicamente assim:

CУDIGO N°2
Код:
format(string, sizeof(string),"LS-%d",number); //O number gera um random de 5 digitos.
SetVehicleNumberPlate(carid, string);
Eu acho que o erro estб dentro da programaзгo da MYSQL, no cуdigo n°1. Como que eu devo deixar o default quando й dessa maneira? Deixo em int(12), varchar(5), ou oque?
Reply
#2

INT significa que o campo sу aceitarб nъmeros inteiros, enquanto VARCHAR aceitar qualquer caractere.
Reply
#3

Mas se eu alterar para Varchar 5 (quantidade de nъmeros) Vai funcionar corretamente? Pensei que varchar fosse utilizado somente para letras.
Reply
#4

Quote:
Originally Posted by iTzMatheus
Посмотреть сообщение
Mas se eu alterar para Varchar 5 (quantidade de nъmeros) Vai funcionar corretamente? Pensei que varchar fosse utilizado somente para letras.
Depende de como sгo feitas suas consultas. Poderia posta-las?
Reply
#5

atй INT mesmo dб pra vocк salvar as placas , mostre-me o cуdigo que vocк usa pra salvar ...
Reply
#6

No comando que irб gerar a placa й assim:

Код:
CarData[carid][carRegistrado] = 1 // Aqui seta quando o carro й registrado ou nгo.;

    new number = 11111 + random(99999);
    CarData[carid][carPlate] = number;


    format(string, sizeof(string),"LS-%d",number);
    SetVehicleNumberPlate(carid, string); // Setou a placa do carro
    Car_Save(carid); // A funзгo Car Save й da MYSQL e salva as ediзхes em veнculo, tudo salva menos a placa.
Na gamemode a MYSQL utiliza a funзгo Car_Save para salvar os veнculos e a Car_Load para carrega-los.

Na Car_Load:

Код:
CarData[i][carPlate] = cache_get_field_int(i, "carPlate");
Na Car_Save:

Код:
	format(query, sizeof(query), "UPDATE `cars` SET `carModel` = '%d', `carOwner` = '%d', `carPosX` = '%.4f', `carPosY` = '%.4f', `carPosZ` = '%.4f', `carPosR` = '%.4f', `carColor1` = '%d', `carColor2` = '%d', `carPaintjob` = '%d', `carLocked` = '%d', `carPlate` = '%d', `carRegistrado` = '%d'",
E quando a gamemode inicia ela chama o Car_Load e verifica as table's criadas. Oque acontece com o sistema й que, a placa sempre й setada normal. Mas quando a placa й setada e chama o Car_Save dentro da DB ele fica com a placa 83, nгo seta a placa correta. E quando carrega a GM apуs um GMX ou fecha-la, ele nгo seta novamente.
Reply
#7

Acontece que a sua consulta nгo possui uma clбusula WHERE, portanto o comando UPDATE entende que deve alterar TODAS as linhas da tabela.

Recomendo tambйm que use um ID ъnico para cada linha da tabela, isto й chamado de PRIMARY KEY.

Domine SQL: https://www.codecademy.com/learn/learn-sql
Reply
#8

Leia um pouco:

https://sampforum.blast.hk/showthread.php?tid=356261
https://www.youtube.com/watch?v=TMjhd95kAy8
Reply


Forum Jump:


Users browsing this thread: 6 Guest(s)