Mort d'un PNJ, probléme de respawn

Répondre
Partager Rechercher
Bon voila j'attaque tout de suite le sujet,
J'aimerai tout simplement que lorsque le PNJ meurt il respawn a un endroit précis, bien sur a chaque fois qu'il meurt!
J'ai tester un script de ma création...script lamentable comme vous le remarquerai plus bas puisqu'il ne se compile méme pas...
Code PHP:

 void main()
{
object oSoldat=GetObjectByTag("soldat");
object oWP=GetWaypointByTag("wp_respawn");
location lWP=GetLocation(oWP);
CreateObject(OBJECT_TYPE_ALL,oSoldat,lWP);

Bon voila l'erreur paraitera logique pour vous mais moi je comprend pas vraiment comment faire
Merci d'avance
Miyu
Ca vient d'un module de Bioware (celui qui oppose des gobs à des kobolds), j'ai rien inventé, juste tripatouillé ^^.

Bon alors:

Dans le OnSpawn du PNJ (j'ai mis tout le script mais en fait, c'est juste quelques lignes à décommenter. N'oublies pas de sauvegarder le script sous un autre nom que celui de base):

Code PHP:

//::///////////////////////////////////////////////
//:: Default: On Spawn In
//:: NW_C2_DEFAULT9
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    Determines the course of action to be taken
    after having just been spawned in
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 25, 2001
//:://////////////////////////////////////////////
#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"

void main()
{
// OPTIONAL BEHAVIORS (Comment In or Out to Activate ) ****************************************************************************
     //SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);
     //SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);
                // This causes the creature to say a special greeting in their conversation file
                // upon Perceiving the player. Attach the [NW_D2_GenCheck.nss] script to the desired
                // greeting in order to designate it. As the creature is actually saying this to
                // himself, don't attach any player responses to the greeting.

     //SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);
                // This will set the listening pattern on the NPC to attack when allies call
     //SetSpawnInCondition(NW_FLAG_STEALTH);
                // If the NPC has stealth and they are a rogue go into stealth mode
     //SetSpawnInCondition(NW_FLAG_SEARCH);
                // If the NPC has Search go into Search Mode
     //SetSpawnInCondition(NW_FLAG_SET_WARNINGS);
                // This will set the NPC to give a warning to non-enemies before attacking

     //SetSpawnInCondition(NW_FLAG_SLEEP);
                //Creatures that spawn in during the night will be asleep.
     //SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);
     //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
     //SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
     //SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
                //This will play Ambient Animations until the NPC sees an enemy or is cleared.
                //NOTE that these animations will play automatically for Encounter Creatures.

    // NOTE: ONLY ONE OF THE FOLOOWING ESCAPE COMMANDS SHOULD EVER BE ACTIVATED AT ANY ONE TIME.
    //SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN);    // OPTIONAL BEHAVIOR (Flee to a way point and return a short time later.)
    //SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE);     // OPTIONAL BEHAVIOR (Flee to a way point and do not return.)
    //SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE);   // OPTIONAL BEHAVIOR (Teleport to safety and do not return.)
    //SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN);  // OPTIONAL BEHAVIOR (Teleport to safety and return a short time later.)

// CUSTOM USER DEFINED EVENTS
/*
    The following settings will allow the user to fire one of the blank user defined events in the NW_D2_DefaultD.  Like the
    On Spawn In script this script is meant to be customized by the end user to allow for unique behaviors.  The user defined
    events user 1000 - 1010
*/
    //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT);        //OPTIONAL BEHAVIOR - Fire User Defined Event 1001
    //SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT);         //OPTIONAL BEHAVIOR - Fire User Defined Event 1002
    //SetSpawnInCondition(NW_FLAG_ATTACK_EVENT);           //OPTIONAL BEHAVIOR - Fire User Defined Event 1005
    //SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT);          //OPTIONAL BEHAVIOR - Fire User Defined Event 1006
    //SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT);        //OPTIONAL BEHAVIOR - Fire User Defined Event 1008
    //SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); //OPTIONAL BEHAVIOR - Fire User Defined Event 1003
    //SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT);      //OPTIONAL BEHAVIOR - Fire User Defined Event 1004
    
SetSpawnInCondition(NW_FLAG_DEATH_EVENT);            //OPTIONAL BEHAVIOR - Fire User Defined Event 1007

// DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) *****************************************************************************************
    
SetListeningPatterns();    // Goes through and sets up which shouts the NPC will listen to.
    
WalkWayPoints();           // Optional Parameter: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
                               // 1. Looks to see if any Way Points in the module have the tag "WP_" + NPC TAG + "_0X", if so walk them
                               // 2. If the tag of the Way Point is "POST_" + NPC TAG the creature will return this way point after
                               //    combat.
    
GenerateNPCTreasure();     //* Use this to create a small amount of treasure on the creature



dans le OnUserDefined du PNJ:

Code PHP:

//::///////////////////////////////////////////////
//:: Goblin User-Defined
//:: UD_Goblin.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    Spawns in a random goblin at the goblin spawn
    point.
*/
//:://////////////////////////////////////////////
//:: Created By: Rob Bartel
//:: Created On: September 26, 2002
//:://////////////////////////////////////////////

void main()
{
    
int iUD GetUserDefinedEventNumber();
//Ici tu mets le Tag du waypoint ou le perso doit apparaitre
    
object oGoblinSpawn GetNearestObjectByTag("SPAWN_MILOHANAI");
    
location lSpawn GetLocation(oGoblinSpawn);

    if (
iUD == 1007)
    {
 
//Le createObject se sert du resref de la creature a creer
        
CreateObject(OBJECT_TYPE_CREATURE"soldatduducde003"lSpawn);
    }



Si tu veux qu'après avoir respawn, le personnage aille jusqu'à un autre endroit, crées un waypoint dont le tag est POST_TAG-DU-PNJ.

Si j'ai rien oublié, ça doit fonctionner.
Pour la prochaine fois, Miyu, precises aussi l'erreur, ca aide ^^

Ton probleme, c'est que tu veux macher le travail au CreateObject en lui passant un objet... il faut pas lui passer un objet mais un resref (tu le trouveras dans les propriétés avancées de la creature dans la palette). Et ton type d'objet est OBJECT_TYPE_CREATURE

Code PHP:

CreateObject(OBJECT_TYPE_CREATURE,"le resref de ta créature",lWP); 

Citation :
Provient du message de Fanley
Pour la prochaine fois, Miyu, precises aussi l'erreur, ca aide ^^

Ton probleme, c'est que tu veux macher le travail au CreateObject en lui passant un objet... il faut pas lui passer un objet mais un resref (tu le trouveras dans les propriétés avancées de la creature dans la palette). Et ton type d'objet est OBJECT_TYPE_CREATURE

Code PHP:

CreateObject(OBJECT_TYPE_CREATURE,"le resref de ta créature",lWP); 

Si tu lis le 2eme script, je lui ai précisé dans la première annotation .
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés