This repository has been archived on 2022-06-27. You can view files and clone it, but cannot push or open issues or pull requests.
Xash3DArchive/vprogs/ents/triggers/trigger_message.c

86 lines
1.4 KiB
C

/*
+===============+
|TRIGGER_MESSAGE|
+===============+
*/
.string message1;
.string message2;
.entity triggerer;
void() trigger_message_think =
{
pev->touched = FALSE;
if(pev->message)
centerprint(pev->triggerer, pev->message);
if(pev->message1)
{
sprint(pev->triggerer, pev->message1);
sprint(pev->triggerer, "\n");
}
if(pev->message2)
{
dprint(pev->message2);
dprint("\n");
}
if(pev->target)
IEM_usetarget();
if(pev->spawnflags & TRIGGER_ONCE)
remove(pev);
};
void() trigger_message_touch =
{
if(!(other.flags & FL_CLIENT))
return;
if(pev->touched == FALSE)
{
pev->touched = TRUE;
pev->triggerer = other;
pev->think = trigger_message_think;
pev->nextthink = time + pev->delay;
}
};
void() trigger_message_use =
{
if(pev->touched == TRUE)
return;
pev->touched = TRUE;
if(pev->message)
centerprint(pev->triggerer, pev->message);
if(pev->message1)
{
sprint(pev->triggerer, pev->message1);
sprint(pev->triggerer, "\n");
}
if(pev->message2)
{
dprint(pev->message2);
dprint("\n");
}
pev->think = trigger_message_think;
pev->nextthink = time + pev->delay;
};
void() trigger_message =
{
trigger_setup();
if(!pev->delay)
pev->delay = 1;
pev->touch = trigger_message_touch;
pev->use = trigger_message_use;
pev->classname = "t_message";
};