Blogia
Rol

Los guardias...

Publicado: Vie Jul 16, 2004 2:12 am Asunto: Los guardias...

--------------------------------------------------------------------------------

Reox he hecho un copy past de tus guardias de redmoon a los de mi secta....he modificado los puntos de ruta y tal...pero no se por que...no hacen lo que les dices.....sgur que me falta algo..eso de fijo..aver si sabes que puede ser...

ON CONVERSATION

void main(){
string id1 = GetMatchedSubstring(0);
string id2 = GetStringLowerCase(id1);
string nombre = GetName(OBJECT_SELF);
string nombre2 = GetStringLowerCase(nombre);
string orden1 = "vigilad";
string orden2 = "apartaos";
string respuesta0 = "A sus ordenes!!!";
string respuesta1 = "Id tranquilo, nosotros guardaremos la torre.";
string respuesta2 = "Bienvenido a Redmoon.";
int marcador = GetListenPatternNumber();
object jugador = GetLastSpeaker();
location locunoc=GetLocation(GetWaypointByTag("puertaizquierdaRedmoon1"));
location locuno=GetLocation(GetWaypointByTag("puertaizquierdaRedmoon12"));
location locdos=GetLocation(GetWaypointByTag("puertaizquierdaRedmoon2"));

//guardias
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == nombre2){
DelayCommand(1.5, SpeakString(respuesta0));
ActionMoveToObject(jugador);
}
//vigilad
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == orden1){
ActionMoveToLocation(locuno);
ActionMoveToLocation(locunoc);
DelayCommand(1.5, SpeakString(respuesta1));
}
//apartaos
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == orden2){
ActionMoveToLocation(locdos);
DelayCommand(1.5, SpeakString(respuesta2));
}

}//main

--------------------------------------

ON SPAWN

void main(){
SetListening(OBJECT_SELF, TRUE);
SetListenPattern(OBJECT_SELF, "**", 101);
}

PD: Adorar y el lamento ya funcionan...
_________________

------------------------------

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Vie Jul 16, 2004 9:39 am Asunto:

--------------------------------------------------------------------------------

Tres pasos de testeo:

1º- Di su nombre (lo que les flota encima del coco), en la demostración que te hice los guardias no venian a mi por decir "Guardias" sino por que estaba diciendo su nombre (por eso los llame guardias).

2º- Configura los puntos de ruta de la siguiente manera:

location locunoc=GetLocation(GetWaypointByTag("puertaizquierdaRedmoon1"));
location locuno=GetLocation(GetWaypointByTag("puertaizquierdaRedmoon12"));
location locdos=GetLocation(GetWaypointByTag("puertaizquierdaRedmoon2"));

puertaizquierdaRedmoon1 ---> punto de ruta situado delante de la puerta
puertaizquierdaRedmoon12 ---> punto de ruta situado un poco retrasado del anterior cuya finalidad es que los guardias se queden de espaldas a la puerta.
puertaizquierdaRedmoon2 ---> punto de ruta situado a los lados de la puerta que es a donde van cuando se apartan

OJO: Los puntos de ruta del guardia de la derecha no son los mismos que los de la izquierda porque tiene que ir en otra dirección evidentemente.
**********
Ahora te voy a enseñar a modificar el codigo para que obezcan otro tipo de ordenes:
partimos de este trozo
Código:
//apartaos
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == orden2){
ActionMoveToLocation(locdos);
DelayCommand(1.5, SpeakString(respuesta2));
}

cambiamos las variables y el comentario (la palabra con //)
Código:
//sacrificate
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == orden3){
ActionMoveToLocation(loctres);
DelayCommand(1.5, SpeakString(respuesta3));
}

es decir que solo modificamos:
Código:
orden2 ---> orden3
locdos ---> loctres
respuesta2 ---> respuesta3
Ahora añadimos las variables al codigo
Código:
string orden3 = "sacrificate"
string respuesta3 = "Si, amo"
string loctres = "puntodesacrificio"

Con lo que el codigo se nos queda asi:

Código:
void main(){
string orden3 = "sacrificate"
string respuesta3 = "Si, amo"
string loctres = "puntodesacrificio"
string id1 = GetMatchedSubstring(0);
string id2 = GetStringLowerCase(id1);
string nombre = GetName(OBJECT_SELF);
string nombre2 = GetStringLowerCase(nombre);
string orden1 = "vigilad";
string orden2 = "apartaos";
string respuesta0 = "A sus ordenes!!!";
string respuesta1 = "Id tranquilo, nosotros guardaremos la torre.";
string respuesta2 = "Bienvenido a Redmoon.";
int marcador = GetListenPatternNumber();
object jugador = GetLastSpeaker();
location locunoc=GetLocation(GetWaypointByTag("puertaizquierdaRedmoon1"));
location locuno=GetLocation(GetWaypointByTag("puertaizquierdaRedmoon12"));
location locdos=GetLocation(GetWaypointByTag("puertaizquierdaRedmoon2"));

//guardias
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == nombre2){
DelayCommand(1.5, SpeakString(respuesta0));
ActionMoveToObject(jugador);
}
//vigilad
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == orden1){
ActionMoveToLocation(locuno);
ActionMoveToLocation(locunoc);
DelayCommand(1.5, SpeakString(respuesta1));
}
//apartaos
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == orden2){
ActionMoveToLocation(locdos);
DelayCommand(1.5, SpeakString(respuesta2));
}
//sacrificate
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == orden3){
ActionMoveToLocation(loctres);
DelayCommand(1.5, SpeakString(respuesta3));
}

}//main

Si ademas lo que queremos es que venga y se arrodille como una puta hacemos lo siguiente:
Código:
string orden4 = "adorame"
string respuesta4 = "Si, amo"
//adorame
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == orden4){
ActionMoveToObject(jugador);
DelayCommand(1.5, SpeakString(respuesta4));
int i = 0;
int n = 500;

while (i < n){
AssignCommand(OBJECT_SELF, ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP, 1.0, 6.0));
i++;
}

}

¿DUDAS?
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Vie Jul 16, 2004 9:47 am Asunto:

--------------------------------------------------------------------------------

Por cierto... me gusta la dinamica que esta tomando esto.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Misi
DM

Registrado: 24 Ene 2004
Mensajes: 2635
Ubicación: Esperando la victoria de mi señor de la muerte, el Dios Baa
Publicado: Vie Jul 16, 2004 10:32 am Asunto:

--------------------------------------------------------------------------------

Cita:
1º- Di su nombre (lo que les flota encima del coco), en la demostración que te hice los guardias no venian a mi por decir "Guardias" sino por que estaba diciendo su nombre (por eso los llame guardias).


Esto es lo que no hice
_________________

------------------------------

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Vie Jul 16, 2004 10:48 am Asunto:

--------------------------------------------------------------------------------

¿Necesitas que te modifique eso?
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Misi
DM

Registrado: 24 Ene 2004
Mensajes: 2635
Ubicación: Esperando la victoria de mi señor de la muerte, el Dios Baa
Publicado: Vie Jul 16, 2004 10:50 am Asunto:

--------------------------------------------------------------------------------

Ummmm nada que soy un negao, me falta algo seguro porque no vale......donde tendria que poner la etiqueta de los guardias en el script? Lo digo porque supongo que sera la linea de activacion de los guardias..... Este es el script completo que llevan los guardias

Cita:
void main(){
string id1 = GetMatchedSubstring(0);
string id2 = GetStringLowerCase(id1);
string nombre = GetName(OBJECT_SELF);
string nombre2 = GetStringLowerCase(nombre);
string orden1 = "Vigilad";
string orden2 = "Apartaos";
string respuesta0 = "A sus ordenes!!!";
string respuesta1 = "Id tranquilo, nosotros guardaremos el templo.";
string respuesta2 = "Bienvenido a la nuestro hogar.";
int marcador = GetListenPatternNumber();
object jugador = GetLastSpeaker();
location locunoc=GetLocation(GetWaypointByTag("puertaizquierdasecta1"));
location locuno=GetLocation(GetWaypointByTag("puertaizquierdasecta12"));
location locdos=GetLocation(GetWaypointByTag("puertaizquierdasecta2"));

//guardias
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == nombre2){
DelayCommand(1.5, SpeakString(respuesta0));
ActionMoveToObject(jugador);
}
//vigilad
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == orden1){
ActionMoveToLocation(locuno);
ActionMoveToLocation(locunoc);
DelayCommand(1.5, SpeakString(respuesta1));
}
//apartaos
if (marcador == 101 && GetIsPC(OBJECT_SELF)==FALSE && id2 == orden2){
ActionMoveToLocation(locdos);
DelayCommand(1.5, SpeakString(respuesta2));
}

}//main


Al final lo conseguiras misi...arf
_________________

------------------------------

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Vie Jul 16, 2004 10:52 am Asunto:

--------------------------------------------------------------------------------

No es la etiqueta, es su nombre. Es como si mi etiqueta fuera "PJ6969" y mi nombre "Reox Harpell". Lo que tienes ke decir para que se active el script es "Reox Harpell" (lo que sale encima de la cabeza cuando me pones el puntero encima)
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Vie Jul 16, 2004 10:56 am Asunto:

--------------------------------------------------------------------------------

Quedaria guay que cuando dijeras "Yo soy Misi" se pusieran a adorarte y suplicarte que los perdonaras por no haberte reconocido, en mi largo post sobre como modificar el script explico como hacerlo. Suerte que tu puedes XDD. Al principio es duro no te desanimes.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Misi
DM

Registrado: 24 Ene 2004
Mensajes: 2635
Ubicación: Esperando la victoria de mi señor de la muerte, el Dios Baa
Publicado: Vie Jul 16, 2004 11:04 am Asunto:

--------------------------------------------------------------------------------

juer ya se que pasaba ¬¬ Que al entrar de Dm y estar invisible..no me percibian xDDD

YA funcionan!!!! xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

Gracias reox Ahora a poner lo mismo para los zombis que se destruyan adoren y to de to!!!! Muhaahuahuahuuah
_________________

------------------------------

Volver arriba


Misi
DM

Registrado: 24 Ene 2004
Mensajes: 2635
Ubicación: Esperando la victoria de mi señor de la muerte, el Dios Baa
Publicado: Vie Jul 16, 2004 11:06 am Asunto:

--------------------------------------------------------------------------------

Vaya......solo me obedecen cuando les digo Guardias......luego le digo que se aparten y no se apartan o_O Reox quieres que te pase el area y miras tu que co~$€€&& he hecho mal?
_________________

------------------------------

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Vie Jul 16, 2004 11:30 am Asunto:

--------------------------------------------------------------------------------

Ok, ¿tienes algun sitio web de donde me pueda descargar el area? sino mandamela a la cuenta de hotmail y rezaremos para que me llegue.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Misi
DM

Registrado: 24 Ene 2004
Mensajes: 2635
Ubicación: Esperando la victoria de mi señor de la muerte, el Dios Baa
Publicado: Vie Jul 16, 2004 11:32 am Asunto:

--------------------------------------------------------------------------------

Te lo mando al correo el area
_________________

------------------------------

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Vie Jul 16, 2004 11:33 am Asunto:

--------------------------------------------------------------------------------

Te la devuelvo corregida esta noche que estoy trabajando.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Sab Jul 17, 2004 12:35 pm Asunto:

--------------------------------------------------------------------------------

Ya tienen 3 funcionalidades basicas acudir a la llamada, apartarse de la puerta y ponerse delante de ella. Ahora habria ke pensar en otras funciones para poder interpretar una escena de un modo convincente, se me okurren las siguientes:

- Que cuando los cliques con el puntero digan "Solo los que tienen fe pasaran de este punto"

- Que cuando digas "Yo soy nombredelpj" te pidan perdon por no haberte reconocido (reverencias) y se aparten de la puerta.

- Las ordenes estaran limitadas por los objetos de cofradia

- Que el lider pueda decir "Arrestad a nombredelpj" y el pj sea transportado a una silla de la que no pueda levantarse sino dice "juro lealtad a Baa", cada vez que intenta levantarse se vuelve a sentar, un pnj dice "jura lealtad a Baa o muere" y entonces el pnj pulsa una palanca y le cae al pj una columna de fuego (vease mi script de la silla de tortura) que le quita un punto de vida.

Con este sistema se podrian crear una serie de pnj´s capaces de interactuar con los jugadores con los que un dm podria realizar guiadas complejas limitandose a colocar los pnj´s, añadir cosas a las areas y transmitiendo las palabras clave a los jugadores para activar los pnj´s por privado. Es mi opinion.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

0 comentarios