Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

S'il y a des scripteurs très forts...

Par Mariane le 12/8/2002 à 16:34:58 (#1951550)

J'ai joué online à NWN sur un module américain (Krynn), et j'ai vu un truc super.
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)

Bonjour,

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)

comme dit au dessus.. ce sont les fonctions standard du HCR... la priere en fait partie aussi.. par contre pas l'autel... faut que je verifie ca...

Par Kemay le 12/8/2002 à 18:59:41 (#1952329)

Le script pour que l'autel ne puissent être prier qu'une fois par heure et qu'à chaque prière il y ait un pourcentage de chance pour que le personnage priant soit résurrecté n'est pas compliqué en lui-même mais la "resurection" sur le plan primaire dépend entièrement du script utilisé lors de la mort du personnage. Voilà à quoi cela ressemble sans la resurrection elle-même.

//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)

Bon je me suis amusé à telecharge les hcr hier soir .... je me suis mis à installer tout ca sur mon module ... mais purée ... comme je suis une quiche en ce qui concerne les scripts et je me debrouille pas trop en anglais .... Je ne sais pas faire comme sur krynn :


- 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)

le pov tit manuel ..... (si j'avais su j'aurais pas venu poser des questions idiotes)

Merci à toi Tonton

et je m'y met tt de suite

:lit: :lit: :lit:

Par Mariane le 13/8/2002 à 20:03:00 (#1957904)

Voici le script de l'autel, qui fonctionne. merci mille fois à Kemay et Amaranthe!
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)

tu aurais du le coller dans le thread en haut "liste des scripts pret à servir" car ca peut etre utile à qqun d'autres ;)

Par Mariane le 14/8/2002 à 8:08:07 (#1959878)

Merci de cette remarque, c'est fait :)

JOL Archives 1.0.1
@ JOL / JeuxOnLine