forums | blogs | polls | tutorials | downloads | rules | help

Bool variables

Hi everyone.

I'll try to be as quick as possible. I am trying to create a quest in my custom DS 1 map, similar to Clearing orchad cellar in LOU, so I am duplicating all files related to the quest (hope it doesn't violate author's rights). However I got stuck at the set_bool object. There is a specific bool_variable value used there. Where are those bool variables to be found? In world/maps/ somewhere or...?
Thanks for any help Smile

Hi Lukawh,
If you are using Legends of Utrae that is Iryan's work so I am sure if you where to ask him he would let you, and if you release the map you must without a doubt give him credit for his work in your readme file. Now as to where the bool_variables are stored you will need to ask Iryan or
KillerGremal because I have no idea.

Elf

bare_elf wrote:
Hi Lukawh,
If you are using Legends of Utrae that is Iryan's work so I am sure if you where to ask him he would let you, and if you release the map you must without a doubt give him credit for his work in your readme file. Now as to where the bool_variables are stored you will need to ask Iryan or
KillerGremal because I have no idea.

Elf


There's no need to give credit as this information is available at the GPG Siege University and in the official maps. That's how I found out about quest bools and accumulate_triggers.

The Orchard Cellar quest is made of multiple parts.

The first part is that the monsters have an instance_trigger that sends a we_req_activate message whenever the world_message "we_killed" is received.

	[common]
	{
		[instance_triggers]
		{
			[*]
			{
				action* = send_world_message("we_req_activate",0x081000ca,0f,"default","",0);
			  b can_self_destruct = true;
				condition* = receive_world_message("we_killed",0,"on_first_message"), doc("[*one-shot check (trigger is one-shot)*]");
			  f delay = 0.000000;
			  b flip_flop = false;
			  b multi_player = true;
				occupants_group = ;
			  f reset_duration = 0.000000;
			  b single_player = true;
			  b single_shot = true;
			  b start_active = true;
			}
		}
	}

The we_req_activate message is sent to an accumulate_trigger which is found in special.gas

[t:accumulate_trigger,n:0x081000ca]
{
	[generic_accumtrigger]
	{
	  i num_til_send = 7;
	  x send_to_scid = 0x081000c9;
	}
	[placement]
	{
	  p position = -0.880425,1,-0.182651,0xdefa0328;
	}
}

When 7 monsters, set out like the example monster, are killed the accumulate_trigger sends a message to a trigger_generic which updates the quest status.

[t:trigger_generic,n:0x081000c9]
{
	[common]
	{
		dev_instance_text = "QUEST";
		[instance_triggers]
		{
			[*]
			{
				action* = send_world_message("we_req_activate",0x081000cd,0f,"default","",0), doc("set bool true");
				action* = change_quest_state("quest_orchard_quest","active",1);
				action* = change_quest_state("quest_orchard_quest","completed",0);
			  b can_self_destruct = true;
				condition* = receive_world_message("we_req_activate",0,"on_first_message"), doc("[*one-shot check (trigger is one-shot)*]");
			  f delay = 0.000000;
			  b flip_flop = false;
			  b multi_player = true;
			  b no_trig_bits = false;
				occupants_group = ;
			  f reset_duration = 0.000000;
			  b single_player = true;
			  b single_shot = true;
			  b start_active = true;
			}
		}
	}
	[placement]
	{
	  p position = -0.262864,0,-1.40863,0xbb49030a;
	}
}

This marks the quest state as completed for step 0 and so you receive the prompt to return to Morn Pelfador for your reward. The second step is handled in his job_talk_orchard_quest.skrit with this line;
 		else if ( Victory.IsQuestCompleted( "quest_orchard_quest" ))
		{
			m_Go$.GetConversation.RSSelectConversation( "conversation_orchard_quest_complete" );
		}

I know a bool variable is also set but I actually don't know that's required as I can't find any reference to what it effects and to be truthful, its been so long since I handled this stuff I can't remember.

Thanks for advices. I was able to discover all the parts of the quest and made a test map. The quest worked pretty well even without the bool variable specified Smile
So I guess it's not neccessary. Now I can't wait to apply this in my map.

Since I learnt doing this from the LOU, credit will be given even despite the information being avadaible from official sources, in case official release occurs Smile