no consigo hacer desaparecer y aparecer un objeto
Hola a todos haber si podeis ayudarme, necesito que un objeto, por ejemplo una piedra desaparecca cuando es por el dia y que aparecca de nuevo cuando es por la noche. consigo que cuando se haga de dia desaparecca pero no que vuelva a aparecer cuando es denoche. lo he intentado con effectdesapear y effectapear, con effectdesapearApear incluso e intentado que simplemente se valla a otro sitio pero no da resultado. si alguien me pudiese ayudar estaria agradecido
Activos en NWN
Los más activos en Scripting
Subforos
Neverwinter Nights
Debes espeficificar si dicho objeto es una criatura, un ubicado o un objeto de inventario.
Presupongo que es un objeto de inventario, un ítem, como la piedra esa del destino de la campaña del NwN. Lo que debes hacer es que, if(!(GetIsDay == TRUE)); haga un DestroyObject(el objeto ke desees); en el inventario del PJ, y que cuando if(!(GetIsDay == FALSE)); pues CreateObject(el objeto ke desees);
Esta es la idea. Ahora depende de ti sacarla. Te recomiendo que veas como funcionan las funciones de Create y Destroy, que aunque sencillas, al principio son complicaillas de entender.
Venga, un saludo y suerte con el código.
Gracis por la informacion pero lo que quiro que desaparecca es una piedra que hay en el mapa imagino que es a lo que tu te refieres con un ubicado
es una piedra utilizable que quiero usar como puerta de transito poero que solo este por la noche.
para que el que quiera entrar al lugar que lleva tenga que ir solo por la noche.
.
Estoy haciendo un modulo de la tierra media, y seria la puerta de moria
que solo se ve con el reflejo de la luna
si puedes ayudarme con eso?
gracias de todos modos.
Bien… yo recomendaría que, en vez de “borrar” la piedra, el ubicado, del mapa, lo mejor sería que, mediante script hagas que abra la puerta de Moria por la noche, y por el día no pase nada.
El esquema del código sería:
[code:1:201099495c]//Definición de la puerta
object oPuerta = GetObjectByTag("Tag puerta");
//Definición del jugador
object oPJ = GetLastUsedBy();
//Condicional
if(GetIsNight() == 1)
La piedra hace su función
else
AssignCommand(oPJ, ClearAllActions());[/code:1:201099495c]
Con esto que te digo, si lo trabajas, te sale el script que buscas
curioso, lo provare, es una manera de que solo tenga efecto por la noche
Pero no me digas que si desapareciese del todo no seria aun mas curioso.
ya que consigo que se desvanecca no entiendo pq la misma funcion pero con la orden contraria no hace que aparecca de nuevo.
esto es ya solo por orgullo, pero que hasta que lo resuelva usare tu consejo, muchas gracias.
Nada hombre, aquí estamos para ayudaros
Evidentemente, podría intentar buscar la opción de desvanecimiento, pero eso requiere unos conocimientos mayores de scripting que, aunque yo quizás fuese capaz de sacarlo, a ti te costaría más, y como nuestro fin es el de enseñaros a aprender a scriptear, creo que esta es la mejor opción.
Cuanto más scripteéis, más conocimientos iréis tomando y, por tanto, al final, serás capaz de hacer lo que quieres, y mucho más.
¡Suerte!