World of Gothic Archiv > NWN-Hilfe
Rückrufstein---> Portal???
Seite 1 von 1  1 
07.07.2002, 18:50 #1
ichthorsten
Beiträge: 7
Rückrufstein---> Portal???
Hi,
ich habe zwar den Rückrufstein schon gefunden [lol],
aber wie erstelle ich ein Portal dazu? Ich hab eins erstellt, aber wenn ich dann ins Spiel wechsele und den Stein aktiviere passiert nichts...
07.07.2002, 19:55 #2
Gawain15
Beiträge: 1.084

Das ist ja auch klar, ist ja alles gescriptet... ich kuck mir die ganze Sache mal an und poste was du wo einfügen musst damit es klappt... mach ich aber erst morgen ich kuck jetzt erstmal TV.
07.07.2002, 20:52 #3
Gawain15
Beiträge: 1.084

So die folgenden Scripte sind nicht auf meinem Mist gewachsen sondern aus dem US Forum einfach nur kopiert, falls du nicht so gut Englisch kannst würde ich es dir auch übersetzen. (Hab das ganze noch nicht getestet, sollte aber funktionieren)

/e: musste die Smiley deaktivieren...

***************NOTE*************
NW_RECALL_PORTAL Tag for <span class="highlight">Recall</span> Portal, nw_recall_portal BluePrint ResRef

************NOTE****************
To Teleport back to last place <span class="highlight">stone</span> used.
put this in conversation tree where you want it and on action taken tab
//::///////////////////////////////////////////////
//:: teleporttobind.nss
//::
//:://////////////////////////////////////////////
/*
Player transports to last <span class="highlight">recall</span>-bind position.
*/
//:://////////////////////////////////////////////
//:: Created By:
//:: Created On:
//:://////////////////////////////////////////////
#include "nw_i0_plot"
int CanAffordIt()
{
int nCost = 0; //Change 0 to the number of gold to take from Player
//As the cost of portal use.
// * remove the gold from the player
// * I'm having the player remove it from himself
// * but since I'm also destroying it, this will work
if (GetGold(GetPCSpeaker()) >= nCost)
{
TakeGold(nCost, GetPCSpeaker());
return TRUE;
}
return FALSE;
}
void main()
{
CanAffordIt();
location lLoc = GetLocalLocation(GetPCSpeaker(), "NW_L_LOC_RECALL");
// * Portal stores last location to jump to for future players
SetLocalInt(OBJECT_SELF, "NW_L_LOC_EVERUSED", 1);
SetLocalLocation(OBJECT_SELF, "NW_L_LOC_LAST_RECALL", lLoc);
ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_UNSUMMON), lLoc);
AssignCommand(GetPCSpeaker(), JumpToLocation(lLoc));
}
***************NOTE********************
To teleport to the party leader add in conversation where you want
on actions taken tab.
//::///////////////////////////////////////////////
//:: nw_all_feedbackg
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Transports you to the party leader.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On:
//:://////////////////////////////////////////////
//On this script you can also add the int CanAffordIt() part above
//To charge player for this action also.
void main()
{
object oLeader = GetFactionLeader(GetPCSpeaker());
if (GetIsObjectValid(oLeader) == TRUE)
{
AssignCommand(GetPCSpeaker(), JumpToObject(oLeader));
}
}
**************NOTE****************
Script for OnUsed in <span class="highlight">Recall</span> Portal Scripts
nw_recall_portal
its a resource file. comes with game.
**********NOTE************
Make a waypoint near the <span class="highlight">recall</span> <span class="highlight">stone</span> called NW_DEATH_TEMPLE
*************NOTE*****************
For makeing the respawned where last died you only need to do these simple things
put this in the conversation on the actions taken tab of a NPC you
selected to be the guy to send you back to where you died.
or on the portal itself in a conversation
// * transport player back to place where you died
//Can add the CanAffordIt() function to this as well to charge player
//For recalling on death, but remember exp/gold taken is already in
//effect.
void main()
{
object oSelf = OBJECT_SELF;
effect eVis = EffectVisualEffect(VFX_IMP_UNSUMMON);
ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eVis, GetLocalLocation(GetPCSpeaker(),"NW_L_I_DIED_HERE"));
SetLocalInt(GetPCSpeaker(), "NW_L_I_DIED", 0);
object oPC = GetPCSpeaker();
ActionCastFakeSpellAtObject(SPELL_FREEDOM_OF_MOVEMENT, OBJECT_SELF);
AssignCommand(GetPCSpeaker(), DelayCommand(0.5, JumpToLocation(GetLocalLocation(oPC,"NW_L_I_DIED_HERE"))));
}

Thats all the steps in making your portals come true hehe.
****************NOTE*****************
Put this in your mod properties scripts, under onActivateItem spot

#include "NW_I0_Plot"
void main()
{
IsRecall();
}
08.07.2002, 12:26 #4
Sumselbrumsel
Beiträge: 9

Ich würde auch gern wissen wie man ein Portal für den Rückrufstein erstellt, verstehe aber ehrlich gesagt nicht wie man diesen Script verwenden soll.
08.07.2002, 12:29 #5
Gawain15
Beiträge: 1.084

Wenn du dir den Post mal durchgelesen hättest, wäre die aufgefallen das es sich nicht um ein Scipt sondern um mehre Scripts nebst Bedienungsanleitung handelt. Er schreibt was du wo einfügen musst.
08.07.2002, 12:46 #6
Gawain15
Beiträge: 1.084

So, ich hab mal grob Übersetzt, habe es noch nicht getestet, würde mich über freuen wenn du schreibst ob es geklappt hat.

Du nennst dein Portal “NW_RECALL_PORTAL”

---

Dieses Script ist dafür zuständig den Spieler zu dem Punkt zu teleportieren wo er den Stein zum letzten mal eingesetzt hat. Füg es bei der Konversation dort in den erfolgte Aktionen Tab ein wo es ausgeführt werden soll („Teleportier mich zurück“)
put this in conversation tree where you want it and on action taken tab

---

#include "nw_i0_plot"
int CanAffordIt()
{
int nCost = 0; // Die Anzahl Gold die dem Spieler weggenommen wird
if (GetGold(GetPCSpeaker()) >= nCost)
{
TakeGold(nCost, GetPCSpeaker());
return TRUE;
}
return FALSE;
}
void main()
{
CanAffordIt();
location lLoc = GetLocalLocation(GetPCSpeaker(), "NW_L_LOC_RECALL");
SetLocalInt(OBJECT_SELF, "NW_L_LOC_EVERUSED", 1);
SetLocalLocation(OBJECT_SELF, "NW_L_LOC_LAST_RECALL", lLoc);
ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_UNSUMMON), lLoc);
AssignCommand(GetPCSpeaker(), JumpToLocation(lLoc));
}

---

Dieses Script teleportiert den Spieler zum Gruppenanführer, auch wieder bei der Konversation in den Erfolgte Aktionen Tab einbinden, dort wann es ausgeführt werden soll (“Teleportier mich zum Anführer der Gruppe”)

// Du kannst hier auch den int CanAffordIt() Tag von oben einbinden damit dem Spieler auch hierfür Gold abgezogen wird.

void main()
{
object oLeader = GetFactionLeader(GetPCSpeaker());
if (GetIsObjectValid(oLeader) == TRUE)
{
AssignCommand(GetPCSpeaker(), JumpToObject(oLeader));
}
}

---

Als Script bei OnUsed deines Steines ein (oder was auch immer du zum teleportieren bneutzen möchtest.) setzt du „nw_recall_portal” ein, müsste auswählbar sein da es schon integriert ist.

---

Dieses Script erstellt einen Wegpunkt wo der Spieler gestorben ist damit er später wieder zurück teleportiert werden kann. Füge es in die Konversation ein, in den Erfolgte Aktionen Tab (Ich möchte dorthin wo ich gestorben bin).

void main()
{
object oSelf = OBJECT_SELF;
effect eVis = EffectVisualEffect(VFX_IMP_UNSUMMON);
ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eVis, GetLocalLocation(GetPCSpeaker(),"NW_L_I_DIED_HERE"));
SetLocalInt(GetPCSpeaker(), "NW_L_I_DIED", 0);
object oPC = GetPCSpeaker();
ActionCastFakeSpellAtObject(SPELL_FREEDOM_OF_MOVEMENT, OBJECT_SELF);
AssignCommand(GetPCSpeaker(), DelayCommand(0.5, JumpToLocation(GetLocalLocation(oPC,"NW_L_I_DIED_HERE"))));
}

Das funktioniert höchstwahrsceinlich noch nicht, der Rest des Scriptes sollte jedoch funzen, kannst ja schreiben ob das mit dem zum Todespunkt teleportieren geklappt hat.

---

Das folgende Skript in den Modul eigenschaften bei OnActivateItem einfügen.

#include "NW_I0_Plot"
void main()
{
IsRecall();
}
08.07.2002, 14:16 #7
Sumselbrumsel
Beiträge: 9

Ich erkenne in diesen Skripten glaube ich aber nicht das was ich benötige. Ich würde gerne ein Portal erstellen, bei dem man nach Aktivierung des Rückrufsteins erscheint und durch das man wieder zurück an die Stelle gehen kann wo man sich wegteleportiert hat.
Oder ist das hier, was ich suche: "Als Script bei OnUsed deines Steines ein (oder was auch immer du zum teleportieren bneutzen möchtest.) setzt du „nw_recall_portal” ein, müsste auswählbar sein da es schon integriert ist."
Keine Ahnung, bin völlig verwirrt.
08.07.2002, 14:18 #8
Gawain15
Beiträge: 1.084

yep so ist es, bin aber immer noch nicht dazu gekommen zu testen ob das ganze überhaupt funktioniert, ich hab das Script wie gesagt aus dem US Forum.
Seite 1 von 1  1