Pulse Control+D para no olvidar este enlace.
 
Pagina principalÍndicePortalFAQBuscarRegistrarseConectarsePagina principal

Compartir | 
 

 No funciona

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
legendario2009
Aprendiz
Aprendiz


Masculino
Edad: 23
Puntos de Actividad: 1758

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

Nº. de Miembro: 49
Respeto por el Foro:
100 / 100100 / 100


MensajeTema: No funciona   Dom 05 Jul 2009, 2:27 pm

Buenas, he hecho este script, que lo que hace es que si tienes algunos de los objetos mencionados en el inventario, no te venda el posadero nada, pero si no los tienes que te los venda, pero me da la sensación de que esta incomplento, porque no funciona ¿donde esta el fallo?

Código:

#include "nw_i0_tool"

int StartingConditional()
{

    // Comprobar si el PJ que habla tiene los objetos en su inventario
    if(!HasItem(GetPCSpeaker(), "bebe_agua"))
    TakeGoldFromCreature(50, GetPCSpeaker(), TRUE);
        return FALSE;
    if(!HasItem(GetPCSpeaker(), "bebe_cerveza"))
    TakeGoldFromCreature(150, GetPCSpeaker(), TRUE);
        return FALSE;
    if(!HasItem(GetPCSpeaker(), "bebe_grog"))
    TakeGoldFromCreature(200, GetPCSpeaker(), TRUE);
        return FALSE;

    return TRUE;
}
Volver arriba Ir abajo
legendario2009
Aprendiz
Aprendiz


Masculino
Edad: 23
Puntos de Actividad: 1758

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

Nº. de Miembro: 49
Respeto por el Foro:
100 / 100100 / 100


MensajeTema: Re: No funciona   Vie 10 Jul 2009, 7:24 pm

¿nadie me va ayudar?
Volver arriba Ir abajo
Ender
Patos@
Patos@


Masculino
Edad: 20
Puntos de Actividad: 1001

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

Nº. de Miembro: 100
Respeto por el Foro:
100 / 100100 / 100


MensajeTema: Re: No funciona   Lun 31 Ago 2009, 1:25 am

No entiendo muy bien donde va ese guión y lo que quieres hacer.

Hay sale que quita dinero y retorna falso en el condicional de una conversación (supongo), si NO POSEES ESE OBJETO. Ten en cuenta que con la admiración estas negando la siguiente función. Si precisamente querías esto, el error debe estar en otro sitio.


pero si te has equivocado con la admiración prueba esto:
Código:
 

#include "nw_i0_tool"

int StartingConditional()
{

    // Comprobar si el PJ que habla tiene los objetos en su inventario
    if(HasItem(GetPCSpeaker(), "bebe_agua"))
    TakeGoldFromCreature(50, GetPCSpeaker(), TRUE);
        return FALSE;
    if(HasItem(GetPCSpeaker(), "bebe_cerveza"))
    TakeGoldFromCreature(150, GetPCSpeaker(), TRUE);
        return FALSE;
    if(HasItem(GetPCSpeaker(), "bebe_grog"))
    TakeGoldFromCreature(200, GetPCSpeaker(), TRUE);
        return FALSE;

    return TRUE;
}


También puedes directamente, en el archivo que abre la tienda negarlo:


Código:
#include "nw_i0_plot"

void main()
{
 
  if(!HasItem(GetPCSpeaker(), "bebe_agua"))
{
    AssignCommand(OBJECT_SELF,SpeakString( "No pienso abrirte la tienda por tener es objeto, fuera de aqui"));
return;
}
    object oStore = GetNearestObject(OBJECT_TYPE_STORE);
    if (GetIsObjectValid(oStore) == TRUE)
    {
        gplotAppraiseOpenStore(oStore, GetPCSpeaker());
    }
    else
        PlayVoiceChat(VOICE_CHAT_CUSS);
}


Este ejemplo mio no iria en condicional de una conversación, si no en la acción, y si tienes ese objeto con tag "bebe_agua" el tendero te diria esas palabras y automáticamente se cerraría la conversación

Es una pena que estén cerrados muchos temas, aunque algunos están muy bien, hay mucho código que depurar.
Volver arriba Ir abajo
Gonar
Patos@
Patos@


Masculino
Edad: 35
Puntos de Actividad: 527

Cantidad de envíos: 18
Fecha de inscripción: 09/02/2011

Nº. de Miembro: 132
Respeto por el Foro:
100 / 100100 / 100


MensajeTema: Re: No funciona   Jue 10 Feb 2011, 12:57 am

No entiendo en que situación usarias esto, yo lo haria de otra manera, pero bueno.

Haciendolo tal y como tu, en un condicional el codigo seria asi corrigiendo errores, depurando y mejorando el tema economico:

Código:
#include "nw_i0_tool"
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    int iDevolver = TRUE;
    // Comprobar si el PJ que habla tiene los objetos en su inventario y ademas si puede pagarlos.
    if(!HasItem(oPC, "bebe_agua") && GetGold(oPC) >= 50)
    {
        TakeGoldFromCreature(50, oPC, TRUE);
        iDevolver = FALSE;
    }
    if(!HasItem(oPC, "bebe_cerveza") && GetGold(oPC) >= 150)
    {
        TakeGoldFromCreature(150, oPC, TRUE);
        iDevolver = FALSE;
    }
    if(!HasItem(oPC, "bebe_grog") && GetGold(oPC) >= 200)
    {
        TakeGoldFromCreature(200, oPC, TRUE);
        iDevolver = FALSE;
    }
    return iDevolver;
}


Ahora bien como dice Ender, deberias de meterlo en una acción, y tu script para que funcione (Prefiero como te dice Ender) como tu lo tenias previsto, seria asi:

Código:
#include "nw_i0_tool"
void main()
{
    object oPC = GetPCSpeaker();
    // Comprobar si el PJ que habla tiene los objetos en su inventario y ademas si puede pagarlos.
    if(!HasItem(oPC, "bebe_agua") && GetGold(oPC) >= 50)
        TakeGoldFromCreature(50, oPC, TRUE);
    if(!HasItem(oPC, "bebe_cerveza") && GetGold(oPC) >= 150)
        TakeGoldFromCreature(150, oPC, TRUE);
    if(!HasItem(oPC, "bebe_grog") && GetGold(oPC) >= 200)
        TakeGoldFromCreature(200, oPC, TRUE);
}
Volver arriba Ir abajo
 

No funciona

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

 Temas similares

-
»  No me funciona Partido 3D
» No me funciona el Spoiler!!!!!!
» ¿Alguien sabe como funciona FRAPS?
» ¿por que no me funciona el parche anticensura?
» Que es un foro y como funciona...

Permiso 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)-