The 3rd Age

RC Mod

RC Mod

This Mod makes many changes to the original game, adds a whole new BFME 1 mode and much more.

Button for The 3rd AgeButton for The Dwarf HoldsButton for The Elven AllianceButton for Helm's Deep Last HopeButton for GothmogtheOrcButton for BFME+Button for The Four AgesButton for HDR HeadquartersButton for Middle Earth CenterButton for Project Perfect Mod

Become an affiliate!

   

Quick Lists

Top Rated Popular New Updated Last Comments Users

Register and log in to move these advertisements down

Scripting Quests in BFME worldbuilder

Avatar of Radspakr Wolfbane

Radspakr Wolfbane

Category: Worldbuilder
Level: Intermediate
Created: Saturday September 19, 2009 - 1:56
Updated: Saturday September 19, 2009 - 2:23
Views: 4468
Summary: Adding in quests for your character to do

Rating

Staff says

3.3

Members say

4.0

Average

3.6/5.0

5 votes

Hi welcome to the first of my new tutorials for Worldbuilder.
This is made for BFME 1's WB but should work in BFME 2's as well,it is intended for Intermediate to expert level mappers/modders.
Before starting this tutorial you should know how to make a single player map.
Check out the EA mapping tutorials they are very good to get you rolling.

First a little background on it.
Recently I started work on a side project for Lone Wolf called Trials of Malvegil it is a large single player map.
The premise of this map is to create an adventure style map where you do the usual RPG stuff like kill stuff and take quests.
There is no real quest system built into BFME so I created one.

This is still an early script and needs polishing but it is playable and very cool.

Things you'll need are Worldbuilder naturally and a map.str to put in your dialogue.

This script works best for adventure type maps focusing on a small group or single unit.

OK here we go -

To start with have your main character on the map in this case it is Malvegil.
Name him and set him up as you would for a single player map.

Next find a unit to use as your quest giver a civilian will do.
Place her on the map and name her.
In my case it's a female called Vic.
Next create a small area around your NPC and call it something like VicQuest.

The NPC will act as the place to receive the quest and the area thing will make sure you are standing nearby the NPC.
Now open up the script editor.
Add in the following scripts and modify them so that they match your characters.

First Script:
              
Code

*** IF ***
Unit 'Vic' is currently selected.
*AND* Flag named 'Destroy Burz Guarsh-Active' IS FALSE
*AND* Flag named 'Destroy Burz Guarsh-Complete' IS FALSE
*AND* Unit 'MALVEGIL' is inside area 'VicQuest'
*** THEN ***
Set Flag named 'Destroy Burz Guarsh-Active' to TRUE
Show military briefing Localized String: 'SCRIPT:TrialsQuestText01_01' for 5 milliseconds.

This first one is what sets you up,
first it will check to see if your NPC is selected (the best way I could get this working)
Second it will check a flag to see if you currently have this quest going if you don't it will proceed.
The next script will see if you have done this quest before delete this one if you want to be able to repeat the quest.
and finally it will check to see if your hero is in the area you created before.
After these checks it will turn the Active flag to true to start the quest and show some dialogue (this where you'll need the map.str).



Second Script:
              
Code

*** IF ***
Flag named 'Destroy Burz Guarsh-Active' IS TRUE
*** THEN ***
Show military briefing Localized String: 'SCRIPT:TrialsQuest01Text_Notice' for 999999999 milliseconds.

This script just puts up the dialogue to tell you what you have to do with this quest.

Third Script:
              
Code

*** IF ***
Team 'Forces_of_Darkness/BurzGuarsh' has been destroyed.
*AND* Unit 'Vic' is currently selected.
*AND* Unit 'MALVEGIL' is inside area 'VicQuest'
*** THEN ***
Set Flag named 'Destroy Burz Guarsh-Complete' to TRUE
Show military briefing Localized String: 'SCRIPT:TrialsQuest01Text_Complete' for 10 milliseconds.
Player 'PlyrArnor' gets $ 500
Gives Unit 'MALVEGIL' experience points 500 .

The final script checks the quotas for the quest.
First it's checks to see if you destroyed the team,then
it will check if you've selected the NPC and the area check again.
If all are true it will finish up the quest,display the finishing text,give the player some money and some experience.

Here's how the script works in game -
You go to Vic and select her she gives you a quest to destroy the team at Burz Guarsh.
Once done you return to her select her and the quest is done and you make money and get some XP.

This is only a sample script you can modify it to do different things like find places or items,destroy a set number of units or whatever you want.
A small thing with this script in particular is that you can destroy the team before getting the script then grab the quest and turn it in right away.
I'm sure you can fix that :).

Being the first of the Trials of Malvegil scripting tutorials there will be more as I proceed through the map.
Things I am working on will be an Item/Weapon upgrade system,a customisation system and a few other little tricks so as I go I will make new tutorials.
I really hope you found this helpful and hope that you decide to try out making an adventure map or something new and unique.

Thanks for reading and I hope that you can check out Trials of Malvegil.

Comments

Display order: Newest first

Ridder Blauw - Wednesday November 4, 2009 - 7:57

In BFME II only in linear campaign you can have objectives menu, which is really stupid :(

Radspakr Wolfbane (Team Chamber Member) - Wednesday October 28, 2009 - 0:50

This was written for BFME which doesn't have objectives outside of the campaign.

Masterbadeend - Wednesday October 14, 2009 - 12:13

You should at least say how you get objectives in it ;) .

{AE}Manveru - Sunday September 27, 2009 - 8:29

Very cool!

{IRS}Athos - Saturday September 19, 2009 - 6:35

Ooooh, interesting... maybe when I finally get around to creating that map of mine, I'll use this. ^_^

Go to top

 

"One site to rule them all, one site to find them,
one site to host them all, and on the network bind them."

 
10:42:31