|
|
|
Autor |
Mensagem |
Edno Rodrigues
Usuário
Registrado: 07/09/09 Mensagens: 277 Localização: Brasil Games |
|
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: 802 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: 1170 Localização: Na cáducarai |
|
|
|
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: 202 Localização: Morro do Alemão |
|
|
|
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: 88
|
|
|
|
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 |
|
|
fernandovinicius
Usuário
Registrado: 02/09/14 Mensagens: 99 Localização: Brasil,pernambuco,cauraru |
|
|
|
Onde coloca o script de colocar vida nos atores e no ator principal?
_________________ Meus games em progresso
WAR OF FUTURE 12% completo
(Um dia eu chego la) |
|
Sáb Set 27, 2014 4:51 pm |
|
|
fernandovinicius
Usuário
Registrado: 02/09/14 Mensagens: 99 Localização: Brasil,pernambuco,cauraru |
|
Re: Colocar Vida nos inimigos |
|
[quote="Lemos"]Cara, eu to meio corrido aqui, mas tentou isso:
[color=green]//--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;[/color]
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[/quote]
onde coloca os scripts acima?
|
|
Dom Nov 23, 2014 12:07 pm |
|
|
|
|
|
|
|
|