Hi Ron,
first of all I would recommend moving the
animate.obj(o2);
load.view(2);
set.view(o2,2);
set.loop(o2,0);
set.cel(o2,0);
position(o2,101,116);
set.priority(o2,8);
stop.cycling(o2);
v255 = 2;
-stuff into the first block of the room, so that it looks like this:
if (new_room) {
load.pic(room_no);
draw.pic(room_no);
discard.pic(room_no);
set.horizon(37);
if ((prev_room_no == 1 || // just come from intro screen
prev_room_no == 0)) { // or just started game
position(ego,58,121);
status.line.on();
accept.input();
}
animate.obj(o2);
load.view(2);
set.view(o2,2);
set.loop(o2,0);
set.cel(o2,0);
position(o2,101,116);
set.priority(o2,8);
stop.cycling(o2);
v255 = 2;
animate.obj(o5);
load.view(7);
set.view(o5,7);
set.loop(o5,0);
set.cel(o5,0);
position(o5,62,125);
set.priority(o5,8);
stop.cycling(o5);
draw(ego);
show.pic();
}
About the wallet and the gum:
The problem is that you've got two if-blocks contradicting each other.
Block1:
if ((said("get","wallet") ||
said("get","wallet"))) {
v255 = 2;
if (obj.in.room("wallet",v255)) {
if (posn(o0,88,124,92,130)) {
print("ok");
erase(o2);
get("wallet");
v3 += 1;
set(f255);
}
else {
print("you're not close enough");
}
}
}would produce a message for the player if left alone. But block 2:
if (said("get","wallet")) {
if (has ("wallet")) {
print ("you alredy have it");
}
else {
reset(input_parsed);
}
}checks the same situation (that the player has entered "get wallet" and tells the game to reset the input_parsed.
I suggest that you leave block 2 and add the "You already got it" to the end of block 1 so that it looks like this:
if ((said("get","wallet") ||
said("get","wallet"))) {
v255 = 2;
if (obj.in.room("wallet",v255)) {
if (posn(o0,88,124,92,130)) {
print("ok");
erase(o2);
get("wallet");
v3 += 1;
set(f255);
}
else {
print("you're not close enough");
}
}
else {
print ("you already took it, man. Don't you remember?");
}
}
Then it should work fine.
Greets,
b.o.k.