Página 45 de 188
Enviado: Qui Mai 28, 2009 7:07 pm
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.
Enviado: Qui Mai 28, 2009 7:11 pm
por Mathey Bu
vc declarou a váriavel? : int killer_active, se isso for varavel!
EDIT:
time tambem e sua variavel?
Enviado: Qui Mai 28, 2009 7:16 pm
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.
Enviado: Qui Mai 28, 2009 7:43 pm
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];
Enviado: Qui Mai 28, 2009 7:54 pm
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
Enviado: Qui Mai 28, 2009 8:23 pm
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?
Enviado: Qui Mai 28, 2009 8:46 pm
por Mathey Bu
Space Marine escreveu:
Existe alguma forma de forcar o jogador a dropar tal item, caso o esteja carregando claro?
como assim?
Enviado: Qui Mai 28, 2009 9:23 pm
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
Enviado: Qui Mai 28, 2009 9:26 pm
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"
}
Enviado: Sex Mai 29, 2009 9:35 am
por MegaManx3
Ja tentou usar um Script de Respawn pro Killer,ou de Death pros caras normais ?