JeuxOnLineForumsPlusConnectés : 871 (sites) | 1513 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > creation de placeable RSS
   
Répondre
Partager Outils Rechercher
Avatar de daemogorgon
daemogorgon
Roi
 
Avatar de daemogorgon
 

creation de placeable

Est il possible de créer des placeables dans une zone où on n'est pas ?
Je m'explique : un PJ est devant une porte, il l'ouvre, et utilise le OnAreaTransitionClick pour aller dans la zone qui est liée à la porte. Dans le OnAreaTransitionClick, j'aimerais pouvoir créer via un script des placeables dans la zone liée (mais qui n'est pas encore affichée).
Lien direct vers le message - Vieux
Zyzko
Roi
 
Essai de mettre un script de ce genre :

Code PHP:
void main()
{
location lSource GetLocation(GetObjectByTag("waypoint tag 1"));
CreateObject(OBJECT_TYPE_PLACEABLE,"resref plaçable 1",lSource);

Lien direct vers le message - Vieux
Avatar de daemogorgon
daemogorgon
Roi
 
Avatar de daemogorgon
 
C'est ce que j'avais fait, mais ça marchait pas car j'avais en fait un problème de tag. Merci quand même.
Lien direct vers le message - Vieux
Avatar de daemogorgon
daemogorgon
Roi
 
Avatar de daemogorgon
 
Quelqu'un peut me dire pourquoi le placeable n'apparait pas dans l'orientation que je lui donne avec la variable orient ? Je pense que ça vient du assigncommand, mais je vois pas comment faire passer le SetFacing (le script est dans le OnAreaTransitionClick de la porte).

Code PHP:
  for (ncpt 1ncpt 5ncpt++)
  {
    
// FALSE si le contenant existe et est a creer
    
if (GetLocalArrayInt(oZAppsMai "_existe"ncpt) == FALSE)
    {
      
template "contenant0" IntToString(ncpt);
      
loc GetLocation(GetWaypointByTag("LC_" sNum "0" IntToString(ncpt)));

      
CreateObject(OBJECT_TYPE_PLACEABLEtemplateloc);
      
orient IntToFloat(GetLocalArrayInt(oZAppsMai "_orient"ncpt));
      
AssignCommand(GetObjectByTag(template), SetFacing(orient));

    }
  } 
(Le Tag et le ResRef sont de la mêmes forme).
Lien direct vers le message - Vieux
Avatar de Skanzo Sylan
Skanzo Sylan
Empereur
 
Avatar de Skanzo Sylan
 
Essaie voir ça:
Code PHP:
for (ncpt 1ncpt 5ncpt++)
  {
    
// FALSE si le contenant existe et est a creer
    
if (GetLocalArrayInt(oZAppsMai "_existe"ncpt) == FALSE)
    {
      
template "contenant0" IntToString(ncpt);
      
loc GetLocation(GetWaypointByTag("LC_" sNum "0" IntToString(ncpt)));

      
object oPlaceable CreateObject(OBJECT_TYPE_PLACEABLEtemplateloc);
      
orient IntToFloat(GetLocalArrayInt(oZAppsMai "_orient"ncpt));
      
AssignCommand(oPlaceableSetFacing(orient));

    }
  } 


Sinon ya toujours le SpawnScriptDeb... ok ok j'arrête les bétises
Lien direct vers le message - Vieux
Avatar de daemogorgon
daemogorgon
Roi
 
Avatar de daemogorgon
 
Non pas, marche toujours pas .....

J'ai testé les variables, elles sont bonnes, là, je vois plus .
Lien direct vers le message - Vieux
Avatar de daemogorgon
daemogorgon
Roi
 
Avatar de daemogorgon
 
Ca y est, j'ai trouvé pour l'orientation, il faut utiliser la fonction Location.

Code PHP:
for (ncpt 1ncpt 5ncpt++)
  {
    
// FALSE si le contenant existe et est a creer
    
if (GetLocalArrayInt(oZAppsMai "_existe"ncpt) == FALSE)
    {
      
vPos     GetPosition(GetWaypointByTag("LC_" sNum "0" IntToString(ncpt)));
      
orient   IntToFloat(GetLocalArrayInt(oZAppsMai "_orient"ncpt));
      
loc      Location(oZonevPosorient);
      
template "contenant0" IntToString(ncpt);

      
oPlaceable CreateObject(OBJECT_TYPE_PLACEABLEtemplateloc);

    }
  } 
Par contre, j'ai un autre problème sur le OnOpen du Contenant.

Quand je compile le script suivant :
Code PHP:
#include "nw_o0_itemmaker"
#include "NW_O2_CONINCLUDE"
void main()
{
  
object oPJ   GetLastOpener();
  
object oZApp GetLocalObject(oPJ"ZInitiale");

  
string sNum GetStringRight(GetTag(OBJECT_SELF), 2);
  
string sMai "Mai" sNum;
  
int    nNum StringToInt(sNum);

  
int nType GetLocalArrayInt(oZAppsMai "_type"nNum);

  if (
nType == 0) return;
  else
  {
    
GenerateTreasure(nTypeoPJOBJECT_SELF);
    
SetLocalArrayInt(oZAppsMai "_type"nNum0);
  }

j'ai le message d'erreur suivant :

NW_O2_CONINCLUDE.nss(111): ERREUR : DUPLICATE FUNCTION IMPLEMENTATION

Une petite idée ?
Lien direct vers le message - Vieux
Avatar de Prince Nexus
Prince Nexus
Dauphin
 
Avatar de Prince Nexus
 
Mouarf, c est normal si ton premier include comporte deja le second (en clair, si dans l itemmaker il ya deja le coninclude, ou inversement)
La solution la moins elegante serait de sauvegerder coninclude sous un autre nom et l appeler dans la fonction par le nouveau.
Prince Nexus.
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > creation de placeable
   

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 20h53.
   

© 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