mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-31 00:15:54 -04:00
230 lines
5.7 KiB
Plaintext
230 lines
5.7 KiB
Plaintext
/***** INCLUDES ********************************************************/
|
|
|
|
include library.player_structure;
|
|
include library.sui;
|
|
include library.utils;
|
|
|
|
/***** LOGGING *********************************************************/
|
|
|
|
const string TERMINAL_LOGGING = "special_sign";
|
|
const boolean LOGGING_ON = true;
|
|
|
|
messageHandler handleCloseSui()
|
|
{
|
|
if ( params == null || params.isEmpty() )
|
|
return SCRIPT_CONTINUE;
|
|
|
|
int pid = params.getInt("pid");
|
|
if ( pid > -1 )
|
|
forceCloseSUIPage(pid);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler handleSetSuiAssociate()
|
|
{
|
|
//debugSpeakMsg(self, "handleSetSuiAssociate: entered...");
|
|
if ( params == null || params.isEmpty() )
|
|
return SCRIPT_CONTINUE;
|
|
|
|
int pid = params.getInt("pid");
|
|
if ( pid < 0 )
|
|
return SCRIPT_CONTINUE;
|
|
|
|
obj_id associate = params.getObjId("associate");
|
|
if ( !isIdValid(associate) )
|
|
return SCRIPT_CONTINUE;
|
|
|
|
float range = params.getFloat("range");
|
|
if ( range < 0f )
|
|
return SCRIPT_CONTINUE;
|
|
|
|
//debugSpeakMsg(self, "handleSetSuiAssociate: set pid = " + pid + " associate = " + associate + " range = " + range);
|
|
setSUIAssociatedObject(pid, associate);
|
|
setSUIMaxRangeToObject(pid, range);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler handleDecorTypeSelect()
|
|
{
|
|
if(params == null || params.isEmpty())
|
|
return SCRIPT_CONTINUE;
|
|
|
|
blog("handleDecorTypeSelect: init");
|
|
|
|
// Grab params.
|
|
int idx = sui.getListboxSelectedRow(params);
|
|
if(idx < 0) idx = 0;
|
|
|
|
obj_id player = sui.getPlayerId(params);
|
|
if(!isValidId(player) || !exists(player))
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
int btn = sui.getIntButtonPressed(params);
|
|
if(btn == sui.BP_CANCEL)
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
blog("handleDecorTypeSelect: initial validation done");
|
|
|
|
string[] decorMenu = utils.getStringArrayScriptVar(player, /*player_structure.SVAR_DECOR_PREFIX + */".decorMenu");
|
|
if(decorMenu == null || decorMenu.length <= 0)
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
blog("handleDecorTypeSelect: decorMenu received");
|
|
|
|
string[] slotName = utils.getStringArrayScriptVar(player, /*player_structure.SVAR_DECOR_PREFIX + */".slotName");
|
|
if(slotName == null || slotName.length <= 0)
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
blog("handleDecorTypeSelect: slotName received");
|
|
|
|
string menuSelection = decorMenu[idx];
|
|
if(menuSelection == null || menuSelection.equals(""))
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
blog("handleDecorTypeSelect: menuSelection: "+menuSelection);
|
|
|
|
string slotSelection = slotName[idx];
|
|
if(slotSelection == null || slotSelection.equals(""))
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
blog("handleDecorTypeSelect: slotSelection: "+slotSelection);
|
|
|
|
string template = utils.getStringScriptVar(player, /*player_structure.SVAR_DECOR_PREFIX + */".structureTemplate");
|
|
if(template == null || template.equals(""))
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
blog("handleDecorTypeSelect: template: "+template);
|
|
|
|
obj_id structure = utils.getObjIdScriptVar(player, /*player_structure.SVAR_DECOR_PREFIX + */".structure");
|
|
if(!isValidId(structure)|| !exists(structure))
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
blog("handleDecorTypeSelect: structure: "+structure);
|
|
|
|
blog("handleDecorTypeSelect: finished, sendign data");
|
|
//player_structure.placeExteriorDecorObject(player, structure, template, menuSelection, slotSelection);
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler handleDecorSlotRemovalSelect()
|
|
{
|
|
if(params == null || params.isEmpty())
|
|
return SCRIPT_CONTINUE;
|
|
|
|
blog("handleDecorSlotRemovalSelect: init");
|
|
|
|
// Grab params.
|
|
int idx = sui.getListboxSelectedRow(params);
|
|
if(idx < 0) idx = 0;
|
|
|
|
obj_id player = sui.getPlayerId(params);
|
|
if(!isValidId(player) || !exists(player))
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
int btn = sui.getIntButtonPressed(params);
|
|
if(btn == sui.BP_CANCEL)
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
blog("handleDecorSlotRemovalSelect: initial validation done");
|
|
|
|
string[] occupiedSlots = utils.getStringArrayScriptVar(player, /*player_structure.SVAR_DECOR_PREFIX + */".occupiedSlots");
|
|
if(occupiedSlots == null || occupiedSlots.length <= 0)
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
string menuSelection = occupiedSlots[idx];
|
|
if(menuSelection == null || menuSelection.equals(""))
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
obj_id structure = utils.getObjIdScriptVar(player, /*player_structure.SVAR_DECOR_PREFIX + */".structure");
|
|
if(!isValidId(structure) || !exists(structure))
|
|
{
|
|
removeDecorVars(player);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
blog("handleDecorSlotRemovalSelect: menuSelection: "+menuSelection);
|
|
|
|
//obj_id decorObjId = player_structure.getOidOfDecorInSlot(structure, menuSelection);
|
|
//if(!isValidId(decorObjId) || !exists(decorObjId))
|
|
//{
|
|
// removeDecorVars(player);
|
|
// return SCRIPT_CONTINUE;
|
|
//}
|
|
|
|
|
|
//customerServiceLog here
|
|
|
|
//first remove the slot from array
|
|
//if(!player_structure.removeDecorSlotFromArray(structure, slot))
|
|
//{
|
|
// //customerServiceLog here
|
|
// return SCRIPT_CONTINUE;
|
|
//}
|
|
|
|
//reimburse SkillMod here
|
|
|
|
//if all is success, destroy the object
|
|
//destroyObject(decorObjId);
|
|
|
|
//sendSystemMessage(player, player_structure.SID_DECOR_ITEM_REMOVED);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
boolean removeDecorVars(obj_id player)
|
|
{
|
|
if(!isValidId(player) || !exists(player))
|
|
return false;
|
|
|
|
//utils.removeScriptVar(player, player_structure.SVAR_DECOR_PREFIX);
|
|
//sui.removePid(player, player_structure.PID_DECOR_SELECTION);
|
|
|
|
return true;
|
|
}
|
|
|
|
boolean blog(string msg)
|
|
{
|
|
if(msg == null || msg.equals(""))
|
|
return false;
|
|
if(LOGGING_ON)
|
|
LOG(TERMINAL_LOGGING, msg);
|
|
|
|
return true;
|
|
} |