Hmm... Thought I had replied to this thread last night... So if this double posts sorry.
Thanks Rumble, that's what I was looking for (should have read the helpfiles, I know!) The code is still not working however. My mortal test character is still getting a Huh message. Here's the current version.
if %cmd% == shovel
if %arg% == manure
if %actor.eq(*)%
eval hold %actor.eq(hold)%
if %hold.vnum% != 201
%send% %actor% You're not holding a shovel!
elseif !%findobj.208(200)%
%send% %actor% There's nothing to shovel here.
else
%purge% manure
%load% obj 200 %actor% inv
end
end
end
end
I also tried the while expression and not having any luck with it. Here's that code (it's part of another trigger which does work, just not the "trade" in part)
if %cmd% == talk
if %arg% == herdsman
%send% %actor% %self.name% says, 'Hey there.'
%send% %actor% -----------------------------------
%send% %actor% Option 1) Do you have any work?
%send% %actor% -----------------------------------
elseif %arg% /= herdsman && %arg% /= work
%send% %actor% %self.name% says, 'Start shoveling up some of this manure.'
%send% %actor% %self.name% says, 'Tell me when you're done and I'll pay you.'
if !actor.has_item(201)%
%load% obj 201 %actor%
%send% %actor% %self.name% says, 'Here, you'll need a shovel.
%send% %actor% %self.name% gives you a shovel.
elseif %arg% /= herdsman && %arg% /= done
while %actor.has_item(200)%
nop %actor.gold(5)%
%purge% %actor.inventory(200)%
done
%send% %actor% %self.name% says, 'Here you go.'
end
end
I'm stumped at this point, but will keep plugging away at it. Thanks for the help in advance.