Neverwinter Nights, modding - scripts - manuales, todo sobre el NWN
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.


Pulse Control+D para no olvidar este enlace.
 
Pagina principalÍndicePortalÚltimas imágenesBuscarRegistrarseConectarsePagina principal

 

 ayuda... :(

Ir abajo 
3 participantes
AutorMensaje
legendario2009
Aprendiz
Aprendiz
legendario2009


Masculino
Edad : 36
Puntos de Actividad : 6427

Cantidad de envíos : 71
Fecha de inscripción : 21/02/2009

Nº. de Miembro : 49
Respeto por el Foro :
ayuda... :( Left_bar_bleue100 / 100100 / 100ayuda... :( Right_bar_bleue


ayuda... :( Empty
MensajeTema: ayuda... :(   ayuda... :( I_icon_minitimeLun 16 Mar 2009, 5:11 pm

Veo que nadie me ayuda con los scripts, asi que he intentado hacerlos yo, y más o menos algunos me salen y otros no

bien, trato de desarrollar un script, en el que cuando mueras, aparezca un objeto en tu inventario que no se pueda soltar y todo eso, (como en lo txibi para mundos persistentes)
pero yo lo que busco es que cuando regeneres el personaje y vaya automaticamente al Limbo (pongo el ejemplo de txibi que puso en el foro DLAN) al punto de ruta predeterminado en el script, que el objeto se borre del inventario, pero, no me sale lo que yo le he puesto. osea, cree un script a parte :

void main()
{
(DeleteLocalObject (GetObjectByTag, "tx_muerto"))
}

pero no me va. no se porque.

otra cosa, cree un script, para transformate en otra cosa, pero XD hay un problema, jajajaja ¿Cómo hago para que cuando uses el objeto de poder unico para si te devuelva al estado normal?

este es el script :







#include
"x2_inc_switches"



void main()


{


int nEvent
=GetUserDefinedItemEventNumber();



object oPC;


object
oItem;



if (nEvent ==
X2_ITEM_EVENT_ACTIVATE)



{





oPC
= GetItemActivator();



oItem = GetItemActivated();


ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectPolymorph(POLYMORPH_TYPE_"el bicho que quieras"),
oPC);



}


}
Volver arriba Ir abajo
Ender
Patos@
Patos@



Masculino
Edad : 32
Puntos de Actividad : 5670

Cantidad de envíos : 11
Fecha de inscripción : 31/08/2009

Nº. de Miembro : 100
Respeto por el Foro :
ayuda... :( Left_bar_bleue100 / 100100 / 100ayuda... :( Right_bar_bleue


ayuda... :( Empty
MensajeTema: Re: ayuda... :(   ayuda... :( I_icon_minitimeLun 31 Ago 2009, 4:03 am

Eso del objeto que guardas variables para que no se pierdan al reiniciar server lo dejé apuntado en mi módulo del vault y por algunos foros de scripting.

Cuando comenzó el never , en el nwspain, todos los que respondían preguntas sobre scriptting, si preguntabas algo de persistencia te obligaban a bajarte bases de datos, y aun me pregunto si no lo hacian aposta para que la gente se rindiera al montar un server ante la complicación de una base de datos. O te enviaban directamente a leer sobre la base de datos del never, que es sencilla pero lenta.

Como todo esto es orientación a objetos, y los objetos dan significado y valor a otros objetos, les señalé que se podía guardar una variable dentro de un item, de tal forma que las variables de un pj no se perdían al reinicar server ya que adquirían un nuevo valor al estar introducidas dentro de un item (objeto) que no se borra al cerrar un server como bien sabemos todos. Se hicieron los desentendidos. Fui yo quien comenzó a dejar escrito por ahí cómo guardar variables persistentes sin necesidad de recurrir a bases de datos.

Lo más gracioso del tema es que me parecio leer en el vault o en bioware que alguien (no sabian quien ni como, y se supone que son programadores expertos) había descubierto eso y desconocían que se pudiera hacer, aunque, y estoy de acuerdo con ellos, no parece un sistema muy fiable para guardar ingentes cantidades de datos, pero si para guardar unas pocas variables para quest.
Volver arriba Ir abajo
Gonar
Patos@
Patos@



Masculino
Edad : 47
Puntos de Actividad : 5197

Cantidad de envíos : 19
Fecha de inscripción : 10/02/2011

Nº. de Miembro : 132
Respeto por el Foro :
ayuda... :( Left_bar_bleue100 / 100100 / 100ayuda... :( Right_bar_bleue


ayuda... :( Empty
MensajeTema: Re: ayuda... :(   ayuda... :( I_icon_minitimeJue 10 Feb 2011, 2:17 am

Yo pertenecia a nwspain ^^ no lo haciamos aposta. En aquel entonces, bioware no habia implementado funciones de persistencia en el motor del neverwinter y no existia. Pero un grupo de guiris desarrollaron un sistema que usaba bases de datos externas analizadas a traves del archivo log del servidor para desarrollar un sistema externo de persistencia.
Ahi residia su dificultad. Cuando bioware implemento su sistema propio, hubo gente que uso uno u otro a placer, en mi opinion es mejor usar el de bioware por que esta metido dentro del motor del juego, aunque el externo es mas completo.

Esto no te va ...

Código:
void main()
{
(DeleteLocalObject (GetObjectByTag, "tx_muerto"))
}

por que estas borrando una variable, deberia de ser:

Código:
void main()
{
    DestroyObject(GetObjectByTag("tx_muerto"));
}

Sobre el polymorph, una solución seria esta:

Código:
#include "x2_inc_switches"
void main()
{
    // Declaramos las variables que vamos a usar comunes a todos los objetos.
    int    nEvent = GetUserDefinedItemEventNumber();
    object oPC    = GetItemActivator();
    object oItem  = GetItemActivated();

    // El objeto activa el evento.
    if(nEvent == X2_ITEM_EVENT_ACTIVATE)
    {
        //Comprobamos que sea el objeto que transforma.
        if(GetTag(oItem) == "TagDelObjeto")
        {
            // Declaramos las variables auxiliares para este objeto y sus consecuencias.
            effect ePoli  = GetFirstEffect(oPC);
            int    iEstado = 0;
            effect eEstado;
            // Para saber si esta o no transformado, usaremos la variable iEstado, un valor 0 indica que no, un valor
            // de 1 indicara que si. Por lo cual entramos en un bucle que se repetira mientras halla efectos por
            // analizar y no se deje claro que se esta transformado.
            while(GetIsEffectValid(ePoli) && iEstado == 0)
            {
                // Si el efecto es que esta transformado, guardamos este efecto en un efecto secundario auxiliar y
                // cambiamos la variable que indica si esta o no transformado.
                if(GetEffectType(ePoli) == EFFECT_TYPE_POLYMORPH)
                {
                    iEstado = 1;
                    eEstado = ePoli;
                }
                ePoli = GetNextEffect(oPC);
            }
            // Ahora analizamos el estado de la variable de transformacion y si no esta lo transformamos y si esta
            // anulamos la transformacion.
            if(iEstado == 0)
                ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectPolymorph(POLYMORPH_TYPE_BALOR), oPC);
            else if(iEstado == 1)
                RemoveEffect(oPC, eEstado);
        }
    }
}
Volver arriba Ir abajo
Contenido patrocinado





ayuda... :( Empty
MensajeTema: Re: ayuda... :(   ayuda... :( I_icon_minitime

Volver arriba Ir abajo
 
ayuda... :(
Volver arriba 
Página 1 de 1.
 Temas similares
-
» ayuda plis
» Ayuda porfavor T_T
» Ayuda al Invitado

Permisos de este foro:No puedes responder a temas en este foro.
Neverwinter Nights, modding - scripts - manuales, todo sobre el NWN :: NWToolSet (Aurora) :: Scripting NWN :: Dudas y Preguntas (Scripting)-
Cambiar a: