• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Ayuda] separar Melee

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1default [Ayuda] separar Melee el Vie Oct 26, 2018 10:33 am

    [Hacker]

    avatar
    Nuevo Miembro
    Nuevo Miembro
    hola amigos de tibiaface hoy del vengo a pedir una ayudita con lo sigiente
    tengo un systema de slot para que le da a los items habilidades extra pero hay una parte de ese systema qye quiero modifecar que es el melee
    lo que qiero hacer es separar eso para que cuando use el slot system no de la habilidad melee sino que le de sword, axe, club

    link del systema que uso
    [Tienes que estar registrado y conectado para ver este vínculo]

    gracias de antemano (y)

    Ver perfil de usuario

    2default Re: [Ayuda] separar Melee el Vie Oct 26, 2018 10:42 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui tienes las lista de las condiciones

    Código:

    bool ConditionAttributes::setParam(ConditionParam_t param, int32_t value)
    {
       bool ret = ConditionGeneric::setParam(param, value);

       switch (param) {
          case CONDITION_PARAM_SKILL_MELEE: {
             skills[SKILL_CLUB] = value;
             skills[SKILL_AXE] = value;
             skills[SKILL_SWORD] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_MELEEPERCENT: {
             skillsPercent[SKILL_CLUB] = value;
             skillsPercent[SKILL_AXE] = value;
             skillsPercent[SKILL_SWORD] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_FIST: {
             skills[SKILL_FIST] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_FISTPERCENT: {
             skillsPercent[SKILL_FIST] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_CLUB: {
             skills[SKILL_CLUB] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_CLUBPERCENT: {
             skillsPercent[SKILL_CLUB] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_SWORD: {
             skills[SKILL_SWORD] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_SWORDPERCENT: {
             skillsPercent[SKILL_SWORD] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_AXE: {
             skills[SKILL_AXE] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_AXEPERCENT: {
             skillsPercent[SKILL_AXE] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_DISTANCE: {
             skills[SKILL_DISTANCE] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_DISTANCEPERCENT: {
             skillsPercent[SKILL_DISTANCE] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_SHIELD: {
             skills[SKILL_SHIELD] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_SHIELDPERCENT: {
             skillsPercent[SKILL_SHIELD] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_FISHING: {
             skills[SKILL_FISHING] = value;
             return true;
          }

          case CONDITION_PARAM_SKILL_FISHINGPERCENT: {
             skillsPercent[SKILL_FISHING] = value;
             return true;
          }

          case CONDITION_PARAM_STAT_MAXHITPOINTS: {
             stats[STAT_MAXHITPOINTS] = value;
             return true;
          }

          case CONDITION_PARAM_STAT_MAXMANAPOINTS: {
             stats[STAT_MAXMANAPOINTS] = value;
             return true;
          }

          case CONDITION_PARAM_STAT_MAGICPOINTS: {
             stats[STAT_MAGICPOINTS] = value;
             return true;
          }

          case CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT: {
             statsPercent[STAT_MAXHITPOINTS] = std::max<int32_t>(0, value);
             return true;
          }

          case CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT: {
             statsPercent[STAT_MAXMANAPOINTS] = std::max<int32_t>(0, value);
             return true;
          }

          case CONDITION_PARAM_STAT_MAGICPOINTSPERCENT: {
             statsPercent[STAT_MAGICPOINTS] = std::max<int32_t>(0, value);
             return true;
          }

          case CONDITION_PARAM_DISABLE_DEFENSE: {
             disableDefense = (value != 0);
             return true;
          }

          case CONDITION_PARAM_SPECIALSKILL_CRITICALHITCHANCE: {
             specialSkills[SPECIALSKILL_CRITICALHITCHANCE] = value;
             return true;
          }

          case CONDITION_PARAM_SPECIALSKILL_CRITICALHITAMOUNT: {
             specialSkills[SPECIALSKILL_CRITICALHITAMOUNT] = value;
             return true;
          }

          case CONDITION_PARAM_SPECIALSKILL_HITPOINTSLEECHCHANCE: {
             specialSkills[SPECIALSKILL_HITPOINTSLEECHCHANCE] = value;
             return true;
          }

          case CONDITION_PARAM_SPECIALSKILL_HITPOINTSLEECHAMOUNT: {
             specialSkills[SPECIALSKILL_HITPOINTSLEECHAMOUNT] = value;
             return true;
          }

          case CONDITION_PARAM_SPECIALSKILL_MANAPOINTSLEECHCHANCE: {
             specialSkills[SPECIALSKILL_MANAPOINTSLEECHCHANCE] = value;
             return true;
          }

          case CONDITION_PARAM_SPECIALSKILL_MANAPOINTSLEECHAMOUNT: {
             specialSkills[SPECIALSKILL_MANAPOINTSLEECHAMOUNT] = value;
             return true;
          }

          default:
             return ret;
       }
    }



    Ver perfil de usuario http://www.tibiaface.com

    3default Re: [Ayuda] separar Melee el Vie Oct 26, 2018 11:29 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    en este paso

    Ahora nos vamos a data/creaturescripts/scripts copiamos cualquier archivo y renombramos por slot.lua

    no fijamos que el scripts acumula un serie de condiciones


    al principio del scripts vemos algo como esto

    Código:
    local conditionMP,conditionHP,conditionML,conditionCLUB,conditionSHI,conditionDIST,conditionAMP = {},{},{},{},{},{},{}

    aqui tenemos que añadir nuetro nombre de nuestra condicion

    conditionSWORD[i] y agregar unas llaves mas ,{}

    nos vamos a buscar esto:

    Código:

      conditionDIST[i] = createConditionObject(CONDITION_ATTRIBUTES)
      setConditionParam(conditionDIST[i], CONDITION_PARAM_SUBID, 55)
      setConditionParam(conditionDIST[i], CONDITION_PARAM_BUFF_SPELL, 1)
      setConditionParam(conditionDIST[i], CONDITION_PARAM_TICKS, -1)
      setConditionParam(conditionDIST[i], CONDITION_PARAM_SKILL_DISTANCEPERCENT, 100+i)

    cambiamos el nombre de la condicion al nombre de nuestra condicion establecidad en local:

    conditionDIST[i] a conditionSWORD[i] supongamos que este es el que vamos añadir

    como vera esta linea almacena un condicion
    Código:
    CONDITION_PARAM_SKILL_DISTANCEPERCENT

    si nosotro agregamos una condicion mas tendremos que cambiar ejemplo por

    CONDITION_PARAM_SKILL_CLUBPERCENT

    CONDITION_PARAM_SKILL_SWORDPERCENT

    CONDITION_PARAM_SKILL_AXEPERCENT


    estos 3 engloba esta condicion

    CONDITION_PARAM_SKILL_MELEEPERCENT

    como tambien puedes usar uno por uno



    y una condicion

    Código:
    CONDITION_PARAM_SUBID
    <<<---- esta condicion mientra se agregue mas linea iremos aumentando su valor consecutivamente

    mas abajo veremos algo como esto
    Código:

    elseif sl == 'dist' then
      player:addCondition(conditionDIST[tonumber(n)])
      ca[55] = 1

    si nostro vamos a añadir otra condicion tendremos que cambiar el nombre dist y valor 55 consecutivo ejemplo

    sword , 56

    tambien aqui modificamos el nombre de la condicion por la colocamos en local

    conditionDIST a conditionSWORD

    si nostro agregamos una condicion ams al scripts tendremos que agregar un valor mas consecutivo

    for i=50,55 do a for i=50,56 do -----> apra que nuestra nueva condicion funcione


    una ves configurado el creaturescripts no vamos a

    nos vamos a data/actions/scripts copiamos cualquier archivo y renombramos por slot.lua

    y solo moveos una cosa aqui

    local l = choose('hp','mp','ml','melee','shield','dist') -----colocamos el nombre de nuestra condicion que hicismo en el ultimo paso

    local l = choose('hp','mp','ml','melee','shield','dist','sword')


    listo y eso es todo apra agregar mas condiciones



    Ver perfil de usuario http://www.tibiaface.com

    4default Re: [Ayuda] separar Melee el Vie Oct 26, 2018 5:59 pm

    [Hacker]

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Very Happy Resuelto Gracias Very Happy

    Ver perfil de usuario

    Contenido patrocinado


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

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).