Gerjo

21/11/2005 18:49:04

1º He creado un fantasma he introducido el scrip para que se haga invisible cada cierto tiempo y los efectos que son los de semblante fantasmal etc...
pues bueno lo que me ha ocurrido es que todos los pnjs del modulo se hacen invisibles 8O . Probe eliminando los pnjs infectados y los sustitui por otros pero nada que se hacen invisibles.
Estara el modulo contaminado? :P llamo a los cazafantasmas? :lol:
Este es el scrip que utilizo:

coloco en onspawn.-

void main()
{
// Creamos los efectos visuales.
effect eVis1 = EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE); // Aura azulada, ponerlo como efecto PERMANENTE.
effect eVis2 = EffectVisualEffect(VFX_DUR_GHOSTLY_PULSE); // Intermitencia, ponerlo como efecto PERMANENTE.

// Creamos el efecto tecnico.
effect eInmaterial = EffectCutsceneGhost(); // Inmaterialidad.

// Aplicamos los efectos visuales al objeto.
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis1, OBJECT_SELF); // Nos aseguramos de que sea PERMANENTE.
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis2, OBJECT_SELF); // Nos aseguramos de que sea PERMANENTE.

// Aplicamos el efecto tecnico al objeto.
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInmaterial, OBJECT_SELF);
}


coloco en onheartbeat.-

void main()
{
if (IsInConversation(OBJECT_SELF) == FALSE){
ClearAllActions();
// Instalamos el efecto para el fantasma (OnSpawn no trabaja).
// Cambio "X" a continuacion por el nombre de etiqueta que pongas
// a tu fantasma:
if (GetTag(OBJECT_SELF) == "Casper" || GetTag(OBJECT_SELF) == "" ){
if (GetLocalInt(OBJECT_SELF, "EFECTOAPLICADO") == 0){
effect eVis1 = EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE); // Aura azulada, ponerlo como efecto PERMANENTE.
effect eVis2 = EffectVisualEffect(VFX_DUR_GHOSTLY_PULSE); // Intermitencia, ponerlo como efecto PERMANENTE.

ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis1, OBJECT_SELF); // Nos aseguramos de que sea PERMANENTE.
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis2, OBJECT_SELF); // Nos aseguramos de que sea PERMANENTE.
SetLocalInt(OBJECT_SELF, "EFECTOAPLICADO", 1);
}

else{
int nRandom = Random(15) + 1;
switch (nRandom){
case 1: case 2: case 3: ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 6.0); break;
case 4: case 5: case 6: ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_RIGHT, 1.0, 6.0); break;
case 7: case 8: ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD, 1.0, 6.0); break;
case 9: case 10: ActionPlayAnimation(ANIMATION_LOOPING_LISTEN, 1.0, 6.0); break;
case 11: case 12: ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 1.0, 6.0); break;
}
}
}
/*
Marcar uno y desmarcar el otro, a elegir:
*/
ActionRandomWalk(); // Se desplazara aleatoriamente.
// WalkWayPoints(); // Seguira sus puntos de ruta, si los tiene.
}



2º Alguien me puede decir como se puede poner efectos especiales, como por ejemplo, los rayos que salen cuando entramos en el server?, no tiene por que ser rayos......

Gracias y un saludo

Maya

21/11/2005 21:48:01

coge y duplica con otro nombre el script de on respawn

las criaturas por defecto llevan el mismo si lo modificas sin duplicarlo.... se lo modificas a todos
consejo usa el escript de las versiones anteriorers mm default _9 creo que era, y asi no creas nuevos scripts.

PSD: en el ultimo script del cep de comportamientos en onrespawn encontraras cosas interesantes bloqueadas como locaclizaciones segun hora del dia y acciones de comportamiento de miedo o de ataque desmedido contra PJs o PNJs son interesantes pero sobrecargan de alg unservidor si lo activas en todos los PNJs.

Lili

25/11/2005 12:16:52

Has editado y guardado con el mismo nombre que tenían dos guiones default del juego al que recurren la inmensa mayoría de las criaturas de paleta. Abre esos scripts, guárdalos con otro nomnre y despues elimina los default modificados (nw_c2_default1 y nw_c2_default9). Colócale sólo al fantasma los scripts renombrados y ya estará solucionado todo.

Gerjo

25/11/2005 13:54:50

Gracias por la aclaracion :lol:

Un saludo