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...

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.