Before:
Mprog 10501
if qstatus 10500 $n>= 12
mob remember $n
say Hey $N. You have done a good job at helping to keep the vermin down.
smile $n
mob call 10245
else
if qstatus 10500 $n> 0
and qstatus 10500 $n <12
say You're doing a good job. Keep up the good work.
say Come back when you have killed some more rats.
reassure $n
else
say You need to kill at least a dozen rats before you can claim your reward.
endif
endif
Mprog 10245
* {WRandom QP Reward from Vermin Inspector{x
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 1
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 2
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 3
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 4
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 5
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 6
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 7
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 8
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 9
mob forget
else
if rand 10
mob qadvance $q 10500 -12
mob reward $q qp 10
mob forget
else
mob call 10245
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
After
Mprog 10501
-- {yVermin Inspector Reward Mprog{x
vreward=vreward or function(ch, killed)
local rewardcnt=math.floor(killed/12)
if rewardcnt==0 then return end
for i=1,rewardcnt do
local rwd=randnum(1,10)
reward( ch.name.." qp "..rwd )
qadvance(ch.name.." 10500 -12" )
end
end
local killed=ch:qstatus(10500)
if killed>= 12 then
say("Hey "..ch.name..". You have a done a good job at helping to keep the vermin down.")
mdo("smile "..ch.name)
vreward(ch, killed)
elseif killed> 0 and killed <12 then
say( "You're doing a good job. Keep up the good work." )
say( "Come back when you have killed some more rats." )
mdo( "reassure "..ch.name )
else
say( "You need to kill at least a dozen rats before you can claim your reward." )
end