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 para la creación de un mercenario


  • Por favor, ingresa para responder
4 respuestas al tema

#1 albgarcor

albgarcor

    Neonato

  • Miembro
  • PipPip
  • 146 posts

Posteado 10 March 2006 - 07:23 PM

Antes que nada debo decir que gran parte de este tutorial se ha basado en el "tutorial para la creación de guardaespaldas" de Txibi, lo único que he hecho es adaptarlo al fín que deseaba conseguir y añadirle alguna cosilla más.

TUTORIAL DE CREACIÓN DE UN MERCENARIO

Vamos a crear un mercenario con el cual hablaremos y que mediante el pago de una cantidad accederá a acompañarnos en nuestras aventura y al que podremos dar órdenes e incluso modificar su inventario.

Comenzaremos por crear la criatura, la haremos a nuestro gusto y le pondremos los objetos que deseemos que porte en inicio.

Ahora viene lo importante, la modificación de sus guiones para que se comporte como un Hechman.

Asi que abriremos el apartado guiones de la criatura que hemos creado y le asignaremos los siguientes:

Acción del PNJ .... Guión a aplicar

OnBlocked . . . . . . . . . nw_ch_ace
OnCombatRoundEnd. . . nw_ch_ac3
OnConversation. . . . . . nw_ch_ac4
OnDamaged . . . . . . . . nw_ch_ac6
OnDeath. . . . . . . . . . . muerte_merce
OnDisturbed . . . . . . . . nw_ch_ac8
OnHeartbeat . . . . . . . . nw_ch_ac1
OnPerception. . . . . . . . nw_ch_ac2
OnPhysicalAttaacked . . nw_ch_ac5
OnRested . . . . . . . . . . --no lleva guión--
OnSpawn . . . . . . . . . . nw_ch_ac9
OnSpellCastAt. . . . . . . nw_ch_acb (solo es necesaro si la criatura lanza hechizos)
OnUserDefined . . . . . . nw_ch_acd


Todos los guiones, a excepción del muerte_merce, son del propio Bioware, por lo que pinchando en el botón … , accederemos al conjunto de los guiones disponibles y solo tendremos que añadirlos.

El muerte_merce, tenemos que escribirlo nosotros, tiene la función de hacer desaparecer a nuestro mercenario al morir y que reaparezca en el punto inicial para que pueda volver a ser contratado por otro jugador, lo encontrareis junto con el resto de guiones que debemos hacer al final de este tutorial

Bien, ya tenemos hecha la criatura, ahora debemos hacer la conversación y dotarla de los scripts que harán que lo ‘alquilemos’ y nos acompañe.

La conversación sería algo como esto:

(PNJ - el mercenario --- J - el jugador)

PNJ - Hola forastero ¿buscas ayuda?
| ...... (en El texto aparece cuando.. poner guión ve_compa)
|
|_ J - Si, tengo una importante tarea que realizar y necesitaría un buen mago que me ayudase
| |
| |_ PNJ - Ese soy yo, podría ayudarte a cambio de una módica suma.
| | |
| | |_ J - ¿Cuanto quieres por tu ayuda?.
| | |
| | |_ PNJ - 2000 monedas.
| | | |
| | | |_ J - De acuerdo, tomalas.
| | | | .....( en acciones emprendidas.. poner guión quita_2000)
| | | |
| | | |_PNJ - Entonces vamos donde quieras. te sigo.
| | | | ....... (en acciones emprendidas poner guión cont_mercer_1)
| | | |
| | | |_ J - Vamos.
| | | .....(en acciones empredidas poner guión de BioWare nw_ch_join)
| | |
| | |_ J - ¿ 2000 monedas?, eso es mas de lo que podría pagar, no me interesa.
| | |
| | |_ PNJ - Pues entonces lo siento, no ire contigo.
| | |
| | |_ J - Adios.
| |
| |_ J - No gracias, lo que tengo que hacer puedo hacerlo solo.
|
PNJ -¿Que deseas <FirstName> ?.
| ...... (en El texto aparece cuando poner guión cont_merce_2)
|
|_ J - Ataca al enemigo en cuanto le veas.
| ......(en El texto... poner guión nw_ch_comrange y en acciones emprendidas el guión nw_ch_gomelee,
| ....... ambos de bioware)
|
|_ J - Procura evitar el cuerpo a cuerpo a menos que sea necesario.
| ...... (en El texto... poner guión nw_ch_gomelee y en acciones emprendidas el guión
| ...... nw_ch_comrange, ambos de bioware)
|
|_ J - Muévete lo mas sigilosamente posible.
| .....(en El texto... poner guión nw_ch_stlth_off y en acciones emprendidas el guión nw_ch_stlth_on,
| ...... ambos de bioware)
|
|_ J - No intentes ocultarte en ningún momento.
| ..... (en El texto... poner guión nw_ch_yes_stlth y en acciones emprendidas el guión nw_ch_stlth_off,
| ....... ambos de bioware)
|
|_ J - Estate atento a las cosas.
| .....(en El texto... poner guión nw_ch_fm_st_07 y en acciones emprendidas el guión nw_ch_srch_on,
| ...... ambos de bioware)
|
|_ J - No prestes atención a los detalles.
| ..... (en El texto... poner guión nw_ch_yes_srch y en acciones emprendidas el guión nw_ch_srch_off,
| ...... ambos de bioware)
|
|_ J - Tenemos que hablar de la distancia que nos separa viajando.
| |
| |_ PNJ - Dime, te escucho.
| |
| |_ J - Estate cerca.
| | ......(en acciones emprendidas el guión nw_ch_dist_6, de bioware)
| |
| |_ J - Ve a una distancia moderada de mi.
| | .......(en acciones emprendidas el guión nw_ch_dist_12, de bioware)
| |
| |_ J - Ve lejos de mi.
| .............(en acciones emprendidas el guión nw_ch_dist_18, de bioware)
|
|_ J. Quiero hacer cambios en tu equipo.
|
|_ PNJ - De acuerdo, mira, esto es lo que llevo.
|
|_ J - [FINALIZAR DIALOGO]
........(en acciones emprendidas el guión x0_d1_hen_inven, de bioware)


*** A continuación teneis los guiones que no son de Bioware ****


// FileName muerte_merce

void main()

{
	  ExecuteScript("nw_ch_ac7",OBJECT_SELF);
	  location lWP=GetLocation(GetWaypointByTag("NW_PuntoApariciónMercenario"));
	  DestroyObject(OBJECT_SELF);
	  CreateObject(OBJECT_TYPE_CREATURE,"EtiquetaMercenario", lWP,TRUE);

}



//FileName ve_compa

int StartingConditional()
{
  if(GetHenchman(GetPCSpeaker())==OBJECT_INVALID)
	return TRUE;
  else
	return FALSE;

}

//:: FileName quita_1000
void main()
{

	// Quitar algo de oro al jugador
	TakeGoldFromCreature(2000, GetPCSpeaker(), TRUE);
}




//FileName cont_mercer_2

int StartingConditional()
{
  if(!(GetLocalInt(GetPCSpeaker(),"EtiquetaMercenario")==1))
	return FALSE;

  return TRUE;
}


Pues bien amigos, con esto ya tenemos nuestro mercenario en marcha, espero que lo disfruteis.

Editado por albgarcor, 10 March 2006 - 07:31 PM.


#2 Zimnel

Zimnel

    Guitar Hero

  • Miembro DLAN
  • PipPipPipPipPip
  • 1949 posts

Posteado 24 July 2006 - 08:44 AM

Con lo útil que es este tutorial y no ha contestado nadie...

Gracias por colgarlo, es muy bueno. Sólo me falta el texto para mercer 1. En los códigos sólo está el dos...
Luego tengo otra duda. ¿La segunda conversa hay que colocarla también en la raíz?

Última duda:

NJ -¿Que deseas <FirstName> ?.
| ...... (en El texto aparece cuando poner guión cont_merce_2)

Esta línea tiene el script en "el texto aparece"; no corresponde aquí ningún script para "acciones emprendidas"?

Mi problema es la segunda conversa, la de las órdenes. He renombrado el mismo archivo como cont_merce1 y cont_merce2, y los he colocado según el tutorial, pero la segunda conversa no se dispara.

Gracias por tu tiempo.

Editado por Zimnel, 24 July 2006 - 09:05 AM.


#3 dark small

dark small

    Elder

  • Miembro DLAN
  • PipPipPipPip
  • 808 posts

Posteado 25 July 2006 - 03:10 PM

ejem, falta un script es eso lo que falla, el script es el cont_merce_1
void main()
{

object oPC = GetPCSpeaker();

SetLocalInt(oPC, "EtiquetaMercenario", 1);

}



#4 Txibi

Txibi

    Antediluvian

  • Miembro DLAN
  • PipPipPipPipPip
  • 4759 posts

Posteado 26 July 2006 - 02:15 PM

Saludos.

Mirad si esto que tengo por ahí os sirve, es una parte de un mercadillo de esclavos que hice.

Mercado de Esclavos.

Txibi.

#5 Halcon40

Halcon40

    Humano

  • Miembro
  • Pip
  • 56 posts

Posteado 10 September 2007 - 07:09 PM

Y si el jugador no tiene las 2000 que pide? se une igualmente no? no hay nada en el script que diga que si no tiene las 2000 no se una...




A Bragol. Tus amigos te echan de menos.