Files
dsrc/sku.0/sys.server/compiled/game/script/item/droid/serving_droid.script
T

81 lines
1.9 KiB
Plaintext

include library.hue;
include library.sui;
include library.utils;
const string_id PCOLOR = new string_id("sui", "set_primary_color");
const string_id SCOLOR = new string_id("sui", "set_secondary_color");
trigger OnObjectMenuRequest(obj_id player, menu_info mi)
{
obj_id droid = self;
if ( !utils.isNestedWithin(droid, player) )
return SCRIPT_CONTINUE;
int mnuPrimaryColor = mi.addRootMenu(menu_info_types.SERVER_MENU1, PCOLOR);
int mnuSecondaryColor = mi.addRootMenu(menu_info_types.SERVER_MENU2, SCOLOR);
return SCRIPT_CONTINUE;
}
trigger OnObjectMenuSelect(obj_id player, int item)
{
obj_id droid = self;
if ( !utils.isNestedWithin(droid, player) )
return SCRIPT_CONTINUE;
if ( item == menu_info_types.SERVER_MENU1 )
{
sui.colorize(droid, player, droid, hue.INDEX_1, "handlePrimaryColorize");
}
if ( item == menu_info_types.SERVER_MENU2 )
{
sui.colorize(droid, player, droid, hue.INDEX_2, "handleSecondaryColorize");
}
return SCRIPT_CONTINUE;
}
messageHandler handlePrimaryColorize()
{
obj_id droid = self;
int idx = sui.getColorPickerIndex(params);
int bp = sui.getIntButtonPressed(params);
obj_id player = sui.getPlayerId(params);
if ( bp == sui.BP_CANCEL )
{
return SCRIPT_CONTINUE;
}
if ( idx > -1 )
{
custom_var myVar = getCustomVarByName(droid, hue.INDEX_1);
if (myVar != null && myVar.isPalColor())
{
palcolor_custom_var pcVar = (palcolor_custom_var)myVar;
pcVar.setValue(idx);
}
}
return SCRIPT_CONTINUE;
}
messageHandler handleSecondaryColorize()
{
obj_id droid = self;
int idx = sui.getColorPickerIndex(params);
int bp = sui.getIntButtonPressed(params);
obj_id player = sui.getPlayerId(params);
if ( bp == sui.BP_CANCEL )
{
return SCRIPT_CONTINUE;
}
if ( idx > -1 )
{
custom_var myVar = getCustomVarByName(droid, hue.INDEX_2);
if (myVar != null && myVar.isPalColor())
{
palcolor_custom_var pcVar = (palcolor_custom_var)myVar;
pcVar.setValue(idx);
}
}
return SCRIPT_CONTINUE;
}