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;
}