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

Equipa item (varios objetos mismo tag)


2 respuestas al tema

#1 Cayaloq

Cayaloq

    Humano

  • Miembro
  • Pip
  • 66 posts

Posteado 08 December 2020 - 01:44 PM

Hola tengo un script puesto en onequipeitem. Funciona perfectamente. Pero creando otra copia del mismo objeto, el segundo no funciona.

 

    if (oItem == GetObjectByTag("piedra_drow"))   // Tag del objeto
    {
        int iPCApa = GetAppearanceType(oPC);
        int iPCApaOriginal = GetLocalInt(oVariables, "original");
        if(!GetIsPC(oPC)){return;} //si no es PJ, deja de leer aquí
        SetLocalInt(oVariables, "original", iPCApa);
        if(GetGender(oPC)== GENDER_MALE)
        {
            if(GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_WARRIOR_2);
            }
            else if(GetLevelByClass(CLASS_TYPE_CLERIC,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_WARRIOR_2);
            }
            else if(GetLevelByClass(CLASS_TYPE_FIGHTER,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FIGHTER);
            }
            else if(GetLevelByClass(CLASS_TYPE_WIZARD,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_WIZARD);
            }
            else if(GetLevelByClass(CLASS_TYPE_SORCERER,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_WIZARD);
            }
            else if(GetLevelByClass(CLASS_TYPE_DRUID,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_WIZARD);
            }
            else if(GetLevelByClass(CLASS_TYPE_ROGUE,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FIGHTER);
            }
            else if(GetLevelByClass(CLASS_TYPE_RANGER,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_WARRIOR_3);
            }
            else if(GetLevelByClass(CLASS_TYPE_PALADIN,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_WARRIOR_2);
            }
            else
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_WARRIOR_1);
            }
        }
        else
        {
            if(GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FEMALE_1);
            }
            else if(GetLevelByClass(CLASS_TYPE_CLERIC,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_CLERIC);
            }
            else if(GetLevelByClass(CLASS_TYPE_FIGHTER,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FEMALE_1);
            }
            else if(GetLevelByClass(CLASS_TYPE_WIZARD,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FEMALE_2);
            }
            else if(GetLevelByClass(CLASS_TYPE_SORCERER,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FEMALE_1);
            }
            else if(GetLevelByClass(CLASS_TYPE_DRUID,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FEMALE_2);
            }
            else if(GetLevelByClass(CLASS_TYPE_ROGUE,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FEMALE_1);
            }
            else if(GetLevelByClass(CLASS_TYPE_RANGER,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FEMALE_2);
            }
            else if(GetLevelByClass(CLASS_TYPE_PALADIN,oPC) >= 6)
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FEMALE_1);
            }
            else
            {
            SetCreatureAppearanceType(oPC,APPEARANCE_TYPE_DROW_FEMALE_2);
            }
        }
    }

 

 



#2 Setaka

Setaka

    Ancillae

  • Miembro
  • PipPipPip
  • 377 posts

Posteado 11 December 2020 - 05:27 PM

¡Hola gentucilla, cuánto tiempo!  ^^

 

Estoy muy oxidado pero creo que el error está en la primera línea. GetObjectByTag te devuelve el valor de un objeto, no sirve para comparar texto que es lo que necesitas en este caso. Cuando creas la copia no te funciona porque detecta que el objeto que estás activando no es el mismo que devuelve la función (te encuentra el primero). Creo que debería ser if(GetTag(oItem)=="piedra_drow"){etc etc}

 

Ya dirás si es así o si tengo que volver a la cueva y no salir nunca más.


Tutorial NWN Scripting: Click aquí


#3 Cayaloq

Cayaloq

    Humano

  • Miembro
  • Pip
  • 66 posts

Posteado 11 December 2020 - 10:43 PM

Hola, menos mal que estás oxidado ... Funciona perfectamente puedes andar por ahí sin ningún tipo de temor.

 

Otro problema que me resuelves y van ...

 

Muchísimas gracias Setaka





Responder



  


A Bragol. Tus amigos te echan de menos.