Hors donc, pour la pause, c est quand tu lance la partie il y a une case a coché pour autoriser la pause ou non.
Pour la mort, il y a plusieurs chose a faire
1) Un script que tu met sur le ondeath du module :
//::///////////////////////////////////////////////
//:: <span class="highlight">Death</span> Script
//:: NW_O0_DEATH.NSS
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script handles the default behavior
that occurs when a player dies.
*/
//:://////////////////////////////////////////////
//:: Created By: Brent Knowles
//:: Created On: November 6, 2001
//:://////////////////////////////////////////////
#include "nw_i0_plot"
#include "ginc_death"
// Reset reputation
void main()
{
object oPlayer = GetLastPlayerDied();
object oKiller = GetLastHostileActor(oPlayer);
AssignCommand(oPlayer, ClearAllActions());
// * make friendly to Each of the 3 common factions
if (GetStandardFactionReputation(STANDARD_FACTION_COMMONER, oPlayer) <= 10)
{ SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad
SetStandardFactionReputation(STANDARD_FACTION_COMMONER, 80, oPlayer);
}
if (GetStandardFactionReputation(STANDARD_FACTION_MERCHANT, oPlayer) <= 10)
{ SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad
SetStandardFactionReputation(STANDARD_FACTION_MERCHANT, 80, oPlayer);
}
if (GetStandardFactionReputation(STANDARD_FACTION_DEFENDER, oPlayer) <= 10)
{ SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad
SetStandardFactionReputation(STANDARD_FACTION_DEFENDER, 80, oPlayer);
}
// affichage de l ecran de respawn
oPlayer = GetLastPlayerDied();
ShowDeathScreen(oPlayer, TRUE, TRUE, FALSE, TRUE);
SetIsDeathPopUpDisplayed(oPlayer, TRUE);
}
Ensuite tu cree un script appelé gui_death_respawn ( le nom est important)
Dans cet exemple on prend 10% de l or du PJ avec un max de 10.000 PO.
Il suffit de remplacer le "TAG_DU_WAYPOINT DU RESPAWN" par ton tag ou tu veux que le PJ respawn.
//::///////////////////////////////////////////////
//:: Generic On Pressed Respawn Button
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
// * June 1: moved RestoreEffects into plot include
*/
//:://////////////////////////////////////////////
//:: Created By: Brent
//:: Created On: November
//:://////////////////////////////////////////////
#include "nw_i0_plot"
#include "ginc_death"
#include "ginc_behavior"
void ApplyPenalty(object oDead)
{
int nGoldToTake = FloatToInt(0.10 * GetGold(oDead));
// *un max de 10000 PO est prise
if (nGoldToTake > 10000)
{
nGoldToTake = 10000;
}
AssignCommand(oDead, TakeGoldFromCreature(nGoldToTake, oDead, TRUE));
DelayCommand(8.0, FloatingTextStrRefOnCreature(58299, oDead, FALSE));
DelayCommand(8.2, FloatingTextStrRefOnCreature(58300, oDead, FALSE));
}
void main()
{
object oRespawner = OBJECT_SELF;
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner);
RemoveEffects(oRespawner);
ApplyPenalty(oRespawner);
object oTarget;
location lTarget;
string name = "TAG_DU_WAYPOINT DU RESPAWN";
oTarget = GetWaypointByTag(name);
lTarget = GetLocation(oTarget);
if (GetAreaFromLocation(lTarget)!=OBJECT_INVALID)
{
AssignCommand(oRespawner, ClearAllActions());
AssignCommand(oRespawner, ActionJumpToLocation(lTarget));
}
RemoveDeathScreens( oRespawner );
}