QUOTE
Введи чит dm_god 1.
Судя по быстрому ответу такой команды у ДМ не существует?
Существует ли решение в виде аналога HPWAR.2DA для игр:
This "patch" will allow your characters to gain Max HP when they level up. It will work with either Planescape: Torment (PS:T) or Baldur's Gate 1 (BG1). Simply extract the archive into your "Override" folder.
2DA V1.0
0
SIDES ROLLS MODIFIER
1 1 10 0
2 1 10 0
3 1 10 0
4 1 10 0
5 1 10 0
6 1 10 0
7 1 10 0
8 1 10 0
9 1 10 0
10 1 10 3
11 10 0 3
12 10 0 3
13 10 0 3
14 10 0 3
15 10 0 3
16 10 0 3
17 10 0 3
18 10 0 3
19 10 0 3
20 10 0 3
QUOTE(Lex @ May 23 2007, 09:58) [snapback]108519[/snapback]
из жизни: волосы покрасить на время можно без проблем. Краска и ты хоть буро-малиновый. Однако вот беда, естественный цвет буро-малиновым не станет.
Разговор идет по игре, а там возможно практически все. Пример скрипта из учебника ДМ:
effect Ebark = EffectVisualEffect(VFX_DUR_PROT_BARSKIN)
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eBark,OBJECT_SELF,0.0)
Я прошу прощения у
Aiwan и
Lex, за свои luser-ые агрументы и полную неграмотность в вопросе скриптования, но если нет такой возможности изначально в консоли, то зачем давать ненужны мне советы (про dm_god) и уходить от ответа на вопрос?
Мне нужне лишь простой и ясный ответ вида:
- да, это возможно, но так-то и так-то;
- нет, такой возможности не существует;
- алтер. вариант (я уже высказал): в виде правки поля HitDie в classes.2da и записью его в override.
К примеру, вот таким методом можно изменить на постоянно максимальные HP?
Как это правильно нужно оформить и запустить скрипт из консоли?
Спасибо.
Neverwinter Script Source
void RestoreHP(object oPC)
{
if (oPC != OBJECT_INVALID)
{
int nPolyHP = GetLocalInt(oPC, "PolyHP");
int nCurrentHP = GetCurrentHitPoints(oPC);
if (nPolyHP > 0)
{
if (nCurrentHP > nPolyHP)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nCurrentHP - nPolyHP), oPC);
}
}
}
}
Дополнительно из форума BioWare (Builders - NWN2 Scripting):
EffectBonu***Points and EffectTemporaryHitPoints can both be used:
EffectTemporary has the benefit of adding the hitpoints as part of the effect, the downside is that you have to go through all those Hit Points before damage shows up. Also, be careful when linking other effects to this one as, when the temporary points are used up, all linked effects will fade
EffectBonu***Points has the benefit of adding permanent bonus Hitpoints but does not "heal" up those points as part of the effect. Calling ForceRest() should take care of that (Probably not a great idea to spawn these within range of the PC)
Using either method you could get the current or max HP, figure out how many you need and apply either as an effect.(supernatural so it can't be dispelled).
Т.е. в скрипте достаточно прописать единственную команду:
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectBonu***Points(ХХ), oPC);
где, ХХ - бонус хитов, и потом его выполнить?
Вот такой скрипт получается у меня:
Neverwinter Script Source
void main()
{
// declare variables
object oPC = GetFirstPC();
effect eBonus = EffectBonu***Points(10);
effect eHeal = EffectHeal(25);
{
//heal the target or the script gets called again
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBonus, oPC);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oPC);
}
}
}
*) Только не ясно одно - эти три звездочки нужно заменить на слово Hit в данном случае?