Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > S'il y a des scripteurs très forts...
S'il y a des scripteurs très forts...
Par Mariane le 12/8/2002 Ã 16:34:58 (#1951550)
Le module était sous les Hardcore Rules, mais quand on mourait, sur le plan de la fugue, il y avait un autel.
On pouvait prier auprès de l'autel (l'utiliser) toutes les heures de jeu (5 min), et on avait à chaque fois la chance standard que notre Dieu entende nos prières et nous renvoie sur le plan matériel.
Je trouve que ce système est des plus intéressants, j'ai essayé de scripter l'autel pour qu'il fasse ce que j'ai décrit, mais étant donné que j'ai passé 3 heures pour faire parler une porte (si si!) je ne suis pas prêt d'y arriver (si j'y arrive un jour!!).
Une bonne âme pourrait-elle m'aider? Merci d'avance :)
ze fugue plane
Par folrith le 12/8/2002 Ã 16:50:10 (#1951643)
J'ai joué sur le meme scenar ... et par un très horrible hasard mon personnage a passe plus de temps dans la fugue plane que dans le jeu .... (je suis un peu têtu pour me confronter au horde de draconien sur le chemin de heaven ...:-))))
Voiliii ... sinon tu trouveras normalement tout ca sur
http://nwn.darkemud.com/~darke/HC/index.htm
c'est le system hard core et j'ai vu qu'ils en parlait ... sinon tu peux aller sur : http://nwvault.ign.com/Files/hakpac...ackslist2.shtml
Il y a tout plein de script assez sympa ;)
Par tonton le grognon le 12/8/2002 Ã 16:58:46 (#1951687)
Par Kemay le 12/8/2002 Ã 18:59:41 (#1952329)
//A placer dans l'event onUsed de l'autel
void main()
{
//la phrase dire lorsqu'un personnage n'ayant pas de divinite definie essaie de prier
string sNoDeity = "Vous n'avez foi en aucun dieu, vous ne pouvez pas prier !";
//la phrase dire lorsqu'un personnage essaie de prier sans attendre une heure
string sAlreadyPrayed = "Vous ne pouvez prier votre dieu qu'une seule fois par heure.";
//la duree en minutes reelles d'une heure dans le jeu
int nMinutes = 5;
//le pourcentage de chance que la priere soit entendue et le que la resurection soit effectuee
int nChance = 5;
object oPC = GetLastUsedBy();
string sDeity = GetDeity(oPC);
int bUsed = GetLocalInt(oPC,"AlreadyPrayed");
float fDelay = 60.0*nMinutes;
if( sDeity == " )
{
SendMessageToPC(oPC,sNoDeity);
return;
}
if( bUsed == TRUE )
{
SendMessageToPC(oPC,sAlreadyPrayed);
return;
}
if( bUsed == FALSE )
{
SetLocalInt(oPC,"AlreadyPrayed",TRUE);
DelayCommand(fDelay,DeleteLocalInt(oPC,"AlreadyPrayed"));
int nRoll = d100();
if( nRoll <= nChance )
{
/*
Resurection sur le prime, la a depend du script utilise lors de la mort du
personnage. A priori, il s'agit simplement d'un JumpToLocation vers la
localisation ou le perso est mort ou un JumpToObject vers le corps du
personnage
*/
}
}
}
Enfin voilà en gros c'est le principe, si tu n'arrives pas à faire le retour sur le plan primaire, envoie moi le script que tu utilises dans l'event onPlayerDeath du module, mais à priori il s'agit simplement de le téléporter à l'endroit où il est mort.
hcr ... hcr .....
Par folrith le 13/8/2002 Ã 11:40:44 (#1955333)
- faire en sorte que le pjs perdent 1 pv entre 0 et - 10
- qu'il se téléporte automatiquement sur la fugue plane
- le pjs prie pour qu'il réinègre son corps (un tit %) (la j'ai la réponse ci dessus)
- mais que le respawn ne lui donne qu'un certain nombre de point de vie et le fasse téléporter dans un temple par rapport à son alignement
ca c'etait pour la première partie :
sur les scryptes je n'ai pas trouver comment faire lorsque le pjs fait un rest déplit un "bedroll" et dort pour ne récupérer qu'un pt de vie par niveau comme dans le MDJ de DD3.
please :aide: (bon je suis certain que le père noêl existe)
Par tonton le grognon le 13/8/2002 Ã 11:58:08 (#1955411)
- faire en sorte que le pjs perdent 1 pv entre 0 et - 10
* gerer automatiquement par les HCRS- rien à faire- qu'il se téléporte automatiquement sur la fugue plane
* gerer automatiquement par les HCRS- rien à faire- le pjs prie pour qu'il réinègre son corps (un tit %) (la j'ai la réponse ci dessus)
* gerer automatiquement par les HCRS- rien à faire- mais que le respawn ne lui donne qu'un certain nombre de point de vie et le fasse téléporter dans un temple par rapport à son alignement
* pas gerer par les HCRS.. si on te ressucite, tu reviens la ou il y a ton corp... il n'y a plus de respawn sous HCR
ca c'etait pour la première partie :sur les scryptes je n'ai pas trouver comment faire lorsque le pjs fait un rest déplit un "bedroll" et dort pour ne récupérer qu'un pt de vie par niveau comme dans le MDJ de DD3.
* gerer automatiquement par les HCRS- rien à faire
si tu ne comprend pas bien l'anglais, et que tu ne lis pas le manuel d'utilisation de cet add-on , oublie les HCRs...
FAUT LE LIRE LE MANUEL... LA : http://nwn.darkemud.com/~darke/HC/manual.htm
ce n'est pas une OPTION ! :doute:
euhhhh ....
Par folrith le 13/8/2002 Ã 13:14:24 (#1955835)
Merci à toi Tonton
et je m'y met tt de suite
:lit: :lit: :lit:
Par Mariane le 13/8/2002 Ã 20:03:00 (#1957904)
J'ai juste ajouté une phrase pour quand la prière échoue (sinon l'autel ne réagissait pas de manière visible quand la prière n'était pas entendue).
Quand la prière est entendue, le PC est envoyé en lieu sûr (WayPoint de tag "wp_resurect") pour éviter qu'il se refasse tuer, avec son équipement et une pénalité XP+gold.
// Script pour un autel qui ressuscite les PCs dans le plan de la fugue et les transporte au waypoint "wp_resurect"
// Par Kemay, Amaranthe et Mariane (pour un ajout :) )
// Compatible avec les HCR 1.6.8
#include "hc_inc_rezpen"
//A placer dans l'event onUsed de l'autel
void main()
{
//la phrase dire lorsqu'un personnage n'ayant pas de divinite definie essaie de prier
string sNoDeity = "Vous n'avez foi en aucun dieu, vous ne pouvez pas prier !";
//la phrase dire lorsqu'un personnage essaie de prier sans attendre une heure
string sAlreadyPrayed = "Vous ne pouvez prier votre dieu qu'une seule fois par 30 minutes.";
// la phrase à dire quand la prière a été inefficace
string sNoRez = "Votre prière n'a pas été entendue.";
//la duree en minutes reelles d'une heure dans le jeu
int nMinutes = 5;
//le pourcentage de chance que la priere soit entendue et le que la resurection soit effectuee
int nChance = 15;
object oMod = GetModule();
object oPC = GetLastUsedBy();
string sName = GetName(oPC);
string sCDK = GetPCPublicCDKey(oPC);
string sID = sName + sCDK;
string sDeity = GetDeity(oPC);
int bUsed = GetLocalInt(oPC,"AlreadyPrayed");
// le délai entre deux prières
float fDelay = 30.0*nMinutes;
location lDiedHere = GetLocation(GetWaypointByTag("wp_resurect"));
if( sDeity == " )
{
SendMessageToPC(oPC,sNoDeity);
return;
}
if( bUsed == TRUE )
{
SendMessageToPC(oPC,sAlreadyPrayed);
return;
}
if( bUsed == 0 )
{
SetLocalInt(oPC,"AlreadyPrayed",TRUE);
DelayCommand(fDelay,DeleteLocalInt(oPC,"AlreadyPrayed"));
int nRoll = d100();
if( nRoll <= nChance )
{
object oDeathCorpse = GetLocalObject(oMod,"DeathCorpse"+sID);
if(GetIsObjectValid(oDeathCorpse)) DestroyObject(oDeathCorpse);
if(GetLocalInt(oMod,"REZPENALTY"))
{
hcRezPenalty(oPC);
// Charge em and raise the dead man
int iPCGold = GetGold(oPC);
int iRezCost = 1500;
if (iRezCost < iPCGold) iRezCost = iPCGold;
TakeGoldFromCreature(iRezCost, oPC, TRUE);
}
AssignCommand(oPC,JumpToLocation(lDiedHere)) ;
}
else
{
SendMessageToPC(oPC,sNoRez);
}
}
}
Par tonton le grognon le 14/8/2002 Ã 8:03:51 (#1959868)
Par Mariane le 14/8/2002 Ã 8:08:07 (#1959878)
JOL Archives 1.0.1
@ JOL / JeuxOnLine