Saltar al contenido

Más en DLAN: Nuestras Traducciones | Otras Traducciones | Mods y modding | Revisiones y Guías | Videojuegos | Arte | Literatura | Rol y Rol por foro e IRC | Mapa de la web
Foto

TUTORIAL creacion de objetos de poder unico


  • Por favor, ingresa para responder
11 respuestas al tema

#1 dragonoscuro

dragonoscuro

    Neonato

  • Miembro
  • PipPip
  • 118 posts

Posteado 14 April 2005 - 06:45 PM

QUE SON LOS OBJETOS DE PODER UNICO PARA SI:

son aquellos como la piedra de regreso , y obetos unicos, inteligentes etc
con dichos objetos podriamos crear el anillo de sauron, cañas de pescar, y mil cosas mas

los objetos de poder unico son como una nueva frontera para el constructor de modulos ya que si lograsemos hacer un "equilibrio" en el modulo podriamos llegar virtualmente hasta nivel 100 por decir algo

muchos de vosotros sabran construir armas con todos los poderes posibles....pasais horas haciendo el arma o objeto creyendo que nadie os vencera
entrais a cualquier zona de arena y os matan del tiron riendose de vosotros

esto se arregla con los objetos de poder unicos para si

asi podriamos construir por ejemplo 12 runas magicas q tengan poderes especiales
que al ser unidas crearian un objeto de nivel superior , creacion de anillos de invocacion

tal vez podriamos incluso recrear la batalla fantasmal del retorno del rey o la pelea que tienen gandaf y saruman protagonizan en la cominidad del anillo

asi he logrado crear un huevo incubado de gallina que te da una gallina ponedora de huevos no incubados.........tal vez cree al gallo jeje

bueno vamos a ponernos a trabajar...............

#2 dragonoscuro

dragonoscuro

    Neonato

  • Miembro
  • PipPip
  • 118 posts

Posteado 14 April 2005 - 06:55 PM

PRIMER PASO Y MAS IMPORTANTE

EL GUION Y EL OBJETO TIENEN Q LLAMARSE IGUAL

primer paso crear un guion
segundo paso crear un nuevo objeto personalizado (siempre) cuyo nombre sea igual al del guion

esto es muy importante pq al crear el objeto asi la resfef y el tag coinciden....

creamos por ejemplo piedradestino de guion y el objeto igual, pero queda muy feo que el jugador al coger el objeto vea el nombre todo junto

edita el objeto y ponle ya el nombre como quieras (solo el nombre)

despues busca en "lanzar hechizo" poder unico para si, editalo y ponle sin limite de usos al dia (asegurate de haberlo hecho bien ojo)


PASO FINAL
vete a propiedades del modulo y en el guion ONACTIVATEDITEM (o algo asi) añade esta script dnd puedas

void main()
{
ExecuteScript(GetTag(GetItemActivated()),
OBJECT_SELF);
}


es posible q ya uses otro script distinto como por ejemplo es mi caso
bueno entonces solo añade esta linea al script
ExecuteScript(GetTag(GetItemActivated()),
OBJECT_SELF);


comenzemos con los script

#3 dragonoscuro

dragonoscuro

    Neonato

  • Miembro
  • PipPip
  • 118 posts

Posteado 14 April 2005 - 07:08 PM

CREACION DE UNA PIEDRA DE REGRESO


void main()
{
object oPC;

object oTarget;
oTarget = oPC;



int nInt;
nInt = GetObjectType(oTarget);

if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_NATURES_BALANCE), oTarget);
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_NATURES_BALANCE), GetLocation(oTarget));

oPC = GetItemActivator();

DelayCommand(4.0, FloatingTextStringOnCreature("haces uso de tu piedra del destino para volver a casa", oPC));

AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_MEDITATE, 10.0f, 3.0f));

DelayCommand(2.0, FloatingTextStringOnCreature("finalizada la invocacion tu cuerpo comienza a desaparecer", oPC));

oTarget = oPC;



nInt = GetObjectType(oTarget);

if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_GATE), oTarget);
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_GATE), GetLocation(oTarget));


location lTarget;
oTarget = GetWaypointByTag("lugardestino");

lTarget = GetLocation(oTarget);

//only do the jump if the location is valid.
//though not flawless, we just check if it is in a valid area.
//the script will stop if the location isn't valid - meaning that
//nothing put after the teleport will fire either.
//the current location won't be stored, either

if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;

AssignCommand(oPC, ClearAllActions());

DelayCommand(3.0, AssignCommand(oPC, ActionJumpToLocation(lTarget)));

oTarget = oPC;

//Visual effects can't be applied to waypoints, so if it is a WP
//apply to the WP's location instead

nInt = GetObjectType(oTarget);

if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oTarget);
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), GetLocation(oTarget));

}

Editado por dragonoscuro, 14 April 2005 - 07:35 PM.


#4 albgarcor

albgarcor

    Neonato

  • Miembro
  • PipPip
  • 146 posts

Posteado 14 April 2005 - 07:13 PM

gracias, ya me dirás donde está el fallo.

???

#5 albgarcor

albgarcor

    Neonato

  • Miembro
  • PipPip
  • 146 posts

Posteado 14 April 2005 - 07:43 PM

otra vez gracias, eres un tio cojonudo

#6 Lagarto

Lagarto

    Humano

  • Miembro
  • Pip
  • 28 posts

Posteado 16 April 2005 - 02:18 AM

QUE SON LOS OBJETOS DE PODER UNICO PARA SI:

son aquellos como la piedra de regreso , y obetos unicos, inteligentes etc
con dichos objetos podriamos crear el anillo de sauron, cañas de pescar, y mil cosas mas

los objetos de poder unico son como una nueva frontera para el constructor de modulos ya que si lograsemos hacer un "equilibrio" en el modulo podriamos llegar virtualmente hasta nivel 100 por decir algo

muchos de vosotros sabran construir armas con todos los poderes posibles....pasais horas haciendo el arma o objeto creyendo que nadie os vencera
entrais a cualquier zona de arena y os matan del tiron riendose de vosotros

esto se arregla con los objetos de poder unicos para si

asi podriamos construir por ejemplo 12 runas magicas q tengan poderes especiales
que al ser unidas crearian un objeto de nivel superior , creacion de anillos de invocacion

tal vez podriamos incluso recrear la batalla fantasmal del retorno del rey o la pelea que tienen gandaf y saruman protagonizan en la cominidad del anillo

asi he logrado crear un huevo incubado de gallina que te da una gallina ponedora de huevos no incubados.........tal vez cree al gallo jeje

bueno vamos a ponernos a trabajar...............

Más o menos es eso, pero no lo has dicho del todo bién.

Los objetos, tienen muchas posibles propiedades, entre otras unas que se llaman:

- Poder Unico

- Poder Unico para Sí.

Estas dos, a primera vista no hacen "nada". Lo que hacen es activar el evento OnActivatedItem del modulo ( http://www.clandlan....=0 )

A partir de ahi lo que hagamos es cosa nuestra, ya que esto nos da opcion de crear nuestro objetos propios personalizados, sin tener que limitarnos a las propiedades que nos da el juego.

La diferencia entre Poder Unico y Poder Unico para si, es que el primer al activar directamente se activa el objeto (dandote a ti como "objetivo"). En el segundo te da para elegir un objetivo,y este lo podras comprobar despues dentro del script, con las funciones GetItemActivatedTarget(); || GetItemActivatedTargetLocation();

#7 Alucard

Alucard

    Holy Avenger

  • Miembro DLAN
  • PipPipPipPipPip
  • 2637 posts

Posteado 16 April 2005 - 03:10 PM

Es al revés, poder único da a elegir objetivo, poder único para sí lo lanza sobre el activador. Por lo demás... concreto una cosilla, creo que lo que debe ser igual, es el nombre del script o guión, y el nombre de la etiqueta del objeto, no el nombre. Con la última expansión, se incluyó un script en el evento onActivateItem, que haciá que al usar un objeto con propiedad de poder único, buscase un script con su misma etiqueta, y lo ejecutase.
NON NOBIS, DOMINE, NON NOBIS, SED NOMINI TUO DA GLORIAM

#8 dragonoscuro

dragonoscuro

    Neonato

  • Miembro
  • PipPip
  • 118 posts

Posteado 17 April 2005 - 09:16 PM

es correcto lo que dices alucard, por eso insistia tanto en que se crease el objeto personalizado , para q el tag y el refref sean identicos

#9 Alucard

Alucard

    Holy Avenger

  • Miembro DLAN
  • PipPipPipPipPip
  • 2637 posts

Posteado 17 April 2005 - 09:49 PM

No se si el tag y el resref deben ser iguales, ahora mismo dudo. Lo que sí que puedo decir es que es MUY recomendable ponerles un tag y un resref propio a cada objeto que creemos, que luego viene una expansión o un nuevo parche, y le da por cambiarte el nombre a TODOS los objetos que tuvieran resref predeterminado (nos pasó en un server xD). Así que cuidadín con eso.
NON NOBIS, DOMINE, NON NOBIS, SED NOMINI TUO DA GLORIAM

#10 Lagarto

Lagarto

    Humano

  • Miembro
  • Pip
  • 28 posts

Posteado 17 April 2005 - 10:43 PM

Sin que nadie se ofenda por que yo postee..

La cosa es que hace tiempo, cuando aun no habia salido el SoU, alguien tubo la "genialidad" de inventarse ese codigo tan simple de OnActivateItem

void main()
{
ExecuteScript(GetTag(GetItemActivated()), OBJECT_SELF);
}

Bioware, al sacar la x2 (la segunda expansión) hizo una versión mejorada de este script, bueno la verdad hizo un sistema de script llamado TagBased (basado en las etiquetas).
Lo que hace es en cualquier evento de modulo relacionado con un Item, se activa un script que es igual que su tag (etiqueta). El ResRef es indiferente.

I direis i como diferencia si ese script se activo desde un OnActivated o un Acquired, vereis teneis un script que los de bioware nos dieron de ejemplo llamado x2_it_example. Donde hay cabida para cualquier evento, con eso con un script podeis hacer uso de cualquier evento del modulo.

Si abris el script que os dije antes, vereis en la linea 49, este trozo:
   // * This code runs when the Unique Power property of the item is used
    // * Note that this event fires PCs only
    else if (nEvent ==  X2_ITEM_EVENT_ACTIVATE)
    {

        oPC   = GetItemActivator();
        oItem = GetItemActivated();

    }

Justo debajo del "oItem = GetIt..." ahi iria vuestro codigo al activar un objeto.

Pues lo dicho teneis el x2_it_example en cualquier modulo (simplemente abris un script con ese nombre i marcais 'todos los recursos') y listos. De esta manera NO se tiene que tocar nada de los eventos de modulo, ya que viene este sistema por defecto

#11 Pacheta

Pacheta

    Humano

  • Miembro
  • Pip
  • 29 posts

Posteado 19 November 2007 - 11:48 AM

Sin que nadie se ofenda por que yo postee..

La cosa es que hace tiempo, cuando aun no habia salido el SoU, alguien tubo la "genialidad" de inventarse ese codigo tan simple de OnActivateItem

void main()
{
ExecuteScript(GetTag(GetItemActivated()), OBJECT_SELF);
}

Bioware, al sacar la x2 (la segunda expansión) hizo una versión mejorada de este script, bueno la verdad hizo un sistema de script llamado TagBased (basado en las etiquetas).
Lo que hace es en cualquier evento de modulo relacionado con un Item, se activa un script que es igual que su tag (etiqueta). El ResRef es indiferente.

I direis i como diferencia si ese script se activo desde un OnActivated o un Acquired, vereis teneis un script que los de bioware nos dieron de ejemplo llamado x2_it_example. Donde hay cabida para cualquier evento, con eso con un script podeis hacer uso de cualquier evento del modulo.

Si abris el script que os dije antes, vereis en la linea 49, este trozo:
// * This code runs when the Unique Power property of the item is used
	// * Note that this event fires PCs only
	else if (nEvent ==  X2_ITEM_EVENT_ACTIVATE)
	{

		oPC   = GetItemActivator();
		oItem = GetItemActivated();

	}

Justo debajo del "oItem = GetIt..." ahi iria vuestro codigo al activar un objeto.

Pues lo dicho teneis el x2_it_example en cualquier modulo (simplemente abris un script con ese nombre i marcais 'todos los recursos') y listos. De esta manera NO se tiene que tocar nada de los eventos de modulo, ya que viene este sistema por defecto




¿Puedes hacer que cueste dinero activar la piedra? Si es así, te rogaría que explicases como lo haces (para sí ya saber como quitar dinero del PJ si quiere hacer otra cosa con otro objeto único)
Gracias ! ??? ???

#12 Muri

Muri

    Humano

  • Miembro
  • Pip
  • 44 posts

Posteado 13 August 2008 - 09:47 AM

buenas! Estaba mirando el script de la piedra de regreso y la verdad es que me resulta muy interesante. Posiblemente lo aplique en el módulo que estoy creando. Solo tengo una duda:

location lTarget;
oTarget = GetWaypointByTag("lugardestino");

lTarget = GetLocation(oTarget);

esto me hace suponer que enviará al PJ al área que le marques. Pero si quiero que vaya a un lugar concreto de la misma área (donde haga clic el propio jugador), qué deberia poner?




A Bragol. Tus amigos te echan de menos.