Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Auto-pickup woes...

0 views
Skip to first unread message

Jarkko Heiliö

unread,
Oct 18, 2002, 5:04:24 AM10/18/02
to
Hello,

Is there any way of disabling the auto-pickup function by default? Everytime
I load up a new game of Nethack, the auto-pickup is ON by default and I have
to manually disable it which is quite annoying.

Thanks,

Jarkko


Raisse the Thaumaturge

unread,
Oct 18, 2002, 5:48:39 AM10/18/02
to

Put OPTIONS=!autopickup in your .nethackrc or equivalent.

Or if you want to pick up some object types and not others, you can
specify that instead or as well, for instance
OPTIONS=pickup_types:$!="/? to pick up gold, potions, rings, amulets,
wands and scrolls (a practical selection that will usually not burden
you too much; spellcasters may want to pick up + as well).

Raisse, killed by a soldier ant
--
ir...@valdyas.org LegoHack: http://www.valdyas.org/irina/nethack/
Status of Raisse (piously neutral): Level 8 HP 63(67) AC -3, fast.

Tars_Tarkas

unread,
Oct 18, 2002, 6:09:06 AM10/18/02
to

Just say no ;) This is done by adding:
!autopickup
(notice the '!') to the OPTIONS=foo,bar,... line(s) in your .nethackrc
file (or whatever non-unix systems use as their config file).

Although auto-pickup for certain items (like daggers/arrows and such) is
a good idea, because it can actually save you an important turn. I just
_hate_ it when I walk over a pile of stuff and a stoopid message window
pops up to inform me what items there are, just because there are two
different things lying around, causing me to loose a turn and possibly a
character because I'm currently running way^H^H^H^H^H^H retreating and
don't want to have to stop for anything...

Anybody know of a way to disable that completely and only get the
several/many items behaviour? If not, I think that's the next patch I'll
write, even before I finish the roadrunner one... (Maybe this is just a
"feature" of the Qt interface though, which might just make me switch
back to ASCII...)

--
GP_Spukgestalt, human Samurai, killed (and annoyed) by a message window.

Asmodeus

unread,
Oct 18, 2002, 7:39:54 AM10/18/02
to
Tars_Tarkas wrote:
> Anybody know of a way to disable that completely and only get the
> several/many items behaviour? If not, I think that's the next patch
> I'll write, even before I finish the roadrunner one... (Maybe this is
> just a "feature" of the Qt interface though, which might just make me
> switch back to ASCII...)

That would be a good idea. I am annoyed as well by the popup windows of 2 to
4 items on ground. I wish it would just say "several items". If I want to
know what they are, I can always look.

--A


Rob Ellwood

unread,
Oct 18, 2002, 10:53:13 AM10/18/02
to
Tars_Tarkas wrote:
>
> I just _hate_ it when I walk over a pile of stuff and a stoopid
> message window pops up to inform me what items there are, just
> because there are two different things lying around....

> Anybody know of a way to disable that completely and only get the
> several/many items behaviour? If not, I think that's the next

> patch I'll write....

Suggestion: if there's more than one item, say "there
are [several/many] things here", then list the symbols of whatever
is there after autopickup ends. ")" means "one or more weapons",
")[%" means I can ignore the heap unless food is a concern, and
")?/=" means that this heap is really worth looking at.


--
Rob Ellwood
"New Toys": new & fixed levels for Nethack
http://members.shaw.ca/rob.ellwood/

Rob Ellwood

unread,
Oct 18, 2002, 4:42:24 PM10/18/02
to
Rob Ellwood wrote:
>
> Tars_Tarkas wrote:
> >
> > [Summary: we don't like it when you walk over a square with
> > 2-4 objects and the game stops dead as a window pops up.]

The routine look_here in invent.c has the line:
boolean skip_objects = (obj_cnt >= 5);

Change the 5 to a 2.

I'll now look at listing the types of objects right
after the "There are several objects here" message.

Tars_Tarkas

unread,
Oct 18, 2002, 6:15:30 PM10/18/02
to
Rob Ellwood wrote:
> Rob Ellwood wrote:
>
>>Tars_Tarkas wrote:
>>
>>>[Summary: we don't like it when you walk over a square with
>>> 2-4 objects and the game stops dead as a window pops up.]

It's not so much that the game stops dead... I could live with the
annoying window, if it wouldn't take 1 turn to get rid of it...

> The routine look_here in invent.c has the line:
> boolean skip_objects = (obj_cnt >= 5);
>
> Change the 5 to a 2.
>
> I'll now look at listing the types of objects right
> after the "There are several objects here" message.

Cool, thx. :)
--
GP_Spukgestalt, human Samurai, killed by an annoying popup window.

Sam Dennis

unread,
Oct 18, 2002, 8:22:18 PM10/18/02
to
Tars_Tarkas wrote:
> Rob Ellwood wrote:
>> Rob Ellwood wrote:
>>>Tars_Tarkas wrote:
>>>>[Summary: we don't like it when you walk over a square with
>>>> 2-4 objects and the game stops dead as a window pops up.]
>
> It's not so much that the game stops dead... I could live with the
> annoying window, if it wouldn't take 1 turn to get rid of it...

<obvious blindingly="metaphorically speaking"> If that's true, it's a bug.
</obvious>

--
++acr@,ka"

Tars_Tarkas

unread,
Oct 18, 2002, 8:48:32 PM10/18/02
to

Err, /me looks emberrased... Seems like I messed up here...
The thing is, the turn counter for the turn where you step onto a square
with 2..4 objects is incremented _after_ you get rid of the window, not
before...

Hmm, funny, never noticed that until just now... Well, why don't we all
forget about my previous post ;) Actually, LOOK OVER THERE!!! A GNOME
WITH THE AOY!!!! ;) (/me hides in a dark hole...)

That just leaves the annoyance factor, which still justifies at least an
option to get rid of those windows....
--
GP_Spukgestalt, human Fool, eaten by a Grue, while hiding in a dark hole.

Sam Dennis

unread,
Oct 19, 2002, 12:25:41 AM10/19/02
to
Tars_Tarkas wrote:
> Sam Dennis wrote:
>> Tars_Tarkas wrote:
>>
>>>Rob Ellwood wrote:
>>>
>>>>Rob Ellwood wrote:
>>>>
>>>>>Tars_Tarkas wrote:
>>>>>
>>>>>>[Summary: we don't like it when you walk over a square with
>>>>>>2-4 objects and the game stops dead as a window pops up.]
>>>>>
>>>[something embarrassingly stupid that I appear to have forgotten about]

>
> That just leaves the annoyance factor, which still justifies at least an
> option to get rid of those windows....

Your wish is my command: (hope it works for you, it seems to work for me)

Index: nethack/include/flag.h
diff -u nethack/include/flag.h:1.3 nethack/include/flag.h:1.3.4.2
--- nethack/include/flag.h:1.3 Sat Oct 19 03:21:53 2002
+++ nethack/include/flag.h Sat Oct 19 05:10:06 2002
@@ -114,4 +114,5 @@
AMII_COLOR_TYPE amii_curmap[ AMII_MAXCOLORS ]; /* colormap */
#endif
+ int max_walk_obj;

/* KMH, role patch -- Variables used during startup.
Index: nethack/src/invent.c
diff -u nethack/src/invent.c:1.3 nethack/src/invent.c:1.3.4.2
--- nethack/src/invent.c:1.3 Sat Oct 19 03:21:53 2002
+++ nethack/src/invent.c Sat Oct 19 05:10:06 2002
@@ -2036,7 +2036,7 @@
return dfeature;
}

-/* look at what is here; if there are many objects (5 or more),
+/* look at what is here; if there are many objects (max_walk_obj:5 or more),
don't show them unless obj_cnt is 0 */
int
look_here(obj_cnt, picked_some)
@@ -2049,7 +2049,8 @@
const char *dfeature = (char *)0;
char fbuf[BUFSZ], fbuf2[BUFSZ];
winid tmpwin;
- boolean skip_objects = (obj_cnt >= 5);
+ boolean skip_objects = (flags.max_walk_obj >= 0) ?
+ (obj_cnt > flags.max_walk_obj) : 0;

if (u.uswallow && u.ustuck) {
struct monst *mtmp = u.ustuck;
@@ -2110,6 +2111,7 @@
if (dfeature) pline(fbuf);
read_engr_at(u.ux, u.uy); /* Eric Backus */
There("are %s%s objects here.",
+ (obj_cnt <= 5) ? "some" :
(obj_cnt <= 10) ? "several" : "many",
picked_some ? " more" : "");
} else if (!otmp->nexthere) {
Index: nethack/src/options.c
diff -u nethack/src/options.c:1.3 nethack/src/options.c:1.3.4.3
--- nethack/src/options.c:1.3 Sat Oct 19 03:21:53 2002
+++ nethack/src/options.c Sat Oct 19 05:10:06 2002
@@ -237,6 +237,8 @@
{ "horsename", "the name of your (first) horse (e.g., horsename:Silver)",
PL_PSIZ, DISP_IN_GAME },
{ "map_mode", "map display mode under Windows", 20, DISP_IN_GAME }, /*WC*/
+ { "max_walk_obj", "maximum number of objects to be immediately"
+ "displayed when stepped over", 3, SET_IN_GAME },
{ "menustyle", "user interface for object selection",
MENUTYPELEN, SET_IN_GAME },
{ "menu_deselect_all", "deselect all items in a menu", 4, SET_IN_FILE },
@@ -479,6 +481,7 @@
flags.end_top = 3;
flags.end_around = 2;
iflags.msg_history = 20;
+ flags.max_walk_obj = 5;

/* Use negative indices to indicate not yet selected */
flags.initrole = -1;
@@ -1935,6 +1938,16 @@
return;
}

+ /* max_walk_obj:nn */
+ fullname = "max_walk_obj";
+ if (match_optname(opts, fullname, sizeof("max_walk_obj")-1, TRUE)) {
+ op = string_for_opt(opts, negated);
+ if ((negated && !op) || (!negated && op)) {
+ flags.max_walk_obj = negated ? -1 : atoi(op);
+ } else if (negated) bad_negation(fullname, TRUE);
+ return;
+ }
+
/* check for menu command mapping */
for (i = 0; i < NUM_MENU_CMDS; i++) {
fullname = default_menu_cmd_info[i].name;
@@ -2574,6 +2587,8 @@
iflags.wc_map_mode == MAP_MODE_ASCII10x18 ? "ascii10x18" :
iflags.wc_map_mode == MAP_MODE_ASCII_FIT_TO_SCREEN ?
"fit_to_screen" : defopt);
+ else if (!strcmp(optname, "max_walk_obj"))
+ Sprintf(buf, "%d", flags.max_walk_obj);
else if (!strcmp(optname, "menustyle"))
Sprintf(buf, "%s", menutype[(int)flags.menu_style] );
else if (!strcmp(optname, "menu_deselect_all"))

--
++acr@,ka"

Tars_Tarkas

unread,
Oct 19, 2002, 8:24:37 AM10/19/02
to
Sam Dennis wrote:
> Tars_Tarkas wrote:
>
>>Sam Dennis wrote:
>>
>>>Tars_Tarkas wrote:
>>>
>>>
>>>>Rob Ellwood wrote:
>>>>
>>>>
>>>>>Rob Ellwood wrote:
>>>>>
>>>>>
>>>>>>Tars_Tarkas wrote:
>>>>>>
>>>>>>
>>>>>>>[Summary: we don't like it when you walk over a square with
>>>>>>>2-4 objects and the game stops dead as a window pops up.]
>>>>>>
>>>>[something embarrassingly stupid that I appear to have forgotten about]
>>>
>>That just leaves the annoyance factor, which still justifies at least an
>>option to get rid of those windows....
>
>
> Your wish is my command: (hope it works for you, it seems to work for me)

Way cool! Thanx a lot.
--
GP_Spukgestalt, human nethax0r, feeling grateful :)

Foo

unread,
Oct 19, 2002, 10:45:16 AM10/19/02
to
Raisse the Thaumaturge wrote:
> if you want to pick up some object types and not others, you can
> specify that instead or as well, for instance
> OPTIONS=pickup_types:$!="/? to pick up gold, potions, rings, amulets,
> wands and scrolls (a practical selection that will usually not burden
> you too much; spellcasters may want to pick up + as well).
>
> Raisse, killed by a soldier ant

I use pickup-types:$
If the thing's valuable enough (wand, scroll) you can pick it up manually!

bd

unread,
Oct 19, 2002, 1:24:36 PM10/19/02
to
Foo wrote:

I use OPTIONS=pickup_types:$"?+!=/
Yes, I play wizards, why do you ask? :)

--
You look like a million dollars. All green and wrinkled.

bd

unread,
Oct 19, 2002, 1:24:35 PM10/19/02
to
Tars_Tarkas wrote:

> Just say no ;) This is done by adding:
> !autopickup
> (notice the '!') to the OPTIONS=foo,bar,... line(s) in your .nethackrc
> file (or whatever non-unix systems use as their config file).

Note that '@' will toggle autopickup ingame.

--
A Linux machine! because a 486 is a terrible thing to waste!
(By j...@wintermute.ucr.edu, Joe Sloan)

0 new messages