World of Gothic Archiv > NWN-Hilfe
Namen
Seite 1 von 1  1 
10.07.2002, 17:32 #1
Omega Darkblade
Beiträge: 257
Namen
Wie kriege ich es in einem Gespräch hin das eine Person ihren namen sagt?
10.07.2002, 18:00 #2
EisHarald
Beiträge: 97

Im Gesprächseditor einfach an der Stelle wo er ihn sagen soll rechstklick machen,token wählen und dann entweder <fullname> oder <firstname> wählen.
10.07.2002, 18:05 #3
Gawain15
Beiträge: 1.084

Er meint das die Person ihren eigenen Namen sagt glaube ich... eigentlich kannst du es ja einfach einfügen aber könnte man auch scripten... nur ist die Frage warum wenns auch einfach geht? Oder hast du vor das er seinen Namen so hundert mal wiederholt? Dann benutz Copy&Paste :)
10.07.2002, 18:08 #4
EisHarald
Beiträge: 97

Oh stimmt ja er sagte ''das eine Person ihren namen sagt?''.Dann könnte man wirklich einfach Copy&Paste machen,aber darauf könnte man auch selber kommen ;)
10.07.2002, 19:09 #5
Omega Darkblade
Beiträge: 257

@EisHarald
du hattest das schon richtig verstanden :)

@DieAnderen

sorry war schelcht formuliert
10.07.2002, 19:48 #6
Omega Darkblade
Beiträge: 257

*hochschieb*

Wenn ich grad schon beim Fragenstellen bin
Wie schaff ichs das mich ein Kleriker(im Tempel) heilt?
Warum funzt mein Erkentnissbecken nicht?(also das Handelsfenster geht nicht auf)
10.07.2002, 19:57 #7
EisHarald
Beiträge: 97

Da ich gerade etwas faul bin ;) ,kann ich dir nur raten einfach mal die Kampagnenmodule zu öffnen und dir das dort anzuschauen
10.07.2002, 20:05 #8
Gawain15
Beiträge: 1.084

Omega: hast du dem Erkenntnisbecken auch einen Händler zugewiesen?

Zum heilen: Im Gespräch bei "Erfolgte Aktionen" an der Stelle einfügen wo du geheilt werden möchtest. (Ich hab noch nicht getestet ob es funktioniert, hab es einfach aus der Kampagne geklaut...Rückmeldung erwünscht)

void FakeRestore(object oTarget);

void main()
{
object oPC = GetPCSpeaker();
object oHenchman = GetAssociate(ASSOCIATE_TYPE_HENCHMAN,oPC);
object oAnimal = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION,oPC);
object oFamiliar = GetAssociate(ASSOCIATE_TYPE_FAMILIAR,oPC);
object oDominated = GetAssociate(ASSOCIATE_TYPE_DOMINATED,oPC);
object oSummoned = GetAssociate(ASSOCIATE_TYPE_SUMMONED,oPC);
ActionPauseConversation();
ActionCastFakeSpellAtObject(SPELL_GREATER_RESTORATION, OBJECT_SELF);
ActionDoCommand(FakeRestore(oPC));
if(GetIsObjectValid(oHenchman))
{
ActionDoCommand(FakeRestore(oHenchman));
// checks to see if they have any cure crital wound potions; if not, creates it on them.
if (!GetIsObjectValid(GetItemPossessedBy(oHenchman,"NW_IT_MPOTION003")))
{
CreateItemOnObject("NW_IT_MPOTION003",oHenchman,3);
}
}
if(GetIsObjectValid(oAnimal))
{
ActionDoCommand(FakeRestore(oAnimal));
}
if(GetIsObjectValid(oFamiliar))
{
ActionDoCommand(FakeRestore(oFamiliar));
}
if(GetIsObjectValid(oDominated))
{
ActionDoCommand(FakeRestore(oDominated));
}
if(GetIsObjectValid(oSummoned))
{
ActionDoCommand(FakeRestore(oSummoned));
}
ActionResumeConversation();
}

void FakeRestore(object oTarget)
{
effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION_GREATER);

effect eBad = GetFirstEffect(oTarget);
//Search for negative effects
while(GetIsEffectValid(eBad))
{
if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
GetEffectType(eBad) == EFFECT_TYPE_DEAF ||
GetEffectType(eBad) == EFFECT_TYPE_CURSE ||
GetEffectType(eBad) == EFFECT_TYPE_DISEASE ||
GetEffectType(eBad) == EFFECT_TYPE_POISON ||
GetEffectType(eBad) == EFFECT_TYPE_PARALYZE ||
GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL)
{
//Remove effect if it is negative.
RemoveEffect(oTarget, eBad);
}
eBad = GetNextEffect(oTarget);
}
if(GetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
{
//Apply the VFX impact and effects
int nHeal = GetMaxHitPoints(oTarget) - GetCurrentHitPoints(oTarget);
effect eHeal = EffectHeal(nHeal);
if (nHeal > 0)
ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oTarget);
}
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oTarget);
}


/e: Harald: zum glück bin ich nicht so faul wie du
10.07.2002, 20:20 #9
EisHarald
Beiträge: 97

Ach faulheit ist wirklich was schönes ,solltest du wirklich mal ausprobieren.
10.07.2002, 20:56 #10
Omega Darkblade
Beiträge: 257

@Gawain
nope funzt net.thx trozdem

@Harald
Das bringt mir nichts da ich nie weiss was das bedeuted was da steht (in den modulen)
10.07.2002, 21:27 #11
Gawain15
Beiträge: 1.084

Omega: ich hab das Script eben getestet und es funktioniert einwandfrei. Du musst es genau so reinkopieren wie ich es gepostet hab, auch das

"void FakeRestore(object oTarget);" vor dem "Voidmain(){".

Nimm das ganze Script und poste es, genau so wie es ist ohne etwas zu verändern, bei "Erfolgte Aktionen" rein.
10.07.2002, 21:48 #12
Omega Darkblade
Beiträge: 257

Es geht...thx :)
Ka was ich falsch hatte.
Seite 1 von 1  1