/** * Copyright (c)2000-2002 Sony Online Entertainment Inc. * All Rights Reserved * * Title: getResourceCrate.script * Description: CSR tool to get an arbitrary amount of an arbitrary resource * @author $Author:$ * @version $Revision:$ */ /***** INCLUDES ********************************************************/ include library.utils; /***** INHERITS ********************************************************/ /***** CONSTANTS *******************************************************/ const int MAX_AMOUNT = 100000; /***** TRIGGERS ********************************************************/ trigger OnSpeaking(String text) { //make sure caller is a God if ( isPlayer(self) && !isGod(self) ) { return SCRIPT_CONTINUE; } java.util.StringTokenizer tok = new java.util.StringTokenizer (text); //check for command name: getResourceCrate if (tok.hasMoreTokens ()) { String command = tok.nextToken (); boolean notEnoughParams = false; if (command.equals ("getResourceCrate") ) { if(tok.hasMoreTokens ()) { String resourceName = tok.nextToken (); if(tok.hasMoreTokens ()) { int amount = utils.stringToInt(tok.nextToken ()); if(amount < 0) { sendSystemMessage(self, "getResourceCrate: FAILURE - Negative amounts of resources not allowed", ""); return SCRIPT_CONTINUE; } if(amount > MAX_AMOUNT) { sendSystemMessage(self, "getResourceCrate: FAILURE - Requested amount greater than the " + MAX_AMOUNT + " maximum.", ""); return SCRIPT_CONTINUE; } getResourceCrate(self, resourceName, amount); } else notEnoughParams = true; } else notEnoughParams = true; if(notEnoughParams) { debugConsoleMsg(self, "Usage: getResourceCrate . Example: getResourceCrate Evom 4000"); } } } return SCRIPT_CONTINUE; } /***** FUNCTIONS *******************************************************/ /** Given a name and amount, create a filled resource crate in the caller's inventory */ void getResourceCrate(obj_id player, String resourceName, int amount) { obj_id resourceType = getResourceTypeByName(resourceName); if(isIdValid(resourceType)) { string crateTemplate = getResourceContainerForType(resourceType); if ( !crateTemplate.equals("") ) { obj_id pInv = utils.getInventoryContainer(player); if ( pInv != null ) { obj_id crate = createObject(crateTemplate, pInv, ""); if ( (crate == null) || (crate == obj_id.NULL_ID) ) { sendSystemMessage(player, "getResourceCrate: FAILURE - Could not create crate.", ""); } else { if ( addResourceToContainer (crate, resourceType, amount, player) ) { sendSystemMessage(player, "getResourceCrate: Crate of " + resourceName + " created and filled with " + amount + " units. It has been placed in your inventory.", ""); } else { sendSystemMessage(player, "getResourceCrate: FAILURE - Crate created, but could not be filled.", ""); } } } else { sendSystemMessage(player, "getResourceCrate: FAILURE - Could not get your inventroy to put the container in.", ""); } } else { sendSystemMessage(player, "getResourceCrate: FAILURE - Could not get the crate template.", ""); } } else { sendSystemMessage(player, "getResourceCrate: FAILURE - Could not find resource type by name, check resource name.", ""); } }