|
|
|
Autor |
Mensagem |
kleiton157
Usuário
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
Existe algo para substituir um SaveDOUBLEToFile |
|
assim, eu preciso salvar escrito assim...
| | savestringtofile('C:\Savefiles\positionx','px := '+getobjectpositionx('Player')) ;
|
mais como se percebe, isso não é só uma string, tem string e float, por isso da um error acusando que é um double...
como salvar um double?
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Qui Mar 15, 2012 4:53 pm |
|
|
Edirlei
Administrador
Registrado: 15/03/08 Mensagens: 760
|
|
|
|
Converta o valor Double para String usando a função FloatToStr.
function FloatToStr(Value: Float): String;
|
|
Qui Mar 15, 2012 6:14 pm |
|
|
kleiton157
Usuário
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
|
|
mais como ficaria?
a minha var se chama px e é uma Float
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Qui Mar 15, 2012 8:59 pm |
|
|
kleiton157
Usuário
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
|
|
mais como ficaria?
a minha var se chama px e é uma Float
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Qui Mar 15, 2012 9:00 pm |
|
|
welgomes
Usuário
Registrado: 10/07/11 Mensagens: 827 Localização: São Paulo - Capital |
|
Re: Existe algo para substituir um SaveDOUBLEToFile |
|
| | savestringtofile('C:\Savefiles\positionx','px := '+ FloatToStr(getobjectpositionx('Player'))); |
Vejo que você tem um pouco de dificuldade com expressões, então vou fazer passo-a-passo para você entender o que acontece nas expressões:
| | savestringtofile('C:\Savefiles\positionx','px := '+ FloatToStr(getobjectpositionx('Player'))); |
Primeiro será resolvido o getobjectpositionx('Player'), supor que é 350
| |
savestringtofile('C:\Savefiles\positionx','px := '+ FloatToStr(350))
|
Agora será resolvido FloatToStr(350)
| |
savestringtofile('C:\Savefiles\positionx','px := ' + '350')
|
Agora as string's são concatenadas (juntadas)
| |
savestringtofile('C:\Savefiles\positionx', 'px := 350')
|
E finalmente a linha px := 350 é salva no arquivo positionx.
|
|
Sex Mar 16, 2012 1:33 am |
|
|
kleiton157
Usuário
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
|
|
Muito bom welgomes, desculpa ai, e valeu a paciência
ficou assim
| | savestringtofile('C:\Savefiles\positionx','px := ' +FloatToStr(getobjectpositionx('Player'))) ; |
agora, uma pergunta que deve ser respondida rapidinho,mais eu to com burrice e não to conseguindo:
tem como pular linha?
se por assim:
| | savestringtofile('C:\Savefiles\positionx','px := ' +FloatToStr(getobjectpositionx('Player'))) ;
savestringtofile('C:\Savefiles\positionx',+'pz := ' +FloatToStr(getobjectpositionz('Player'))) ;
|
ai só salva o 'Z', mais eu queria que ficasse um em cima do outro, tipo assim
| |
px := talz
py := talz
pz := talz
|
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Sex Mar 16, 2012 9:41 am |
|
|
welgomes
Usuário
Registrado: 10/07/11 Mensagens: 827 Localização: São Paulo - Capital |
|
Pular linha no arquivo texto |
|
Dependendo da linguagem ou função, talvez na string ela entenda caracteres de comando:
\n - informa para pular linha, ou seja, como você tivesse apertado ENTER
então para salvar
px := talz
py := talz
A string seria: 'px := 215\npy := 350'
Na função ficaria
| | savestringtofile('C:\Savefiles\positionx', 'px := 215\npy := 350'); |
Mas tem que testar eu não sei se o 3D Game Builder e a funçao savestringtofile, aceita caractere de comando.
|
|
Sex Mar 16, 2012 5:21 pm |
|
|
kleiton157
Usuário
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
|
|
não funciona
mais enfim, ficou assim:
um botão chamado save com a seguinte script
| | SaveStringToFile('C:\Savefiles\positionx.txt','px := '+Floattostr(getobjectpositionX('Player')));
SaveStringToFile('C:\Savefiles\positiony.txt','py := '+Floattostr(getobjectpositionY('Player')));
SaveStringToFile('C:\Savefiles\positionz.txt','pz := '+Floattostr(getobjectpositionZ('Player')));
SaveStringToFile('C:\Savefiles\level.txt','lv := '+Floattostr(readglobalvar('Level')));
SaveStringToFile('C:\Savefiles\exp.txt','exp := '+Floattostr(readglobalvar('exp')));
|
até aqui tudo bem, salva nos blocos de notas la no diretório certinho
agora vem o problema:
um botão chamado load com a seguinte script:
| | SetObjectScript('load','OnInteract','C:\Savefiles\positionx.txt');
SetObjectScript('load','OnInteract','C:\Savefiles\positiony.txt');
SetObjectScript('load','OnInteract','C:\Savefiles\positionz.txt');
SetObjectScript('load','OnInteract','C:\Savefiles\level.txt');
SetObjectScript('load','OnInteract','C:\Savefiles\exp.txt');
var px:Float;
var py:Float;
var pz:Float;
var lv:Float;
var exp:Float;
setobjectposition('Player',px,1+py,pz);
|
quando ele da load, só teleporta para o mesmo local, se eu salvar em outro lugar, ele vai para outro lugar
eu já verifiquei os blocos de notas, estão todos corretos, mais o load não vai...
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Sáb Mar 17, 2012 1:07 pm |
|
|
|
|
|
|
|
|