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

Contraseña al modulo y localizacion automatica

nwn localizacion contraseña

51 respuestas al tema

#16 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 05 August 2013 - 04:11 PM

A ver lo he metido, me petrifica y todo, ademas al compilar el script se compila, pero no me abre la conversación y eso que la he importado y tal.


Nuevo servidor de Neverwinter Night 1: El mundo de Rhi´hender.

Foro: http://rhihenhernwn.foroactivo.com/


#17 Setaka

Setaka

    Ancillae

  • Miembro
  • PipPipPip
  • 373 posts

Posteado 05 August 2013 - 08:20 PM

Usad esta función: http://www.nwnlexico...SetCutsceneMode

 

Es lo que se utiliza para los "cutscene", es decir, las secuencias cinematográficas. Esconde toda la interfaz del jugador y lo deja paralizado ya que no puede ni usar las acciones del ratón, por lo que no podrá hacer nada de nada, solo usar la conversación que le pongamos. También lo hace inmortal. Cuidado si la usáis, que luego se tiene que volver a desactivar.


Tutorial NWN Scripting: Click aquí


#18 loristin

loristin

    Humano

  • Miembro
  • Pip
  • 37 posts

Posteado 06 August 2013 - 07:39 PM

Hmmm mandame una screen del script por si hay algnu fallo o algo, aunque si dices que a sido importado y lo as incluido al onentermodule, no deberia haber problema.

Aqui esta con el cutscene incluido, ya te digo que esta perfectamente funcional, es posible que alguna cosa no este bien incluida, este lo pongo en .erf para importarlo directamente todo como toca

 

Como siempre se me paso quitar los efectos cuando introduces la primera vez la contraseña, pero si te sales y reentras cuesta poco, que ya llevo mucho tiempo con esta cosa solamente y quiero acabar algunas cosas mas


http://adf.ly/TXVsP


Editado por loristin, 06 August 2013 - 07:57 PM.


#19 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 06 August 2013 - 08:22 PM

Pues ahora no me inicia la conversación, he puesto en el evento OnClientEnter lo siguiente he añadido la linea de ejecutar el script que pone, para ver si así también se iniciaba el otro, puesto que al meter este script dentro del otro pasaba absolutamente igual, no lo entiendo... Añado que si petrifica pero no hace el cutscene ni me abre la conversación...:

#include "bib_cutscene"
void main()
{
object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

AssignCommand(oPC,ActionStartConversation(oPC, "entrar"));
effect eEffect =  EffectPetrify();
DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect,oPC));
AssignCommand(oPC, RunCutsceneActions());
if (!GetIsPC(oPC)) return;
ExecuteScript("mj_modenter", oPC);
}

Editado por TheDragon, 06 August 2013 - 08:24 PM.

Nuevo servidor de Neverwinter Night 1: El mundo de Rhi´hender.

Foro: http://rhihenhernwn.foroactivo.com/


#20 loristin

loristin

    Humano

  • Miembro
  • Pip
  • 37 posts

Posteado 06 August 2013 - 08:50 PM

Hmmm... estas entrando como GM??? por que si es asi es normal que no funcione el tema del chat, aun asi linea 12 if(!GetIsPC(oPC)) return; sobra borralo ya haces esa referencia al princpio del script...



#21 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 06 August 2013 - 09:23 PM

GM?

A ver ahora he conseguido hacer una cosa, ahora me sale la conversación, pero no me petrifica ni hace lo de cutescene..:

/*
script 0_tx_entrando a colocar en OnClientEnter
*/

int IsInInventory(object oContainer, string sItemTag)
{
object oItem;

if (GetHasInventory(oContainer))
{
    oItem = GetFirstItemInInventory(oContainer);
    while ( OBJECT_INVALID != oItem )
    {
        if (GetTag(oItem) == sItemTag)
        { return TRUE; }
        oItem = GetNextItemInInventory(oContainer);
    } // end while
} // endif
return FALSE;
} // end IsInInventory

#include "bib_cutscene"
#include "nw_i0_plot"

void main()
{
    object oJugador = GetEnteringObject();
    int iVidaMaxima = GetMaxHitPoints(oJugador);
    string sRIP = ObjectToString(GetModule());
    int iVidaActual = GetCampaignInt(sRIP, GetName(oJugador));

    string sSubRaza = GetSubRace(oJugador);
    int iNivel = GetHitDice(oJugador);

    //Por si tienen mas vida que la permitida, por bugs de transformaciones.
    if (iVidaActual >= iVidaMaxima)
    {
        RemoveEffect(oJugador, EffectTemporaryHitpoints(EFFECT_TYPE_TEMPORARY_HITPOINTS));

    }//fin de disipacion de puntos de vida por encima de lo normal.


    if ((iVidaActual>0) || (iVidaActual<0))
    {
        effect eActualizarVida = EffectDamage((iVidaMaxima-iVidaActual), DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_ENERGY);
        ApplyEffectToObject(DURATION_TYPE_INSTANT, eActualizarVida, oJugador);

    }//fin actualizar vida.


    //----------------------------------------------------------------------
    //Excomulgacion General.
    if (IsInInventory(oJugador,"tx_excomulgacion"))
    {
        ExecuteScript("tx_excomulgacion", oJugador);
    }
    //----------------------------------------------------------------------
    //Crucifijo del Paladin.
    if (GetLevelByClass(CLASS_TYPE_PALADIN, oJugador) >= 1)
    {
        if (!IsInInventory(oJugador,"tx_crucifijo"))
        {
            CreateItemOnObject("tx_crucifijo", oJugador);
            SendMessageToPC(oJugador,"Se te ha dado un simbolo sagrado para detectar el mal.");
        }
    }//fin crucifijo del paladin..
    //----------------------------------------------------------------------
    //Guarda mas informacion en el LOG.
    //Si es un jugador extrae la informacion adicional.
    if (GetIsPC(oJugador) == TRUE)
    {
        string Jugador_IP = GetPCIPAddress(oJugador); // Direccion IP.
        string Jugador_CDKey = GetPCPublicCDKey(oJugador); // CDKey publica.
        string Jugador_Nombre = GetPCPlayerName(oJugador); // Nombre del jugador.
        int Jugador_Nivel_1 = GetLevelByPosition(1, oJugador); // Nivel de la clase 1.
        int Jugador_Nivel_2 = GetLevelByPosition(2, oJugador); // Nivel de la clase 2.
        int Jugador_Nivel_3 = GetLevelByPosition(3, oJugador); // Nivel de la clase 3.
        int Jugador_Nivel_Total = Jugador_Nivel_1 + Jugador_Nivel_2 + Jugador_Nivel_3; //Nivel total.
        int Jugador_XP = GetXP(oJugador); // Coge los puntos de experiencia acumulados.

        //Saca al archivo logs.0 la informacion.
        WriteTimestampedLogEntry("ENTRADA DEL JUGADOR -> Jugador: " + Jugador_Nombre +
        " / Direccion IP: " + Jugador_IP +  " / CDKey Publica : " + Jugador_CDKey + " / Nivel de la ficha: "
        + IntToString(Jugador_Nivel_1) + "/"
        + IntToString(Jugador_Nivel_2) + "/"
        + IntToString(Jugador_Nivel_3) + " Total: "
        + IntToString(Jugador_Nivel_Total) + " XP: " +  IntToString(Jugador_XP));
    }//fin de guarda de informacion en el LOG.
  {
object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

AssignCommand(oPC,ActionStartConversation(oPC, "entrar"));
AssignCommand(oPC, ActionStartConversation(oPC, "entrar", TRUE));
return;
effect eEffect =  EffectPetrify();
DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect,oPC));
AssignCommand(oPC, RunCutsceneActions());
}
}


Editado por TheDragon, 06 August 2013 - 09:28 PM.

Nuevo servidor de Neverwinter Night 1: El mundo de Rhi´hender.

Foro: http://rhihenhernwn.foroactivo.com/


#22 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 06 August 2013 - 11:37 PM

Ya me las apañé, ahora tengo una duda, podría hacer que se guarde la posición (solo) con el evento HeatBeat?

Osea, que cuando un pj entra, empiece eso a guardar la posición automáticamente sin tener que usar el portal.


Editado por TheDragon, 06 August 2013 - 11:37 PM.

Nuevo servidor de Neverwinter Night 1: El mundo de Rhi´hender.

Foro: http://rhihenhernwn.foroactivo.com/


#23 loristin

loristin

    Humano

  • Miembro
  • Pip
  • 37 posts

Posteado 07 August 2013 - 12:02 AM

Se puede, pero lo puse asi para la entrada al modulo, haciendo asi posible que cuando entres al modulo vea los carteles de novedades y una vez entre al portal, vuelva donde se lo dejo, pero si quieres puedes poner la funcion al entrar al modulo y asi guarda directamente nada mas entrar



#24 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 07 August 2013 - 02:50 PM

Y cómo lo pondría en un onenter de un área?


Nuevo servidor de Neverwinter Night 1: El mundo de Rhi´hender.

Foro: http://rhihenhernwn.foroactivo.com/


#25 loristin

loristin

    Humano

  • Miembro
  • Pip
  • 37 posts

Posteado 07 August 2013 - 03:04 PM

El del modulo, Editar>Propiedades del modulo>sucesos



#26 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 07 August 2013 - 04:18 PM

Sí, pero que script pongo? :/


Nuevo servidor de Neverwinter Night 1: El mundo de Rhi´hender.

Foro: http://rhihenhernwn.foroactivo.com/


#27 loristin

loristin

    Humano

  • Miembro
  • Pip
  • 37 posts

Posteado 07 August 2013 - 04:36 PM

Asumo que en tu server ya tendras un script alli, el script con nombre teleport_loc_sto abrelo y copia las siguiente linea

 

#include "heatbear"

//El include arriba del todo

 

//este al final del script, justo encima de }

DelayCommand(6.0,guardar(oPC));


Editado por loristin, 07 August 2013 - 04:38 PM.


#28 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 08 August 2013 - 03:53 PM

Me he percatado que la conversación la puede ver todos, vamos que lo que habla el pj y pulsa le salen, así que los demás jugadores podrían ver la contra mientra la ponen, no se puede hacer para que la conversación no salga, que sea privada?

 

Además los pjs después de ésto quedan Inmunes... que no se les puede matar.


Editado por TheDragon, 08 August 2013 - 03:55 PM.

Nuevo servidor de Neverwinter Night 1: El mundo de Rhi´hender.

Foro: http://rhihenhernwn.foroactivo.com/


#29 Setaka

Setaka

    Ancillae

  • Miembro
  • PipPipPip
  • 373 posts

Posteado 08 August 2013 - 08:02 PM

Por esto te puse que se debía quitar bien el cutscene, para que después no quedaran inmortales jeje

 

Para que la conversación sea privada... para solucionar este problema es tan difícil como leerlo de aquí, una web muy desconocida que se llama nwnlexicon: http://www.nwnlexico...artConversation  ;)


Tutorial NWN Scripting: Click aquí


#30 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 10 August 2013 - 10:28 AM

Pues si alguién me lo puediera hacer o explicar como compilarlo y todo... de todas formas os pondré los scripts:

 

Y aquí está en OnClientEnter donde se debería poner "creo" que la conversación sea privada y donde activa el cutscene:

#include "bib_cutscene"
void main()
{
object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

AssignCommand(oPC,ActionStartConversation(oPC, "entrar"));
effect eEffect =  EffectPetrify();
AssignCommand(oPC, RunCutsceneActions());

} 

 

 

EDITO: Ahora mismo acabo de hacer lo siguiente, no se si es así como se debe poner jeje:
 

#include "bib_cutscene"
void main()
{
object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

AssignCommand(oPC,ActionStartConversation(oPC, "entrar"));
AssignCommand(oPC, RunCutsceneActions());

}
void ActionStartConversation(
    object oObjectToConverseWith,
    string sDialogResRef = "entrar",
    int bPrivateConversation = FALSE,
    int bPlayHello = TRUE
);

 


Editado por TheDragon, 10 August 2013 - 10:44 AM.

Nuevo servidor de Neverwinter Night 1: El mundo de Rhi´hender.

Foro: http://rhihenhernwn.foroactivo.com/




Responder



  



También marcado con nwn, localizacion, contraseña

A Bragol. Tus amigos te echan de menos.