I have been trying to improve upon the do_compare code which has been
posted to the developer site for some time. Mainly, I want to be able to
compare against objects that are already equiped.
I got the first argument to be either from inventory or equiped, and I
thought the second argument would be easy too. However, I am getting some
very strange results which I cannot seem to figure out.
> eq
You are using:
<wielded> a dagger
<held> a sword
> compare dagger sword
Debug2: You do not have that item.
> compare sword dagger
A sword looks better than a dagger.
So, in the first example when I compare the dagger to the sword it cannot
correctly locate the sword object in the held position. But when I reverse
the arguemnts it works just fine and finds both objects?!?!?
if (!(obj2 = get_obj_in_list_vis(ch, arg2, NULL, ch->carrying))) {
for (j = 0; j < NUM_WEARS && !found; j++)
if (GET_EQ(ch, j) && CAN_SEE_OBJ(ch, GET_EQ(ch, j))) {
if (isname(arg2, GET_EQ(ch, j)->name)) {
obj2 = GET_EQ(ch, j);
found = TRUE;
} else {
send_to_char(ch, "Debug2: You do not have that item.\n\r");
return;
}
}
}
Can someone please show me the error of my ways?
--Ziz
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
| Newbie List: http://groups.yahoo.com/group/circle-newbies/ |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT