Blogia
Rol

Scripts NWN

Sobre los guiones de las criaturas

Publicado: Sab Jul 17, 2004 4:00 pm Asunto: Sobre los guiones de las criaturas

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

Bueno, como me voy a poner con las criaturas me gustaría darles algo más de personalidad. Asíq ue necesito vuestra ayuda "OH! Amos de los scripts!"

Me gustaría que me dijerais para que vale cada guión (aunque creo que los supongo..pero prefiero asegurarme)

OnBlocked
OnCombatRoundEnd
OnConversation
OnDamaged
OnDeath
OnDisturbed
OnHeartbeat
OnPerception
OnPhysicalAttacked
OnRested
OnSpawn
OnSpellCastAt
OnUserDefined

Bueno, despues cada uno de estos tiene una pertañita donde puedo elegir, supongo que será, el guión. Erm... como hay miles de elos... hay algún sitio donde ver que hace cada uno de ellos? O tengo que experimentar? lguno me podeis dar alguna guía, ayuda o sugerencia?

Por ejemplo, para hacer que un enemigo huya de los personajes al grito de "Socorro!!" o "No me mates!". Como haría?

Gracias!
_________________
Díscipulo-) Maestro, caí en el abismo. Las aguas son hondas y oscuras.
Maestro-) Recuerda esto: lo que ahoga a alguien no es la inmersión, sino el hecho de permanecer bajo el agua.

Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1402
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Sab Jul 17, 2004 7:07 pm Asunto: Saludos.

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

Saludos.

Normalmente, salvo los eventos de percepción, no es necesario tocar nada y en caso de usar un guión es el de OnUsedDefined, o sea guión definido para el usuario.

Un ejemplo, un enano que aporree una roca en una mina. Ponemos el enano pnj. A guiones.

Cogemos en guiones.

El archivo OnSpawn es de Inicializar Criatura. El Never para ahorrar recursos, si no hay nadie en esa zona, desinicializa las criaturas para que no gasten recursos y las "inicializa" cuando alguién entra en ese area.

Salvamos ese archivo (nw_c2_default9) con otro nombre, por ejemplo, tx_minero_spawn.

Ahora vamos a "descomentar" (quitar las dos barras // que anulan la línea) la opción de percibir cosas (línea 204 o 243, dependiendo de la versión)

La línea es: SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT);

Y esta precedida por el comentario "Fire User Definend Event 1002"

Ya está. Salvamos.

Creamos una roca de etiqueta tx_roca

Bien, pues en el guión OnUsedDefined borramos el que existe y creamos este.
Código:
Script: tx_atacaroca

#include "NW_IO_GENERIC"

void main()
{
ActionAttack(GetNearestObjectByTag("tx_roca"));
}//fin void main.

Y ya tenemos al minero aporreando la roca, pero sólo cuando se acerca alguién que pueda verle, si el área está vacía, no hace nada ni consume recursos.

En la medida de lo posible no usar el evento OnHeartBeat, ese script se autoejecuta cada 6 segundos de juego eternamente.

Txibi.

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Lun Jul 19, 2004 12:29 am Asunto:

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

Estos tres eventos dan problemas:

OnHeartbeat
OnBlocked
OnRested

No te recomiendo usarlos para nada.

Cita:
Por ejemplo, para hacer que un enemigo huya de los personajes al grito de "Socorro!!" o "No me mates!". Como haría?

Bien, se me ocurren dos formas posibles de conseguir eso.
1) Con el evento OnConversation:
Cada vez que picaras con el puntero en el pnj o intentaras hablar con él se activaria el script.

2) Con el evento OnPerception:
Al entrar en su radio de vision se activaria el script.
_________________
“...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: Lun Jul 19, 2004 12:34 am Asunto:

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

Se me olvido añadir una cosa... es posible añadir scripts en los dialogos con los pnj´s. Si lo que buscas es una interacción basada en el roleo te recomiendo que investigues esta manera de activar los scripts. Ejemplos de esto en Enroth los tienes a patadas, todos los personajes que transportan pj´s a distintas areas o los que dan recompensas tienen este tipo de scripts. Un saludo.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Scripts Basicos.

NOTA: Los ____ al inicio de las líneas de los scripts no son parte y han sido colocados para sangrar únicamente.

Colocaremos una serie de scripts básicos para ver las palabras reservadas y la estructura, pues eso básica...

Empecemos por 3 muy comunes.

Cerrar las puertas al cabo de un rato abierta.
Lo mismo pero además echar la llave.
Sentarse en banco o similar.

Las dos primeras, las de cerrar la puerta, el script creado hay que ponerlo en el evento OnOpen, para que cuando alguien abra la puerta pase lo ahí expuesto.

El del banco debe colocarse en el evento OnUsed, para que se lance cuando alguien cliquee sobre el.

Código:

//script: cierrapuertallav
void main()
{
//Espera 10 segundos, cierra la puerta, echa la llave a la puerta.
DelayCommand(10.0, ActionCloseDoor (OBJECT_SELF));
DelayCommand(10.0, ActionDoCommand (SetLocked (OBJECT_SELF, TRUE)));

}


Código:

//script: cierrapuerta
void main()
{
____DelayCommand(10.0, ActionCloseDoor (OBJECT_SELF));
}


Código:

//script: sillagremio
void main()
{
____ object oJugador = GetLastUsedBy(); //Jugador el ultimo que cliqueo
____ object oSilla = OBJECT_SELF; //Silla sobre la que se ha cliqueado
____ //Si es un objetivo valido y no hay nadie sentado.
____ if (GetIsObjectValid(GetSittingCreature(oSilla)) == FALSE)
____ {
________ AssignCommand(oJugador,ActionSit(oSilla));//Sentarse.
____ }
}


Txibi.

Volver arriba


Staff
DM

Registrado: 09 Jul 2004
Mensajes: 408

Publicado: Mie Jul 14, 2004 9:15 pm Asunto:

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

Ligera modificación

Esto solia hacerlo en mi época de programador para ahorrar código , aunque se complica bastanta y luego no es facil de entender.

Código:


//script: sillagremio
void main()
{
____ //Si es un objetivo valido y no hay nadie sentado.
____ if (GetIsObjectValid(GetSittingCreature(oSilla)) == FALSE)
____ AssignCommand(GetLastUsedBy(),ActionSit(OBJECT_SELF));//Sentarse.
}


Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1402
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Mie Jul 14, 2004 9:21 pm Asunto: Saludos.

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

Saludos.

Esta perfecto, pero en ocasiones la orden "AsignCommand" se bloquea si su usa con "ActionSit" y sospecho que con cualquier acción directa... es un C un poco básico, así que siempre es mejor dejarlo muuuyy separado.

Ya te habrás dado cuenta de que tienes que declarar todas las variables por narices. En cualquier caso son todas variables locales, al finalizar el script se destruyen (creo) con lo cual un script, salvo que se use muchas veces no da lag aunque tenga muchas variables.

Txibi.

Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1402
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Mie Jul 14, 2004 9:24 pm Asunto: Saludos.

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

Saludos.

Las palabras reservadas estan en el aurora a la derecha en guiones, de azul.

Las constantes en mayusculas.

A ver si encuentro algo y posteo.

Txibi.

Volver arriba


Staff
DM

Registrado: 09 Jul 2004
Mensajes: 408

Publicado: Mie Jul 14, 2004 9:37 pm Asunto:

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

En cualquier caso siempre es bueno estructurar, queda mas claro y a las dos semanas puedes entender lo que hicistes

Volver arriba

Script de efectos especiales

Publicado: Jue Jul 15, 2004 4:40 pm Asunto: Script de efectos especiales

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

Cita:
void main()
{
object oPC = GetEnteringObject();
effect eHammer = EffectVisualEffect( VFX_DUR_PROTECTION_ELEMENTS);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eHammer, oPC);
}

Esto esta metido en un desencadenante "On Enter", lo que quiero es ponerselo a un ubicado en" On used" y que cada vez que lo toque haga un efecto deteriminado. ¿Es tan simple como ponerlo en el on used del ubicado? ¿?O que hay que hacer¿

PD: Lamento de la Banshee como es en ingles

PD: Tambien lo necesito pa la secta..
_________________

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

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Jue Jul 15, 2004 4:48 pm Asunto:

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

¿Pero eso lo metes un objeto de los que se llevan en el inventario o es para algun tipo de altar? Describe que es lo quieres exactamente y si hay que añadir más codigo se añade, incluso no es necesario que aportes codigo. Simplemente di que es lo que quieres conseguir, hombre si aportas codigo mejor.
_________________
“...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: Jue Jul 15, 2004 4:53 pm Asunto:

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

Ah se me olvidaba, es para un altar claro, un ubicado...aunque crei que lo he dicho antes....si

Cita:
lo que quiero es ponerselo a un ubicado

_________________

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

Volver arriba


Landtheater
Administrador

Registrado: 25 Ene 2004
Mensajes: 683
Ubicación: *Estudiando y midiendo el ojo de un animal que perdió la vida*
Publicado: Jue Jul 15, 2004 7:19 pm Asunto:

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

Cita:
Lamento de la Banshee como es en ingles

Jurarìa que "Wail of the Banshee"
_________________
Díscipulo-) Maestro, caí en el abismo. Las aguas son hondas y oscuras.
Maestro-) Recuerda esto: lo que ahoga a alguien no es la inmersión, sino el hecho de permanecer bajo el agua.

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Jue Jul 15, 2004 7:53 pm Asunto:

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

Al usar el altar con la etiqueta AltarBaa aparece el efecto de el lamento de banshee. Un saludo.

Evento: On Used

Código:
void main(){

location lLoc=GetLocation(GetObjectByTag("AltarBaa"));
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_WAIL_O_BANSHEES),lLoc);

}

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

Volver arriba


Txibi
Administrador

Registrado: 25 Ene 2004
Mensajes: 1402
Ubicación: Andoain, Gipuzkoa, Euzkadi, España, Europa, Gaia.
Publicado: Jue Jul 15, 2004 9:38 pm Asunto: Saludos.

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

Saludos.

Hay te ha contestado perfectamente Reox.

Con el location se puede ir aún más, como almacenarlo en una gema la variable para crear perfectamente el hechizo teletransporte.

Txibi.

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Jue Jul 15, 2004 10:01 pm Asunto:

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

Txibi se refiere a esto:

Código:
void main(){
//variables
object jugador;
jugador = GetLastUsedBy();
object destino;
location coordenadas;
//valores de las variables de destino y coordenadas
destino = GetWaypointByTag("puntoDeAterrizaje");
coordenadas = GetLocation(destino);
//validacion
if (GetAreaFromLocation(coordenadas)==OBJECT_INVALID) return;
//teletransporte
DelayCommand(1.0, AssignCommand(jugador, ActionJumpToLocation(coordenadas)));
}

Espero que sirva de ayuda para los que empiezan.
_________________
“...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: Jue Jul 15, 2004 11:25 pm Asunto:

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

Cita:
Espero que sirva de ayuda para los que empiezan.

Yo soy un de ellos...y este foro lo visitare cada dia pk siempre he querido algo asi
_________________

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

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Jue Jul 15, 2004 11:40 pm Asunto:

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

Yo considero que lo mejor ke puedes hacer es proponer scripts y una vez hecho el script lo desmontas y se te explika lo que no entiendas. Yo creo que lo mejor que podeis hacer los DM´s es proponer muchos scripts, asi no solo mejoramos enroth sino que publicamos ejemplos de programación en los que basarse para aprender que es muy importante.
_________________
“...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: Jue Jul 15, 2004 11:43 pm Asunto:

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

Reox ese script no furula...lo acabo d eprobar y no hace nada
_________________

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

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Jue Jul 15, 2004 11:58 pm Asunto:

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

El del teletransporte? para que funcione ese script necesitas crear un punto de ruta.
_________________
“...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 12:00 am Asunto:

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

No, el del lamento de la Banshee en el templo de Baa.....
_________________

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

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 12:00 am Asunto:

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

Etiqueta del punto de ruta: puntoDeAterrizaje

Despiste XDD

Nota: este post se refiere al script de teletransporte.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Ultima edición por Reox Harpell el Vie Jul 16, 2004 12:03 am, editado 1 vez

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 12:02 am Asunto:

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

No entiendo que decis xD
_________________

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

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 12:02 am Asunto:

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

El altar lleva la etiqueta AltarBaa, es utilizable y el codigo esta en OnUse?
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

¿Si tio....lo habeis probado vosotros?
_________________

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

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 12:10 am Asunto:

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

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

Scripts, Desencadenantes, Desencadenantes de Rios.

Saludos.

Pues eso, con ejemplos se tira... desencadenantes de acciones.
Por ejemplo que te caigas a un rio.

Código:


/*

Txibi, Domingo 20:49.
Script: tx_cruzamos_rio

Se comprueba los reflejos del que salta al rio... y si falla se le quitan un
5% de su vida.

Desactivado por defecto lo de quitar vida (comentado con //)
Si falla la tirada eso si, se cae al agua.

*/



void main()
{
object oPatoso = GetEnteringObject(); //Vemos quien quiere cruzar el rio.
int iReflejos = GetReflexSavingThrow(oPatoso); //Cogemos su modificador.
int iSalto = d10(); //Mitico dado de 10.
iReflejos = iReflejos + iSalto; //El modificador de reflejos + 1D10.
//string sMensaje = IntToString(iReflejos);
//SendMessageToPC(oPatoso, sMensaje);
if (iReflejos >= 10) //Si saca 10 o mas cruza.
{
SendMessageToPC (oPatoso, "Vas saltando de piedra en piedra.");
}
else //No lo saca, pues al agua.
{
SendMessageToPC (oPatoso, "Caes al agua con un gran estruendo y mojandote todo");
int iVidaActual = GetCurrentHitPoints(oPatoso);
int iGolpeCaida = (iVidaActual / 5);
effect eGolpeCaida = EffectDamage(iGolpeCaida, DAMAGE_TYPE_COLD, DAMAGE_POWER_NORMAL);
AssignCommand(oPatoso, ClearAllActions());
ApplyEffectToObject(DURATION_TYPE_INSTANT ,eGolpeCaida, oPatoso);
AssignCommand (oPatoso ,ActionPlayAnimation (ANIMATION_LOOPING_DEAD_FRONT, 1.0, 10000.0));
}
}//Fin main.


Txibi.

Vamos a meterle tralla a Enroth

- Script para facilitar el roleo en las cofradias mediante una sencilla alarma -

Evento: On Enter (Zona activa)

void main(){
object lider = GetItemPossessor(GetObjectByTag("cetrocofradia"));
object intruso = GetEnteringObject();
string nombreintruso = GetName(intruso);
string mensajeaccion = "*El cetro emite un resplandor rojizo indicando que un intruso esta en la cofradia*";
string mensajebarra = "// el jugador detectado es: ";
SendMessageToPC(lider, mensajeaccion);
SendMessageToPC(lider, mensajebarra + nombreintruso);
}

- Script para que los pnj´s respondan a ordenes verbales (se puede añadir que solo responda si el pj que habla tiene un determinado objeto)-

Evento: On Spawn (Criatura que debe responder)

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

Evento: On Convers (Criatura que debe responder)

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.";
int marcador = GetListenPatternNumber();
object jugador = GetLastSpeaker();
location locunoc=GetLocation(GetWaypointByTag("puertaderecha1"));
location locuno=GetLocation(GetWaypointByTag("puertaderecha12"));
location locdos=GetLocation(GetWaypointByTag("puertaderecha2"));

//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

- Script para crear una silla de tortura (efecto fuego) -

Evento: On Used (Se coloca en una palanca delante de la silla)

void main(){
location lLoc=GetLocation(GetObjectByTag("silla"));
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE),lLoc);
}
_________________
“...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: Jue Jul 15, 2004 2:23 pm Asunto:

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

Más tarde aporto más ideas que el trabajo me reclama
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor."

Volver arriba


Landtheater
Administrador

Registrado: 25 Ene 2004
Mensajes: 680
Ubicación: *Estudiando y midiendo el ojo de un animal que perdió la vida*
Publicado: Jue Jul 15, 2004 3:03 pm Asunto:

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

Publicado: Jue Jul 15, 2004 2:12 pm Asunto: Vamos a meterle tralla a Enroth

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

- Script para facilitar el roleo en las cofradias mediante una sencilla alarma -

Evento: On Enter (Zona activa)

Cita:
void main(){
object lider = GetItemPossessor(GetObjectByTag("cetrocofradia"));
object intruso = GetEnteringObject();
string nombreintruso = GetName(intruso);
string mensajeaccion = "*El cetro emite un resplandor rojizo indicando que un intruso esta en la cofradia*";
string mensajebarra = "// el jugador detectado es: ";
SendMessageToPC(lider, mensajeaccion);
SendMessageToPC(lider, mensajebarra + nombreintruso);
}

Jeje, este me gusta mucho. Una bonita trampa de Alarma : P.

(Será que me gusta porque es el unico que he............ intuido... dios... necesito más clases...)
_________________
Díscipulo-) Maestro, caí en el abismo. Las aguas son hondas y oscuras.
Maestro-) Recuerda esto: lo que ahoga a alguien no es la inmersión, sino el hecho de permanecer bajo el agua.

Volver arriba


Misi
DM

Registrado: 24 Ene 2004
Mensajes: 2632
Ubicación: Esperando la victoria de mi señor de la muerte, el Dios Baa
Publicado: Jue Jul 15, 2004 4:02 pm Asunto:

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

Cita:
void main(){
object lider = GetItemPossessor(GetObjectByTag("cetrocofradia"));
object intruso = GetEnteringObject();
string nombreintruso = GetName(intruso);
string mensajeaccion = "*El cetro emite un resplandor rojizo indicando que un intruso esta en la cofradia*";
string mensajebarra = "// el jugador detectado es: ";
SendMessageToPC(lider, mensajeaccion);
SendMessageToPC(lider, mensajebarra + nombreintruso);
}

juas este esta testeado? o_o Es para meterlo ya ispofacto


_________________

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

Volver arriba


Reox Harpell
Gigante de fuego de Izhar

Registrado: 30 Ene 2004
Mensajes: 529
Ubicación: La Luna Roja
Publicado: Jue Jul 15, 2004 4:10 pm Asunto:

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

Si, pero no se ha probado que ocurre cuando dos pj´s tienen el objeto que avisa de que han entrado y tampoco se si provocara lag. El tema del testeo te lo cedo Misi.
_________________
“...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: Jue Jul 15, 2004 4:27 pm Asunto:

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

Se me ocurrió porque es imposible defender una cofradia o rolear en ellas si las posibilidades de que encuentres a alguien es de 1 entre 100 o más si hay pocos miembros de la cofradia, para eso es el script de la alarma.

Lo cierto es que a veces pienso que por ejemplo los guardias del pueblo estarian mejor con el primer script que puse para que cuando un pj quiera ser guardia le deis un objeto y pueda rolear cosas usando los guardias (Se mueven, hablan, lo siguen, vuelven a su puesto, ...) mediante ordenes verbales. Ese si esta bien testeado gracias a Evaryan.
Sobre ese tema tengo a medio desarrollar otra idea, que un pj nombrado guardia posea el poder de hacer que otro pj camine obligado hacia la carcel (detenido), he comprobado que es viable hacerlo.
_________________
“...Y es que al abrir los ojos todo es de otro color, ahora pienso que cualquier tiempo pasado fué mejor