struct item_data* script_data2nameid (struct script_state* st,struct script_data *data) {
	int nameid=0;
	struct item_data *item_data=NULL;

	get_val(st,data);
	if( data_isstring(data) )
	{
		// "<item name>"
		const char *name=conv_str(st,data);
		item_data = itemdb_searchname(name);
		if( item_data == NULL ){
			ShowError("Nonexistant item %s requested.\n", name);
			return NULL; //No item created.
		}
	} else if( data_isint(data) ) {// <item id>
		nameid=conv_num(st,data);
		//Violet Box, Blue Box, etc - random item pick
		if( nameid < 0 ) nameid=itemdb_searchrandomid(-nameid);
		if( nameid <= 0 || !itemdb_exists(nameid) ){
			ShowError(" Nonexistant item %d requested.\n", nameid);
			return NULL; //No item created.
		}
		item_data=itemdb_exists(nameid);
	}
	return item_data;
}