Problema com scripts ENTER
-
- Mensagens: 779
- Registrado em: Sex Jan 05, 2007 3:55 am
- 18
Problema com scripts ENTER
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?
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
Mostra a ACSMauricio 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?
-
- Mensagens: 779
- Registrado em: Sex Jan 05, 2007 3:55 am
- 18
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;
}
}
{
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;
}
}
- Fabio914
- Mensagens: 1757
- Registrado em: Dom Mai 21, 2006 4:38 pm
- 18
- Localização: Sampa/Sanca
- Contato:
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.
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.
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;
}
-
- Mensagens: 779
- Registrado em: Sex Jan 05, 2007 3:55 am
- 18
-
- Mensagens: 779
- Registrado em: Sex Jan 05, 2007 3:55 am
- 18
- Fabio914
- Mensagens: 1757
- Registrado em: Dom Mai 21, 2006 4:38 pm
- 18
- Localização: Sampa/Sanca
- Contato:
Mauricio , tenta isso aqui que eu inventei , para não ocorrerem problemas...
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);
}
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;
}
}
-
- Mensagens: 779
- Registrado em: Sex Jan 05, 2007 3:55 am
- 18