Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Trappe et HCR comment s'arracher les cheveux
Trappe et HCR comment s'arracher les cheveux
Par ruru666 le 20/1/2003 à 17:11:41 (#3061450)
Je croyais avoir compris mais finalement c pas ca...
Dans le manuel du HCR ils est dis ke pour trouver les trappes (pieges), il fo utiliser le "search tool", puis comme on passe sur un systeme de recherche aver du D100 il fo donc modifier les pieges en ajoutant a la difficulté 100 (exemple si tu ve desamé un piege ki etait basé sur un 18 tu met 118).
Il rajoute ensuite ke c inutil d'utiliser le mode recherche du jeu de base (oui la petite loupe).
Mes constatations : le search tool ne donne rien du tout, et le mode recherche au bout de kelke sec planté devant la trappe (car je terste ca en mode mj et je vois donc les trappes) fini pa me dire "you find a trappe", et la on peut utiliser l'outil du voleur du HCR pour desarmé.
Ou est le blem et kelkun ki utiliserais cela pourrait il m expliké ce ke g loupé ????
G passé une apres midi dessus, je suis fatiguer de pa trouver SVP aidez moi ou ma campagne et a l'eau...
Re: Trappe et HCR comment s'arracher les cheveux
Par Jaha Effect le 20/1/2003 à 17:43:10 (#3061709)
Provient du message de ruru666
SVP aidez moi ou ma campagne et a l'eau...
J'adore les campagnes basées sur un piège ... heu tu en fait pas un tout petit peu trop là :D
Par contre je peux pas trop t'aider là, le HCR me donne des boutons même si je reconnais le talent de ces créateurs :)
Jaha Effect :D
Par ruru666 le 20/1/2003 à 20:59:12 (#3063357)
Donc je reformule ma question et svp si vous savez repondez moi sinon pa la peine de faire des commentaires ki me ferons pa avancer (g rien contre toi jaha mais je c ou ca part apres)
Merci de votre aide.
Par Jaha Effect le 20/1/2003 à 21:15:59 (#3063508)
Mais on pourrait surement t'aider tu nous mettais le paragraphe qui traite de ça et le code si tu le trouve.
Jaha Effect :D
Par ruru666 le 21/1/2003 à 14:49:52 (#3068233)
Merci ken meme de vous interressé a moi ki suis vraiment désespéré...
Par ruru666 le 21/1/2003 à 15:10:20 (#3068422)
//::///////////////////////////////////////////////
//:: HCR Detectable Object Heartbeat Script
//:: hc_detect_hrtbt
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Created By: yibble
Created On: September 25, 2002
Hacked up version of hc_act_search.
Using GetDetectMode function to avoid using the
SearchTool.
*/
//:://////////////////////////////////////////////
//:: Created By: Nathan Reynolds
//:: Created On: 25th September 2002
//:://////////////////////////////////////////////
#include "hc_text_traps"
void main()
{
/* Get the nearest searcher */
object oUser;
location lTrap = GetLocation(OBJECT_SELF);
int nDetectMode = 0;
float fSearchDist = 100.0;
oUser = GetFirstObjectInShape(SHAPE_SPHERE, fSearchDist, lTrap, TRUE, OBJECT_TYPE_CREATURE);
while(GetIsObjectValid(oUser))
{
if((nDetectMode = GetDetectMode(oUser)))
{
int nRogueLevel = GetLevelByClass(CLASS_TYPE_ROGUE, oUser);
location locPlayer = GetLocation(oUser);
float fDis = FeetToMeters(0.0);
int nFT = FALSE;
// elves have inate search ability search will always be active
if(nDetectMode == DETECT_MODE_ACTIVE)
{
fDis = FeetToMeters(10.0);
nFT = TRUE;
}
// Check to see if the object has a trap.
if ((GetIsTrapped(OBJECT_SELF)) && (GetDistanceToObject(oUser) <= fDis) && (nFT = TRUE))
{
// Yes, so begin detection routine.
int oTrapDC = GetTrapDetectDC(OBJECT_SELF) - 100;
int bCanSpotTrap = FALSE; // Assume that the person cannot spot a trap.
// Determine spotting capability
if ((oTrapDC 20) && (nRogueLevel >= 1 )))
bCanSpotTrap = TRUE;
// Only check to see if detected if not previously detected
// and the PC has the ability to do detect it.
if (!GetTrapDetectedBy(OBJECT_SELF, oUser) && bCanSpotTrap)
{
int nSearch = GetSkillRank(SKILL_SEARCH, oUser);
int nDCCheck = d20() + nSearch;
if (nDCCheck >= oTrapDC) // Trap found
{
SetTrapDetectedBy(OBJECT_SELF, oUser);
SendMessageToPC(oUser, TRAPFOUND);
//SendMessageToPC(oUser, "DEBUG: DETECT_MODE was " + IntToString(nDetectMode) + ". fDis was " + FloatToString(fDis) + ". nFT was " + IntToString(nFT) + ". oTrapDC was " + IntToString(oTrapDC) + ". nDCCheck was " + IntToString(nDCCheck) + ".");
}
}
}
}
oUser = GetNextObjectInShape(SHAPE_SPHERE, fSearchDist, lTrap, TRUE, OBJECT_TYPE_CREATURE);
}
}
Par Jaha Effect le 21/1/2003 à 15:34:20 (#3068647)
Dans ce cas le search tool applique un -100 a la valeur de détection du piège.
Tu as essayé, out d'abord de décommenter (enlever les //) cette ligne pour vérifier si tout marche bien?//SendMessageToPC(oUser, "DEBUG: DETECT_MODE was " + IntToString(nDetectMode) + ". fDis was " + FloatToString(fDis) + ". nFT was " + IntToString(nFT) + ". oTrapDC was " + IntToString(oTrapDC) + ". nDCCheck was " + IntToString(nDCCheck) + ".");
Jaha Effect :D
Par ruru666 le 21/1/2003 à 15:39:55 (#3068695)
Par ailleur g vu ki avait ca aussi si ca pe te mettre sur la voie, il semble ke ca joue plus pour les detections :
#include "hc_text_activate"
void main()
{
object oUser=OBJECT_SELF;
object oOther=GetLocalObject(oUser,"OTHER");
object oItem=GetLocalObject(oUser,"ITEM");
DeleteLocalObject(oUser,"ITEM");
DeleteLocalObject(oUser,"OTHER");
int nRogueLevel = GetLevelByClass(CLASS_TYPE_ROGUE, oUser);
location locPlayer= GetLocation(oUser);
int nFT=GetLocalInt(oUser,"FINDTRAP");
float fDis=10.0;
if(nFT) fDis=100.0;
object oSearchedItem = GetFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(fDis),
locPlayer, TRUE, OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_TRIGGER);
while (oSearchedItem != OBJECT_INVALID)
{
// Check to see if the object has a trap.
if (GetIsTrapped(oSearchedItem))
{
// Yes, so begin detection routine.
int oTrapDC = GetTrapDetectDC(oSearchedItem) - 100;
int bCanSpotTrap = FALSE; // Assume that the person cannot spot a trap.
// Determine spotting capability
if ((oTrapDC 20) && (nRogueLevel >= 1 || nFT)))
bCanSpotTrap = TRUE;
// Only check to see if detected if not previously detected
// and the PC has the ability to do detect it.
if (!GetTrapDetectedBy(oSearchedItem, oUser) && bCanSpotTrap)
{
int nSearch = GetSkillRank(SKILL_SEARCH, oUser);
int nDCCheck = d20() + nSearch;
if (nDCCheck >= oTrapDC) // Trap found
SetTrapDetectedBy(oSearchedItem, oUser);
}
}
else
{
// Hidden door detection
if (GetName(oSearchedItem) == "Secret Door Placeholder" && GetLocalInt(oSearchedItem, "bFound") != TRUE)
{
string strTag = GetTag(oSearchedItem);
location locDoor = GetLocation(oSearchedItem);
int nDC = GetWillSavingThrow(oSearchedItem);
int nSearch = GetSkillRank(SKILL_SEARCH, oUser);
int nRoll = d20();
// Search is not a trained skill, so a search of 0 is valid
if ((nRoll + nSearch) >= nDC)
{
SendMessageToPC(oUser, FINDSECRET);
// yes we found it, now create a trap door for us to use. it.
object oidDoor = CreateObject(OBJECT_TYPE_PLACEABLE, "secret_door", locDoor);
SetLocalString( oidDoor, "strDestination" , "dst_" + strTag );
SetPlotFlag(oidDoor,1);
SetLocalInt(oSearchedItem, "bFound", TRUE);
SetLocalObject(oSearchedItem, "oDoor", oidDoor);
DelayCommand(60.0f, SetLocalInt(oSearchedItem, "bFound", FALSE));
DelayCommand(60.0f, SetLocalInt(oSearchedItem, "bReset", TRUE));
}
}
}
oSearchedItem = GetNextObjectInShape(SHAPE_SPHERE, FeetToMeters(fDis),
locPlayer, TRUE, OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_TRIGGER);
}
}
Par Jaha Effect le 21/1/2003 à 15:52:53 (#3068809)
Enleve les // a cette ligne
Compile le scripte
lance le jeu et fait un test et tu me dis ce que cette ligne te marque en jeu.
Jaha Effect :D
JOL Archives 1.0.1
@ JOL / JeuxOnLine