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

Tintes para el pelo

Avernum Tierra de Heroes scripting

4 respuestas al tema

#1 Avernum

Avernum

    Humano

  • Miembro
  • Pip
  • 15 posts

Posteado 22 March 2020 - 06:09 PM

Hola, 

 

Para aquellos coquetones, presento un pequeño script para cambiar el color del pelo del personaje:

 

//::///////////////////////////////////////////////
//:: TIERRA DE HEROES - tdh_onact_it_gen
//:: Copyright (c) 2018 Fran Luque (Avernum).
//:://////////////////////////////////////////////
/*

    On Activate Item General de Tierra de Heroes

    Acciones

    Poner var en ubicado
    Lente Magica
    Fantasmas Altar Tierra *Especifico de Quest
    Autoseguir
    Crear Marca
    Lanzar Bengala
    Town Portal cutre -> crea portal a campamento
    Plantar Item
    Tinte para el pelo


    Lubrica palanca
    Cambia var de target
    Ejecuta FX, etc.
  

*/
//:://////////////////////////////////////////////
//:: Created By: Fran Luque
//:: Created On: 17/11/2018
//:: Last Update: 22/03/2020
//:://////////////////////////////////////////////
void main()
{
    object oObjetoActivado          = GetItemActivated();
    object oActivador               = GetItemActivator();
    object oObjetoBlanco            = GetItemActivatedTarget();
    location lLocObjetoBlanco       = GetItemActivatedTargetLocation();

    string sResRefOA                = GetResRef(oObjetoActivado);
    string sNombreOA                = GetName(oObjetoActivado);

    int iAccion                     = GetLocalInt(oObjetoActivado,      "AccionOAGEN");
    string sTagObjetoAccion         = GetLocalString(oObjetoActivado,   "TagObjetoAccionOAGEN");
    object oObjetoAccion            = GetNearestObjectByTag(sTagObjetoAccion, oActivador);
    string sNombreVarObjetoAccion   = GetLocalString(oObjetoActivado,   "NombreVarObjetoAccionOAGEN");
    int iValorVarObjetoAccion       = GetLocalInt(oObjetoActivado,      "ValorVarObjetoAccionOAGEN");
    string iResRefObjetoAccion      = GetLocalString(oObjetoActivado,   "ResRefObjetoAccion");
    object oTmp;


    //Desaparicion de vars al vender en tienda, usar descripcion no identificada
    if (iAccion==FALSE){iAccion=StringToInt(GetDescription(oObjetoActivado, TRUE, FALSE));}

    switch(iAccion)
    {        
        case 1: //Tinte pelo
            SetColor(oActivador,COLOR_CHANNEL_HAIR,iValorVarObjetoAccion);
        break;
    }
}

 

Uso: 

 

Crear un item con la propiedad Activate Power o Unique Power Self Only.

Poner una variable llamada AccionOAGEN=1 y  ValorVarObjetoAccionOAGEN = color del pelo. 

Para la carta de colores de pelo, ver: http://www.amiaworld...too_colors.html

Al usar el objeto , el color de pelo del personaje cambiará al color que pongas en la var ValorVarObjetoAccionOAGEN

El script tiene muchas mas funcionalidades, pero de momento solo pongo lo del pelo.

Es persistente de por sí, al grabar el personaje conserva el color de pelo.

 

Espero que os sirva de algo.


Editado por Avernum, 02 May 2020 - 07:42 PM.


#2 Zoraga

Zoraga

    Ancillae

  • Miembro
  • PipPipPip
  • 254 posts

Posteado 23 March 2020 - 01:56 AM

Que buena idea para añadir en una barbería o peluquería, ¿se le pone 1 variable diferente a cada tinte pero manteniendo el tag cierto?.


Colaborando en:



Nombre servidor: ES) Rebelión del Submundo
Tipo de servidor: rol/acción/jvj
Jugadores: 1-25
Niveles: 1-30
Base literaria: Reinos Olvidados
IP (conectar directamente): sombrasdefaerun.no-ip.org
Foro: http://usn-rol.foroes.org/



 


#3 Avernum

Avernum

    Humano

  • Miembro
  • Pip
  • 15 posts

Posteado 25 March 2020 - 06:06 PM

Sí, cambiando el valor de la variable int ValorVarObjetoAccionOAGEN al numero de color de pelo de la carta de colores conseguimos el pelo de ese color. 

 

El tag no cambia y debe ser tdh_onact_it_gen, porque tengo activada la opcion  MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS  ( SetModuleSwitch (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE); ) que como ya sabeis se pone en el OnModuleLoad y ejecuta un script llamado igual que el tag del objeto que activas. 

 

Esto se puede usar para todos los eventos: recoger un objeto, activarlo, dejarlo etc etc. 

 

-Ponerse una capa , volverse invisible y que te vuelvas visible al quitartela. 

-Mensaje si dejas un objeto de quest en el suelo o mensaje si lo recoges ("Has obtenido un objeto importante").

-Sets. Al ponerte el yelmo, guantes y botas, te da un bonus especial por el set.

etc etc


Editado por Avernum, 25 March 2020 - 06:09 PM.


#4 lavafuego

lavafuego

    Ancillae

  • Miembro
  • PipPipPip
  • 409 posts

Posteado 25 May 2020 - 04:23 PM

que gran aporte para personalizar pjs muchas gracias¡¡¡¡


http://tierrasdenemar.mi-foro.es/  (abierto para test 79.109.30.79:5121 )


#5 Avernum

Avernum

    Humano

  • Miembro
  • Pip
  • 15 posts

Posteado 23 June 2020 - 02:38 AM

Novedades en el tema Tintes para el Pelo:

 

Aquí tenéis la función para crear un tinte para el pelo concreto aleatorio entre 120 colores diferentes.

 

En realidad hay 175 colores, pero soy demasiado perro para codificarlos todos. He tomado la descripción de los colores de Cloth 1 y he pasado a la función los que coincidían.

 

Si algún voluntario quiere codificar y ponerle nombre al resto de colores, adelante.

 

Requiere un item, cualquiera que tenga Unique Power Self Only . Unlimited Uses, cuyo ResRef es que se usa en la función. 

 

Requiere que o bien se añada el código de activación (ver más arriba tdh_onact_it_gen) a vuestro OnModuleActivateItem o bien tengais activado que se ejecuten scripts según el tag del item. Vosotros mismos.

 

Se le pone al tinte el nombre adecuado según color. 

 

Función:

 

//::////////////////////////////////////////////////::////////////////////////////////////////////////::////////////////////////////////////////////////::///////////
object CrearTinteParaElPelo(object oDondeCrearlo = OBJECT_SELF, int iColor = -1)
{
object oTinte;
if (iColor<=0){ iColor = 55 + (Random(120)+1); }
string sNombreColor;
switch(iColor)
{
case 56: sNombreColor= "Plata"; break;
case 57: sNombreColor= "Obsidiana"; break;
case 58: sNombreColor= "Oro"; break;
case 59: sNombreColor= "Cobre"; break;
case 60: sNombreColor= "Gris"; break;
case 61: sNombreColor= "Espejo"; break;
case 62: sNombreColor= "Blanco puro"; break;
case 63: sNombreColor= "Negro puro"; break;
case 64: sNombreColor= "Rosa ahumado"; break;
case 65: sNombreColor= "Gris ahumado"; break;
case 66: sNombreColor= "Oro ahumado"; break;
case 67: sNombreColor= "Verde Hoja Ahumada"; break;
case 68: sNombreColor= "Verde ahumado"; break;
case 69: sNombreColor= "Verde oscuro ahumado"; break;
case 70: sNombreColor= "Púrpura real ahumado"; break;
case 71: sNombreColor= "Crepúsculo ahumado"; break;
case 72: sNombreColor= "Ciruela ahumada"; break;
case 73: sNombreColor= "glicinia ahumada"; break;
case 74: sNombreColor= "Marrón ahumado"; break;
case 75: sNombreColor= "Gris ahumado"; break;
case 76: sNombreColor= "Verde Marino Ahumado"; break;
case 77: sNombreColor= "Hoja de eucalipto ahumada"; break;
case 78: sNombreColor= "Azul ahumado"; break;
case 79: sNombreColor= "Azul pizarra ahumado"; break;
case 80: sNombreColor= "Verde Cazador Ahumado"; break;
case 81: sNombreColor= "Verde tomillo ahumado"; break;
case 82: sNombreColor= "Azul hielo ahumado"; break;
case 83: sNombreColor= "Azul Cobalto Ahumado"; break;
case 84: sNombreColor= "Saltamontes ahumado"; break;
case 85: sNombreColor= "Piedra ahumada"; break;
case 86: sNombreColor= "Hongo ahumado"; break;
case 87: sNombreColor= "Verde Musgo Ahumado"; break;
case 88: sNombreColor= "Rojo ahumado muy claro"; break;
case 89: sNombreColor= "Rojo ahumado"; break;
case 90: sNombreColor= "Rojo Ahumado"; break;
case 91: sNombreColor= "Rojo oscuro ahumado"; break;
case 92: sNombreColor= "Latón ahumado muy claro"; break;
case 93: sNombreColor= "Latón ahumado"; break;
case 94: sNombreColor= "Latón ahumado"; break;
case 95: sNombreColor= "Latón ahumado oscuro"; break;
case 96: sNombreColor= "Cereza negra muy clara"; break;
case 97: sNombreColor= "Cereza negra clara"; break;
case 98: sNombreColor= "Cereza negra"; break;
case 99: sNombreColor= "Cereza negra oscura"; break;
case 100: sNombreColor= "Canela muy clara"; break;
case 101: sNombreColor= "Canela clara"; break;
case 102: sNombreColor= "Canela"; break;
case 103: sNombreColor= "Canela oscura"; break;
case 104: sNombreColor= "Verde Cazador muy Claro"; break;
case 105: sNombreColor= "Verde Cazador Claro"; break;
case 106: sNombreColor= "Verde Cazador"; break;
case 107: sNombreColor= "Verde Cazador Oscuro"; break;
case 108: sNombreColor= "Verde Druida muy claro"; break;
case 109: sNombreColor= "Verde Druida Claro"; break;
case 110: sNombreColor= "Verde Druida"; break;
case 111: sNombreColor= "Verde Druida Oscuro"; break;
case 112: sNombreColor= "Niebla muy clara de cementerio"; break;
case 113: sNombreColor= "Niebla de Tumba Ligera"; break;
case 114: sNombreColor= "Niebla del cementerio"; break;
case 115: sNombreColor= "Niebla oscura"; break;
case 116: sNombreColor= "Castaño muy claro"; break;
case 117: sNombreColor= "Castaño Claro"; break;
case 118: sNombreColor= "Castaño"; break;
case 119: sNombreColor= "Castaño oscuro"; break;
case 120: sNombreColor= "Arcilla muy clara"; break;
case 121: sNombreColor= "Arcilla clara"; break;
case 122: sNombreColor= "Arcilla"; break;
case 123: sNombreColor= "Arcilla oscura"; break;
case 124: sNombreColor= "Ceniza tostada muy clara"; break;
case 125: sNombreColor= "Ceniza tostada clara"; break;
case 126: sNombreColor= "Ceniza tostada"; break;
case 127: sNombreColor= "Ceniza tostada oscura"; break;
case 128: sNombreColor= "Marrón caracol muy claro"; break;
case 129: sNombreColor= "Marrón caracol claro"; break;
case 130: sNombreColor= "Marrón caracol"; break;
case 131: sNombreColor= "Marrón caracol oscuro"; break;
case 132: sNombreColor= "Azul cobalto muy claro"; break;
case 133: sNombreColor= "Azul Cobalto Claro"; break;
case 134: sNombreColor= "Azul Cobalto"; break;
case 135: sNombreColor= "Azul Cobalto Oscuro"; break;
case 136: sNombreColor= "Azul Medianoche muy claro"; break;
case 137: sNombreColor= "Azul Medianoche Claro"; break;
case 138: sNombreColor= "Azul Medianoche"; break;
case 139: sNombreColor= "Azul Medianoche Oscuro"; break;
case 140: sNombreColor= "Verde pavo real muy claro"; break;
case 141: sNombreColor= "Verde pavo real claro"; break;
case 142: sNombreColor= "Verde pavo real"; break;
case 143: sNombreColor= "Verde pavo real oscuro"; break;
case 144: sNombreColor= "Púrpura real muy claro"; break;
case 145: sNombreColor= "Púrpura Real Claro"; break;
case 146: sNombreColor= "Púrpura Real"; break;
case 147: sNombreColor= "Púrpura Real Oscuro"; break;
case 148: sNombreColor= "Azul Montaña"; break;
case 149: sNombreColor= "Azul Montaña Oscuro"; break;
case 150: sNombreColor= "Verde Espuma de Mar"; break;
case 151: sNombreColor= "Verde Espuma de Mar Oscura"; break;
case 152: sNombreColor= "Verde Primavera"; break;
case 153: sNombreColor= "Verde oscuro de primavera"; break;
case 154: sNombreColor= "Oro Miel"; break;
case 155: sNombreColor= "Oro Miel Oscura"; break;
case 156: sNombreColor= "Moneda de cobre"; break;
case 157: sNombreColor= "Moneda de cobre oscuro"; break;
case 158: sNombreColor= "Hielo de bayas"; break;
case 159: sNombreColor= "Hielo de bayas oscuras"; break;
case 160: sNombreColor= "Ciruela de azúcar"; break;
case 161: sNombreColor= "Ciruela de azúcar oscura"; break;
case 162: sNombreColor= "Hielo de bayas claras"; break;
case 163: sNombreColor= "Ciruela"; break;
case 164: sNombreColor= "Azul hielo"; break;
case 165: sNombreColor= "Azul Cadete"; break;
case 166: sNombreColor= "Hielo Blanco"; break;
case 167: sNombreColor= "Ónix negro"; break;
case 168: sNombreColor= "Tallo de apio"; break;
case 169: sNombreColor= "Siempre Verde"; break;
case 170: sNombreColor= "Púrpura místico"; break;
case 171: sNombreColor= "Azul místico"; break;
case 172: sNombreColor= "Verde Dorado"; break;
case 173: sNombreColor= "Frambuesa de chocolate"; break;
case 174: sNombreColor= "Marrón de silla"; break;
case 175: sNombreColor= "Oro moteado"; break;
}
oTinte = CreateItemOnObject("it_mthnmisc005", oDondeCrearlo, 1, "tdh_onact_it_gen");
SetLocalInt(oTinte, "AccionOAGEN", 10);
SetLocalInt(oTinte, "ValorVarObjetoAccionOAGEN", iColor);
SetName(oTinte, "<c ¢{>Tinte para el pelo, "+sNombreColor+"</c>");
//SendMessageToPC(GetFirstPC(), "ColorInt: "+IntToString(iColor)+" Nombre: "+sNombreColor);
return oTinte;
}
//::////////////////////////////////////////////////::////////////////////////////////////////////////::////////////////////////////////////////////////::///////////

 

Llamada simple:

 

CrearTinteParaElPelo();

 

Esto crea un tinte de un color aleatorio, con el nombre adecuado.

 

CrearTinteParaElPelo(OBJECT_SELF, 154);

 

Crea un tinte en el objeto que llama la función, color "Oro miel"

 

Esto abre las puertas para crear tintes aleatorios para cada tipo de equipo: Armaduras, capas, armas, etc.... Aunque el trabajo de codificar los colores y ponerles nombres si no lo encuentro sea horrible...

 

Espero que disfrutéis cambiando de color el pelo de vuestros personajes, o que pongáis una peluquería en vuestra ciudad favorita.

 

Saludos!


Editado por Avernum, 23 June 2020 - 02:43 AM.




Responder



  



También marcado con Avernum, Tierra de Heroes, scripting

A Bragol. Tus amigos te echan de menos.