Page 1 of 2
Touch Activated Message
Posted: September 3rd, 2006, 5:08 pm
by Soviet
i want to add a scripted message onto my map where when somebody walks on it it sends a message to my map...like in peds parkour. Im assuming its easy but i cant find any tuts on it. Can someone please give me a link to a tut or just give me the basic script for it please?
Posted: September 3rd, 2006, 5:23 pm
by Luke
Make a trigger_multiple, give it a targetname then simple use
Code: Select all
message()
{
trig = getent("trigger","targetname"); //change "trigger" to your triggers targetname
while(1)
{
trig waittill("trigger",user);
user iprintlnbold ("your message");
wait 1; //use a wait time to prevent it being triggered again instantly
}
}
If want the message to be seen by everyone in the map, then use trig waittill("trigger"); and remove user before iprintlnbold
Posted: September 3rd, 2006, 5:37 pm
by Soviet
ok, i used that and i got script compile error. Here is my main .gsc (it shouldnt be the elevator script because that was working without errors yesterday)
Code: Select all
main() {
level.elevatorDown = true; // elevator starts at bottom: true/false
level.elevatorMoving = false; // elevator is not currently moving
thread elevator_start();
}
elevator_start() {
elevator = getentarray ("elevatorswitch","targetname");
if ( isdefined(elevator) )
for (i = 0; i < elevator.size; i++)
elevator[i] thread elevator_think();
}
elevator_think() {
while (1) {
self waittill ("trigger");
if (!level.elevatorMoving)
thread elevator_move();
}
}
elevator_move() {
elevatormodel = getent ("elevatormodel", "targetname");
level.elevatorMoving = true;
speed = 2;
height = 192;
wait (1);
if (level.elevatorDown) { // moves to top
elevatormodel moveZ (-1520,6,1,1);
elevatormodel waittill ("movedone");
level.elevatorDown = false;
wait (5);
elevatormodel moveZ (1520,6,1,1);
elevatormodel waittill ("movedone");
level.elevatorDown = true;
}
level.elevatorMoving = false;
}
}
message()
{
trig = getent("ks_message","targetname"); //change "trigger" to your triggers targetname
trig waittill("ks_message");
while(1)
{
trig waittill("ks_message");
iprintlnbold ("text");
wait (2)
iprintInbold ("text");
wait (8)
}
}
Posted: September 3rd, 2006, 5:44 pm
by Luke
There was a typo sorry, try my script again
you also need to add thread message(); below main
Posted: September 3rd, 2006, 5:55 pm
by Soviet
still getting compile error
Code: Select all
main() {
level.elevatorDown = true; // elevator starts at bottom: true/false
level.elevatorMoving = false; // elevator is not currently moving
thread elevator_start();
}
elevator_start() {
elevator = getentarray ("elevatorswitch","targetname");
if ( isdefined(elevator) )
for (i = 0; i < elevator.size; i++)
elevator[i] thread elevator_think();
}
elevator_think() {
while (1) {
self waittill ("trigger");
if (!level.elevatorMoving)
thread elevator_move();
}
}
elevator_move() {
elevatormodel = getent ("elevatormodel", "targetname");
level.elevatorMoving = true;
speed = 2;
height = 192;
wait (1);
if (level.elevatorDown) { // moves to top
elevatormodel moveZ (-1520,6,1,1);
elevatormodel waittill ("movedone");
level.elevatorDown = false;
wait (5);
elevatormodel moveZ (1520,6,1,1);
elevatormodel waittill ("movedone");
level.elevatorDown = true;
}
level.elevatorMoving = false;
}
}
thread message();
message();
{
trig = getent("ks_message","targetname"); //change "trigger" to your triggers targetname
while(1)
{
trig waittill("trigger");
iprintlnbold ("text");
wait 2;
iprintInbold ("text");
wait 8;
}
}
i also replaced trig waittill("trigger"); with trig waittill("ks_message"); just in case. I tried not having thread message(); as well.
Posted: September 3rd, 2006, 6:01 pm
by Luke
Code: Select all
main()
{
level.elevatorDown = true; // elevator starts at bottom: true/false
level.elevatorMoving = false; // elevator is not currently moving
thread elevator_start();
thread message();
}
elevator_start() {
elevator = getentarray ("elevatorswitch","targetname");
if ( isdefined(elevator) )
for (i = 0; i < elevator.size; i++)
elevator[i] thread elevator_think();
}
elevator_think() {
while (1) {
self waittill ("trigger");
if (!level.elevatorMoving)
thread elevator_move();
}
}
elevator_move() {
elevatormodel = getent ("elevatormodel", "targetname");
level.elevatorMoving = true;
speed = 2;
height = 192;
wait (1);
if (level.elevatorDown) { // moves to top
elevatormodel moveZ (-1520,6,1,1);
elevatormodel waittill ("movedone");
level.elevatorDown = false;
wait (5);
elevatormodel moveZ (1520,6,1,1);
elevatormodel waittill ("movedone");
level.elevatorDown = true;
}
level.elevatorMoving = false;
}
}
message()
{
trig = getent("ks_message","targetname");
while(1)
{
trig waittill("trigger");
iprintlnbold ("text");
wait 2;
iprintInbold ("text");
wait 8;
}
}
Posted: September 3rd, 2006, 6:06 pm
by Soviet
still compile error
i checked map and there is definitely a trigger_multiple with a targetname of ks_message
Posted: September 3rd, 2006, 6:08 pm
by Luke
It should be iprintLnbold not iprintInbold
Posted: September 3rd, 2006, 6:18 pm
by Soviet
changed it....god i hate scripting (didnt work)
Code: Select all
main() {
level.elevatorDown = true; // elevator starts at bottom: true/false
level.elevatorMoving = false; // elevator is not currently moving
thread elevator_start();
thread message();
}
elevator_start() {
elevator = getentarray ("elevatorswitch","targetname");
if ( isdefined(elevator) )
for (i = 0; i < elevator.size; i++)
elevator[i] thread elevator_think();
}
elevator_think() {
while (1) {
self waittill ("trigger");
if (!level.elevatorMoving)
thread elevator_move();
}
}
elevator_move() {
elevatormodel = getent ("elevatormodel", "targetname");
level.elevatorMoving = true;
speed = 2;
height = 192;
wait (1);
if (level.elevatorDown) { // moves to top
elevatormodel moveZ (-1520,6,1,1);
elevatormodel waittill ("movedone");
level.elevatorDown = false;
wait (5);
elevatormodel moveZ (1520,6,1,1);
elevatormodel waittill ("movedone");
level.elevatorDown = true;
}
level.elevatorMoving = false;
}
}
message();
{
trig = getent("ks_message","targetname"); //change "trigger" to your triggers targetname
while(1)
{
trig waittill("trigger");
iprintLnbold ("text");
wait 2;
iprintLnbold ("text");
wait 8;
}
}
Posted: September 3rd, 2006, 6:27 pm
by creator
/developer 1 can help...

send us the error
Posted: September 3rd, 2006, 6:35 pm
by Luke
Yes do that, but first remove the ; from message();

Posted: September 3rd, 2006, 7:08 pm
by creator
dont know if this can be a problem
main() { change to
Posted: September 3rd, 2006, 7:49 pm
by Soviet
i changed main thing and took away semicolon, still no working
how do i get my console like the cod1 one? all i have is a bar to enter stuff, there is no history thingy for the console
edit: all it says is "bad syntax"
Posted: September 3rd, 2006, 8:05 pm
by Soviet
there was an error i found so i fixed it, now im getting some type of game file error:

Posted: September 3rd, 2006, 8:06 pm
by creator
wtf lol u got alot of game type compile errors

maybe try unistall cod2 delete files that are left over install again
