 |
 |
 |
| Autor |
Mensagem |
Edno Rodrigues
Usuário


Registrado: 07/09/09 Mensagens: 158 Localização: Tomb Raider |
|
Colocar Vida nos inimigos |
|
Ola, eu pansei um tempão, tentando achar o Scrip certo para programa o espantalho, com o exemplo que o Lemos me deu para colocar vida no Ator e também restaura vida, fucionou direitinho, agora coloquei a vida no espantalho, para fazer um teste eu coloquei dois label : um com o nome de VIDA e outro com o nome ESPANTALHO, eu conseguir,más tem um problema que não conseguir desifra, observe a programação::
Coloquei Vida 500 para o Ator Principal e para o espantalho coloquei espantalho 300, ficou Assim....
//--Ator Principal
SetLabelText('Objeto4', +ReadGlobalVar('Vida'));
//--espantalho
SetLabelText('Objeto6', +ReadGlobalVar('espantalho'));
//---vida dos Atores---//
WriteGlobalVar('Vida', 500);
WriteGlobalVar('espantalho', 300);
if Copy(GetCollidedObject1(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject2 = 'Objeto1') then
begin
if ReadGlobalVar('espantalho') > 0 then
WriteGlobalVar('espantalho', ReadGlobalVar('espantalho')-20);
begin
ExplodeObject('Objeto1', 3, 30);
DestroyObject('Objeto1');
end;
end;
if Copy(GetCollidedObject2(), 0, 6) = 'Bullet' then
if (GetCollidedObject1 = 'Objeto1') then
begin
if ReadGlobalVar('espantalho') > 0 then
WriteGlobalVar('espantalho', ReadGlobalVar('espantalho')-20);
ExplodeObject('Objeto1', 3, 30);
DestroyObject('Objeto1');
end;
end;
Tudo OK e verificado, executando o teste, o espantalho morre com um tiro só, quando eu apago os Scripts Explode e o DestroyObject, o espantalo começa a perder vida de -20 a cada tiro acertado, após eu tentei colocando Begin abaixo do Script WriteGlobalVar('espantalho',ReadGblobalVar('espantalho')-20);e da ERRO, más tirando o Begin da Certo mais o espantalho só fica perdendo vida quando eu tiro os 2 Scripts que mostrei anteriomente, esse é o Scrips que fortaleçe os inimigos colocando vidas neles.
if Copy(GetCollidedObject1(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject2 = 'Objeto1') then
begin
if ReadGlobalVar('espantalho') > 0 then
WriteGlobalVar('espantalho', ReadGlobalVar('espantalho')-20);
Begin
end;
end;
if Copy(GetCollidedObject2(), 0, 6) = 'Bullet' then
if (GetCollidedObject1 = 'Objeto1') then
begin
if ReadGlobalVar('espantalho') > 0 then
WriteGlobalVar('espantalho', ReadGlobalVar('espantalho')-20);
end;
end;
Agora o que ta faltando para matar o espantalho ( Explode ou destruir ) quando os tiros zera sua Vida... preciso da Ajuda de Vocês.......
Abraço á todos.
|
|
| Qui Fev 24, 2011 2:45 am |
|
 |
Lemos
Usuário


Registrado: 14/04/09 Mensagens: 803 Localização: Rio de Janeiro - RJ |
|
Re: Colocar Vida nos inimigos |
|
Cara, eu to meio corrido aqui, mas tentou isso:
//--Ator Principal
SetLabelText('Objeto4', 'Vida: '+ReadGlobalVar('Vida'));
//--espantalho
SetLabelText('Objeto6', 'Espantalho: '+ReadGlobalVar('espantalho'));
//---vida dos Atores---//
WriteGlobalVar('Vida', 500);
WriteGlobalVar('espantalho', 300);
if Copy(GetCollidedObject1(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject2 = 'Objeto1') then
begin
if ReadGlobalVar('espantalho') > 0 then
begin
WriteGlobalVar('espantalho', ReadGlobalVar('espantalho')-20);
ExplodeObject('Objeto1', 3, 30);
DestroyObject('Objeto1');
end;
end;
if Copy(GetCollidedObject2(), 0, 6) = 'Bullet' then
if (GetCollidedObject1 = 'Objeto1') then
begin
if ReadGlobalVar('espantalho') > 0 then
WriteGlobalVar('espantalho', ReadGlobalVar('espantalho')-20);
ExplodeObject('Objeto1', 3, 30);
DestroyObject('Objeto1');
end;
end;
Eu troquei um begin de lugar aqui, no primeiro script e acrescentei uma frase no seu label. Acho que tinha que inverter alguma coisa nos scripts de colisão, com o Object1, mas não estou bem lembrado, vou olhar meu tutorial.
Anota o seu script original e faz um teste com essa opção e vê se melhora.
Abraço
_________________ Lemos
http://alemdanimacao.zip.net/
 |
|
| Qui Fev 24, 2011 11:15 am |
|
 |
kleiton157
Usuário


Registrado: 06/05/11 Mensagens: 1008 Localização: Nycolle minha vida!!! |
|
|
|
como fazer isso com uma espada?
|
|
| Qua Nov 02, 2011 9:53 pm |
|
 |
dinastygames
Novato


Registrado: 25/02/12 Mensagens: 3 Localização: Goiania |
|
hehe olha aki |
|
Active=session{Delphi}
turn;on
//--Ator Principal
SetLabelText('Objeto4', 'Vida: '+ReadGlobalVar('Vida'));
//--espantalho
SetLabelText('Objeto6', 'Espantalho: '+ReadGlobalVar('espantalho'));
WriteGlobalVar('Vida', 500);
WriteGlobalVar('espantalho', 300);
if Copy(GetCollidedObject1(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject2 = 'Objeto1') then
begin
if ReadGlobalVar('espantalho') > 0 then
begin
WriteGlobalVar('espantalho', ReadGlobalVar('espantalho')-20);
ExplodeObject('Objeto1', 3, 9 ;
DestroyObject('Objeto1');
finish;
if Copy(GetCollidedObject2(), 0, 6) = 'Bullet' then
if (GetCollidedObject1 = 'Objeto1') then
begin
<if>destroyset
get('espantalho')<desability>turn('actor') <esse e o ator principal e um exemplo !!!
if ReadGlobalVar('espantalho') > 0 then
WriteGlobalVar('espantalho', ReadGlobalVarchar('espantalho')-20);
ExplodeObject('Objeto1', 3, 9 ;
DestroyObject('Objeto1');
finish;off
eu modifikei com script Dhelfi
e deu certo !!
|
|
| Sáb Fev 25, 2012 10:19 pm |
|
 |
Viciadao
Usuário


Registrado: 27/11/11 Mensagens: 166 Localização: No msn |
|
|
|
Olhe antes de postar um código use:
 |  | Active=session{Delphi}
turn;on
//--Ator Principal
SetLabelText('Objeto4', 'Vida: '+ReadGlobalVar('Vida'));
//--espantalho
SetLabelText('Objeto6', 'Espantalho: '+ReadGlobalVar('espantalho'));
WriteGlobalVar('Vida', 500);
WriteGlobalVar('espantalho', 300);
if Copy(GetCollidedObject1(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject2 = 'Objeto1') then
begin
if ReadGlobalVar('espantalho') > 0 then
begin
WriteGlobalVar('espantalho', ReadGlobalVar('espantalho')-20);
ExplodeObject('Objeto1', 3, 9;
DestroyObject('Objeto1');
finish;
if Copy(GetCollidedObject2(), 0, 6) = 'Bullet' then
if (GetCollidedObject1 = 'Objeto1') then
begin
<if>destroyset
get('espantalho')<desability>turn('actor') <esse e o ator principal e um exemplo !!!
if ReadGlobalVar('espantalho') > 0 then
WriteGlobalVar('espantalho', ReadGlobalVarchar('espantalho')-20);
ExplodeObject('Objeto1', 3, 9;
DestroyObject('Objeto1');
finish;off |
_________________ 1°Sabia que amanhã é o dia mundial do corno? Não? Pois é ... o corno é sempre o último a saber.
2°As mulheres só não dominaram o mundo porque ainda estão tentando decidir a roupa certa para a ocasião.
3°Eu não acredito em coincidência, acredito em destino. -É mesmo? Eu também. -Nossa, que coincidência!
4°"Em briga de Saci, qualquer chute é voadora!"
5°Antes de falar, ouça. Antes de agir, pense. Antes de desistir, tente. Antes de cagar, veja se tem papel."
6°"O amor às vezes é como a gasolina. Custa caro, acaba rápido e pode ser substituída pelo álcool."
7°E disse o Saci: "- Não demoro, vou num pé e volto no outro." Ele nunca mais voltou.
8°Se eu fosse um anjinho te levaria para o céu,como não sou te levo pro motel
9°Se eu fosse um anjinho te levaria voando,como não sou te f.o.d.h.e e vai andando
10°Fica tranquilo! Eu nunca dirigi, mas tantos anos de Mario Kart devem servir para alguma coisa. |
|
| Sáb Fev 25, 2012 11:05 pm |
|
 |
StenioAguiar
Usuário


Registrado: 09/06/10 Mensagens: 86
|
|
|
|
Edno ver se assim funciona
 |  | //--Ator Principal //
SetLabelText('Objeto4', +ReadGlobalVar('Vida'));
//--espantalho //
SetLabelText('Objeto6', +ReadGlobalVar('espantalho'));
//---vida dos Atores---//
WriteGlobalVar('Vida', 500);
WriteGlobalVar('espantalho', 300);
if Copy(GetCollidedObject1(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject2 = 'Objeto1') then
begin
if ReadGlobalVar('espantalho') > 0 then
WriteGlobalVar('espantalho', ReadGlobalVar('espantalho')-20);
end;
if Copy(GetCollidedObject2(), 0, 6) = 'Bullet' then
if (GetCollidedObject1 = 'Objeto1') then
begin
if ReadGlobalVar('espantalho') > 0 then
WriteGlobalVar('espantalho', ReadGlobalVar('espantalho')-20);
end;
end;
// explodir o objeto //
if ReadGlobalVar('espantalho') = 0 then
begin
ExplodeObject('Objeto1', 3, 30);
DestroyObject('Objeto1');
end;
// fim // |
|
|
| Dom Fev 26, 2012 2:35 am |
|
 |
|
|
Você não pode enviar mensagens novas neste fórum Você não pode responder mensagens neste fórum você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode votar em enquetes neste fórum
|
|
 |
 |
 |
|