Dosť amatérsky by to bolo asi tak, že si otvoríš c++ súbor s hodirovým scriptom, nájdeš funkciu
void JustDied(Player * pKiller)
alebo tak nejak a potom tam pridáš
if(GameObject * pDoor = me->FindNearestGameObject(ID_DVERI, 100.0f))
pDoor->SetGoState(GO_STATE_ACTIVE);
s tým, že za slovo ID_DVERI napíšeš entry gamobjectu ciže dverí
U mňa by to vyzeralo asi takto:
void JustDied(Unit * /*victim*/)
{
if(GameObject * pDoor = me->FindNearestGameObject(354858, 100.0f)) // to číslo som si vymyslel, ty ale zadaj to správne
pDoor->SetGoState(GO_STATE_ACTIVE);
_JustDied();
DoScriptText(SAY_DEATH, me);
me->setFaction(35);
if (instance)
{
// Kill credit
instance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2, 64899);
// Getting Cold in Here
if (!bMoreThanTwoIntenseCold)
instance->DoCompleteAchievement(ACHIEVEMENT_COLD_IN_HERE);
// Cheese the Freeze
if (CheeseTheFreeze)
instance->DoCompleteAchievement(ACHIEVEMENT_CHEESE_THE_FREEZE);
// I Have the Coolest Friends
if (CoolestFriends)
instance->DoCompleteAchievement(ACHIEVEMENT_COOLEST_FRIENDS);
// I Could Say That This Cache Was Rare
if (RareCache)
{
instance->DoCompleteAchievement(ACHIEVEMENT_THIS_CACHE_WAS_RARE);
instance->SetData(DATA_HODIR_RARE_CHEST, GO_STATE_READY);
}
// Chest spawn
me->SummonGameObject(RAID_MODE(CACHE_OF_WINTER_10, CACHE_OF_WINTER_25), 1966.43f, -203.906f, 432.687f, -0.91f, 0, 0, 1, 1, 604800);
}
}
Musíš ale brať do úvahy, že ja tam mám už iný kód, ktorý tá funkcia využíva. Dal som to len ako príklad.