Scripting stuff
Posted: Tue Oct 09, 2012 11:25 pm
How do I give a random player a tag of 1?
OR
How can I make a random player activate a particular script....?
OR
How can I make a random player activate a particular script....?
Leading the way in newschool multiplayer Doom online
https://zandronum.com/forum/
Code: Select all
#include "zcommon.acs"
#define P_BASETID 1000
#define MAXPLAYERS 64
script 1 ENTER
{
Thing_ChaneTID(0, P_BASETID+PlayerNumber());
}
script 2 RESPAWN
{
Thing_ChangeTID(PBASETID+PlayerNumber(), 0);
Thing_ChaneTID(0, P_BASETID+PlayerNumber());
}
//Your Script
script 3 (void)
{
int r = random(0, MAXPLAYERS-1)
if (PlayerInGame(r))
{
//Do Your Stuff
Thing_Damage(1000+r, 1000, 0);
//End Your stuff
}
else
restart;
}Code: Select all
script 1 open
{
Clearinventory();
HudMessageBold(s:"Selecting Seeker..."; HUDMSG_FADEOUT, 2, 0, 0.1, 0.8, 3.7);
//script to assign random player a tag of 1
Delay(200);
//script to get said player to activate script 2
{
script 2 (void)
{
delay(50);
SetFont("BIGFONT");
printbold(n:"0", s:" \c[Green]has been chosen!");
Thing_ChangeTID (0, 1000+PlayerNumber());
TeleportOther(1001,4,1);
delay(10);
TeleportOther(1002,4,1);
delay(10);
TeleportOther(1003,4,1);
delay(10);
TeleportOther(1004,4,1);
delay(10);
TeleportOther(1005,4,1);
delay(10);
TeleportOther(1006,4,1);
delay(10);
TeleportOther(1007,4,1);
delay(10);
TeleportOther(1008,4,1);
delay(10);
TeleportOther(1009,4,1);
delay(10);
TeleportOther(1010,4,1);
delay(10);
TeleportOther(1011,4,1);
delay(10);
TeleportOther(1012,4,1);
delay(10);
TeleportOther(1013,4,1);
delay(10);
TeleportOther(1014,4,1);
delay(10);
TeleportOther(1015,4,1);
delay(10);
TeleportOther(1016,4,1);
delay(10);
TeleportOther(1017,4,1);//and so on...
}
Code: Select all
#include "zcommon.acs"
#define P_BASETID 1000
#define MAXPLAYERS 64
script 1 ENTER
{
ClearInventory();
Thing_ChaneTID(0, P_BASETID+PlayerNumber());
}
script 2 RESPAWN
{
Thing_ChangeTID(PBASETID+PlayerNumber(), 0);
Thing_ChangeTID(0, P_BASETID+PlayerNumber());
Delay(1);
Thing_ChangeTID(1, 0);
}
script 3 OPEN
{
int r = random(0, MAXPLAYERS-1)
if (PlayerInGame(r))
{
HudMessageBold(s:"Selecting Seeker..."; HUDMSG_FADEOUT, 2, 0, 0.1, 0.8, 3.7);
Delay(250);
Thing_ChangeTID(P_BASETID+r, 1);
SetFont("BIGFONT");
printbold(n:r+1, s:" \c[Green]has been chosen!");
for (int x; x < MAXPLAYERS; ++X)
if (x != r && PlayerInGame(x))
{
TeleportOther(P_BASETID+x, 4, 1);
Delay(10); //Delay between teleports
}
}
else
restart;
}
Code: Select all
script 4 DEATH
{
if (ActivatorTID() == 1)
ACS_Execute(3,0,0,0,0); //Choose New Seeker
}Spoiler: read this (Open)
[/spoiler]