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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Les montres errants.

Par Ballesto le 7/8/2002 à 14:51:28 (#1930387)

Bonjours à toute la communautée.

Etant un grand joueur de D&D je voulai mettre des monstres errants dans mon module et je ne vois pas comment faire pour coller aux règles.

- Un trigger avec un script basé sur un random.
- Un script avec un random basé sur le temps passé dans une area.
- Autre chose.

Les vieux routards du toolset auraient-ils des idées.

Toutes les suggestions seronts les bien venue.

Merci. :confus: :confus:

Peut être une réponse !!!

Par Ballesto le 8/8/2002 à 9:15:00 (#1933300)

Bonjours a tous.

Hier soir j'ai récupéré un scrip sur Lyoness de Michael Ham (mindtakerr), que je remercie au passage.
Ce script fait apparaitre des monstres lors des rest.
Il est à mettre dans les propriété module OnplayerRest.

Je l'ai mis dans le Onheartbeat, mais il ne ce déclenche que suite à un Rest et fait apparaitre des montres trop souvent ( vue qu'il est dans les battement de coeur - 6 secondes - ).

Je vous l'ai mis tel que à l'origine car j'ai essayer divers variantes mais sans résultat, est-ce qu'un Dieu du script pourrai me donner quelques solution SVP.

A oui j'oubliai je voudrai aussi qu'il fasse appele à des Group Encounter et non à des créatures uniques.

Merci beaucoup pour votre aide au newbie que je suis.

:ange:

Oups poster trop vite.

Par Ballesto le 8/8/2002 à 9:17:09 (#1933306)

Et oui j'ai poster trop vite ma demende, voici le script en question.

void main()
{

///////////
//Sometimes spawn monster in during rest v1.2
///////////
//This script rolls a D6 and spawns a monster with a CR
//of your level if a 3 is rolled, or spawns a monster with
//a CR of 1 higher than your level if a 4 is rolled.
///////////
//Script by Michael Ham (mindtakerr)
//Date Created: 6/24/02
//Filename: monster_rest
///////////

// An object to hold the last player who rested
object oPlayer = GetLastPCRested();

// Check to see whether resting has started or is over
int nRestTurn = GetLocalInt(oPlayer, "nRestTurns");
SetLocalInt(oPlayer, "nRestTurns", nRestTurn + 1);
nRestTurn = GetLocalInt(oPlayer, "nRestTurns");

if (nRestTurn == 1) {

// Determine whether rest will be peaceful or not
int nRestType = d6();
int nEnemyType = d2();

object oEnemy;
// A string to hold the creature's tag
string sCreature;

// Set a location for where the PC is
location lHere = GetLocation(oPlayer);

// Set the level of the monster to spawn
int iLevel = 0;
iLevel += GetLevelByPosition(1, oPlayer);
iLevel += GetLevelByPosition(2, oPlayer);
iLevel += GetLevelByPosition(3, oPlayer);

// A roll of 4 causes the monster to be even harder
if (nRestType == 4) {
iLevel++;
nRestType = 3;
}

// Script only has 15 places for monster levels
if (iLevel > 15) {
(iLevel = 15);
}

// Bad luck, a monster is coming
if (nRestType == 3) {

// Decide which monster to spawn, based on CR
switch (iLevel) {
case 1:
if (nEnemyType == 1)
sCreature = "NW_ORCA";
else if (nEnemyType == 2)
sCreature = "NW_WOLF";
else
sCreature = "NW_ZOMBIE01";
break;
case 2:
if (nEnemyType == 1)
sCreature = "NW_BEARBLCK";
else if (nEnemyType == 2)
sCreature = "NW_BUGBEARA";
else
sCreature = "NW_KRENSHAR";
break;
case 3:
if (nEnemyType == 1)
sCreature = "NW_MEPAIR";
else if (nEnemyType == 2)
sCreature = "NW_BTLBOMB";
else
sCreature = "NW_DIREBADG";
break;
case 4:
if (nEnemyType == 1)
sCreature = "NW_GHAST";
else if (nEnemyType == 2)
sCreature = "NW_AIR";
else
sCreature = "NW_MINOTAUR";
break;
case 5:
if (nEnemyType == 1)
sCreature = "NW_OGREMAGE01";
else if (nEnemyType == 2)
sCreature = "NW_BUGBEARA";
else
sCreature = "NW_KRENSHAR";
break;
case 6:
if (nEnemyType == 1)
sCreature = "NW_OGRECHIEF01";
else if (nEnemyType == 2)
sCreature = "NW_TROLL";
else
sCreature = "NW_DEVOUR";
break;
case 7:
if (nEnemyType == 1)
sCreature = "NW_SLAADBL";
else if (nEnemyType == 2)
sCreature = "NW_UMBERHULK";
else
sCreature = "NW_MUMMY";
break;
case 8:
if (nEnemyType == 1)
sCreature = "NW_GOLFLESH";
else if (nEnemyType == 2)
sCreature = "NW_ETTIN";
else
sCreature = "NW_TROLLCHIEF";
break;
case 9:
if (nEnemyType == 1)
sCreature = "NW_BEARDIRE";
else if (nEnemyType == 2)
sCreature = "NW_MINWIZ";
else
sCreature = "NW_RAKSHASA";
break;
case 10:
if (nEnemyType == 1)
sCreature = "NW_GNTFROST";
else if (nEnemyType == 2)
sCreature = "nw_bugbearboss";
else
sCreature = "NW_GNTHILL";
break;
case 11:
if (nEnemyType == 1)
sCreature = "NW_GOBLINBOSS";
else if (nEnemyType == 2)
sCreature = "NW_BATTDEVOUR";
else
sCreature = "NW_REVENANT001";
break;
case 12:
if (nEnemyType == 1)
sCreature = "NW_GolClay";
else if (nEnemyType == 2)
sCreature = "NW_SHGUARD";
else
sCreature = "NW_DRGBLACK001";
break;
case 13:
if (nEnemyType == 1)
sCreature = "NW_SPIDERBOSS";
else if (nEnemyType == 2)
sCreature = "NW_DRGBLACK001";
else
sCreature = "NW_GNTFIRE";
break;
case 14:
if (nEnemyType == 1)
sCreature = "NW_MUMMYBOSS";
else if (nEnemyType == 2)
sCreature = "drgblue002";
else
sCreature = "NW_GOLIRON";
break;
case 15:
if (nEnemyType == 1)
sCreature = "nw_beetleboss";
else if (nEnemyType == 2)
sCreature = "NW_FIREGREAT";
else
sCreature = "NW_DRGGREEN002";
break;
}

// Create the enemy at the PC's location
oEnemy = CreateObject(OBJECT_TYPE_CREATURE, sCreature, lHere, FALSE);

// The PC alerts of danger
AssignCommand(oPlayer, ActionSpeakString("I'm under attack!"));
// Wait a moment so that the PC might get ready
AssignCommand(oEnemy, ActionWait(3.0));
// Tell the enemy to attack the player
AssignCommand(oEnemy, ActionAttack(oPlayer));
SetLocalInt(oPlayer, "nRestTurns", -1);
}
}
if(nRestTurn != 1)
SetLocalInt(oPlayer, "nRestTurns", 0);
}

Merci encore.

Par RavenShadow le 8/8/2002 à 11:21:26 (#1933754)

Je vais encore faire la même réponse que d'habitude mais :
Va voir les HCR.
http://nwn.darkemud.com/~darke/HC

Y'a une partie qui gére les rencontres aléatoires par zone mais aussi lors des rest.
http://nwn.darkemud.com/~darke/HC/manual.htm#Wandering%20Monster%20System

Si tu ne veux pas utiliser les HCR en complet, y'a surment moyen de récuperer les scripts (et là, désolé mais je ne peux pas t'aider).

En espérant avoir aidé.

RavenShadow

HCR OK.

Par Ballesto le 9/8/2002 à 8:42:24 (#1938036)

Je te remercie pour ta reponse j'ai déjà le HCR et je n'avais pas tous vu.

Mais je crois que les monstres errants sont uniquement lors des rest mais je vais étudier cela pandant les vacances c'est à dire à partir de ce soir.

Re: HCR OK.

Par RavenShadow le 9/8/2002 à 11:06:46 (#1938512)

Provient du message de Ballesto
Mais je crois que les monstres errants sont uniquement lors des rest mais je vais étudier cela pandant les vacances c'est à dire à partir de ce soir.


Non, non. Il y a bien des monstres errants par zones (sans rest).
Lis le manuel des HCR dans la partie "Wandering Monster System".

RavenShadow

Super.

Par Ballesto le 9/8/2002 à 16:12:37 (#1940105)

SUPER,

Merci, étant très mauvais dans la langue anglaise j'été passé à coté de cette partie de HCR.

Encore merci je m'y attele des ce W.E.

JOL Archives 1.0.1
@ JOL / JeuxOnLine