Quest Problem Trying kill x2 mobs!

smoochy boys on tour

ashleyuk

Dedicated Member
Dedicated Member
Loyal Member
Nov 18, 2008
2,000
23
145
As my tital says. Im tryin to make a quest were you can kill 2 of different kind of mobs @ same time so ect Kill 0/50 Hens & kill 0/10 Deers... Ive tryed both ways i can think of this is the shout out scripts...

Try 1:

[@main]
#IF
CHECK [451] 1
#ACT
CalcVar Human MultiKill1 + 1
SaveVar Human MultiKill1 ..\QuestDiary\Variables\Integral.txt
goto @Main1

[@Main1]
#IF
CHECK [451] 1
#ACT
CalcVar Human MultiKill2 + 1
SaveVar Human MultiKill2 ..\QuestDiary\Variables\Integral.txt
Goto @de

[@de]
#IF
CheckVar Human MultiKill1 > 29
Goto @de1

[@de1]
#IF
CheckVar Human MultiKill2 > 24
sendmsg 6 "You have killed 30 ZombiePatrol & 25 ZombiePriest go see Tommy!"

Doesnt shout out 1/30 ZombiePatrol or 1/25 ZombiePriest!! Doesnt shout out anything.

Try 2:

[@main]
#IF
CHECK [452] 1
#ACT
CalcVar Human MultiKill3 + 1
CalcVar Human MultiKill4 + 1
SaveVar Human MultiKill3 ..\QuestDiary\Variables\Integral.txt
SaveVar Human MultiKill4 ..\QuestDiary\Variables\Integral.txt
LineMSG 6 "Quest: <$Human(MultiKill3)>/50 ZombieWarriors killed!"
LineMSG 6 "Quest: <$Human(MultiKill4)>/45 ZombieDeads killed!"
goto @sh

[@sh]
#IF
CheckVar Human MultiKill3 > 49
CheckVar Human MultiKill4 > 44
#ACT
sendmsg 6 "You have killed 50 ZombieWarriors & 45 ZombieDeads go see Tommy!"

Shouts out but it it says when you kill 1 os thm it goes... 1/50 ZombieWarriors 1/45 ZombieDeads So if you killed 1 of them it does it on b oth sides...

Anyone know how to make it so you kill 1 of thm and it goes on there side so kill a hen and goes on 1/5 hen not 1/5 hen & 1/2 Deer or w.e

I would be greatfull

Thanks
 
Last edited:

Gezza

Golden Oldie
Golden Oldie
Sep 23, 2008
2,201
61
155
uk
As bon says make seperate scripts and if you want the kill count to go up killing seperate mobs you gotta flag for each mob.
 
Last edited:
Upvote 0

ashleyuk

Dedicated Member
Dedicated Member
Loyal Member
Nov 18, 2008
2,000
23
145
lol i know how make it so you kill 1 monster by 1:P but i was thinkin of a 2 monster quest. It works ok on Elysain. And i added that script for (S) (M) (L) (XL) Bosses. And i need it so you have to kill S Thn go on next quest M but if i make it seprated means they have to teleport out/in/out/in and Would take 4 ever. Any ideas?? I sersiouly need it for S M L XL bosses. Or them quests would take a bit of a time...

Thanks
 
Upvote 0

Bon

Legend
Legendary
Jul 29, 2004
6,726
330
300
Kent, UK
its all do-able u just gotta think abit... i scripted it all on 4heros


heres an example of mine


Code:
[@main]
#IF
CheckVar Human Start6 > 4
#ACT
goto @main2
break

#IF
RANDOM 2
#ACT
CalcVar Human Start6 + 1
SaveVar Human Start6 ../QuestDiary/Variables/Integral.txt
LineMSG 10 "Wood Collected <$Human(Start6)>/6"
BREAK

#ELSEACT
break


[@main2]
#IF
RANDOM 2
#ACT
CalcVar Human Start6 + 1
SaveVar Human Start6 ../QuestDiary/Variables/Integral.txt
LineMSG 10 "Wood Collected <$Human(Start6)>/6"
LineMSG 6 "ClassTrainer: You have completed my Quest! Come see me!"
SET [32] 0   ;stop killin mobs
SET [23] 0   :turns white ? off
SET [24] 1  ;for complete quest
SET [33] 1  ;to get the prize
BREAK

#ELSEACT
break

of course ull have to ignore some of the flags.. like the quest flag for a white ? to appear above npc.

plus this was my old system.. i dont use that many flags ne more, i only use a flag for the mapquest part... for completeing etc ill use namelists
 
Upvote 0

ashleyuk

Dedicated Member
Dedicated Member
Loyal Member
Nov 18, 2008
2,000
23
145
Would this work?:)

[@main]
#IF
CheckVar Human MultiKill1 > 29
#ACT
Goto @Done
#ELSEACT
Goto @main1

[@Main1]
#IF
CHECK [451] 1
#ACT
CalcVar Human MultiKill1 + 1
SaveVar Human MultiKill1 ..\QuestDiary\Variables\Integral.txt
sendmsg 6 "Quest: <$HUMAN(MultiKill1)> ZombiePatrols killed"
#ELSEACT
Goto @Main2

[@Main2]
#IF
Checkvar Human Multikill2 > 24
#ACT
Goto @Done
#ELSEACT
Goto @Main3

[@Main3]
#IF
CHECK [451] 1
#ACT
CalcVar Human MultiKill2 + 1
SaveVar Human MultiKill2 ..\QuestDiary\Variables\Integral.txt
sendmsg 6 "Quest: <$HUMAN(MultiKill2)> ZombiePriest killed"

[@Done]
#IF
#ACT
sendmsg 6 "You have killed 30 ZombiePatrol & 25 ZombiePriest go see Tommy!"

Thanks
 
Upvote 0

Gezza

Golden Oldie
Golden Oldie
Sep 23, 2008
2,201
61
155
uk
Do it using map quest funtion...
npc
Code:
[@main]
#IF
CHECKNAMELIST zombiestart.txt
#ACT
GOTO @main2
break

#IF
CHECKNAMELIST Completezombie.txt
#SAY
You have already completed this quest...
#ELSESAY
<Reward = Exp 50k, Gold 50k\ \ \
<To complete this quest you need to kill 30 blahh & 25 blahh>\ \
<Begin the quest/@start> \
<Not now thanks/@exit>

[@start]
#IF
#ACT
addnamelist zombiestart.txt
SET [451] 1
SET [452] 1
Var Integer Human MultiKill1
Var Integer Human Human MultiKill1
#SAY
Good luck,you can come back to me to check how many \
Monsters you have killed. \\
<Exit/@exit>

[@main2]
#IF
CheckVar Human MultiKill1 > 29
CheckVar Human MultiKill2 > 24
#SAY
Well done, you have killed enough Monsters here's your reward. \ \
#ACT
ADDNAMELIST Completezombie.txt
DELNAMELIST zombiestart.txt
SET [451] 0
SET [452] 0
CHANGEEXP + 50000
GIVE GOLD 50000
CLOSE
In mapquest_def folder add to txt files called 451 & 452 then paiste these in to...
451
Code:
[@main]
#IF
CHECK [451] 1
#ACT
CalcVar Human MultiKill1 + 1
SaveVar Human MultiKill1 ..\QuestDiary\Variables\Integral.txt
sendmsg 6 "Quest: <$HUMAN(MultiKill1)> ZombiePatrols killed"
goto @be

[@be]
#IF
CheckVar Human bugcave > 29
#ACT
sendmsg 6 "You have killed all ZombiePatrols, Please come back for your reward!"
SET [451] 0
Close
452
Code:
[@main]
#IF
CHECK [452] 1
#ACT
CalcVar Human MultiKill2 + 1
SaveVar Human MultiKill2 ..\QuestDiary\Variables\Integral.txt
sendmsg 6 "Quest: <$HUMAN(MultiKill2)> ZombiePriest killed"
goto @be

[@be]
#IF
CheckVar Human MultiKill2 > 24
#ACT
sendmsg 6 "You have killed 25 ZombiePriest, Please come back for your reward!"
SET [452] 0
Close
Qmanage
Code:
#IF
checknamelist ../npc_def/zombiestart.txt
#ACT
Var Integer Human MultiKill1
LoadVar Human MultiKill1 ..\QuestDiary\Variables\Integral.txt
Var Integer Human MultiKill2
LoadVar Human MultiKill2 ..\QuestDiary\Variables\Integral.txt
BREAK
Mapquest.txt you will need to change the map and mob names to suite...
Code:
mapname [451] 1 mobname * 451
mapname [452] 1 mobname * 452
 
Last edited:
Upvote 0

Bon

Legend
Legendary
Jul 29, 2004
6,726
330
300
Kent, UK
[@main]
#IF
CheckVar Human MultiKill1 > 29
CheckVar Human MultiKill2 > 29
#ACT
Goto @Done
#ELSEACT
Goto @main1


u want the 1st check to see if uve done both parts...




[@Main1]
#IF
CheckVar Human MultiKill1 > 29
#ACT
Goto @Main2
BREAK ;STOPS THE SCRIPT RUNNIN REST OF IT

#IF
CHECK [451] 1
#ACT
CalcVar Human MultiKill1 + 1
SaveVar Human MultiKill1 ..\QuestDiary\Variables\Integral.txt
sendmsg 6 "Quest: <$HUMAN(MultiKill1)> ZombiePatrols killed"
#ELSEACT
Goto @Main2

then u want it to not keep countin if uve completed it






[@Main3]
#IF
CheckVar Human MultiKill2 > 29
#ACT
Goto @done
BREAK ;STOPS THE SCRIPT RUNNIN REST OF IT


#IF
CHECK [451] 1
#ACT
CalcVar Human MultiKill2 + 1
SaveVar Human MultiKill2 ..\QuestDiary\Variables\Integral.txt
sendmsg 6 "Quest: <$HUMAN(MultiKill2)> ZombiePriest killed"

same again here
 
Upvote 0

ashleyuk

Dedicated Member
Dedicated Member
Loyal Member
Nov 18, 2008
2,000
23
145
Ok i done it 1 mob quest by 1. Only problem im getting is when i Complete quest my numbers can still go up ect.

Hen 29/30 | Hen 30/30 | Hen 31/30 | Hen 32/30 And so on...

Script::

[@main]
#IF
CHECK [451] 1
#ACT
CalcVar Human MultiKill1 + 1
SaveVar Human MultiKill1 ..\QuestDiary\Variables\Integral.txt
LineMSG 6 "Quest: <$Human(MultiKill1)>/30 ZombiePatrol killed!"
goto @de
[@de]
#IF
CheckVar Human MultiKill1 > 29
#ACT
sendmsg 6 "You have killed 30 ZombiePatrol go see Tommy!"

I don't see any problem do you :confused1:
 
Upvote 0

^G0trex

Golden Oldie
Golden Oldie
Nov 7, 2003
1,946
28
155
Bham
Well you've got the > 29 check the wrong way round...it only checks that AFTER adding another var.

Code:
[@main]
#IF
CheckVar Human MultiKill1 > 29
#ACT
sendmsg 6 "You have killed 30 ZombiePatrol go see Tommy!"
#ELSEACT
GOTO @checkflag

[@checkflag]
#IF
CHECK [451] 1
#ACT
CalcVar Human MultiKill1 + 1
SaveVar Human MultiKill1 ..\QuestDiary\Variables\Integral.txt
LineMSG 6 "Quest: <$Human(MultiKill1)>/30 ZombiePatrol killed!"
#ELSEACT
break


Try that?
 
Upvote 0

Gezza

Golden Oldie
Golden Oldie
Sep 23, 2008
2,201
61
155
uk
[@main]
#IF
CHECK [451] 1
#ACT
CalcVar Human MultiKill1 + 1
SaveVar Human MultiKill1 ..\QuestDiary\Variables\Integral.txt
LineMSG 6 "Quest: <$Human(MultiKill1)>/30 ZombiePatrol killed!"
goto @de
[@de]
#IF
CheckVar Human MultiKill1 > 29
#ACT
sendmsg 6 "You have killed 30 ZombiePatrol go see Tommy!"
SET [451] 0
 
Upvote 0