Написанное мной на OnDeath:
NSS
#include "NW_I0_GENERIC"
void main()
{
object oKiller = GetLastKiller();
int nLevel = GetCharacterLevel(oKiller);
if (GetXP(oKiller) > ((((nLevel + 1) * nLevel) / 2 * 1000) - 1))
{
SetXP(oKiller, (((nLevel + 1) * nLevel) / 2 * 1000) - 1);
SendMessageToPC(oKiller, "Your must LEVEL UP!!!");
}
else
{
ExecuteScript("nw_c2_default7", OBJECT_SELF);
}
}
void main()
{
object oKiller = GetLastKiller();
int nLevel = GetCharacterLevel(oKiller);
if (GetXP(oKiller) > ((((nLevel + 1) * nLevel) / 2 * 1000) - 1))
{
SetXP(oKiller, (((nLevel + 1) * nLevel) / 2 * 1000) - 1);
SendMessageToPC(oKiller, "Your must LEVEL UP!!!");
}
else
{
ExecuteScript("nw_c2_default7", OBJECT_SELF);
}
}
Для мобов есть стандартная функция - "nw_c2_default7"
NSS
#include "x2_inc_compon"
#include "x0_i0_spawncond"
void main()
{
int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
object oKiller = GetLastKiller();
// If we're a good/neutral commoner,
// adjust the killer's alignment evil
if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL))
{
AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
}
// Call to allies to let them know we're dead
SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);
//Shout Attack my target, only works with the On Spawn In setup
SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);
// NOTE: the OnDeath user-defined event does not
// trigger reliably and should probably be removed
if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}
craft_drop_items(oKiller);
}
#include "x0_i0_spawncond"
void main()
{
int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
object oKiller = GetLastKiller();
// If we're a good/neutral commoner,
// adjust the killer's alignment evil
if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL))
{
AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
}
// Call to allies to let them know we're dead
SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);
//Shout Attack my target, only works with the On Spawn In setup
SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);
// NOTE: the OnDeath user-defined event does not
// trigger reliably and should probably be removed
if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}
craft_drop_items(oKiller);
}
Ничего не пойму


1) прошу объяснить что не так
2) прошу исправить
3) либо... уважаемый Zirrex выложит версию исправленную и дополненную...(вариант: свою с Амена)...

4) может я что не так поняла, но опыт-то проверяется только у "object oKiller = GetLastKiller();"? и коим образом тут остальные участники пати?
Aiwan: Дана, у нас есть специальный BBкод который вставляется нажатием на букву N [nss]. Это как раз код для скриптов НВН. Добро пожаловать.
