Вроде етот срабатывает на он интер,я просто добавил специальную переходную локу с другими тригерами отдельными для такого дела ,но есть одно НО(((,он срабатывает и на мою фракцию это почему же так?
Neverwinter Script
// The PC who entered the trigger is set to dislike all the PC's in the module
void main()
{
// Get entering PC
object oEnterer = GetEnteringObject();
// make sure they are not a DM
if(GetIsPC(oEnterer) && !GetIsDM(oEnterer))
{
// Loop all PC's in the module and set this PC to dislike them - uh oh
object oPC = GetFirstPC();
while(GetIsObjectValid(oPC))
{
// Set to dislike
SetPCDislike(oEnterer, oPC);
// Get next PC
oPC = GetNextPC();
}
}
То есть мне стают враждебными абсолютно все,и свои,и враги.
Подскажите как этот рабочий скрипт доработать чтобы моя фракция мне небыла враждебна только остальные 2
А вот этот ну очень большой скрипт на дислайки можно настроить как то под мой модуль,и если да то как
Neverwinter Script
void CheckParty(object oPC1, object oPC2)
{
object oPM = GetFirstFactionMember(oPC1);
object oGood, oEvil;
int g = 0, e = 0, nRace, nAlign;
int nAlign1 = GetAlignmentGoodEvil(oPC1);
int nRace1 = GetRacialType(oPC1);
string sSR1 = GetStringUpperCase(GetSubRace(oPC1));
string sSR;
if(nRace1 == RACIAL_TYPE_HALFORC ||
nRace1 == RACIAL_TYPE_ELF && TestStringAgainstPattern("**DROW**", sSR1) ||
nRace1 == RACIAL_TYPE_ELF && TestStringAgainstPattern("**DARK**", sSR1) ||
nRace1 == RACIAL_TYPE_HUMAN && nAlign1 == ALIGNMENT_EVIL)
{ oEvil = oPC1; oGood = oPC2; }
else
{ oEvil = oPC2; oGood = oPC1; }
while(GetIsObjectValid(oPM))
{
nRace = GetRacialType(oPM);
nAlign = GetAlignmentGoodEvil(oPM);
sSR = GetStringUpperCase(GetSubRace(oPM));
if(nRace == RACIAL_TYPE_HALFORC ||
nRace == RACIAL_TYPE_ELF && TestStringAgainstPattern("**DROW**", sSR) ||
nRace == RACIAL_TYPE_ELF && TestStringAgainstPattern("**DARK**", sSR) ||
nRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_EVIL)
{ e++; }
else
{ g++; }
oPM = GetNextFactionMember(oPC1);
}
if(e > g) { RemoveFromParty(oGood); }
else { RemoveFromParty(oEvil); }
}
void SetDislike(object oTest)
{
object oFL, oTFL, oPC = GetFirstPC();
int nPCRace, nTRace, nLike, nTLike, nAlign, nTAlign;
string sSubRace, sTSubRace, sArea;
nTRace = GetRacialType(oTest);
nTAlign = GetAlignmentGoodEvil(oTest);
sTSubRace = GetStringUpperCase(GetSubRace(oTest));
sArea = GetTag(GetArea(oTest));
oTFL = GetFactionLeader(oTest);
while(GetIsObjectValid(oPC))
{
nPCRace = GetRacialType(oPC);
nAlign = GetAlignmentGoodEvil(oPC);
nLike = GetIsEnemy(oTest, oPC);
nTLike = GetIsEnemy(oPC, oTest);
sSubRace = GetStringUpperCase(GetSubRace(oPC));
oFL = GetFactionLeader(oPC);
if(nLike && !nTLike) SetPCLike(oTest, oPC);
if(!nLike && nTLike) SetPCLike(oPC, oTest);
if(!nLike && sArea != "Arena" && oPC != oTest && !GetIsDM(oPC))
{
if(nTRace == RACIAL_TYPE_HUMAN && nTAlign == ALIGNMENT_GOOD)
{
if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_EVIL)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
if(nPCRace == RACIAL_TYPE_HALFORC)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
if(nPCRace == RACIAL_TYPE_ELF)
{
if(TestStringAgainstPattern("**DROW**", sSubRace) ||
TestStringAgainstPattern("**DARK**", sSubRace))
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
}
if(nTRace == RACIAL_TYPE_HUMAN && nTAlign == ALIGNMENT_NEUTRAL)
{
if(nPCRace == RACIAL_TYPE_HALFORC)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
if(nPCRace == RACIAL_TYPE_ELF)
{
if(TestStringAgainstPattern("**DROW**", sSubRace) ||
TestStringAgainstPattern("**DARK**", sSubRace))
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
}
if(nTRace == RACIAL_TYPE_HUMAN && nTAlign == ALIGNMENT_EVIL)
{
if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_GOOD)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
if(nPCRace == RACIAL_TYPE_ELF || nPCRace == RACIAL_TYPE_HALFELF)
{
if(!TestStringAgainstPattern("**DROW**", sSubRace) &&
!TestStringAgainstPattern("**DARK**", sSubRace))
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
if(nPCRace == RACIAL_TYPE_HALFLING)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
if(nTRace == RACIAL_TYPE_ELF || nTRace == RACIAL_TYPE_HALFELF)
{
if(TestStringAgainstPattern("**DROW**", sTSubRace) ||
TestStringAgainstPattern("**DARK**", sTSubRace))
{
if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_GOOD ||
nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_NEUTRAL)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
if(nPCRace == RACIAL_TYPE_ELF || nPCRace == RACIAL_TYPE_HALFELF)
{
if(!TestStringAgainstPattern("**DROW**", sSubRace) &&
!TestStringAgainstPattern("**DARK**", sSubRace))
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
if(nPCRace == RACIAL_TYPE_HALFLING)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
else
{
if(nPCRace == RACIAL_TYPE_ELF)
{
if(TestStringAgainstPattern("**DROW**", sSubRace) ||
TestStringAgainstPattern("**DARK**", sSubRace))
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
if(nPCRace == RACIAL_TYPE_HALFORC)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_EVIL)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
}
if(nTRace == RACIAL_TYPE_HALFLING)
{
if(nPCRace == RACIAL_TYPE_ELF)
{
if(TestStringAgainstPattern("**DROW**", sSubRace) ||
TestStringAgainstPattern("**DARK**", sSubRace))
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
if(nPCRace == RACIAL_TYPE_HALFORC)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_EVIL)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
if(nTRace == RACIAL_TYPE_HALFORC)
{
if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_GOOD ||
nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_NEUTRAL)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
if(nPCRace == RACIAL_TYPE_ELF || nPCRace == RACIAL_TYPE_HALFELF)
{
if(!TestStringAgainstPattern("**DROW**", sSubRace) &&
!TestStringAgainstPattern("**DARK**", sSubRace))
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
if(nPCRace == RACIAL_TYPE_HALFLING)
{
if(oTFL == oFL) CheckParty(oTest, oPC);
SetPCDislike(oTest, oPC);
}
}
}
oPC = GetNextPC();
}
}
void main()
{
//Autodislike
object oPC = GetFirstPC();
while(GetIsObjectValid(oPC))
{
if(!GetIsDM(oPC)) SetDislike(oPC);
oPC = GetNextPC();
}
}
Я в нем вижу очень много лишнего Дроу там и тд у меня их непланируеться надо какуюто часть правильно удолить,или исправить помогите плиз,у меня как я уже описывал 3 фракции