|
|
|
Autor |
Mensagem |
Lemos
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. ?
//---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 |
|
|
huntergamer
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 |
|
|
tetaobom
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 |
|
|
|
|
|
|
|
|