JeuxOnLineForumsPlusConnectés : 181 (sites) | 356 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > BIND, le PJ réapparaît près du relais qu'il a choisis. RSS
   
Répondre
Partager Outils Rechercher
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Exclamation
MERCI !
MERCI ! CA MARCHE !!! UNE AUTRE QUESTION ! Quand je ferai une autre pierre dans un autre lieu ? je dois mettre quoi d'autre dans le script pour que le PJ soit dirigé là ??
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
C'est bon j'ai compris !
Ca marche !

Dernière question :
Comment faire pour que s'affiche un message (en blanc, au dessus du PJ) qui dit : Vous êtes liés à cette Pierre.

Merci !
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Citation:
Quand je ferai une autre pierre dans un autre lieu ? je dois mettre quoi d'autre dans le script pour que le PJ soit dirigé là ??
Rien du tout , on est bien d'accord?

Citation:
Comment faire pour que s'affiche un message (en blanc, au dessus du PJ) qui dit : Vous êtes liés à cette Pierre.
la commande est:
Code PHP:
   FloatingTextStringOnCreature("Vous êtes lié(e) à cette Pierre"oPCFALSE); 
Donc tu rajoute ça dans link.
Le False est là pour que seul le PJ concerné voit cette phrase, si tu veux que toute sa faction la voit tu l'enlèves ou tu mets TRUE (valeur par défaut).
Cela me fait penser que si tu veux que personne ne puisse entendre la "conversation" du PJ avec la pierre, il faut que tu remplaces la ligne de l'OnUsed par:
Code PHP:
ActionStartConversation(GetLastUsedBy(),""TRUE); 
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Comment faire des accents dans les scripts genre é à è ' ê... ça fait pas net dans les message float !
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Pardon effectivement...
Le sujet est assez compliqué contrairement à ce qu'il pourrait sembler car cela nous amènes sur le terrain de la gestion de la grammaire française aussi.
Chacun a sa solution. Une possibilité est d'utiliser SpeakOneLinerConversation, tu fais un fichier avec tous tes petites phrases et tu utilise des/un LocalInt pour spécifier quelle réplique doit être dite dans le TextAppear When (cela peut même être automatisé via un conteur, i.e. les scripts de tous tes text appear when peuvent être identique, je t'en dirais plus si ça t'intéresse).
Mon conseil? Fait un nouveau sujet spécifique et demande son avis à tout le monde, Jedaï a écris une bibliothèque gérant des tokens avancés il pourra t'en dire plus.
Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
Juste une question en plus, si l'on doit faire perdre 25% d'xp au joueur à chaque respawn, qu'est qu'on met en plus ?
Lien direct vers le message - Vieux
Avatar de Jaha Effect
Jaha Effect
Alpha & Oméga
 
Avatar de Jaha Effect
 
Citation:
Provient du message de The Grouch
Juste une question en plus, si l'on doit faire perdre 25% d'xp au joueur à chaque respawn, qu'est qu'on met en plus ?
Ben une boite de kleenex car il va pleurer le mec

Jaha Effect
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
Citation:
Provient du message de Sire Pom-pom
Pardon effectivement...
Le sujet est assez compliqué contrairement à ce qu'il pourrait sembler car cela nous amènes sur le terrain de la gestion de la grammaire française aussi.
Chacun a sa solution. Une possibilité est d'utiliser SpeakOneLinerConversation, tu fais un fichier avec tous tes petites phrases et tu utilise des/un LocalInt pour spécifier quelle réplique doit être dite dans le TextAppear When (cela peut même être automatisé via un conteur, i.e. les scripts de tous tes text appear when peuvent être identique, je t'en dirais plus si ça t'intéresse).
Mon conseil? Fait un nouveau sujet spécifique et demande son avis à tout le monde, Jedaï a écris une bibliothèque gérant des tokens avancés il pourra t'en dire plus.
hum, en tapant les accent dans l'espace de la zone filtre des fonctions, ils passent, si on les copie colle dans le script, ils passent aussi ... ils passent plus qd on est ds le jeu ?
en tt cas dans les dialogue ca passe qd même (dialogues construits à coup de LocalString et des <CUSTOMXXX> )
donc pourquoi ca marcherais pas dans les Floatblablabla

g pas encore testé, mais me semble que ca marche (oui j'ai fais tt mes dialogue comme ca, et ca m'ennuirai gravement de tt avoir à refaire :-/ )
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Oui Reyan j'avais pas très bien lu la question je pense, un peu parti en vrille la dessus... Ceci dit on y a déjà répondu à cette question non je crois? On va pas repartir pour un tour quand même?
Pour les 25% des xps, hum... 25% du total de ses d'xps? Je crois que la suggestion de Jaha Effect n'est pas mauvaise...

SetXP(oRespawner, GetXP(oRespawner) * 3 / 4); Ouch!
Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
En fait, il y a un problème encore avec ce script, les pénalités ne fonctionnent plus si l'on intégre la pierre de rappel et vu les règles que j'appliquent (les fameux 25%) vous comprendrez aisément que je ne puis m'en passé

Je met le script entier du nwn_respawn ici :

Code PHP:
//::///////////////////////////////////////////////
//:: 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"

// * Applies an XP and GP penalty
// * to the player respawning
void ApplyPenalty(object oDead)
{
    
int nXP GetXP(oDead);
    
int nPenalty 50 GetHitDice(oDead);
    
int nHD GetHitDice(oDead);
    
// * You can not lose a level with this respawning
    
int nMin = ((nHD * (nHD 1)) / 2) * 1000;

    
int nNewXP nXP nPenalty;
    if (
nNewXP nMin)
       
nNewXP nMin;
    
SetXP(oDeadnNewXP);
    
int nGoldToTake =    FloatToInt(0.10 GetGold(oDead));
    
// * a cap of 10 000gp taken from you
    
if (nGoldToTake 10000)
    {
        
nGoldToTake 10000;
    }
    
AssignCommand(oDeadTakeGoldFromCreature(nGoldToTakeoDeadTRUE));
    
DelayCommand(4.0FloatingTextStrRefOnCreature(58299oDeadFALSE));
    
DelayCommand(4.8FloatingTextStrRefOnCreature(58300oDeadFALSE));

}

///////////////////////////////////////////////////////////////////////
// this function resets variabls and clears the arenas in the fighter
// 'gauntlet' subplot in chapter one
///////////////////////////////////////////////////////////////////////

void ClearArena(object oPC,string sArena)
{
    if(
sArena == "Map_M1S4C")
    {
        
DestroyObject(GetObjectByTag("M1S04CHRUSK02"));
        
DestroyObject(GetObjectByTag("M1S4CBeast"));
        
SetLocalInt(GetObjectByTag(sArena),"NW_A_M1S4HruskDef",0);
    }
    else if(
sArena == "Map_M1S4D")
    {
        
DestroyObject(GetObjectByTag("M1S04CFASHI02"));
        
DestroyObject(GetObjectByTag("M1S4DBeast"));
        
SetLocalInt(GetObjectByTag(sArena),"NW_A_M1S4FashiDef",0);
        
CreateItemOnObject("M1S04IBADGELVL01",oPC);
    }
    else if(
sArena == "Map_M1S4E")
    {
        
DestroyObject(GetObjectByTag("M1S04CAGAR02"));
        
DestroyObject(GetObjectByTag("M1S4EBeast"));
        
SetLocalInt(GetObjectByTag(sArena),"NW_A_M1S4AgarDef",0);
        
CreateItemOnObject("M1S04IBADGELVL02",oPC);
    }
    else if(
sArena == "Map_M1S4F")
    {
        
DestroyObject(GetObjectByTag("M1S04CCLAUDUS02"));
        
DestroyObject(GetObjectByTag("M1S4FBeast",0));
        
DestroyObject(GetObjectByTag("M1S4FBeast",1));
        
SetLocalInt(GetObjectByTag(sArena),"NW_A_M1S4ClaudusDef",0);
        
CreateItemOnObject("M1S04IBADGELVL03",oPC);
    }
    
SetLocalInt(oPC,"NW_L_M1S4Won",FALSE);
    
SetLocalInt(GetModule(),"NW_G_" sArena "_Occupied",FALSE);
}

//////////////////////////////////////////////////////////////////////////////


void main()
{
    
object oRespawner GetLastRespawnButtonPresser();
    
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);
    
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner);
    
RemoveEffects(oRespawner);
    
// GetLocalLocation "n'a pas de valeur de retour par defaut" (lexicon)
    // (je me demande ce que cela veut dire), donc on utilise une autre variable si le PJ
    // est lie a une pierre.
    
if(GetLocalInt(oRespawner"LINKED"))
        
AssignCommand(oRespawnerJumpToLocation(GetLocalLocation(OBJECT_SELF"RESP_LOC")));
    else
        
AssignCommand(oRespawnerJumpToObject(GetWaypointByTag("WP_neant")));

Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
Désolé d'insister, je le remonte, si Pom-pom passe par là ou quelqu'un d'autre, je suis embeté, la mort n'entraine plus aucune pénalité d'or ni d'xp.
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
C'est normal tu ne fait plus ApplyPenality() sur le PC, remets cette fonction avant :
Code PHP:
    // GetLocalLocation "n'a pas de valeur de retour par defaut" (lexicon)
    // (je me demande ce que cela veut dire), donc on utilise une autre variable si le PJ
    // est lie a une pierre.
    
if(GetLocalInt(oRespawner"LINKED"))
        
AssignCommand(oRespawnerJumpToLocation(GetLocalLocation(OBJECT_SELF"RESP_LOC")));
    else
        
AssignCommand(oRespawnerJumpToObject(GetWaypointByTag("WP_neant")));

Tu rajoute juste cette fonction juste avant :
Code PHP:
ApplyPenalty(oRespawner); 
Par ailleurs je pense que tu devrais faire quelques tuts de façon à pouvoir corriger toi même les tout petits truc comme ça.
Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
Ouai, je sais, désolé Jedaï

Merci encore.
Lien direct vers le message - Vieux
Sulzard
Dauphin
 
Bonjour,

J'ai mis les 2 scripts, lors de la mort sans avoir cliqué sur une pierre, je me retrouve au waypoint par defaut par contre aprés avoir cliqué sur l'une des pierres je respawn sur place ... qq1 saurait il pourquoi please ?

Je ne vois pas du tout où j'ai fais une erreur ... il faut placer des waypoint partout ou pas ?
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > BIND, le PJ réapparaît près du relais qu'il a choisis.
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 05h17.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite