Blogia

Rol

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

Calentando motores, las jornadas se acercan.

Saludos.

Bien, las jornadas de Rol de Urnieta ya están en marcha. Este Sábado habrá asamblea general en la que se ultimaran los detalles y se especificará el calendario.

Esto quiere decir que en breve ya aparecerá el listado de las partidas de rol de las que se dispondrá y los master que las dirigirán, así como el número de jugadores, si hay hueco o no y temática de las mismas.

En breve también se habilitará una dirección de correo para hacer llegar las dudas o sugerencias.

Nos vemos.

Txibi.

Listado de las partidas de AD&D

Saludos.

En esta sección se enumeraran las próximas partidas del AD&D. Así como las campañas en curso.

Txibi.

Décimas Jornadas del Rol de Urnieta.

Saludos.

Bueno, creado un lugar para empezar a organizar las décimas jornadas del rol, voy a realizar unas pruebas preliminares para comprobar el correcto funcionamiento del sitio este, con lo cual, es posible que el lugar varíe su apariencia y esas cosas.

Club de Rol Los Habitantes de Insmouth.

Txibi.