Autor |
Mensagem |
Matheus Lebrão
Novato
Registrado: 24/08/08 Mensagens: 39 Localização: Teresópolis - RJ |
|
Não sei bem se é erro do programa ou meu... |
|
O problema é que eu coloquei um script um pouco complexo:
//---Begin Script Builder: Exibe a hora atual no label---//
SetLabelText('Objeto6', TimeToStr(Now));
//---End Script Builder---//
If GetCollidedObject1 = 'BigHead' Then Begin
If GetCollidedObject2 = 'Objeto5' Then Begin
If ReadGlobalVar('Bridge') = 'Open' Then
SetObjectPosition('Bridge', (GetObjectPositionX('Bridge') + 1), (GetObjectPositionY('Bridge') - 1), -46.8140716552734)
só que ao verificar a mensagem diz apenas:
"Syntax error: Access violaion at adress 00615D6B in module '3D Game Builder.exe'. Read of adress 00000004"
O que tá havendo??
_________________ Matheus Lebrão
Usuário do 3D Game Buider
--
www.cadeogame.com.br |
|
Qua Fev 11, 2009 10:28 am |
|
|
Edirlei
Administrador
Registrado: 15/03/08 Mensagens: 760
|
|
|
|
Não sei se é isso, mas esta faltando dois "end" dos seus dois primeiros "if".
|
|
Qua Fev 11, 2009 4:11 pm |
|
|
Mililo
Usuário
Registrado: 05/12/08 Mensagens: 366 Localização: Santo Antônio de Pádua / RJ |
|
|
|
Não entendi esse código:
If ReadGlobalVar('Bridge') = 'Open' Then
Como assim open? Acho que uma váriavel global não pode assumir um valor em texto, se fosse uma variável normal era só declará-la como string, mas var global acho que não pode não... Provavelmente o erro tá aí, é só colocar um número em vez desse open, ou criar uma váriavel open=1 por exemplo e colocar:
If ReadGlobalVar('Bridge') = Open Then
Aí sim daria certo.
Fora isso, esse aí não é código todo não é? porque se for tão faltando os ends para os begins e se não for talvez o erro possa não estar nesta parte do código.
Esse não é um erro mas não entendi para que usar 3 If's seguidos, acho que poderia ter usado and's e feito tudo não if só, embolaria menos porque precisaria só de um end, a não ser que tenha colocado else's e tal...
Acho que é só isso.
|
|
Qua Fev 11, 2009 4:14 pm |
|
|
Edirlei
Administrador
Registrado: 15/03/08 Mensagens: 760
|
|
|
|
| | Não entendi esse código:
If ReadGlobalVar('Bridge') = 'Open' Then
Como assim open? Acho que uma váriavel global não pode assumir um valor em texto, se fosse uma variável normal era só declará-la como string, mas var global acho que não pode não... Provavelmente o erro tá aí, é só colocar um número em vez desse open, ou criar uma váriavel open=1 por exemplo e colocar:
If ReadGlobalVar('Bridge') = Open Then
Aí sim daria certo. |
A variável global é uma String, não tem nada de errado nisso. Criar uma variável "open" e colocar o valor 1 nela só para comparar no if é que estaria errado, até funcionária, mas seria meio idiota fazer isso... rsrs
|
|
Qui Fev 12, 2009 1:58 am |
|
|
Mililo
Usuário
Registrado: 05/12/08 Mensagens: 366 Localização: Santo Antônio de Pádua / RJ |
|
|
|
Ah, blza , achei que não podia adicionar nome nas globais
Mas se preocupa com isso não, eu já tô acostumado a fazer coisa idiota
|
|
Sex Fev 13, 2009 10:29 am |
|
|
Matheus Lebrão
Novato
Registrado: 24/08/08 Mensagens: 39 Localização: Teresópolis - RJ |
|
|
|
| | Não sei se é isso, mas esta faltando dois "end" dos seus dois primeiros "if". |
Pensei que só precisava ter end depois de begin não?
_________________ Matheus Lebrão
Usuário do 3D Game Buider
--
www.cadeogame.com.br |
|
Sáb Fev 14, 2009 11:36 am |
|
|
Mililo
Usuário
Registrado: 05/12/08 Mensagens: 366 Localização: Santo Antônio de Pádua / RJ |
|
|
|
Ehh os end's são para finalizar os begins... o que eu quis dizer é que os if's estão com o begin mas sem os ends, por isso disse end dos if's.
Mas você conseguiu resolver o problema?
|
|
Sáb Fev 14, 2009 12:40 pm |
|
|
|