SA-MP Forums Archive
[Ajuda] Salvamento de float/getpos MYSQL casa - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Salvamento de float/getpos MYSQL casa (/showthread.php?tid=556909)



Salvamento de float/getpos MYSQL casa - maikons - 12.01.2015

Meu amigo me pediu para fazer esse tуpico agora, pq ele meio que desistiu, ele tava tentando que eu fize-se de outra forma pra ver se conseguia, mas nada que eu troca-se sу gerava erros ou nгo funcionava, acabei fazendo parecido com o dele

Nуs nгo sabemos o porque, mas quando nуs criamos uma casa й pegado a posiзгo do player e jogado para as posiзхes OutX, pegando a X do player e assim para Y e Z e qnd isso vai para o banco de dados fica uma posiзгo um pouco diferente do que a posiзгo que era pra estar por exemplo

Criamos uma casa:
Essa era a posiзгo X,Y,Z no /save
X: 2495.3486
Y: -1690.9208
Z: 14.7656

E essa era a OUT X,Y,Z que ficou salva no banco de dados
X: 2495.35
Y: -1690.92
Z: 14.766

Estб tudo sendo arredondado e saindo da posiзгo certa parece, nгo sabemos o porque, e ele entende mais de logica do que eu e nгo consegue resolver, jб nгo sei mais o que fazer, ele diz que o problema estб relacionado ao MYSQL jб que ele havia feito em DINI e funcionava absolutamente certo e quando cria a casa tudo funciona certo, absolutamente certo, quando reinicia o servidor a casa estб toda fora da posiзгo certa

Aqui estб o sistema de casas:
http://pastebin.com/b8rj76mF

E aqui uma img do banco de dados:
http://i.imgur.com/1LvmXns.png

Nгo hб nenhum erro no MYSQL.LOG, sу nгo sabemos porque diabos isso fica arredondando


Re: Salvamento de float/getpos MYSQL casa - Gii - 12.01.2015

Ao invйs de float use double ou decimal!

Mas double deve suprir sua necessidade!


Re: Salvamento de float/getpos MYSQL casa - maikons - 12.01.2015

Quote:
Originally Posted by iCasTiel
Посмотреть сообщение
Ao invйs de float use double ou decimal!

Mas double deve suprir sua necessidade!
Pos que era pra ser
2523.1970
-1679.2944
15.4970

Pos que salvou
2523.197
-1679.294
15.497

Parece que em vez de cortar 2, cortou 1 dessa vez, qual a diferenзa entre FLOAT e DOUBLE e DECIMAL?
FLOAT, nгo deu certo, nem DOUBLE, devo fazer com DECIMAL? Mas preciso saber a diferenзa pra nгo chutar no escuro o ou sу seguir


EDIT:
Jб o decimal, salvou assim:
2495
-1691
15


Re: Salvamento de float/getpos MYSQL casa - Gii - 12.01.2015

http://certificacaobd.com.br/2012/10...os-data-types/


Re: Salvamento de float/getpos MYSQL casa - maikons - 12.01.2015

Vlw pela explicaзгo, entгo o que muda й a quantidade de dados que da pra armazenar
O double ficou faltando um, como eu coloco o tamanho de um decimal pra ficar as coordenadas? Pq nгo ta indo numero com virgula se eu coloco
decimal(10,0) fica os numeros inteiros arredondados

Se eu coloco 10,10 fica 0,999999


Re: Salvamento de float/getpos MYSQL casa - PT - 12.01.2015

Sempre usei REAL nunca tive problemas, no caso eu uso SQLite porem tenho a certeza que funciona tambйm no MySQL, vi aqui: http://dev.mysql.com/doc/refman/4.1/...ric-types.html


Re: Salvamento de float/getpos MYSQL casa - maikons - 12.01.2015

Quote:
Originally Posted by PT
Посмотреть сообщение
Sempre usei REAL nunca tive problemas, no caso eu uso SQLite porem tenho a certeza que funciona tambйm no MySQL, vi aqui: http://dev.mysql.com/doc/refman/4.1/...ric-types.html
Quando eu coloco real vai pra double automatico, deve ter um jeito certe de colocar o decimal com um valor certo ou sei lб, alguйm ajuda pra eu nгo ficar dando tiro no escuro!


Re: Salvamento de float/getpos MYSQL casa - maikons - 12.01.2015

Ninguem sabe gente?


Re: Salvamento de float/getpos MYSQL casa - maikons - 13.01.2015

Pessoal ninguйm sabe?


Re: Salvamento de float/getpos MYSQL casa - [BOPE]Seu._.Madruga - 13.01.2015

Nas Floats ao invйs de usar:

PHP код:
%
Tente usar assim:

"64.53"
PHP код:
%.2f 
"64.532"
PHP код:
%.3f 
"64.5321"
PHP код:
%.4f 
PHP код:
mysql_format(ConnectMYSQLquerysizeof(query), "INSERT INTO `houses` (`ID`, `OutPosX`, `OutPosY`, `OutPosZ`, `InPosX`, `InPosY`, `InPosZ`, `World`, `Price`, `Interior`, `Locked`, `Dono`, `FHQ`, `Money`, `Maconha`, `Owner`) VALUES ('%d', '%.4f', '%.4f', '%.4f', '%.4f', '%.4f', '%.4f', '%d', '%d', '%d', '%d', '%s', '%d', '%d', '%d', '%d')"
,
    
HouseInfo[houseid][ID],
    
HouseInfo[houseid][OutPosX],
    
HouseInfo[houseid][OutPosY],
    
HouseInfo[houseid][OutPosZ],
    
HouseInfo[houseid][InPosX],
    
HouseInfo[houseid][InPosY],
    
HouseInfo[houseid][InPosZ],
    
HouseInfo[houseid][World],
    
HouseInfo[houseid][Price],
    
HouseInfo[houseid][Interior],
    
HouseInfo[houseid][Locked],
    
HouseInfo[houseid][Dono],
    
HouseInfo[houseid][FHQ],
    
HouseInfo[houseid][Money],
    
HouseInfo[houseid][Maconha],
    
HouseInfo[houseid][Owner])

Bom eu acho que possa ser isto, jб que estб dando tiro no escuro custa nada testar.

Se ajudei avisa