Dúvidas (novo)

Mapas, Editores e tudo mais relacionado a Edição de DooM você encontra aqui.
Regras do fórum
LEIA COM ATENÇÃO
Antes de postar alguma dúvida utilize a função de pesquisar do fórum, pois a sua dúvida talvez já tenha sido respondida!
Avatar do usuário
Space Marine
Mensagens: 1920
Registrado em: Sáb Fev 11, 2006 6:47 pm
Answers: 0
19
Localização: Brasil
Gender:
Contato:

Mensagem por Space Marine »

Bom, estou com um bug no scary movie que nao conssigo corrigir nem a pau, entaum venho aki pedir ajuda pra vcs:

Código: Selecionar todos

script 900 (void)
{


    if (killer_active == 0)
    {
    
    	hudmessage(s: "You are now the Killer!"; HUDMSG_PLAIN, 1, 6, 0.5, 0.5, 2);
        killer_active = 1;
    	Delay(70);

    	for (time = 120; time >= 0; time--)
    	{
    
    	     hudmessage(s: "Life time left:",d:Time; HUDMSG_PLAIN, 1, 2, 0.5, -5, 1);
    	     Delay(35);
    
    	     if (PlayerCount() < 2) 
    	     {
    	     	// apaga menssagens antigas 
    			HudMessage(s:"A"; HUDMSG_FADEOUT, 1, CR_UNTRANSLATED, 1, 1, 1);  
    			killer_active = 0; 
    			time = 0;
    			Terminate;
    	     }
    
    	}
     
    	ACS_ExecuteAlways(3,0);
     
    }
     
    acs_terminate(900,0);

}
Akela parte do "Life time left:" deve escrever no topo da tela quanto tempo o killer tem de vida ainda.
Em singleplayer isso funciona bem, mas ja em multiplayer quem jogou ja deve ter visto q na maioria dos casos o texto simplismente nao aparece, embora o script continue rodando ja q uma hora o jogador morre devido ao tempo.
Avatar do usuário
Mathey Bu
Mensagens: 502
Registrado em: Seg Jul 21, 2008 11:18 am
Answers: 0
16
Localização: Decorate

Mensagem por Mathey Bu »

vc declarou a váriavel? : int killer_active, se isso for varavel!

EDIT:

time tambem e sua variavel?
Avatar do usuário
Space Marine
Mensagens: 1920
Registrado em: Sáb Fev 11, 2006 6:47 pm
Answers: 0
19
Localização: Brasil
Gender:
Contato:

Mensagem por Space Marine »

master matheus escreveu:vc declarou a váriavel? : int killer_active, se isso for varavel!

EDIT:

time tambem e sua variavel?
Naturalmente....

Caso vc na otenha lido o post todo, o erro esta na hora de mostrar o texto, prq a "engine" em si funciona perfeitamente.
Avatar do usuário
Logan MTM
Mensagens: 2895
Registrado em: Dom Dez 11, 2005 8:12 pm
Answers: 0
19
Localização: Rio de Janeiro - Brasil
Contato:

Mensagem por Logan MTM »

master matheus escreveu:essa classe randomSpawner nao funciona aki no meu gzdoom!
Isso é uma Thing do SKullTag!

@Space

Não intendi direito o que está dando bigode no script mas enfim...

Tenta declarar as variáveis de forma deiferente:

killer_active[8];
Avatar do usuário
Mathey Bu
Mensagens: 502
Registrado em: Seg Jul 21, 2008 11:18 am
Answers: 0
16
Localização: Decorate

Mensagem por Mathey Bu »

Logan MTM escreveu:
master matheus escreveu:essa classe randomSpawner nao funciona aki no meu gzdoom!
Isso é uma Thing do SKulltag
num tem como botar no gzdoom? nem formatando seu formato lol
Avatar do usuário
Space Marine
Mensagens: 1920
Registrado em: Sáb Fev 11, 2006 6:47 pm
Answers: 0
19
Localização: Brasil
Gender:
Contato:

Mensagem por Space Marine »

Nao creio q sejam as variaveis, pois eh so a parte do texto na tela q esta embigodando :?

Anyway, vejam o codigo inteiro pra terem uma visao melhor:

Código: Selecionar todos

#include "zcommon.acs"


int killer_active = 0;
int time = 0;

script 1 OPEN
{

	acs_terminate(900,0);
	acs_terminate(3,0);
	acs_terminate(4,0);

	killer_active = 0;
	time = 0;

	delay(70);
	SpawnSpot("KillerGiver", random(21, 28), 10, 0);
	Terminate;

}


Script 2 ENTER
{

	acs_terminate(900,0);

	
	// apaga menssagens antigas 
    	HudMessage(s:"A"; HUDMSG_FADEOUT, 1, CR_UNTRANSLATED, 1, 1, 1); 
	
	TakeInventory("Pistol",1);
	TakeInventory("KillerFist",1);
	SetWeapon("LessFist");
	Terminate;

}



// tempo de vida do killer
script 900 (void)
{


    if (killer_active == 0)
    {
    
    	hudmessage(s: "You are now the Killer!"; HUDMSG_PLAIN, 1, 6, 0.5, 0.5, 2);
        killer_active = 1;
    	Delay(70);

    	for (time = 120; time >= 0; time--)
    	{
    
    	     hudmessage(s: "Life time left:",d:Time; HUDMSG_PLAIN, 1, 2, 0.5, -5, 1);
    	     Delay(35);
    
    	     if (PlayerCount() < 2) 
    	     {
    	     	// apaga menssagens antigas 
    			HudMessage(s:"A"; HUDMSG_FADEOUT, 1, CR_UNTRANSLATED, 1, 1, 1);  
    			killer_active = 0; 
    			time = 0;
    			Terminate;
    	     }
    
    	}
     
    	ACS_ExecuteAlways(3,0);
     
    }
     
    acs_terminate(900,0);

}

// kill the killer
script 3 (void) 
{ 
     
	// mata o killer
	ACS_ExecuteAlways(4,0);
	
	killer_active = 0;

	// Spawn another giver to create a new killer
	delay(70);
	
	SpawnSpot("KillerGiver", random(21, 28), 10, 0);

	acs_terminate(3,0);

}




// jogador assassinado
script 4 (void) 
{

     int temp;


     SetHudSize(520, 340, 1);
     
     temp = random(1, 6);
     if (temp == 1) SetFont("SCARY1");
else if (temp == 2) SetFont("SCARY2"); 
else if (temp == 3) SetFont("SCARY3"); 
else if (temp == 4) SetFont("SCARY4"); 
else if (temp == 5) SetFont("SCARY5"); 
else if (temp == 6) SetFont("SCARY6"); 

     temp = random(1, 4);     
     if (temp == 1) AmbientSound("scream1", 127);
else if (temp == 2) AmbientSound("scream2", 127); 
else if (temp == 3) AmbientSound("scream3", 127); 
else if (temp == 4) AmbientSound("scream4", 127); 
              
              
     HudMessage(s:"A"; HUDMSG_FADEOUT, 666, CR_UNTRANSLATED, 0.5, 0.5, 0.8, 0.2); 
     delay(3);
     
     DamageThing(0);
     
     acs_terminate(4,0);
          
}
EDIT:

Eu imagino q o bug tenha alguma relacao com o funcionamento do last man standing do skulltag. Mas que da pra corrigir eu sei q da pra no hide n seek se nao estou enganado tem hud message e mesmo assim nao da bug algum.


EDIT2:

Existe alguma forma de forcar o jogador a dropar tal item, caso o esteja carregando claro?
Avatar do usuário
Mathey Bu
Mensagens: 502
Registrado em: Seg Jul 21, 2008 11:18 am
Answers: 0
16
Localização: Decorate

Mensagem por Mathey Bu »

Space Marine escreveu: Existe alguma forma de forcar o jogador a dropar tal item, caso o esteja carregando claro?
como assim?
Avatar do usuário
Space Marine
Mensagens: 1920
Registrado em: Sáb Fev 11, 2006 6:47 pm
Answers: 0
19
Localização: Brasil
Gender:
Contato:

Mensagem por Space Marine »

Tipo, neste caso o jogador que eh o killer esta carregando o killerfist, dai se ele morre sem ser por "causas naturais" (ex telefrag) nao resta nenhum killerfist no map e nao tem como continuar o jogo normalmente.
Dai a minha ideia de sempre q o killer morrer ele dropar o killer fist no chao pra garantir que alguem vai consseguir pegar
Avatar do usuário
Mathey Bu
Mensagens: 502
Registrado em: Seg Jul 21, 2008 11:18 am
Answers: 0
16
Localização: Decorate

Mensagem por Mathey Bu »

tem esse soq ele morrendo de qualquer jeito q vai dropar esse item, infelizmente so sei esse

actor doomplayer2 : doomplayer
{
dropiItem "killerfists"
}
Avatar do usuário
MegaManx3
Mensagens: 1915
Registrado em: Ter Fev 21, 2006 4:38 pm
Answers: 0
19
Localização: Valparaiso de Goias
Gender:
Contato:
MegaManx3’s avatar
Loading…

Mensagem por MegaManx3 »

Ja tentou usar um Script de Respawn pro Killer,ou de Death pros caras normais ?