Nein, dafür gibt es keine Einstellungsmöglichkeiten. Schreine werden dann genutzt, wenn MWConfig_ActivateNearbyShrines auf true gesetzt ist. Die Kriterien, nach denen die Auswahl dabei erfolgt, sind im Prinzip die gleichen, die ein erfahrener Spieler auch anwenden würde - das heißt Schreine werden nur dann genutzt, wenn die Nutzung auch sinnvoll ist. Ein Schrein für Widerstände würde nur dann genutzt, wenn diese beim Char nicht ohnehin schon maximal sind oder der Char gerade verflucht ist, ein Stamina Schrein würde nur verwendet, um einen Fluch loszuwerden, ein Brunnen wird nur dann benutzt, wenn Leben oder Mana auch niedrig sind.
Für die genauen Kriterien müsstest du dich in die entsprechende Funktion einlesen, nämlich diese hier:
Code:
function MWL_ActivateNearbyShrines(range)
{
var _orgx, _orgy, _shrine, _useShrine, _items, _actionToPerform, _name;
if(!MWL_AreaCheckShrines(me.areaid))
return false;
if(arguments.length < 1)
range = 60;
_orgx = me.x;
_orgy = me.y;
_shrine = NTC_FindUnit(NTC_UNIT_OBJECT);
if(_shrine)
{
do
{
if(_shrine.mode != 2 && (MWL_IsShrine(_shrine.classid) && MWA_CalcDistToClosestMonster(_shrine.x, _shrine.y) >= 3 || MWL_IsWell(_shrine.classid)) && GetDistance(_orgx, _orgy, _shrine.x, _shrine.y) < range)
{
_actionToPerform = 0;
_useShrine = false;
if(MWL_IsShrine(_shrine.classid) && _shrine.mode == 0)
{
switch(_shrine.shrinetype)
{
case 1: // Refilling
_name = "Refilling ";
if((me.hp / me.hpmax <= 0.60 || me.mp / me.mpmax <= 0.60) || (me.hp / me.hpmax <= 0.90 || me.mp / me.mpmax <= 0.90) && MWL_NoPartyMembersNearby())
_useShrine = true;
break;
case 2: // Health
_name = "Health ";
if(me.hp / me.hpmax <= 0.60 || me.hp / me.hpmax <= 0.90 && MWL_NoPartyMembersNearby())
_useShrine = true;
break;
case 3: // Mana
_name = "Mana ";
if(me.mp / me.mpmax <= 0.60 || me.mp / me.mpmax <= 0.90 && MWL_NoPartyMembersNearby())
_useShrine = true;
break;
case 6: // Armor
_name = "Armor ";
if(!me.GetState(134) && !me.GetState(128) && !me.GetState(129) && !me.GetState(135) && !me.GetState(137))
_useShrine = true;
break;
case 7: // Combat
_name = "Combat ";
if(me.classid == NTC_CHAR_CLASS_BARBARIAN && !me.GetState(134) && !me.GetState(128) && !me.GetState(129) && !me.GetState(135) && !me.GetState(137) || NTTMGR_CheckCurse(0x04|0x20|0x40, 0))
_useShrine = true;
break;
case 8: // Resist Fire
_name = "Resist Fire ";
if(me.GetStat(39) < 75 && !me.GetState(130) && !me.GetState(131) && !me.GetState(132) && !me.GetState(133) && !me.GetState(134) && !me.GetState(137) || NTTMGR_CheckCurse(0x04|0x20|0x40, 0))
_useShrine = true;
break;
case 9: // Resist Cold
_name = "Resist Cold ";
if(me.GetStat(43) < 75 && !me.GetState(130) && !me.GetState(131) && !me.GetState(132) && !me.GetState(133) && !me.GetState(134) && !me.GetState(137) || NTTMGR_CheckCurse(0x04|0x20|0x40, 0))
_useShrine = true;
break;
case 10: // Resist Lightning
_name = "Resist Lightning ";
if(me.GetStat(41) < 75 && !me.GetState(130) && !me.GetState(131) && !me.GetState(132) && !me.GetState(133) && !me.GetState(134) && !me.GetState(137) || NTTMGR_CheckCurse(0x04|0x20|0x40, 0))
_useShrine = true;
break;
case 11: // Resist Poison
_name = "Resist Poison ";
if(me.GetStat(45) < 75 && !me.GetState(130) && !me.GetState(131) && !me.GetState(132) && !me.GetState(133) && !me.GetState(134) && !me.GetState(137) || NTTMGR_CheckCurse(0x04|0x20|0x40, 0))
_useShrine = true;
break;
case 12: // Skill
_name = "Skill ";
if(!me.GetState(134) && !me.GetState(137))
{
_actionToPerform = 3;
_useShrine = true;
}
break;
case 13: // Mana Recovery
_name = "Mana Recovery ";
if(!me.GetState(135) && !me.GetState(134) && !me.GetState(137))
_useShrine = true;
break;
case 14: // Stamina
_name = "Stamina ";
if(NTTMGR_CheckCurse(0x04|0x20|0x40, 0))
_useShrine = true;
break;
case 15: // Experience
_name = "Experience ";
if(!me.GetState(137))
_useShrine = true;
break;
case 18: // Gem
_name = "Gem ";
_items = me.GetItems();
if(_items)
{
for(var i = 0; i < _items.length; i++)
{
if(_items[i].mode == 0 && _items[i].itemloc == 0)
{
// If the item is any sort of flawless Gem
if(_items[i].classid == 560 || _items[i].classid == 565 || _items[i].classid == 570 || _items[i].classid == 575 || _items[i].classid == 580 || _items[i].classid == 585 || _items[i].classid == 600)
{
_useShrine = true;
_actionToPerform = 1;
break;
}
}
}
}
break;
case 20: // Monster
_name = "Monster ";
_useShrine = true;
_actionToPerform = 2;
break;
}
_name += "Shrine";
}
else if(MWL_IsWell(_shrine.classid) && ((me.hp / me.hpmax <= 0.60 || me.mp / me.mpmax <= 0.60) || (me.hp / me.hpmax <= 0.90 || me.mp / me.mpmax <= 0.90 || NTTMGR_CheckCurse(0x02|0x04|0x20|0x40, 0)) && MWL_NoPartyMembersNearby()))
{
_name = "Well";
_useShrine = true;
}
if(_useShrine)
{
if(MWConfig_ShowOverheadStatus)
MWC_PrintOverheadStatus("Using " + _name);
if(MWL_ActivateShrine(_shrine, (_name == "Well")))
{
switch(_actionToPerform)
{
case 1:
NTC_Delay(1000);
NTSI_PickItems();
break;
case 2:
NTC_Delay(1000);
NTA_ClearPosition(25);
break;
case 3:
NTP_DoPrecast(true);
break;
}
}
}
}
} while(_shrine.GetNext());
if(GetDistance(me.x, me.y, _orgx, _orgy) > 5)
return NTM_MoveTo(me.areaid, _orgx, _orgy);
else
return true;
}
return false;
}