JeuxOnLineForumsPlusConnectés : 774 (sites) | 1464 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Répondre
Partager Outils Rechercher
Avatar de Archamedes_Fr
Archamedes_Fr
Alpha & Oméga
 
Avatar de Archamedes_Fr
 
Postes ton script en entier. Le bout de code que tu as posté et BON. Toutes les déclarations sont faites. Si une erreur persiste, elle ne vient pas de ce bout de code.
Lien direct vers le message - Vieux
Avatar de Skanzo Sylan
Skanzo Sylan
Empereur
 
Avatar de Skanzo Sylan
 
Je pense aussi comme Archa, ce bout de script compile donc tout est bon.

Il faudrait que tu nous indique à quelle ligne se trouve l'erreur
Lien direct vers le message - Vieux
angeduciel
Roi
 
AAAA non c bon ca marche en fete ^^ ! dsl et grand merci a vous tous !
Lien direct vers le message - Vieux
angeduciel
Roi
 
dsl vous deranger (encore) alors maintenant je veut le meme script mais l'objet apparait meme si le joueur ne la pas sur lui ^^
Lien direct vers le message - Vieux
Avatar de Ange Musicien
JOL Ange Musicien
Alpha & Oméga
 
Avatar de Ange Musicien
 
ralala...
Code PHP:
location lLoc GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_ITEM"clef03"lLoc); 
c'est plus rapide...
Lien direct vers le message - Vieux
angeduciel
Roi
 
hum
hum ...

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()
{
    
location lLoc GetLocation(OBJECT_SELF);
    
CreateObject(OBJECT_TYPE_ITEM"clef03"lLoc);
    
string sObject GetResRef(oObject);
    
CreateObject(OBJECT_TYPE_ITEMsObjectlLoc);
    
DestroyObject(oObject);

    
object oRespawner GetLastRespawnButtonPresser();
    
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);
    
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner);
    
RemoveEffects(oRespawner);
    
//* Return PC to temple



    
string sDestTag =  "NW_DEATH_TEMPLE";
    
string sArea GetTag(GetArea(oRespawner));
    
/*
      CHAPTER 1 SPECIAL CASE
    */
    
if (sArea == "MAP_M1S3B")
    {
        
sDestTag "M1_WIZSPAWN";
    }
    else
    if (
sArea == "Map_M1S4E" || sArea == "Map_M1S4C" || sArea == "Map_M1S4D" || sArea == "Map_M1S4F")
    {
        
sDestTag "M1_FIGSPAWN";
        
ClearArena(oRespawner,sArea);
    }
    else
    
/*
      CHAPTER 2 SPECIAL CASE
    */
/*
    if (sArea == "MAP_M2Q2F2" && GetDistanceBetweenLocations(GetLocation(GetObjectByTag("M2Q2F2_M2Q2G")), GetLocation(oRespawner)) < 5.0 && GetLocalInt(GetModule(),"NW_M2Q2E_WoodsFreed") == 0)
    {

      sDestTag = "WP_M2Q2GtoM2Q2F";
    }
    else
*/
    // * Druid Match
    
if (sArea == "MAP_M2Q2E2")
    {
      
sDestTag "WP_M2Q2E_ENDDCC";
      
DestroyObject(GetObjectByTag("M2Q2EWELCARFT"));
      
DestroyObject(GetObjectByTag("M2Q2EHENNAFT"));
      
DestroyObject(GetObjectByTag("M2Q2EJANKENFT"));
      
DestroyObject(GetObjectByTag("M2Q2EELGARFT"));
      
// * June 2002: Destroy pets as well
      
DestroyObject(GetObjectByTag("M2Q2EWELCARFTPET"));
        
DestroyObject(GetObjectByTag("M2Q2EHENNAFTPET"));
        
DestroyObject(GetObjectByTag("M2Q2EJANKENFTPET"));
        
DestroyObject(GetObjectByTag("M2Q2EELGARFTPET"));


      
SetLocalInt(GetObjectByTag("M2Q2EJAER"),"NW_M2Q2E_LFIGHT",FALSE);
    }
    
/*
       CHAPTER 3 SPECIAL CASE
    */
    
else
    
// * time travel dungeon past - Dungeon
    
if (sArea == "M3Q2G")
    {
        
sDestTag "WP_ALTERNATE_SPWN";
    }
    
// * time travel dungeon past - Grove
    
else
    if (
sArea == "M3Q2I")
    {
        
sDestTag "WP_ALTERNATE_SPWN";
    }
    if (
GetIsObjectValid(GetObjectByTag(sDestTag)))
    {

        if (
sDestTag == "NW_DEATH_TEMPLE")
        {
            
object oPriest GetObjectByTag("NW_DEATH_CLERIC");
            
//SetLocalInt(oPriest, "NW_L_SAYONELINER", 10);

            //AssignCommand(oPriest, DelayCommand(3.0,ActionStartConversation(oRespawner)));
            
AssignCommand(oPriestDelayCommand(2.1PlayVoiceChat(VOICE_CHAT_TALKTOMEoPriest)));

            
SetLocalLocation(oRespawner"NW_L_I_DIED_HERE"GetLocation(GetLastRespawnButtonPresser()));
            
SetLocalInt(oRespawner"NW_L_I_DIED"1);
            
SetLocalObject(oPriest"NW_L_LASTDIED"GetLastRespawnButtonPresser());
            
// * April 2002: Moved penalty here, only when going back to the death temple
            
ApplyPenalty(oRespawner);
        }
        
object oSpawnPoint GetObjectByTag(sDestTag);
        
AssignCommand(oRespawner,JumpToLocation(GetLocation(oSpawnPoint)));
        
// * mak
    
}
    else
    {
        
// * do nothing, just 'res where you are.
    
}
 } 


et meme erreur ligne 86 :

nw_o0_respawn.nss(86): ERREUR : PARSING VARIABLE LIST
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Forcément, tu ne définis pas oObject, tu mélanges tous les scripts !!
Lien direct vers le message - Vieux
angeduciel
Roi
 
heu je remplace oobject par quoi je c que je suis super chiant mais svp ^^
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
mais, tu veux faire quoi à la fin ? parce que, g pas suivi, et le script que tu balance est qd même un peu indigeste, pis c un peu complètement impossible de retrouver l'idée de départ.

Citation:
dsl vous deranger (encore) alors maintenant je veut le meme script mais l'objet apparait meme si le joueur ne la pas sur lui ^^
qd il meurt, un objet est créé là où il est mort ?

réponse de ange musicien :

Citation:
ralala...

Code PHP:
location lLoc GetLocation(OBJECT_SELF);
CreateObject(OBJECT_TYPE_ITEM"clef03"lLoc); 
c'est plus rapide...
donc, ce code est bon, et ENTIER, donc pas besoin de rajouter quyoique ce soit, il créé un objet dont le RESREF (pas le tag ) est clef03 la ou se trouve OBJECT_SELF, par contre si tu veu que ce soit à l'endoit où se trouve la dernière personne à avoir préssé sur respawn (c là que ce déclenche ton script) il faut faire :

Code PHP:

void main
()
{
    
object oRespawner GetLastRespawnButtonPresser();


    
location lLoc GetLocation(oRespawner  );
    
CreateObject(OBJECT_TYPE_ITEM"clef03"lLoc);


    
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);
    
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oRespawner)), oRespawner);
    
RemoveEffects(oRespawner);
    
//* Return PC to temple


//suite du code 
donc je t pas tt remis, mais l'idée c'est ca, tu remplace dans ton code la partie qui commence à void main() et fini la ou fini le code donné . . . pis essai de faire les tutoriaux, ca t'aideras à comprendre en gros les script et à les modifier/mélanger

bon, g aps regardé tt le script et connais pas cet event, mais je pense que c ca

(et soit clair !! n'hésite pas à te répéter de plusieurs facon, parce qu'il y a souvent beaucoup plus de facon de résoudre sn problème qu'on ne l'imagine )
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > script mort
   

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 23h31.
   

© 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