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

#31 Setaka

Setaka

    Ancillae

  • Miembro
  • PipPipPip
  • 373 posts

Posteado 10 August 2013 - 11:48 AM

No... así desde luego que no... ^^'

 

Te vuelvo a dejar el mismo link... esta vez léelo, abajo hay ejemplos de como usar la función: http://www.nwnlexico...artConversation

 

Tampoco te hace falta la libreria de funciones de cutscenes, con esta función que te puse te sobra: http://www.nwnlexico...SetCutsceneMode


Tutorial NWN Scripting: Click aquí


#32 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 10 August 2013 - 12:13 PM

Ahora he hecho lo siguiente pero no me compila T.T

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

if (!GetIsPC(oPC)) return;

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

}


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

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


#33 Setaka

Setaka

    Ancillae

  • Miembro
  • PipPipPip
  • 373 posts

Posteado 10 August 2013 - 12:30 PM

Cambia el GetLastEntering por oPC, que ya le has dicho que es el GetEnteringObject. En vez de hacer copy pastes utiliza las funciones que hay a la derecha del editor de scripts, así te aseguras que lo que escribes está bien.

 

Para que sea privada... si la descripción de la función es:

 

 

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

 

Añade el TRUE y ya está.

 


Tutorial NWN Scripting: Click aquí


#34 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 10 August 2013 - 02:58 PM

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

if (!GetIsPC(oPC)) return;
ActionStartConversation(oPC, "entrar");
AssignCommand(oPC, RunCutsceneActions());

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

¿Así quedaría verdad? Pues ale, a añadirlo al mod.


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

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


#35 Setaka

Setaka

    Ancillae

  • Miembro
  • PipPipPip
  • 373 posts

Posteado 10 August 2013 - 04:40 PM

No... -.-

 

Esto es algo tan y tan básico que me sorprende mucho que no sepas, después de preguntar tanto sobre scripting deberías si te has fijado un poco.

 

 

Esto es la descripción de la función, solo es de carácter informativo:

 

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

 

Para qué sirve? Te dice primero que es una función void (en vez de devolver un valor, como podría ser las que son "int" o "string"). Te informa también que tiene cuatro parámetros a definir para que funcione. Primero tienes que definir a quien afecta, un objeto en este caso, que hemos definido con el GetEnteringObject(). Después te dice que los otros parámetros tienen valores por defecto, pero que los puedes añadir tú si quieres cambiarlos, en este caso, el nombre de la conversación (por defecto "", utilizará la de la pestaña de conversación), si la conversación es privada (FALSE por defecto), y si quieres que reproduzca el sonido (TRUE por defecto).

 

Es lo que te dice cómo usar la función, sino no sabrías qué poner en ella ni el orden de los parámetros a definir.

 

ActionStartConversation(oPC, "entrar", TRUE);

 


Tutorial NWN Scripting: Click aquí


#36 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 11 August 2013 - 10:35 AM

He metido eso, y cada vez que entro al servidor el servidor se cae. Lo quito y no se cae.


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

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


#37 loristin

loristin

    Humano

  • Miembro
  • Pip
  • 37 posts

Posteado 11 August 2013 - 06:33 PM

Ponle un AssignCommand delante, quedaria tal que asi(compruebalo antes de introducirlo que este todo bien)

 

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


Editado por loristin, 11 August 2013 - 06:33 PM.


#38 TheDragon

TheDragon

    Neonato

  • Miembro
  • PipPip
  • 171 posts

Posteado 11 August 2013 - 09:22 PM

Muchas gracias, rula perfecto!


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

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


#39 Setaka

Setaka

    Ancillae

  • Miembro
  • PipPipPip
  • 373 posts

Posteado 11 August 2013 - 10:24 PM

Sí, esto es lo último que faltaba. Si tienes el script en un evento del módulo, estas diciendo que el módulo hable con el PJ. Faltaba decirle que era el mismo PJ quien hablaba con él mismo ;)


Tutorial NWN Scripting: Click aquí


#40 El_Vara

El_Vara

    Neonato

  • Miembro
  • PipPip
  • 135 posts

Posteado 20 February 2014 - 06:38 PM

He intentado poner esto en un mod, y sucede que crea una copia del pj y lo deja como pnj en el lugar donde el jugador puso la contraseña, ¿se sabe por qué?

Esto es lo que puse en el OnClientEnter:

/*
//Original de Txibi, modificado por el_vara
*/

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 "nw_i0_plot"

void main()
{
    object oJugador = GetEnteringObject();
    int iVidaMaxima = GetMaxHitPoints(oJugador);
    string sRIP = ObjectToString(GetModule());
    int iVidaActual = GetCampaignInt(sRIP, GetName(oJugador));
    object oModule = GetModule();
    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.
    {
        ExecuteScript("x3_mod_def_enter", oModule);
    }
     {
        ExecuteScript("mod_enteronsegu", oModule);
    }
    //----------------------------------------------------------------------
    // PJS NUEVOS
   if(GetXP(oJugador) == 0) ExecuteScript("persist_pjs_nuev", OBJECT_SELF);
    //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.
    //----------------------------------------------------------------------
}//fin cuerpo principal.

Y esto es el script, en este caso se llama: mod_enteronsegu

#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
);

Antes tenía puesto lo siguiente en el script para que petrificase, pero al entrar al mod modo multiplayer, se quedaba petrificado y no salía 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());

}

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


Editado por El_Vara, 20 February 2014 - 06:43 PM.

Administrador del proyecto en marcha de Neverwinter Night 1: http://imperionwn.espana-foro.es/


#41 El_Vara

El_Vara

    Neonato

  • Miembro
  • PipPip
  • 135 posts

Posteado 21 February 2014 - 08:30 PM

Arreglado :)


Administrador del proyecto en marcha de Neverwinter Night 1: http://imperionwn.espana-foro.es/


#42 ognos

ognos

    Humano

  • Miembro
  • Pip
  • 54 posts

Posteado 24 February 2014 - 03:57 PM

Como lo arreglaste? a mi me pasa también que aparece un PNj copia del PJ. Te funciona todo correctamente?



#43 El_Vara

El_Vara

    Neonato

  • Miembro
  • PipPip
  • 135 posts

Posteado 24 February 2014 - 09:15 PM

Cambie de posición el como inicia el script.


Administrador del proyecto en marcha de Neverwinter Night 1: http://imperionwn.espana-foro.es/


#44 ognos

ognos

    Humano

  • Miembro
  • Pip
  • 54 posts

Posteado 25 February 2014 - 12:03 AM

Puedes poner el script de como lo tienes? es que lo intento y no hay manera compañero



#45 El_Vara

El_Vara

    Neonato

  • Miembro
  • PipPip
  • 135 posts

Posteado 25 February 2014 - 01:05 AM

Voy :)

#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 El_Vara, 25 February 2014 - 01:05 AM.

Administrador del proyecto en marcha de Neverwinter Night 1: http://imperionwn.espana-foro.es/




Responder



  



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

A Bragol. Tus amigos te echan de menos.