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
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.
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.
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
> 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/
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.
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.
<obvious blindingly="metaphorically speaking"> If that's true, it's a bug.
</obvious>
--
++acr@,ka"
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.
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"
Way cool! Thanx a lot.
--
GP_Spukgestalt, human nethax0r, feeling grateful :)
I use pickup-types:$
If the thing's valuable enough (wand, scroll) you can pick it up manually!
I use OPTIONS=pickup_types:$"?+!=/
Yes, I play wizards, why do you ask? :)
--
You look like a million dollars. All green and wrinkled.
> 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)