Modme Forums

Multiple trigs in one function

Game Modding | Call of Duty: Black Ops 3 | Scripting


ModmeBot:

Thread By: KillJoyYT
How could I change this function so that the player has to hit multiple triggers before the platform can move??

example:
(Hold F) on trigger
(Hold F) on trigger
(Hold F) on trigger
(Hold F) on trigger
Door Move


function dissapearing_platform1()
{
    trig_1 = GetEnt("platform_trig_1", "targetname");

    model_1 = GetEnt("platform_model_1", "targetname");


    trig_1 SetHintString("Hold &&1");
    trig_1 SetCursorHint("HINT_NOICON");

        trig_1 waittill("trigger", player);

        trig_1 Delete();
        model_1 MoveX(62,2);

}


I don't want to make 4 separate functions, only 1.

thank you


ModmeBot:

Reply By: KillJoyYT
This seems to work but is it the best way?




function dissapearing_platform1()
{
    trig_1 = GetEnt("platform_trig_1", "targetname");
    trig_2 = GetEnt("platform_trig_2", "targetname");
    trig_3 = GetEnt("platform_trig_3", "targetname");
    trig_4 = GetEnt("platform_trig_4", "targetname");

    model_1 = GetEnt("platform_model_1", "targetname");


    trig_1 SetHintString("Hold &&1");
    trig_1 SetCursorHint("HINT_NOICON");
    trig_2 SetHintString("Hold &&1");
    trig_2 SetCursorHint("HINT_NOICON");
    trig_3 SetHintString("Hold &&1");
    trig_3 SetCursorHint("HINT_NOICON");
    trig_4 SetHintString("Hold &&1");
    trig_4 SetCursorHint("HINT_NOICON");

        trig_1 waittill("trigger", player);
        trig_2 waittill("trigger", player);
        trig_3 waittill("trigger", player);
        trig_4 waittill("trigger", player);

        trig_1 Delete();
        trig_2 Delete();
        trig_3 Delete();
        trig_4 Delete();

        model_1 MoveX(200,4);

}





Only thing is the triggers don't delete until every trigger has been activated


ModmeBot:

Reply By: Harry Bo21

KillJoyYT
This seems to work but is it the best way? function dissapearing_platform1() { trig_1 = GetEnt("platform_trig_1", "targetname"); trig_2 = GetEnt("platform_trig_2", "targetname"); trig_3 = GetEnt("platform_trig_3", "targetname"); trig_4 = GetEnt("platform_trig_4", "targetname"); model_1 = GetEnt("platform_model_1", "targetname"); trig_1 SetHintString("Hold &&1"); trig_1 SetCursorHint("HINT_NOICON"); trig_2 SetHintString("Hold &&1"); trig_2 SetCursorHint("HINT_NOICON"); trig_3 SetHintString("Hold &&1"); trig_3 SetCursorHint("HINT_NOICON"); trig_4 SetHintString("Hold &&1"); trig_4 SetCursorHint("HINT_NOICON"); trig_1 waittill("trigger", player); trig_2 waittill("trigger", player); trig_3 waittill("trigger", player); trig_4 waittill("trigger", player); trig_1 Delete(); trig_2 Delete(); trig_3 Delete(); trig_4 Delete(); model_1 MoveX(200,4); } Only thing is the triggers don't delete until every trigger has been activated

so move them


that code isnt gonna work well anyway, as will want them triggered "in order"

function dissapearing_platform1()
{
	level.n_platforms_used = 0;
	
	for ( i = 0; i < 4; i++ )
		level thread platform_logic( "platform_trig_" + i );
	
	for ( i = 0; i < 4; i++ )
		level waittill( "platform_triggered" );
	
	model_1 = GetEnt("platform_model_1", "targetname");
	model_1 MoveX(200,4);

}

function platform_logic( str_name )
{
	e_trig = getEnt( str_name, "targetname" );
	e_trig waittill( "trigger" );
	level notify( "platform_triggered" );
}


ModmeBot:

Reply By: KillJoyYT
thanks mate :)