Página 1 de 2
Problema com scripts ENTER
Enviado: Dom Jan 13, 2008 7:38 pm
por Mauricio Rocks
Estou com um problema irritante e eu nçao sei o q é que tah causando...
Eu tenho dois scripts ENTER para fazr o hud do D3onGZD, um é para checar o tamanho da tela, e outro é para exibir as informações como health e munição... mas o GZDoom só carrega um dos sripts, no caso, o que tem o nº menor ¬¬
Como eu faço para os dois scripts rodarem simultaneamente?
Re: Problema com scripts ENTER
Enviado: Dom Jan 13, 2008 8:02 pm
por Imp Hunter
Mauricio Rocks 77 escreveu:Estou com um problema irritante e eu nçao sei o q é que tah causando...
Eu tenho dois scripts ENTER para fazr o hud do D3onGZD, um é para checar o tamanho da tela, e outro é para exibir as informações como health e munição... mas o GZDoom só carrega um dos sripts, no caso, o que tem o nº menor ¬¬
Como eu faço para os dois scripts rodarem simultaneamente?
Mostra a ACS
Enviado: Dom Jan 13, 2008 9:22 pm
por Mauricio Rocks
Script 200 ENTER
{
If (GetCVar("Screenblocks") <= 11)
{
HudMessage(s:"Please increase you screen size for display Doom 3 On GZDoom hud"; HUDMSG_FADEOUT, 999, CR_RED, 0.5, 0.5, 1, 1);
ACS_Suspend(201,0);
Delay(1);
Restart;
}
If (GetCVar("Screenblocks") == 12)
{
ACS_Execute(201,0);
Delay(1);
Restart;
}
}
Script 201 (void)
{
If ((GetActorProperty(0,APROP_HEALTH) <= 20))
{
SetFont("BIGFONT");
HudMessage(i: GetActorProperty(0,APROP_HEALTH); HUDMSG_PLAIN, 999, CR_YELLOW,0.28, 0.98, 1);
Delay(1);
Restart;
}
If ((GetActorProperty(0,APROP_HEALTH) <= 100))
{
SetFont("BIGFONT");
HudMessage(i: GetActorProperty(0,APROP_HEALTH); HUDMSG_PLAIN, 999, CR_UNTRANSLATED,0.28, 0.98, 1);
Delay(1);
Restart;
}
}
Enviado: Dom Jan 13, 2008 10:28 pm
por Fabio914
Mauricio , trabalhe com números de script mais altos (acima de 300) pois este script estará no global.
Sobre os scripts , para evitar bug coloque
else if apartir da primeira
if e no script 201 seria melhor colocar dessa maneira (ver abaixo) , com apenas 1 restart.
Código: Selecionar todos
Script 201 (void)
{
if ((GetActorProperty(0,APROP_HEALTH) <= 20))
{
SetFont("BIGFONT");
HudMessage(i: GetActorProperty(0,APROP_HEALTH); HUDMSG_PLAIN, 999, CR_YELLOW,0.28, 0.98, 1);
}
else if ((GetActorProperty(0,APROP_HEALTH) <= 100))
{
SetFont("BIGFONT");
HudMessage(i: GetActorProperty(0,APROP_HEALTH); HUDMSG_PLAIN, 999, CR_UNTRANSLATED,0.28, 0.98, 1);
}
delay(1);
restart;
}
Para o script 200 eu colocaria ele como RESPAWN e não como ENTER. Esse
ACS_Suspend(201,0); é totalmente desnecessário uma vez que o script 201 esta como void e será executado apenas se receber uma chamada do sistema. Também seria bom que você colocasse a propriedade do jogador como congelado no primeiro script para que ele não pudesse jogar sem o HUD.
Enviado: Dom Jan 13, 2008 11:34 pm
por Mauricio Rocks
Ok! qdo eu puder ficar sossegado aki no pc de novo eu tento mudar o script...
Enviado: Dom Jan 13, 2008 11:42 pm
por Fabio914
Mauricio Rocks 77 escreveu:Ok! qdo eu puder ficar sossegado aki no pc de novo eu tento mudar o script...
Na verdade você só tem 1 script ENTER ai , o segundo ta como void. E seria melhor você mudar aquele
If (GetCVar("Screenblocks") == 12) para
If (GetCVar("Screenblocks") => 12) .
Enviado: Qua Jan 16, 2008 11:07 pm
por Mauricio Rocks
Bom, eu notei agora que o problema não é os scripts enter, e sim com as hudmessages... por algum motivo, elas não somem qdo estão em um script open ou enter.. porém, se for um (void) executado por um jogador ou por um outro script, ele funciona normalmente... alguém sabe porque isso occore?
Enviado: Qui Jan 17, 2008 4:38 pm
por Fabio914
Mauricio , tenta isso aqui que eu inventei , para não ocorrerem problemas...
Código: Selecionar todos
function void hud_kill(int id){
SetFont("CONFONT");
HudMessage(s:" ";HUDMSG_PLAIN,id,CR_WHITE,0,0,1);
}
basta colocar a ID da Hud que você quer fazer sumir e pronto...
Exemplo:
Código: Selecionar todos
function void hud_kill(int id){
SetFont("CONFONT");
HudMessage(s:" ";HUDMSG_PLAIN,id,CR_WHITE,0,0,1);
}
Script 200 ENTER
{
If (GetCVar("Screenblocks") <= 11)
{
hud_kill(999);
HudMessage(s:"Please increase you screen size for display Doom 3 On GZDoom hud"; HUDMSG_FADEOUT, 998, CR_RED, 0.5, 0.5, 1, 1);
ACS_Suspend(201,0);
Delay(1);
Restart;
}
If (GetCVar("Screenblocks") == 12)
{
ACS_Execute(201,0);
Delay(1);
Restart;
}
}
Script 201 (void)
{
If ((GetActorProperty(0,APROP_HEALTH) <= 20))
{
SetFont("BIGFONT");
HudMessage(i: GetActorProperty(0,APROP_HEALTH); HUDMSG_PLAIN, 999, CR_YELLOW,0.28, 0.98, 1);
hud_kill(998);
Delay(1);
Restart;
}
If ((GetActorProperty(0,APROP_HEALTH) <= 100))
{
SetFont("BIGFONT");
HudMessage(i: GetActorProperty(0,APROP_HEALTH); HUDMSG_PLAIN, 999, CR_UNTRANSLATED,0.28, 0.98, 1);
hud_kill(998);
Delay(1);
Restart;
}
}
Enviado: Qui Jan 17, 2008 10:35 pm
por Mauricio Rocks
Hummm.. interessante! mas como vc jah manja mais, eh mais facil e mais indicado q vc contiue esse sript ai... eu mando as imagens e vc faz sua mágica!
Enviado: Sáb Jan 19, 2008 7:17 pm
por MegaManx3
eu nem lembro mais dessa bosta!!!