Jump to content

Recommended Posts

Posted

codz from DN style stack sub system.support stack sub once...my question is how to adapt it for 2 times stack sub?

thx.

class 1 stack_sub_npc: (null)
{
parameter:
	string	selectClassHuman = "custom_select_class_human.htm";
	string	selectClassElf = "custom_select_class_elf.htm";
	string	selectClassDarkElf = "custom_select_class_darkelf.htm";
	string	selectClassOrc = "custom_select_class_orc.htm";
	string	selectClassDwarf = "custom_select_class_dwarf.htm";
	string	welcome = "custom_welcome.htm";
	string	notSubbed = "custom_not_subbed.htm";
	string	alreadySubbed = "custom_already_subbed.htm";
	string	questDesc = "custom_quest_desc.htm";
	string	questAccepted = "custom_quest_accepted.htm";
	string	killGolkonda = "custom_kill_golkonda.htm";
	string	getLevels = "custom_level_up.htm";
	string	notThirdClass = "custom_not_third_class.htm";
	string	cantPickSameClass = "custom_cant_pick_same_class.htm";

	int	toggleLvReq = 0;	// when set to 1 'reqLevel' will be in effect for swiitching subclasses
	int	reqLevel = 78;
	int	subItem = 11085;	// item given by boss
	int	questDone = 11087;	// item symbolizes quest is finished
	int	xpDecrease = -1495852905;	// currently set to lower xp to level 40 from 76
	int	plzSelectClass = 11086;	// item given when quest is finished, this is removed when 2nd class is selected
	int	questID = 950;
	int	modifier = 800;

//NOTES:
//memos from 802 - 857 are now being used.

handler:
	EventHandler TALKED (talker, c0, reply, i0, i1, i2)
	{
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 88)
											{
												myself::SetMemoState (talker, (modifier + 2), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 89)
											{
												myself::SetMemoState (talker, (modifier + 3), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 89)
											{
												myself::SetMemoState (talker, (modifier + 3), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 90)
											{
												myself::SetMemoState (talker, (modifier + 5), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 91)
											{
												myself::SetMemoState (talker, (modifier + 6), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 93)
											{
												myself::SetMemoState (talker, (modifier + 8), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 92)
											{
												myself::SetMemoState (talker, (modifier + 9), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 94)
											{
												myself::SetMemoState (talker, (modifier + 12), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 95)
											{
												myself::SetMemoState (talker, (modifier + 13), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 96)
											{
												myself::SetMemoState (talker, (modifier + 14), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 97)
											{
												myself::SetMemoState (talker, (modifier + 16), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 98)
											{
												myself::SetMemoState (talker, (modifier + 17), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 99)
											{
												myself::SetMemoState (talker, (modifier + 20), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 100)
											{
												myself::SetMemoState (talker, (modifier + 21), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 101)
											{
												myself::SetMemoState (talker, (modifier + 23), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 102)
											{
												myself::SetMemoState (talker, (modifier + 24), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 103)
											{
												myself::SetMemoState (talker, (modifier + 27), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 104)
											{
												myself::SetMemoState (talker, (modifier + 28), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 105)
											{
												myself::SetMemoState (talker, (modifier + 30), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 106)
											{
												myself::SetMemoState (talker, (modifier + 33), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 107)
											{
												myself::SetMemoState (talker, (modifier + 34), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 108)
											{
												myself::SetMemoState (talker, (modifier + 36), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 109)
											{
												myself::SetMemoState (talker, (modifier + 37), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 110)
											{
												myself::SetMemoState (talker, (modifier + 40), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 111)
											{
												myself::SetMemoState (talker, (modifier + 41), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 112)
											{
												myself::SetMemoState (talker, (modifier + 43), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 113)
											{
												myself::SetMemoState (talker, (modifier + 46), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 114)
											{
												myself::SetMemoState (talker, (modifier + 48), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 115)
											{
												myself::SetMemoState (talker, (modifier + 51), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 116)
											{
												myself::SetMemoState (talker, (modifier + 52), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 117)
											{
												myself::SetMemoState (talker, (modifier + 55), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 118)
											{
												myself::SetMemoState (talker, (modifier + 57), 2);
											}
										}
										//c4class synch
										if (myself::IsInCategory (7, talker.occupation) == 1)
										{
											i4 = talker.occupation + modifier;
											myself::SetMemoState (talker, i4, 1);
										}

		// handles class change after quest is finished
		if (myself::OwnItemCount (talker, plzSelectClass) != 0)
		{
			if (talker.race == 0)
			{
				myself::ShowPage (talker, selectClassHuman);
				return;
			}
			if (talker.race == 1)
			{
				myself::ShowPage (talker, selectClassElf);
				return;
			}
			if (talker.race == 2)
			{
				myself::ShowPage (talker, selectClassDarkElf);
				return;
			}
			if (talker.race == 3)
			{
				myself::ShowPage (talker, selectClassOrc);
				return;
			}
			if (talker.race == 4)
			{
				myself::ShowPage (talker, selectClassDwarf);
				return;
			}
		}
		// ends quest gives item to pick class
		else if(myself::GetMemoState (talker, questID) == 5 && myself::OwnItemCount (talker, subItem) != 0)
		{
			if (talker.level < reqLevel)
			{
				myself::ShowPage (talker, getLevels);
				return;
			}
			myself::RemoveMemo (talker, questID);
			myself::DeleteItem1 (talker, subItem, 1);
			myself::GiveItem1 (talker, plzSelectClass, 1);
			myself::GiveItem1 (talker, questDone, 1);
			myself::SoundEffect(talker, "ItemSound.quest_finish");
			if (myself::OwnItemCount (talker, plzSelectClass) != 0)
			{
				if (talker.race == 0)
				{
					myself::ShowPage (talker, selectClassHuman);
					return;
				}
				if (talker.race == 1)
				{
					myself::ShowPage (talker, selectClassElf);
					return;
				}
				if (talker.race == 2)
				{
					myself::ShowPage (talker, selectClassDarkElf);
					return;
				}
				if (talker.race == 3)
				{
					myself::ShowPage (talker, selectClassOrc);
					return;
				}
				if (talker.race == 4)
				{
					myself::ShowPage (talker, selectClassDwarf);
					return;
				}
			}
		}
		else
		{
			myself::ShowPage (talker, welcome);
			return;
		}
	}

	EventHandler MENU_SELECTED (talker, c0, reply, i0, i1, i2, i3)
	{
		// selecting subclass
		if (reply >= 0 && reply <= 57 && myself::OwnItemCount (talker, plzSelectClass) != 0)
		{
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 88)
											{
												myself::SetMemoState (talker, (modifier + 2), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 89)
											{
												myself::SetMemoState (talker, (modifier + 3), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 89)
											{
												myself::SetMemoState (talker, (modifier + 3), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 90)
											{
												myself::SetMemoState (talker, (modifier + 5), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 91)
											{
												myself::SetMemoState (talker, (modifier + 6), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 93)
											{
												myself::SetMemoState (talker, (modifier + 8), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 92)
											{
												myself::SetMemoState (talker, (modifier + 9), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 94)
											{
												myself::SetMemoState (talker, (modifier + 12), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 95)
											{
												myself::SetMemoState (talker, (modifier + 13), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 96)
											{
												myself::SetMemoState (talker, (modifier + 14), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 97)
											{
												myself::SetMemoState (talker, (modifier + 16), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 98)
											{
												myself::SetMemoState (talker, (modifier + 17), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 99)
											{
												myself::SetMemoState (talker, (modifier + 20), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 100)
											{
												myself::SetMemoState (talker, (modifier + 21), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 101)
											{
												myself::SetMemoState (talker, (modifier + 23), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 102)
											{
												myself::SetMemoState (talker, (modifier + 24), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 103)
											{
												myself::SetMemoState (talker, (modifier + 27), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 104)
											{
												myself::SetMemoState (talker, (modifier + 28), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 105)
											{
												myself::SetMemoState (talker, (modifier + 30), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 106)
											{
												myself::SetMemoState (talker, (modifier + 33), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 107)
											{
												myself::SetMemoState (talker, (modifier + 34), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 108)
											{
												myself::SetMemoState (talker, (modifier + 36), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 109)
											{
												myself::SetMemoState (talker, (modifier + 37), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 110)
											{
												myself::SetMemoState (talker, (modifier + 40), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 111)
											{
												myself::SetMemoState (talker, (modifier + 41), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 112)
											{
												myself::SetMemoState (talker, (modifier + 43), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 113)
											{
												myself::SetMemoState (talker, (modifier + 46), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 114)
											{
												myself::SetMemoState (talker, (modifier + 48), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 115)
											{
												myself::SetMemoState (talker, (modifier + 51), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 116)
											{
												myself::SetMemoState (talker, (modifier + 52), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 117)
											{
												myself::SetMemoState (talker, (modifier + 55), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 118)
											{
												myself::SetMemoState (talker, (modifier + 57), 2);
											}
										}
										//c4class synch
										if (myself::IsInCategory (7, talker.occupation) == 1)
										{
											i4 = talker.occupation + modifier;
											myself::SetMemoState (talker, i4, 1);
										}

				i2 = reply + modifier;
				if (myself::GetMemoState (talker, i2) == 1 || myself::GetMemoState (talker, i2) == 2)
				{
					myself::ShowPage (talker, cantPickSameClass);
					return;
				}
				myself::ClassChange (talker, reply);
				if (myself::IsInCategory (8, talker.occupation) == 1)
				{
					myself::SetMemoState (talker, i2, 1);
				}
				else if (myself::IsInCategory (9, talker.occupation) == 1)
				{
					myself::SetMemoState (talker, i2, 2);
				}
				myself::IncrementParam (talker, @PARAM_EXP, xpDecrease);
				myself::DeleteItem1 (talker, plzSelectClass, 1);
				myself::SoundEffect(talker, "ItemSound.quest_finish");
				return;
		}

		// handles class swapping
		if (reply == 20)
		{
										// resynchs class with memo
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 88)
											{
												myself::SetMemoState (talker, (modifier + 2), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 89)
											{
												myself::SetMemoState (talker, (modifier + 3), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 89)
											{
												myself::SetMemoState (talker, (modifier + 3), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 90)
											{
												myself::SetMemoState (talker, (modifier + 5), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 91)
											{
												myself::SetMemoState (talker, (modifier + 6), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 93)
											{
												myself::SetMemoState (talker, (modifier + 8), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 92)
											{
												myself::SetMemoState (talker, (modifier + 9), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 94)
											{
												myself::SetMemoState (talker, (modifier + 12), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 95)
											{
												myself::SetMemoState (talker, (modifier + 13), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 96)
											{
												myself::SetMemoState (talker, (modifier + 14), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 97)
											{
												myself::SetMemoState (talker, (modifier + 16), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 98)
											{
												myself::SetMemoState (talker, (modifier + 17), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 99)
											{
												myself::SetMemoState (talker, (modifier + 20), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 100)
											{
												myself::SetMemoState (talker, (modifier + 21), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 101)
											{
												myself::SetMemoState (talker, (modifier + 23), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 102)
											{
												myself::SetMemoState (talker, (modifier + 24), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 103)
											{
												myself::SetMemoState (talker, (modifier + 27), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 104)
											{
												myself::SetMemoState (talker, (modifier + 28), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 105)
											{
												myself::SetMemoState (talker, (modifier + 30), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 106)
											{
												myself::SetMemoState (talker, (modifier + 33), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 107)
											{
												myself::SetMemoState (talker, (modifier + 34), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 108)
											{
												myself::SetMemoState (talker, (modifier + 36), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 109)
											{
												myself::SetMemoState (talker, (modifier + 37), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 110)
											{
												myself::SetMemoState (talker, (modifier + 40), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 111)
											{
												myself::SetMemoState (talker, (modifier + 41), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 112)
											{
												myself::SetMemoState (talker, (modifier + 43), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 113)
											{
												myself::SetMemoState (talker, (modifier + 46), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 114)
											{
												myself::SetMemoState (talker, (modifier + 48), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 115)
											{
												myself::SetMemoState (talker, (modifier + 51), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 116)
											{
												myself::SetMemoState (talker, (modifier + 52), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 117)
											{
												myself::SetMemoState (talker, (modifier + 55), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 118)
											{
												myself::SetMemoState (talker, (modifier + 57), 2);
											}
										}
										//c4class synch
										if (myself::IsInCategory (7, talker.occupation) == 1)
										{
											i4 = talker.occupation + modifier;
											myself::SetMemoState (talker, i4, 1);
										}

			if (toggleLvReq == 1)
			{
				if (talker.level < reqLevel)
				{
					myself::ShowPage (talker, getLevels);
					return;
				}
			}

			if (myself::GetMemoState (talker, 802) >= 1 && talker.occupation != 2 && talker.occupation != 88)
			{
				if (myself::GetMemoState (talker, 802) == 1)
				{
					myself::ClassChange (talker, 2);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 802) == 2)
				{
					myself::ClassChange (talker, 88);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 803) >= 1 && talker.occupation != 3 && talker.occupation != 89)
			{
				if (myself::GetMemoState (talker, 803) == 1)
				{
					myself::ClassChange (talker, 3);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 803) == 2)
				{
					myself::ClassChange (talker, 89);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 805) >= 1 && talker.occupation != 5 && talker.occupation != 90)
			{
				if (myself::GetMemoState (talker, 805) == 1)
				{
					myself::ClassChange (talker, 5);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 805) == 2)
				{
					myself::ClassChange (talker, 90);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 806) >= 1 && talker.occupation != 6 && talker.occupation != 91)
			{
				if (myself::GetMemoState (talker, 806) == 1)
				{
					myself::ClassChange (talker, 6);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 806) == 2)
				{
					myself::ClassChange (talker, 91);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 808) >= 1 && talker.occupation != 8 && talker.occupation != 93)
			{
				if (myself::GetMemoState (talker, 808) == 1)
				{
					myself::ClassChange (talker, 8);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 808) == 2)
				{
					myself::ClassChange (talker, 93);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 809) >= 1 && talker.occupation != 9 && talker.occupation != 92)
			{
				if (myself::GetMemoState (talker, 809) == 1)
				{
					myself::ClassChange (talker, 9);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 809) == 2)
				{
					myself::ClassChange (talker, 92);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 812) >= 1 && talker.occupation != 12 && talker.occupation != 94)
			{
				if (myself::GetMemoState (talker, 812) == 1)
				{
					myself::ClassChange (talker, 12);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 812) == 2)
				{
					myself::ClassChange (talker, 94);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 813) >= 1 && talker.occupation != 13 && talker.occupation != 95)
			{
				if (myself::GetMemoState (talker, 813) == 1)
				{
					myself::ClassChange (talker, 13);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 813) == 2)
				{
					myself::ClassChange (talker, 95);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 814) >= 1 && talker.occupation != 14 && talker.occupation != 96)
			{
				if (myself::GetMemoState (talker, 814) == 1)
				{
					myself::ClassChange (talker, 14);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 814) == 2)
				{
					myself::ClassChange (talker, 96);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 816) >= 1 && talker.occupation != 16 && talker.occupation != 97)
			{
				if (myself::GetMemoState (talker, 816) == 1)
				{
					myself::ClassChange (talker, 16);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 816) == 2)
				{
					myself::ClassChange (talker, 97);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 817) >= 1 && talker.occupation != 17 && talker.occupation != 98)
			{
				if (myself::GetMemoState (talker, 817) == 1)
				{
					myself::ClassChange (talker, 17);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 817) == 2)
				{
					myself::ClassChange (talker, 98);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 820) >= 1 && talker.occupation != 20 && talker.occupation != 99)
			{
				if (myself::GetMemoState (talker, 820) == 1)
				{
					myself::ClassChange (talker, 20);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 820) == 2)
				{
					myself::ClassChange (talker, 99);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 821) >= 1 && talker.occupation != 21 && talker.occupation != 100)
			{
				if (myself::GetMemoState (talker, 821) == 1)
				{
					myself::ClassChange (talker, 21);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 821) == 2)
				{
					myself::ClassChange (talker, 100);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 823) >= 1 && talker.occupation != 23 && talker.occupation != 101)
			{
				if (myself::GetMemoState (talker, 823) == 1)
				{
					myself::ClassChange (talker, 23);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 823) == 2)
				{
					myself::ClassChange (talker, 101);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 824) >= 1 && talker.occupation != 24 && talker.occupation != 102)
			{
				if (myself::GetMemoState (talker, 824) == 1)
				{
					myself::ClassChange (talker, 24);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 824) == 2)
				{
					myself::ClassChange (talker, 102);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 827) >= 1 && talker.occupation != 27 && talker.occupation != 103)
			{
				if (myself::GetMemoState (talker, 827) == 1)
				{
					myself::ClassChange (talker, 27);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 827) == 2)
				{
					myself::ClassChange (talker, 103);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 828) >= 1 && talker.occupation != 28 && talker.occupation != 104)
			{
				if (myself::GetMemoState (talker, 828) == 1)
				{
					myself::ClassChange (talker, 28);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 828) == 2)
				{
					myself::ClassChange (talker, 104);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 830) >= 1 && talker.occupation != 30 && talker.occupation != 105)
			{
				if (myself::GetMemoState (talker, 830) == 1)
				{
					myself::ClassChange (talker, 30);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 830) == 2)
				{
					myself::ClassChange (talker, 105);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 833) >= 1 && talker.occupation != 33 && talker.occupation != 106)
			{
				if (myself::GetMemoState (talker, 833) == 1)
				{
					myself::ClassChange (talker, 33);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 833) == 2)
				{
					myself::ClassChange (talker, 106);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 834) >= 1 && talker.occupation != 34 && talker.occupation != 107)
			{
				if (myself::GetMemoState (talker, 834) == 1)
				{
					myself::ClassChange (talker, 34);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 834) == 2)
				{
					myself::ClassChange (talker, 107);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 836) >= 1 && talker.occupation != 36 && talker.occupation != 108)
			{
				if (myself::GetMemoState (talker, 836) == 1)
				{
					myself::ClassChange (talker, 36);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 836) == 2)
				{
					myself::ClassChange (talker, 108);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 837) >= 1 && talker.occupation != 37 && talker.occupation != 109)
			{
				if (myself::GetMemoState (talker, 837) == 1)
				{
					myself::ClassChange (talker, 37);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 837) == 2)
				{
					myself::ClassChange (talker, 109);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 840) >= 1 && talker.occupation != 40 && talker.occupation != 110)
			{
				if (myself::GetMemoState (talker, 840) == 1)
				{
					myself::ClassChange (talker, 40);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 840) == 2)
				{
					myself::ClassChange (talker, 110);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 841) >= 1 && talker.occupation != 41 && talker.occupation != 111)
			{
				if (myself::GetMemoState (talker, 841) == 1)
				{
					myself::ClassChange (talker, 41);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 841) == 2)
				{
					myself::ClassChange (talker, 111);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 843) >= 1 && talker.occupation != 43 && talker.occupation != 112)
			{
				if (myself::GetMemoState (talker, 843) == 1)
				{
					myself::ClassChange (talker, 43);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 843) == 2)
				{
					myself::ClassChange (talker, 112);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 846) >= 1 && talker.occupation != 46 && talker.occupation != 113)
			{
				if (myself::GetMemoState (talker, 846) == 1)
				{
					myself::ClassChange (talker, 46);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 846) == 2)
				{
					myself::ClassChange (talker, 113);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 848) >= 1 && talker.occupation != 48 && talker.occupation != 114)
			{
				if (myself::GetMemoState (talker, 848) == 1)
				{
					myself::ClassChange (talker, 48);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 848) == 2)
				{
					myself::ClassChange (talker, 114);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 851) >= 1 && talker.occupation != 51 && talker.occupation != 115)
			{
				if (myself::GetMemoState (talker, 851) == 1)
				{
					myself::ClassChange (talker, 51);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 851) == 2)
				{
					myself::ClassChange (talker, 115);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 852) >= 1 && talker.occupation != 52 && talker.occupation != 116)
			{
				if (myself::GetMemoState (talker, 852) == 1)
				{
					myself::ClassChange (talker, 52);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 852) == 2)
				{
					myself::ClassChange (talker, 116);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 855) >= 1 && talker.occupation != 55 && talker.occupation != 117)
			{
				if (myself::GetMemoState (talker, 855) == 1)
				{
					myself::ClassChange (talker, 55);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 855) == 2)
				{
					myself::ClassChange (talker, 117);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else if (myself::GetMemoState (talker, 857) >= 1 && talker.occupation != 57 && talker.occupation != 118)
			{
				if (myself::GetMemoState (talker, 857) == 1)
				{
					myself::ClassChange (talker, 57);	//sets 2nd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
				else if (myself::GetMemoState (talker, 857) == 2)
				{
					myself::ClassChange (talker, 118);	//sets 3rd class
					myself::SoundEffect(talker, "ItemSound.quest_finish");
					return;
				}
			}
			else
			{
				myself::ShowPage (talker, notSubbed);
				return;
			}
		}

			// handles quest part of ai
		if (reply == 21)
		{
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 88)
											{
												myself::SetMemoState (talker, (modifier + 2), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 89)
											{
												myself::SetMemoState (talker, (modifier + 3), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 89)
											{
												myself::SetMemoState (talker, (modifier + 3), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 90)
											{
												myself::SetMemoState (talker, (modifier + 5), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 91)
											{
												myself::SetMemoState (talker, (modifier + 6), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 93)
											{
												myself::SetMemoState (talker, (modifier + 8), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 92)
											{
												myself::SetMemoState (talker, (modifier + 9), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 94)
											{
												myself::SetMemoState (talker, (modifier + 12), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 95)
											{
												myself::SetMemoState (talker, (modifier + 13), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 96)
											{
												myself::SetMemoState (talker, (modifier + 14), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 97)
											{
												myself::SetMemoState (talker, (modifier + 16), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 98)
											{
												myself::SetMemoState (talker, (modifier + 17), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 99)
											{
												myself::SetMemoState (talker, (modifier + 20), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 100)
											{
												myself::SetMemoState (talker, (modifier + 21), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 101)
											{
												myself::SetMemoState (talker, (modifier + 23), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 102)
											{
												myself::SetMemoState (talker, (modifier + 24), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 103)
											{
												myself::SetMemoState (talker, (modifier + 27), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 104)
											{
												myself::SetMemoState (talker, (modifier + 28), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 105)
											{
												myself::SetMemoState (talker, (modifier + 30), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 106)
											{
												myself::SetMemoState (talker, (modifier + 33), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 107)
											{
												myself::SetMemoState (talker, (modifier + 34), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 108)
											{
												myself::SetMemoState (talker, (modifier + 36), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 109)
											{
												myself::SetMemoState (talker, (modifier + 37), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 110)
											{
												myself::SetMemoState (talker, (modifier + 40), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 111)
											{
												myself::SetMemoState (talker, (modifier + 41), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 112)
											{
												myself::SetMemoState (talker, (modifier + 43), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 113)
											{
												myself::SetMemoState (talker, (modifier + 46), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 114)
											{
												myself::SetMemoState (talker, (modifier + 48), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 115)
											{
												myself::SetMemoState (talker, (modifier + 51), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 116)
											{
												myself::SetMemoState (talker, (modifier + 52), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 117)
											{
												myself::SetMemoState (talker, (modifier + 55), 2);
											}
										}
										if (myself::IsInCategory (8, talker.occupation) == 1)
										{
											if (talker.occupation == 118)
											{
												myself::SetMemoState (talker, (modifier + 57), 2);
											}
										}
										//c4class synch
										if (myself::IsInCategory (7, talker.occupation) == 1)
										{
											i4 = talker.occupation + modifier;
											myself::SetMemoState (talker, i4, 1);
										}

			if (talker.level < reqLevel)
			{
				myself::ShowPage (talker, getLevels);
				return;
			}
			if (myself::OwnItemCount (talker, questDone) != 0)
			{
				myself::ShowPage (talker, alreadySubbed);
				return;
			}
			else if(myself::GetMemoState (talker, questID) == 4)
			{
				myself::ShowPage (talker, killGolkonda);
				return;
			}
			else
			{
				myself::ShowPage (talker, questDesc);
				return;
 			}
		}

		// sets quest begin
		if (reply == 75 && myself::OwnItemCount (talker, questDone) == 0)
		{
			myself::SetMemoState (talker, questID, 4);
			i3 = talker.occupation + modifier;
			if (myself::IsInCategory (8, talker.occupation) == 1)
			{
				i0 = 2;
			}
			else
			{
				i0 = 1;
			}
			myself::SetMemoState (talker, i3, i0);
			myself::ShowPage (talker, questAccepted);
		}
	}
}

 

  • 1 month later...
Posted
On 3/5/2022 at 6:58 PM, endART said:

can u share whole stack sub system?

 

Move the bar on the right. You will see it.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...