Arma não cai junto com o ator principal e ele tem 2 nomes!!!

 
   3D Game Builder - Índice » Programação
Arma não cai junto com o ator principal e ele tem 2 nomes!!!
Autor Mensagem
Lemos
Usuário
Usuário


Registrado: 14/04/09
Mensagens: 802
Localização: Rio de Janeiro - RJ

Arma não cai junto com o ator principal e ele tem 2 nomes!!!
Amigos

Estou estudando um script de contagem regressiva mostrado na tela. Quando a contagem chega em 0, eu desabilito o ator principal e faço com que ele execute uma ação de morte. Depois de alguns testes, consegui fazer isso sem a parte do script que mexe com a arma dele, a Arma 01; o personagem é o atirador da swat. O script é um evento de mapa Mainloop
Bom, o problema é que ele cai e arma fica flutuando no ar... Não cai com ele. Fui no editor de armas e vi que ela tem uma animação de mesmo nome, death_a e seu nome é Arma01, então eu acrescentei esta animação da arma ao próprio script. Na verificação, não existe erro no script, mas quando o jogo vai rodar, ele congela, diz que Arma01 não é um objeto válido ou não foi encontrado e exibe a janela de cancelamento (QUE NUNCA FUNCIONA, EU TENHO QUE FECHAR O PROGRAMA COM CTRL+ALT+DEL).
Estou exibindo o script aqui que está dando erro, mas por enquanto eu retirei a parte da Arma01, em vermelho, o scrit termina na animação do ator principal. desta forma funciona, mas a arma fica voando. Infelizmente ele não morre simplesmente, fica tendo ataque epilético no chão toda a vida...
O que está havendo? Na animação da Arma01, ela cai junto com o ator principal, deveria funcionar...
Eu também estou meio confuso porque quando fiz esse script inicialmente eu chamei o ator principal de Player e não funcionou, tive que chama-lo de Mainactor, mas neste mesmo projeto o script do ator md2 que o persegue usa como referência o nome Player para direcioná-lo!!! Porque em alguns scripts eu tenho que chama-lo de player e eu outro de Mainactor?!!!
Bolei agora. Question?Confused

//---Begin Script Builder: Exibe contagem regressiva no label---//
function GetSec(Time:String):String;
begin
Result:=Copy(Time, 7, 2);
end;

if ReadGlobalVarDef('Time', -1) = -1 then
WriteGlobalVar('Time', 60);

var TM:Integer;
TM:=StrToInt(GetSec(TimeToStr(Now)));
if ((ReadGlobalVar('TempTime') < TM)or((TM = 0)and(ReadGlobalVar('TempTime')<>TM)))and(ReadGlobalVar('Time') > 0) then
begin
WriteGlobalVar('TempTime', TM);
WriteGlobalVar('Time', ReadGlobalVar('Time')-1);
SetLabelText('Time', IntToStr(ReadGlobalVar('Time')));
end
else
begin
if (ReadGlobalVar('Time') <= 0) then
begin
WriteGlobalVar('Time', -2);
if GetObjectAnimation('MainActor') <> 'death_a' then
SetObjectAnimation('MainActor', 'death_a');
DisableMainActorControl();
end
else
if GetObjectAnimation('Arma01') <> 'death_a' then
SetObjectAnimation('Arma01', 'death_a');

end;
//---End Script Builder---//



_________________
Lemos
http://alemdanimacao.zip.net/
Sáb Mai 23, 2009 2:35 pm Exibir perfil de usuários
huntergamer
Usuário
Usuário


Registrado: 02/05/09
Mensagens: 415

Bom pessoal desvendamos o que acontecia aqui
//---Begin Script Builder: Exibe contagem regressiva no label---//
function GetSec(Time:String):String;
begin
Result:=Copy(Time, 7, 2);
end;

if ReadGlobalVarDef('Time', -1) = -1 then
WriteGlobalVar('Time', 60);

var TM:Integer;
TM:=StrToInt(GetSec(TimeToStr(Now)));
if ((ReadGlobalVar('TempTime') < TM)or((TM = 0)and(ReadGlobalVar('TempTime')<>TM)))and(ReadGlobalVar('Time') > 0) then
begin
WriteGlobalVar('TempTime', TM);
WriteGlobalVar('Time', ReadGlobalVar('Time')-1);
SetLabelText('Time', IntToStr(ReadGlobalVar('Time')));
end
else
begin
if (ReadGlobalVar('Time') <= 0) then
begin
WriteGlobalVar('Time', -2);
DiseblePlayerMove;
if GetObjectAnimation('MainActor')<>'death_a' then
SetObjectAnimation('MainActor', 'death_a');
SetObjectAnimationMode('MainActor', 'PlayOnce');
if GetObjectAnimation('mainactorweapon')<>'death_a' then
SetObjectAnimation('mainactorweapon', 'death_a');
SetObjectAnimationMode('mainactorweapon', 'PlayOnce');
end;

_________________
Não mais tão novato
Sáb Mai 23, 2009 4:51 pm Exibir perfil de usuários
tetaobom
Novato
Novato


Registrado: 24/05/09
Mensagens: 3
Localização: bariri

o Edyrley, Me Passa Seu Msn Mano?
Tipo, comessei um jogo ai fera, e to cumas ajuda duns amigos que manjam de programação, mas temos duvidas sobre esse programa e suponhamos que temos ideias boas para seu programa e temos uma proposta pa você, se for possivel, me passe seu msn ou me adc no seu ok?
Meu é teta_o_bomano_2008@hotmail.com

Fasendo favor ai Edirlei me adc ou me passa seu msn

obrigado pela atenção

_________________
LOL - LOL - LOL
Dom Mai 24, 2009 3:17 am Exibir perfil de usuários
   3D Game Builder - Índice » Programação
Página 1 de 1