mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-14 23:07:51 -04:00
96 lines
3.6 KiB
Java
Executable File
96 lines
3.6 KiB
Java
Executable File
package script.space.characters;
|
|
|
|
import script.*;
|
|
import script.library.sui;
|
|
|
|
public class transfer_auth extends script.base_script
|
|
{
|
|
public transfer_auth()
|
|
{
|
|
}
|
|
public static final string_id SID_READ = new string_id("space/quest", "read");
|
|
public static final string_id SID_SYS_NOT_IN_INV = new string_id("space/quest", "not_in_inv");
|
|
public static final string_id SID_SIGNED = new string_id("space/quest", "signed");
|
|
public static final String SID_SIGN = "@space/quest:sign";
|
|
public static final String SID_CLOSE = "@space/quest:close";
|
|
public int OnObjectMenuRequest(obj_id self, obj_id player, menu_info mi) throws InterruptedException
|
|
{
|
|
mi.addRootMenu(menu_info_types.SERVER_MENU1, SID_READ);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public int OnObjectMenuSelect(obj_id self, obj_id player, int item) throws InterruptedException
|
|
{
|
|
if (item == menu_info_types.SERVER_MENU1)
|
|
{
|
|
displayDialog(self, player);
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public void displayDialog(obj_id self, obj_id player) throws InterruptedException
|
|
{
|
|
obj_id inventory = getObjectInSlot(player, "inventory");
|
|
if (!contains(inventory, self))
|
|
{
|
|
sendSystemMessage(player, SID_SYS_NOT_IN_INV);
|
|
return;
|
|
}
|
|
String text = "@space/quest:ta_text";
|
|
String title = "@space/quest:ta_title";
|
|
String signed = getStringObjVar(self, "signature");
|
|
if (signed != null)
|
|
{
|
|
text += "\n Signed: " + signed + "\n";
|
|
}
|
|
int pid = sui.createSUIPage(sui.SUI_MSGBOX, self, player, "handleDialogInput");
|
|
sui.setSUIProperty(pid, sui.MSGBOX_PROMPT, sui.PROP_TEXT, text);
|
|
sui.setSUIProperty(pid, sui.MSGBOX_TITLE, sui.PROP_TEXT, title);
|
|
sui.msgboxButtonSetup(pid, sui.OK_CANCEL);
|
|
sui.setSUIProperty(pid, sui.MSGBOX_BTN_CANCEL, sui.PROP_TEXT, SID_SIGN);
|
|
sui.setSUIProperty(pid, sui.MSGBOX_BTN_OK, sui.PROP_TEXT, SID_CLOSE);
|
|
sui.showSUIPage(pid);
|
|
return;
|
|
}
|
|
public int handleDialogInput(obj_id self, dictionary params) throws InterruptedException
|
|
{
|
|
if ((params == null) || (params.isEmpty()))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
obj_id player = sui.getPlayerId(params);
|
|
int bp = sui.getIntButtonPressed(params);
|
|
switch (bp)
|
|
{
|
|
case sui.BP_CANCEL:
|
|
signForm(self, player);
|
|
return SCRIPT_CONTINUE;
|
|
case sui.BP_OK:
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
public void signForm(obj_id self, obj_id player) throws InterruptedException
|
|
{
|
|
sui.inputbox(self, player, "@space/quest:ta_sign", sui.OK_CANCEL, "@space/quest:ta_sign_title", sui.MSG_NORMAL, null, "handleSignedForm", null);
|
|
}
|
|
public int handleSignedForm(obj_id self, dictionary params) throws InterruptedException
|
|
{
|
|
if ((params == null) || (params.isEmpty()))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
obj_id player = sui.getPlayerId(params);
|
|
int bp = sui.getIntButtonPressed(params);
|
|
String text = sui.getInputBoxText(params);
|
|
switch (bp)
|
|
{
|
|
case sui.BP_CANCEL:
|
|
return SCRIPT_CONTINUE;
|
|
case sui.BP_OK:
|
|
setObjVar(self, "signature", text);
|
|
sendSystemMessage(player, SID_SIGNED);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
}
|