I did it!
I wrote a program to update all the quests.
What my program does is scan through the file and pick out everything between
[ and ].
Then I make a variable out of this and update the quest file. Kinda hard to explain, so I'll post a sample file...
Before:
Code:
sub EVENT_SAY {
if($text=~/Hail/i){
quest::say("Oh hello. $name. My name is Ilscent. I am glad to see you. but I am in a bit of a [bind] right now.");
}
if($text=~/what bind/i){
quest::say("Well. I promised an ally of ours that I would send him a case of Jumjum juice for all the help he has given us. I had planned on taking it to him myself but I have too many chores to do here on the farm. Will you take the [jumjum juice] to him?");
}
if($text=~/jumjum juice/i){
quest::say("Oh. thank you so much! His name is Xanuusus and he lives in the Plains of Karana. in the foothills along their northern edge. actually. We are most grateful for your help. Xanuusus normally rewards messengers well.");
quest::summonitem("13411");
}
}
#END of FILE Zone:rivervale ID:19102 -- Ilscent_Tagglefoot
and After:
Code:
my $jumjum_juice = quest::saylink("jumjum juice", 0, "jumjum juice");
my $bind = quest::saylink("what bind", 0, "bind");
sub EVENT_SAY {
if($text=~/Hail/i){
plugin::Whisper("Oh hello. $name. My name is Ilscent. I am glad to see you. but I am in a bit of a $bind right now.");
}
if($text=~/what bind/i){
plugin::Whisper("Well. I promised an ally of ours that I would send him a case of Jumjum juice for all the help he has given us. I had planned on taking it to him myself but I have too many chores to do here on the farm. Will you take the $jumjum_juice to him?");
}
if($text=~/jumjum juice/i){
plugin::Whisper("Oh. thank you so much! His name is Xanuusus and he lives in the Plains of Karana. in the foothills along their northern edge. actually. We are most grateful for your help. Xanuusus normally rewards messengers well.");
quest::summonitem("13411");
}
}
#END of FILE Zone:rivervale ID:19102 -- Ilscent_Tagglefoot
This program is not perfect! This is still a work in progress and I am hoping that some of you guys will download it and test it out yourself.
http://tigerstudios.net/QuestUpdater.zip
place the exe in the quest directory, and run it there. It will go through every file that ends in .pl in that directory, and every directory within that one.
I recommend making a backup of your quest files first.
If you are running windows vista or 7 it will need admin to run it, I'm not sure why it does, but I think it is due to file access. I'm looking into it.
I have tested this in rivervale with a new halfling and it works great so far.
It also changes quest::say to plugin::Whisper. I found this makes reading the text in game a bit easier.
If there is enough support and interest in this I will continue working on it and make a GUI for it with configurable options.
Just let me know.
Thanks,
Kameko