<!--quoteo(post=152094:date=Jun 25 2006, 12:48 PM:name=Pieter Boelen)--><div class='quotetop'>QUOTE(Pieter Boelen @ Jun 25 2006, 12:48 PM) [snapback]152094[/snapback]</div><div class='quotemain'><!--quotec-->
<!--quoteo(post=152044:date=Jun 24 2006, 11:37 PM:name=giuliootto)--><div class='quotetop'>QUOTE(giuliootto @ Jun 24 2006, 11:37 PM) [snapback]152044[/snapback]</div><div class='quotemain'><!--quotec-->
As you know CORPSEMODE=3 have problem with some quest, I'm working on fix that problems, I hope to can fix all quests in the next week <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid="
" border="0" alt="smile.gif" />
<!--QuoteEnd--></div><!--QuoteEEnd-->
...
Anyway: It doesn't hurt to fix the CORPSEMODE 3 code. But maybe it can be fixed much easier: I have added .nodisarm attributes to all quest characters that MUST be killed for the quest to proceed. You can add something like if(CheckAttribute(corpse, "nodisarm")) to the characters, instead of having to add every single name of them. You can also use your own attribute for it. Then you don't need to make the largest if() statement ever. <img src="style_emoticons/<#EMO_DIR#>/whistling.gif" style="vertical-align:middle" emoid="
" border="0" alt="whistling.gif" />
<!--QuoteEnd--></div><!--QuoteEEnd-->
A possible way to fix this issue might also be the following (example):
<b>QUESTS/quests_reaction:</b>
<i>Original code:</i>
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->
void QuestComplete(string sQuestName)
{
,,,
switch(sQuestName)
{
case "fight_with_bandits_in_muelle_town_exit":
AddQuestrecord("murro", "2");
LAi_group_MoveCharacter(characterFromID("danielle_quests_corsair_1"), "BANDITS");
LAi_group_MoveCharacter(characterFromID("danielle_quests_corsair_2"), "BANDITS");
LAi_group_FightGroups("BANDITS", LAI_GROUP_PLAYER, true);
// That's the line, that doesn't work with CORPSEMODE = 3:
LAi_group_SetCheck("BANDITS", "fight_with_other_bandits_in_muelle_town_exit"); //NK fix
break;
...
}
<!--c2--></div><!--ec2-->
<i>Changed code:</i>
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->
...
case "fight_with_bandits_in_muelle_town_exit":
AddQuestrecord("murro", "2");
LAi_group_MoveCharacter(characterFromID("danielle_quests_corsair_1"), "BANDITS");
LAi_group_MoveCharacter(characterFromID("danielle_quests_corsair_2"), "BANDITS");
LAi_group_FightGroups("BANDITS", LAI_GROUP_PLAYER, true);
// Changed code:
pchar.quests.fight_with_other_bandits_in_muelle_town_exit.win_condition.l1 = "NPC_Death";
pchar.quests.fight_with_other_bandits_in_muelle_town_exit.win_condition.l1.character = "danielle_quests_corsair_1";
pchar.quests.fight_with_other_bandits_in_muelle_town_exit.win_condition.l2 = "NPC_Death";
pchar.quests.fight_with_other_bandits_in_muelle_town_exit.win_condition.l2.character = "danielle_quests_corsair_2";
pchar.quest.killing_clair_in_sea.win_condition = "fight_with_other_bandits_in_muelle_town_exit";
break;
<!--c2--></div><!--ec2-->
That might be more readable than the biggest if-statement ever <img src="style_emoticons/<#EMO_DIR#>/icon_mrgreen1.gif" style="vertical-align:middle" emoid="
" border="0" alt="icon_mrgreen1.gif" /> I tried this with some affected quests with
LOOTDEAD_ON = 1
CORPSEMODE = 3