Página 1 de 3

Scripts Scripts

Enviado: Dom Nov 30, 2008 11:39 am
por Pedro VC 2.1
Pra fazer um script no XWE, é só criar um Lump chamado "Scripts", definir um lump que vai ser a library, escrever o script e compilar?
É porque tava usando aquele script do d3_weapons_mod pra fazer um script que faça com que quando o Marine esteja com Health baixo, uma mensagem aparecesse na tela. E não deu muito certo....

Enviado: Dom Nov 30, 2008 11:42 am
por Space Marine
Posta o script aew pra gente checar

Se tiver 1 errinho q seja no script ele nao compila e vc nem fica sabendo

Enviado: Dom Nov 30, 2008 12:16 pm
por Fabio914
Space Marine escreveu:Posta o script aew pra gente checar

Se tiver 1 errinho q seja no script ele nao compila e vc nem fica sabendo
Fica sabendo sim, o acc cria um arquivo de erro (extensão .err) que se você abrir com o notepad tem as informações sobre o erro do código , ai você saberá qual é o erro e em qual linha ele está.

Enviado: Dom Nov 30, 2008 12:16 pm
por Pedro VC 2.1
O primeiro teste foi só o script do d3_weapons_mod que não funcionou. Mas no d3_weapons_mod ele funcionou.

Enviado: Dom Nov 30, 2008 12:27 pm
por Fabio914
Pedro VC 2.1 escreveu:O primeiro teste foi só o script do d3_weapons_mod que não funcionou. Mas no d3_weapons_mod ele funcionou.
Cara , mostra ai como você está compilando e qual seu código que ai poderemos te ajudar melhor... :wink:

Enviado: Dom Nov 30, 2008 12:28 pm
por Pedro VC 2.1
script 801 ENTER
{
if (GetActorProperty(0, APROP_HEALTH) <11> 0)
{
SetHudSize(640, 480, 0);
Setfont("M_INJ");
Hudmessage(s:"A";
HUDMSG_FADEINOUT, 0, CR_WHITE, 320.0, 240.0, 0.0, 0.5, 0.5);
localambientsound("heartb2", 120);
delay(15);
localambientsound("heartb2", 120);

}
delay(25);
restart;
}


Ah, e eu importei o M_INJ também
Esse é o script original, que não ta dando certo. Apartir dele eu vou fazer o meu script.

Enviado: Dom Nov 30, 2008 12:30 pm
por Fabio914
if (GetActorProperty(0, APROP_HEALTH) <11> 0)

Cara , arruma isso ai...

if (0 < GetActorProperty(0, APROP_HEALTH) <11 )

ou

if (GetActorProperty(0, APROP_HEALTH) <11 && GetActorProperty(0, APROP_HEALTH) > 0)

Enviado: Dom Nov 30, 2008 12:33 pm
por Pedro VC 2.1
E como diabos funcionou no d3_weapons_Mod?

Enviado: Dom Nov 30, 2008 3:34 pm
por Logan MTM
Pode quer que não funciona mesmo!

A segunda opição de sintaxe do Fábio é a correta.

if (GetActorProperty(0, APROP_HEALTH) <11> 0)

Enviado: Dom Nov 30, 2008 7:56 pm
por Fabio914
Alias cara, se o seu script é tipo ENTER eu sugiro você não dar restart nele , se não ele pode ter problemas quando pega a informação do jogador (principalmente em jogos multiplayer). Eu sugiro que você faça isso:

Código: Selecionar todos

script 801 ENTER 
{
while(1){ 
if (GetActorProperty(0, APROP_HEALTH) <11 && GetActorProperty(0, APROP_HEALTH) > 0) 
{ 
SetHudSize(640, 480, 0); 
Setfont("M_INJ"); 
Hudmessage(s:"A"; 
HUDMSG_FADEINOUT, 0, CR_WHITE, 320.0, 240.0, 0.0, 0.5, 0.5); 
localambientsound("heartb2", 120); 
delay(15);	
localambientsound("heartb2", 120); 

} 
delay(1); /* Delay 1 pq se não pode ser que o jogador "morra" no intervalo menor que o do delay de 25 (pouco menos de 1 seg) ai ele não executaria a função. */
}
}
Além disso , se esse script estiver em mapa você não pode colocar um número de script alto. E se estiver em um lump de script a parte você tem que coloca-lo entre o A_START e A_END e indica-lo no LOADACS.