703 lines
19 KiB
Plaintext
703 lines
19 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
init_menu()
|
|
{
|
|
level._createfx.options = [];
|
|
addoption( "string", "fxid", "FX id", "nil", "fx" );
|
|
addoption( "float", "delay", "Repeat rate/start delay", 0.5, "fx" );
|
|
addoption( "string", "flag", "Flag", "nil", "exploder" );
|
|
|
|
if ( !level.mp_createfx )
|
|
{
|
|
addoption( "string", "firefx", "2nd FX id", "nil", "exploder" );
|
|
addoption( "float", "firefxdelay", "2nd FX id repeat rate", 0.5, "exploder" );
|
|
addoption( "float", "firefxtimeout", "2nd FX timeout", 5, "exploder" );
|
|
addoption( "string", "firefxsound", "2nd FX soundalias", "nil", "exploder" );
|
|
addoption( "float", "damage", "Radius damage", 150, "exploder" );
|
|
addoption( "float", "damage_radius", "Radius of radius damage", 250, "exploder" );
|
|
addoption( "string", "earthquake", "Earthquake", "nil", "exploder" );
|
|
addoption( "string", "ender", "Level notify for ending 2nd FX", "nil", "exploder" );
|
|
}
|
|
|
|
addoption( "float", "delay_min", "Minimimum time between repeats", 1, "soundfx_interval" );
|
|
addoption( "float", "delay_max", "Maximum time between repeats", 2, "soundfx_interval" );
|
|
addoption( "int", "repeat", "Number of times to repeat", 5, "exploder" );
|
|
addoption( "string", "exploder", "Exploder", "1", "exploder" );
|
|
addoption( "string", "soundalias", "Soundalias", "nil", "all" );
|
|
addoption( "string", "loopsound", "Loopsound", "nil", "exploder" );
|
|
addoption( "int", "reactive_radius", "Reactive Radius", 100, "reactive_fx", ::input_reactive_radius );
|
|
|
|
if ( !level.mp_createfx )
|
|
{
|
|
addoption( "string", "rumble", "Rumble", "nil", "exploder" );
|
|
addoption( "int", "stoppable", "Can be stopped from script", "1", "all" );
|
|
}
|
|
|
|
level.effect_list_offset = 0;
|
|
level.effect_list_offset_max = 10;
|
|
level.createfxmasks = [];
|
|
level.createfxmasks["all"] = [];
|
|
level.createfxmasks["all"]["exploder"] = 1;
|
|
level.createfxmasks["all"]["oneshotfx"] = 1;
|
|
level.createfxmasks["all"]["loopfx"] = 1;
|
|
level.createfxmasks["all"]["soundfx"] = 1;
|
|
level.createfxmasks["all"]["soundfx_interval"] = 1;
|
|
level.createfxmasks["all"]["reactive_fx"] = 1;
|
|
level.createfxmasks["fx"] = [];
|
|
level.createfxmasks["fx"]["exploder"] = 1;
|
|
level.createfxmasks["fx"]["oneshotfx"] = 1;
|
|
level.createfxmasks["fx"]["loopfx"] = 1;
|
|
level.createfxmasks["exploder"] = [];
|
|
level.createfxmasks["exploder"]["exploder"] = 1;
|
|
level.createfxmasks["loopfx"] = [];
|
|
level.createfxmasks["loopfx"]["loopfx"] = 1;
|
|
level.createfxmasks["oneshotfx"] = [];
|
|
level.createfxmasks["oneshotfx"]["oneshotfx"] = 1;
|
|
level.createfxmasks["soundfx"] = [];
|
|
level.createfxmasks["soundfx"]["soundalias"] = 1;
|
|
level.createfxmasks["soundfx_interval"] = [];
|
|
level.createfxmasks["soundfx_interval"]["soundfx_interval"] = 1;
|
|
level.createfxmasks["reactive_fx"] = [];
|
|
level.createfxmasks["reactive_fx"]["reactive_fx"] = 1;
|
|
var_0 = [];
|
|
var_0["creation"] = ::menu_create_select;
|
|
var_0["create_oneshot"] = ::menu_create;
|
|
var_0["create_loopfx"] = ::menu_create;
|
|
var_0["change_fxid"] = ::menu_create;
|
|
var_0["none"] = ::menu_none;
|
|
var_0["add_options"] = ::menu_add_options;
|
|
var_0["select_by_name"] = ::menu_select_by_name;
|
|
level._createfx.menus = var_0;
|
|
}
|
|
|
|
menu( var_0 )
|
|
{
|
|
return level.create_fx_menu == var_0;
|
|
}
|
|
|
|
setmenu( var_0 )
|
|
{
|
|
level.create_fx_menu = var_0;
|
|
}
|
|
|
|
create_fx_menu()
|
|
{
|
|
if ( common_scripts\_createfx::button_is_clicked( "escape", "x" ) )
|
|
{
|
|
_exit_menu();
|
|
return;
|
|
}
|
|
|
|
if ( isdefined( level._createfx.menus[level.create_fx_menu] ) )
|
|
[[ level._createfx.menus[level.create_fx_menu] ]]();
|
|
}
|
|
|
|
menu_create_select()
|
|
{
|
|
if ( common_scripts\_createfx::button_is_clicked( "1" ) )
|
|
{
|
|
setmenu( "create_oneshot" );
|
|
draw_effects_list();
|
|
return;
|
|
}
|
|
else if ( common_scripts\_createfx::button_is_clicked( "2" ) )
|
|
{
|
|
setmenu( "create_loopsound" );
|
|
var_0 = common_scripts\_createfx::createloopsound();
|
|
finish_creating_entity( var_0 );
|
|
return;
|
|
}
|
|
else if ( common_scripts\_createfx::button_is_clicked( "3" ) )
|
|
{
|
|
setmenu( "create_exploder" );
|
|
var_0 = common_scripts\_createfx::createnewexploder();
|
|
finish_creating_entity( var_0 );
|
|
return;
|
|
}
|
|
else if ( common_scripts\_createfx::button_is_clicked( "4" ) )
|
|
{
|
|
setmenu( "create_interval_sound" );
|
|
var_0 = common_scripts\_createfx::createintervalsound();
|
|
finish_creating_entity( var_0 );
|
|
return;
|
|
}
|
|
else if ( common_scripts\_createfx::button_is_clicked( "5" ) )
|
|
{
|
|
var_0 = common_scripts\_createfx::createreactiveent();
|
|
finish_creating_entity( var_0 );
|
|
return;
|
|
}
|
|
}
|
|
|
|
menu_create()
|
|
{
|
|
if ( next_button() )
|
|
{
|
|
increment_list_offset();
|
|
draw_effects_list();
|
|
}
|
|
else if ( previous_button() )
|
|
{
|
|
decrement_list_offset();
|
|
draw_effects_list();
|
|
}
|
|
|
|
menu_fx_creation();
|
|
}
|
|
|
|
menu_none()
|
|
{
|
|
if ( common_scripts\_createfx::button_is_clicked( "m" ) )
|
|
increment_list_offset();
|
|
|
|
menu_change_selected_fx();
|
|
|
|
if ( entities_are_selected() )
|
|
{
|
|
var_0 = get_last_selected_ent();
|
|
|
|
if ( !isdefined( level.last_displayed_ent ) || var_0 != level.last_displayed_ent )
|
|
{
|
|
display_fx_info( var_0 );
|
|
level.last_displayed_ent = var_0;
|
|
}
|
|
|
|
if ( common_scripts\_createfx::button_is_clicked( "a" ) )
|
|
{
|
|
common_scripts\_createfx::clear_settable_fx();
|
|
setmenu( "add_options" );
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
level.last_displayed_ent = undefined;
|
|
}
|
|
|
|
menu_add_options()
|
|
{
|
|
if ( !entities_are_selected() )
|
|
{
|
|
common_scripts\_createfx::clear_fx_hudelements();
|
|
setmenu( "none" );
|
|
return;
|
|
}
|
|
|
|
display_fx_add_options( get_last_selected_ent() );
|
|
|
|
if ( next_button() )
|
|
increment_list_offset();
|
|
}
|
|
|
|
menu_select_by_name()
|
|
{
|
|
if ( next_button() )
|
|
{
|
|
increment_list_offset();
|
|
draw_effects_list( "Select by name" );
|
|
}
|
|
else if ( previous_button() )
|
|
{
|
|
decrement_list_offset();
|
|
draw_effects_list( "Select by name" );
|
|
}
|
|
|
|
select_by_name();
|
|
}
|
|
|
|
next_button()
|
|
{
|
|
return common_scripts\_createfx::button_is_clicked( "rightarrow" );
|
|
}
|
|
|
|
previous_button()
|
|
{
|
|
return common_scripts\_createfx::button_is_clicked( "leftarrow" );
|
|
}
|
|
|
|
_exit_menu()
|
|
{
|
|
common_scripts\_createfx::clear_fx_hudelements();
|
|
common_scripts\_createfx::clear_entity_selection();
|
|
common_scripts\_createfx::update_selected_entities();
|
|
setmenu( "none" );
|
|
}
|
|
|
|
menu_fx_creation()
|
|
{
|
|
var_0 = 0;
|
|
var_1 = undefined;
|
|
var_2 = common_scripts\_createfx::func_get_level_fx();
|
|
|
|
for ( var_3 = level.effect_list_offset; var_3 < var_2.size; var_3++ )
|
|
{
|
|
var_0 = var_0 + 1;
|
|
var_4 = var_0;
|
|
|
|
if ( var_4 == 10 )
|
|
var_4 = 0;
|
|
|
|
if ( common_scripts\_createfx::button_is_clicked( var_4 + "" ) )
|
|
{
|
|
var_1 = var_2[var_3];
|
|
break;
|
|
}
|
|
|
|
if ( var_0 > level.effect_list_offset_max )
|
|
break;
|
|
}
|
|
|
|
if ( !isdefined( var_1 ) )
|
|
return;
|
|
|
|
if ( menu( "change_fxid" ) )
|
|
{
|
|
apply_option_to_selected_fx( get_option( "fxid" ), var_1 );
|
|
level.effect_list_offset = 0;
|
|
common_scripts\_createfx::clear_fx_hudelements();
|
|
setmenu( "none" );
|
|
return;
|
|
}
|
|
|
|
var_5 = undefined;
|
|
|
|
if ( menu( "create_loopfx" ) )
|
|
var_5 = common_scripts\utility::createloopeffect( var_1 );
|
|
|
|
if ( menu( "create_oneshot" ) )
|
|
var_5 = common_scripts\utility::createoneshoteffect( var_1 );
|
|
|
|
finish_creating_entity( var_5 );
|
|
}
|
|
|
|
finish_creating_entity( var_0 )
|
|
{
|
|
var_0.v["angles"] = vectortoangles( var_0.v["origin"] + ( 0, 0, 100 ) - var_0.v["origin"] );
|
|
var_0 common_scripts\_createfx::post_entity_creation_function();
|
|
common_scripts\_createfx::clear_entity_selection();
|
|
common_scripts\_createfx::select_last_entity();
|
|
common_scripts\_createfx::move_selection_to_cursor();
|
|
common_scripts\_createfx::update_selected_entities();
|
|
setmenu( "none" );
|
|
}
|
|
|
|
entities_are_selected()
|
|
{
|
|
return level._createfx.selected_fx_ents.size > 0;
|
|
}
|
|
|
|
menu_change_selected_fx()
|
|
{
|
|
if ( !level._createfx.selected_fx_ents.size )
|
|
return;
|
|
|
|
var_0 = 0;
|
|
var_1 = 0;
|
|
var_2 = get_last_selected_ent();
|
|
|
|
for ( var_3 = 0; var_3 < level._createfx.options.size; var_3++ )
|
|
{
|
|
var_4 = level._createfx.options[var_3];
|
|
|
|
if ( !isdefined( var_2.v[var_4["name"]] ) )
|
|
continue;
|
|
|
|
var_0++;
|
|
|
|
if ( var_0 < level.effect_list_offset )
|
|
continue;
|
|
|
|
var_1++;
|
|
var_5 = var_1;
|
|
|
|
if ( var_5 == 10 )
|
|
var_5 = 0;
|
|
|
|
if ( common_scripts\_createfx::button_is_clicked( var_5 + "" ) )
|
|
{
|
|
prepare_option_for_change( var_4, var_1 );
|
|
break;
|
|
}
|
|
|
|
if ( var_1 > level.effect_list_offset_max )
|
|
{
|
|
var_6 = 1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
prepare_option_for_change( var_0, var_1 )
|
|
{
|
|
if ( var_0["name"] == "fxid" )
|
|
{
|
|
setmenu( "change_fxid" );
|
|
draw_effects_list();
|
|
return;
|
|
}
|
|
|
|
level.createfx_inputlocked = 1;
|
|
level._createfx.hudelems[var_1 + 3][0].color = ( 1, 1, 0 );
|
|
|
|
if ( isdefined( var_0["input_func"] ) )
|
|
thread [[ var_0["input_func"] ]]( var_1 + 3 );
|
|
else
|
|
common_scripts\_createfx::createfx_centerprint( "To change " + var_0["description"] + " on selected entities, type /fx newvalue" );
|
|
|
|
set_option_index( var_0["name"] );
|
|
setdvar( "fx", "nil" );
|
|
}
|
|
|
|
menu_fx_option_set()
|
|
{
|
|
if ( getdvar( "fx" ) == "nil" )
|
|
return;
|
|
|
|
var_0 = get_selected_option();
|
|
var_1 = undefined;
|
|
|
|
if ( var_0["type"] == "string" )
|
|
var_1 = getdvar( "fx" );
|
|
|
|
if ( var_0["type"] == "int" )
|
|
var_1 = getdvarint( "fx" );
|
|
|
|
if ( var_0["type"] == "float" )
|
|
var_1 = getdvarfloat( "fx" );
|
|
|
|
apply_option_to_selected_fx( var_0, var_1 );
|
|
}
|
|
|
|
apply_option_to_selected_fx( var_0, var_1 )
|
|
{
|
|
for ( var_2 = 0; var_2 < level._createfx.selected_fx_ents.size; var_2++ )
|
|
{
|
|
var_3 = level._createfx.selected_fx_ents[var_2];
|
|
|
|
if ( mask( var_0["mask"], var_3.v["type"] ) )
|
|
var_3.v[var_0["name"]] = var_1;
|
|
}
|
|
|
|
level.last_displayed_ent = undefined;
|
|
common_scripts\_createfx::update_selected_entities();
|
|
common_scripts\_createfx::clear_settable_fx();
|
|
}
|
|
|
|
set_option_index( var_0 )
|
|
{
|
|
for ( var_1 = 0; var_1 < level._createfx.options.size; var_1++ )
|
|
{
|
|
if ( level._createfx.options[var_1]["name"] != var_0 )
|
|
continue;
|
|
|
|
level._createfx.selected_fx_option_index = var_1;
|
|
return;
|
|
}
|
|
}
|
|
|
|
get_selected_option()
|
|
{
|
|
return level._createfx.options[level._createfx.selected_fx_option_index];
|
|
}
|
|
|
|
mask( var_0, var_1 )
|
|
{
|
|
return isdefined( level.createfxmasks[var_0][var_1] );
|
|
}
|
|
|
|
addoption( var_0, var_1, var_2, var_3, var_4, var_5 )
|
|
{
|
|
var_6 = [];
|
|
var_6["type"] = var_0;
|
|
var_6["name"] = var_1;
|
|
var_6["description"] = var_2;
|
|
var_6["default"] = var_3;
|
|
var_6["mask"] = var_4;
|
|
|
|
if ( isdefined( var_5 ) )
|
|
var_6["input_func"] = var_5;
|
|
|
|
level._createfx.options[level._createfx.options.size] = var_6;
|
|
}
|
|
|
|
get_option( var_0 )
|
|
{
|
|
for ( var_1 = 0; var_1 < level._createfx.options.size; var_1++ )
|
|
{
|
|
if ( level._createfx.options[var_1]["name"] == var_0 )
|
|
return level._createfx.options[var_1];
|
|
}
|
|
}
|
|
|
|
input_reactive_radius( var_0 )
|
|
{
|
|
for (;;)
|
|
{
|
|
wait 0.05;
|
|
|
|
if ( level.player buttonpressed( "escape" ) || level.player buttonpressed( "x" ) )
|
|
break;
|
|
|
|
var_1 = 0;
|
|
|
|
if ( level.player buttonpressed( "-" ) )
|
|
var_1 = -10;
|
|
else if ( level.player buttonpressed( "=" ) )
|
|
var_1 = 10;
|
|
|
|
if ( var_1 != 0 )
|
|
{
|
|
foreach ( var_3 in level._createfx.selected_fx_ents )
|
|
{
|
|
if ( isdefined( var_3.v["reactive_radius"] ) )
|
|
{
|
|
var_3.v["reactive_radius"] = var_3.v["reactive_radius"] + var_1;
|
|
var_3.v["reactive_radius"] = clamp( var_3.v["reactive_radius"], 10, 1000 );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
level.last_displayed_ent = undefined;
|
|
common_scripts\_createfx::update_selected_entities();
|
|
common_scripts\_createfx::clear_settable_fx();
|
|
}
|
|
|
|
display_fx_add_options( var_0 )
|
|
{
|
|
common_scripts\_createfx::clear_fx_hudelements();
|
|
common_scripts\_createfx::set_fx_hudelement( "Name: " + var_0.v["fxid"] );
|
|
common_scripts\_createfx::set_fx_hudelement( "Type: " + var_0.v["type"] );
|
|
common_scripts\_createfx::set_fx_hudelement( "Origin: " + var_0.v["origin"] );
|
|
common_scripts\_createfx::set_fx_hudelement( "Angles: " + var_0.v["angles"] );
|
|
var_1 = 0;
|
|
var_2 = 0;
|
|
var_3 = 0;
|
|
|
|
if ( level.effect_list_offset >= level._createfx.options.size )
|
|
level.effect_list_offset = 0;
|
|
|
|
for ( var_4 = 0; var_4 < level._createfx.options.size; var_4++ )
|
|
{
|
|
var_5 = level._createfx.options[var_4];
|
|
|
|
if ( isdefined( var_0.v[var_5["name"]] ) )
|
|
continue;
|
|
|
|
if ( !mask( var_5["mask"], var_0.v["type"] ) )
|
|
continue;
|
|
|
|
var_1++;
|
|
|
|
if ( var_1 < level.effect_list_offset )
|
|
continue;
|
|
|
|
if ( var_2 >= level.effect_list_offset_max )
|
|
continue;
|
|
|
|
var_2++;
|
|
var_6 = var_2;
|
|
|
|
if ( var_6 == 10 )
|
|
var_6 = 0;
|
|
|
|
if ( common_scripts\_createfx::button_is_clicked( var_6 + "" ) )
|
|
{
|
|
add_option_to_selected_entities( var_5 );
|
|
menunone();
|
|
level.last_displayed_ent = undefined;
|
|
return;
|
|
}
|
|
|
|
common_scripts\_createfx::set_fx_hudelement( var_6 + ". " + var_5["description"] );
|
|
}
|
|
|
|
if ( var_1 > level.effect_list_offset_max )
|
|
common_scripts\_createfx::set_fx_hudelement( "(->) More >" );
|
|
|
|
common_scripts\_createfx::set_fx_hudelement( "(x) Exit >" );
|
|
}
|
|
|
|
add_option_to_selected_entities( var_0 )
|
|
{
|
|
var_1 = undefined;
|
|
|
|
for ( var_2 = 0; var_2 < level._createfx.selected_fx_ents.size; var_2++ )
|
|
{
|
|
var_3 = level._createfx.selected_fx_ents[var_2];
|
|
|
|
if ( mask( var_0["mask"], var_3.v["type"] ) )
|
|
var_3.v[var_0["name"]] = var_0["default"];
|
|
}
|
|
}
|
|
|
|
menunone()
|
|
{
|
|
level.effect_list_offset = 0;
|
|
common_scripts\_createfx::clear_fx_hudelements();
|
|
setmenu( "none" );
|
|
}
|
|
|
|
display_fx_info( var_0 )
|
|
{
|
|
if ( !menu( "none" ) )
|
|
return;
|
|
|
|
common_scripts\_createfx::clear_fx_hudelements();
|
|
common_scripts\_createfx::set_fx_hudelement( "Name: " + var_0.v["fxid"] );
|
|
common_scripts\_createfx::set_fx_hudelement( "Type: " + var_0.v["type"] );
|
|
common_scripts\_createfx::set_fx_hudelement( "Origin: " + var_0.v["origin"] );
|
|
common_scripts\_createfx::set_fx_hudelement( "Angles: " + var_0.v["angles"] );
|
|
|
|
if ( entities_are_selected() )
|
|
{
|
|
var_1 = 0;
|
|
var_2 = 0;
|
|
var_3 = 0;
|
|
|
|
for ( var_4 = 0; var_4 < level._createfx.options.size; var_4++ )
|
|
{
|
|
var_5 = level._createfx.options[var_4];
|
|
|
|
if ( !isdefined( var_0.v[var_5["name"]] ) )
|
|
continue;
|
|
|
|
var_1++;
|
|
|
|
if ( var_1 < level.effect_list_offset )
|
|
continue;
|
|
|
|
var_2++;
|
|
common_scripts\_createfx::set_fx_hudelement( var_2 + ". " + var_5["description"] + ": " + var_0.v[var_5["name"]] );
|
|
|
|
if ( var_2 > level.effect_list_offset_max )
|
|
{
|
|
var_3 = 1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ( var_1 > level.effect_list_offset_max )
|
|
common_scripts\_createfx::set_fx_hudelement( "(->) More >" );
|
|
|
|
common_scripts\_createfx::set_fx_hudelement( "(a) Add >" );
|
|
common_scripts\_createfx::set_fx_hudelement( "(x) Exit >" );
|
|
}
|
|
else
|
|
{
|
|
var_1 = 0;
|
|
var_3 = 0;
|
|
|
|
for ( var_4 = 0; var_4 < level._createfx.options.size; var_4++ )
|
|
{
|
|
var_5 = level._createfx.options[var_4];
|
|
|
|
if ( !isdefined( var_0.v[var_5["name"]] ) )
|
|
continue;
|
|
|
|
var_1++;
|
|
common_scripts\_createfx::set_fx_hudelement( var_5["description"] + ": " + var_0.v[var_5["name"]] );
|
|
|
|
if ( var_1 > level._createfx.hudelem_count )
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
draw_effects_list( var_0 )
|
|
{
|
|
common_scripts\_createfx::clear_fx_hudelements();
|
|
var_1 = 0;
|
|
var_2 = 0;
|
|
var_3 = common_scripts\_createfx::func_get_level_fx();
|
|
|
|
if ( !isdefined( var_0 ) )
|
|
var_0 = "Pick an effect";
|
|
|
|
common_scripts\_createfx::set_fx_hudelement( var_0 + " [" + level.effect_list_offset + " - " + var_3.size + "]:" );
|
|
|
|
for ( var_4 = level.effect_list_offset; var_4 < var_3.size; var_4++ )
|
|
{
|
|
var_1 = var_1 + 1;
|
|
common_scripts\_createfx::set_fx_hudelement( var_1 + ". " + var_3[var_4] );
|
|
|
|
if ( var_1 >= level.effect_list_offset_max )
|
|
{
|
|
var_2 = 1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ( var_3.size > level.effect_list_offset_max )
|
|
{
|
|
common_scripts\_createfx::set_fx_hudelement( "(->) More >" );
|
|
common_scripts\_createfx::set_fx_hudelement( "(<-) Previous >" );
|
|
}
|
|
}
|
|
|
|
increment_list_offset()
|
|
{
|
|
var_0 = common_scripts\_createfx::func_get_level_fx();
|
|
|
|
if ( level.effect_list_offset >= var_0.size - level.effect_list_offset_max )
|
|
level.effect_list_offset = 0;
|
|
else
|
|
level.effect_list_offset = level.effect_list_offset + level.effect_list_offset_max;
|
|
}
|
|
|
|
decrement_list_offset()
|
|
{
|
|
level.effect_list_offset = level.effect_list_offset - level.effect_list_offset_max;
|
|
|
|
if ( level.effect_list_offset < 0 )
|
|
{
|
|
var_0 = common_scripts\_createfx::func_get_level_fx();
|
|
level.effect_list_offset = var_0.size - level.effect_list_offset_max;
|
|
}
|
|
}
|
|
|
|
select_by_name()
|
|
{
|
|
var_0 = 0;
|
|
var_1 = undefined;
|
|
var_2 = common_scripts\_createfx::func_get_level_fx();
|
|
|
|
for ( var_3 = level.effect_list_offset; var_3 < var_2.size; var_3++ )
|
|
{
|
|
var_0 = var_0 + 1;
|
|
var_4 = var_0;
|
|
|
|
if ( var_4 == 10 )
|
|
var_4 = 0;
|
|
|
|
if ( common_scripts\_createfx::button_is_clicked( var_4 + "" ) )
|
|
{
|
|
var_1 = var_2[var_3];
|
|
break;
|
|
}
|
|
|
|
if ( var_0 > level.effect_list_offset_max )
|
|
break;
|
|
}
|
|
|
|
if ( !isdefined( var_1 ) )
|
|
return;
|
|
|
|
var_5 = [];
|
|
|
|
foreach ( var_3, var_7 in level.createfxent )
|
|
{
|
|
if ( issubstr( var_7.v["fxid"], var_1 ) )
|
|
var_5[var_5.size] = var_3;
|
|
}
|
|
|
|
common_scripts\_createfx::deselect_all_ents();
|
|
common_scripts\_createfx::select_index_array( var_5 );
|
|
level._createfx.select_by_name = 1;
|
|
}
|
|
|
|
get_last_selected_ent()
|
|
{
|
|
return level._createfx.selected_fx_ents[level._createfx.selected_fx_ents.size - 1];
|
|
}
|