// ====================================================================== include library.ai_lib; include library.create; include library.groundquests; include library.pclib; include library.skill; include library.space_quest; include library.space_utils; include library.static_item; include library.utils; include library.weapons; include library.chat; include library.npe; include library.xp; include library.dump; include library.buff; inherits base.remote_object_requester; // ====================================================================== const string FINISH_PLANET = "tatooine"; const float FINISH_X = 3528.0f; const float FINISH_Z = -4804.0f; const String MINIGAME_PARAM_RESULT = "result"; const String MINIGAME_VARNAME_GAME = "game"; const String MINIGAME_VARNAME_SCORE = "score"; const String MINIGAME_VARNAME_TABLE = "table"; const String MINIGAME_VARNAME_PLAYER = "player"; const String MINIGAME_GAMENAME_MAHJONG = "mahjong"; const String MINIGAME_VARNAME_MAHJONG_LAYOUT = "layout"; // ====================================================================== const string [] COMMAND_LIST = {"sw_remove_mods", "sw_kill", "sw_buff_apply", "sw_buff_remove", "sw_buff_list", "sw_scriptvar_set", "sw_scriptvar_list", "sw_scriptvar_remove", "sw_garbage_collect", "sw_objid_isvalid", "sw_mahjong"}; // Hello World trigger OnSpeaking(String text) { if (true) //isGod(self)) { debugConsoleMsg( self, "swyckoff_test OnSpeaking: " + text ); java.util.StringTokenizer tok = new java.util.StringTokenizer (text); if (tok.hasMoreTokens ()) { String command = tok.nextToken (); //debugConsoleMsg( self, "command is: " + command); // ---------------------------------------------------------------------- if(command.equalsIgnoreCase ("sw_list_commands")) { String outstring = "commands possible:"; for(int i = 0; i [target oid]"); } } //sw_buff_apply if ( command.equalsIgnoreCase ("sw_buff_remove")) { debugConsoleMsg(self, "hit sw_buff_remove"); obj_id oid = self; if(tok.hasMoreTokens ()) { String buffname = tok.nextToken(); if(tok.hasMoreTokens ()) { oid = utils.stringToObjId(tok.nextToken()); } if(buff.removeBuff(oid,buffname)) { debugConsoleMsg(self, "buff " + buffname + " removed from " + oid); debugConsoleMsg(oid, "buff " + buffname + " removed by " + self); } else { debugConsoleMsg(self, "failed to remove buff " + buffname + " to " + oid); } } else { debugConsoleMsg(self, "usage: sw_buff_remove [target oid]"); } } //sw_buff_remove if ( command.equalsIgnoreCase ("sw_buff_list")) { debugConsoleMsg(self, "hit sw_buff_list"); obj_id oid = self; if(tok.hasMoreTokens ()) { oid = utils.stringToObjId(tok.nextToken()); } int[] buffcrcs = buff.getAllBuffs(oid); String outstring = "Buffs on " + oid; for(int i = 0; i < buffcrcs.length; i++) { outstring += " " + buff.getBuffNameFromCrc(buffcrcs[i]); } debugConsoleMsg(self, outstring); } //sw_buff_list if ( command.equalsIgnoreCase ("sw_scriptvar_set")) { debugConsoleMsg(self, "hit sw_scriptvar_set"); obj_id oid = self; String scriptvarname = "test.swyckoff"; int value = 1; if(tok.hasMoreTokens ()) { oid = utils.stringToObjId(tok.nextToken()); } if(tok.hasMoreTokens ()) { scriptvarname = tok.nextToken(); } if(tok.hasMoreTokens ()) { value = utils.stringToInt(tok.nextToken()); } utils.setScriptVar(oid, scriptvarname, value); } //sw_scriptvar_set if ( command.equalsIgnoreCase ("sw_scriptvar_list")) { debugConsoleMsg(self, "hit sw_scriptvar_list"); obj_id oid = self; if(tok.hasMoreTokens ()) { oid = utils.stringToObjId(tok.nextToken()); } debugConsoleMsg(self, "showScriptVars: target = " + oid); deltadictionary delta = oid.getScriptVars(); if ( delta == null ) { debugConsoleMsg(self, "NONE!"); } else { debugConsoleMsg(self, "dd = " + delta.toString()); } } //sw_scriptvar_list if ( command.equalsIgnoreCase ("sw_scriptvar_remove")) { debugConsoleMsg(self, "hit sw_test_scriptvar_remove"); obj_id oid = self; String scriptvarname = "test.swyckoff"; int value = 1; if(tok.hasMoreTokens ()) { scriptvarname = tok.nextToken(); } if(tok.hasMoreTokens ()) { value = utils.stringToInt(tok.nextToken()); } utils.removeScriptVar(oid, scriptvarname); } //sw_test_scriptvar_remove if ( command.equalsIgnoreCase ("sw_garbage_collect")) { debugConsoleMsg(self, "hit sw_garbage_collect"); System.gc(); } //sw_garbage_collect if ( command.equalsIgnoreCase ("sw_objid_isvalid")) { debugConsoleMsg(self, "hit sw_objid_isvalid"); if(tok.hasMoreTokens ()) { obj_id oid = utils.stringToObjId(tok.nextToken()); if(isIdValid(oid)) { debugConsoleMsg(self, "the obj_id " + oid + " is valid."); } else { debugConsoleMsg(self, "the obj_id " + oid + " is NOT valid."); } } else { debugConsoleMsg(self, "requires an id to verify"); } } //sw_objid_isvalid if ( command.equalsIgnoreCase ("sw_mahjong")) { debugConsoleMsg(self, "hit sw_mahjong"); dictionary data = new dictionary(); data.put(MINIGAME_VARNAME_GAME, MINIGAME_GAMENAME_MAHJONG); data.put(MINIGAME_VARNAME_TABLE, obj_id.NULL_ID); if(tok.hasMoreTokens ()) { String actionType = tok.nextToken(); obj_id player = self; if(tok.hasMoreTokens()) { player = utils.stringToObjId(tok.nextToken()); if(isIdValid(player)) { obj_id owneroid = null; if(tok.hasMoreTokens ()) { owneroid = utils.stringToObjId(tok.nextToken()); data.put(MINIGAME_VARNAME_TABLE, owneroid); } } else { debugConsoleMsg(self, "target is not valid"); } } else { if(clientMinigameOpen(self, data)) { debugConsoleMsg(self, "no target, opened minigame on self"); } else { debugConsoleMsg(self, "no target, failed to open minigame on self"); } } if(isIdValid(player)) { if(actionType.equalsIgnoreCase("open")) { if(clientMinigameOpen(player, data)) { debugConsoleMsg(self, "opened minigame on " + player); } else { debugConsoleMsg(self, "failed to open minigame on " + player); } } else if(actionType.equalsIgnoreCase("close")) { clientMinigameClose(player, data); } } } } //sw_mahjong /* if ( command.equalsIgnoreCase ("sw_debug_objid")) { debugConsoleMsg(self, "hit sw_debug_objid"); boolean on = false; if( tok.hasMoreTokens()) { int val = utils.stringToInt(tok.nextToken()); on = val != 0; } obj_id.DEBUG = on; } //sw_debug_objid */ } } return SCRIPT_CONTINUE; } // ---------------------------------------------------------------------- trigger OnAttach() { debugConsoleMsg(self, "attached swyckoff_test"); return SCRIPT_CONTINUE; } messageHandler startPerform() { //LOG("QUEST_DEBUG", "startPerform"); return SCRIPT_CONTINUE; } // ---------------------------------------------------------------------- messageHandler stopPerform() { //LOG("QUEST_DEBUG", "stopPerform"); return SCRIPT_CONTINUE; } // ---------------------------------------------------------------------- messageHandler clientMinigameResult() { debugConsoleMsg(self, "minigame params: " + params.toString()); dictionary data = params.getDictionary(MINIGAME_PARAM_RESULT); int score = data.getInt(MINIGAME_VARNAME_SCORE); obj_id player = data.getObjId(MINIGAME_VARNAME_PLAYER); String layout = data.getString(MINIGAME_VARNAME_MAHJONG_LAYOUT); int dummy = data.getInt("missing"); debugConsoleMsg(self, "minigame result: " + player + " score " + score + " layout " + layout); return SCRIPT_CONTINUE; } // ----------------------------------------------------------------------