Ir para conteúdo
  • Cadastre-se
  • 0

l2jfrozen 1132 bug->collisions


Kef95

Pergunta

Olá, encontrei um bug. 
Colisões de mulheres não podem ler do navicat, como resultado as personagens femininas não tocam o solo.
O Navicat lê apenas M_COL_H e M_COL_R que são para homens.
BUG-> Quando eu mudo M_COL_H ou M_COL_R as colisões de mulheres também mudam, mas não deveriam.
F_COL_H e F_COL_R não estão funcionando, mesmo se eu mudar de 23 para 1, nada muda.

também no core não está inserido aquele método para F_COL_R e F_COL_H.

ENG:
Hello, i found a bug.
Collisions of females cannot read from navicat, as result females not touching the ground.
In navicat collisions are correct, but it read only M_COL_H and M_COL_R which are for males.
BUG-> when i change the M_COL_H or M_COL_R then females collisions are change too,but they shouldn't.
F_COL_H and F_COL_R aren't working at all , even if i change the number from 23 to 1 , nothing changes.


java codigo->

Spoiler

/*
 * L2jFrozen Project - www.l2jfrozen.com 
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 * 02111-1307, USA.
 *
 *

O conteúdo está oculto, favor efetuar login ou se cadastrar!

 */
package com.l2jfrozen.gameserver.datatables.sql;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;

import javolution.util.FastMap;

import org.apache.log4j.Logger;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.model.base.ClassId;
import com.l2jfrozen.gameserver.templates.L2PcTemplate;
import com.l2jfrozen.gameserver.templates.StatsSet;
import com.l2jfrozen.util.CloseUtil;
import com.l2jfrozen.util.database.DatabaseUtils;
import com.l2jfrozen.util.database.L2DatabaseFactory;

/**
 * @version $Revision: 1.6.2.1.2.10 $ $Date: 2005/03/29 14:00:54 $
 */
public class CharTemplateTable
{
    private static Logger LOGGER = Logger.getLogger(CharTemplateTable.class);
    
    private static CharTemplateTable _instance;
    
    private static final String[] CHAR_CLASSES =
    {
        "Human Fighter",
        "Warrior",
        "Gladiator",
        "Warlord",
        "Human Knight",
        "Paladin",
        "Dark Avenger",
        "Rogue",
        "Treasure Hunter",
        "Hawkeye",
        "Human Mystic",
        "Human Wizard",
        "Sorceror",
        "Necromancer",
        "Warlock",
        "Cleric",
        "Bishop",
        "Prophet",
        "Elven Fighter",
        "Elven Knight",
        "Temple Knight",
        "Swordsinger",
        "Elven Scout",
        "Plainswalker",
        "Silver Ranger",
        "Elven Mystic",
        "Elven Wizard",
        "Spellsinger",
        "Elemental Summoner",
        "Elven Oracle",
        "Elven Elder",
        "Dark Fighter",
        "Palus Knight",
        "Shillien Knight",
        "Bladedancer",
        "Assassin",
        "Abyss Walker",
        "Phantom Ranger",
        "Dark Elven Mystic",
        "Dark Elven Wizard",
        "Spellhowler",
        "Phantom Summoner",
        "Shillien Oracle",
        "Shillien Elder",
        "Orc Fighter",
        "Orc Raider",
        "Destroyer",
        "Orc Monk",
        "Tyrant",
        "Orc Mystic",
        "Orc Shaman",
        "Overlord",
        "Warcryer",
        "Dwarven Fighter",
        "Dwarven Scavenger",
        "Bounty Hunter",
        "Dwarven Artisan",
        "Warsmith",
        "dummyEntry1",
        "dummyEntry2",
        "dummyEntry3",
        "dummyEntry4",
        "dummyEntry5",
        "dummyEntry6",
        "dummyEntry7",
        "dummyEntry8",
        "dummyEntry9",
        "dummyEntry10",
        "dummyEntry11",
        "dummyEntry12",
        "dummyEntry13",
        "dummyEntry14",
        "dummyEntry15",
        "dummyEntry16",
        "dummyEntry17",
        "dummyEntry18",
        "dummyEntry19",
        "dummyEntry20",
        "dummyEntry21",
        "dummyEntry22",
        "dummyEntry23",
        "dummyEntry24",
        "dummyEntry25",
        "dummyEntry26",
        "dummyEntry27",
        "dummyEntry28",
        "dummyEntry29",
        "dummyEntry30",
        "Duelist",
        "DreadNought",
        "Phoenix Knight",
        "Hell Knight",
        "Sagittarius",
        "Adventurer",
        "Archmage",
        "Soultaker",
        "Arcana Lord",
        "Cardinal",
        "Hierophant",
        "Eva Templar",
        "Sword Muse",
        "Wind Rider",
        "Moonlight Sentinel",
        "Mystic Muse",
        "Elemental Master",
        "Eva's Saint",
        "Shillien Templar",
        "Spectral Dancer",
        "Ghost Hunter",
        "Ghost Sentinel",
        "Storm Screamer",
        "Spectral Master",
        "Shillien Saint",
        "Titan",
        "Grand Khauatari",
        "Dominator",
        "Doomcryer",
        "Fortune Seeker",
        "Maestro"
    };
    
    private final Map<Integer, L2PcTemplate> _templates;
    
    public static CharTemplateTable getInstance()
    {
        if (_instance == null)
        {
            _instance = new CharTemplateTable();
        }
        
        return _instance;
    }
    
    private CharTemplateTable()
    {
        _templates = new FastMap<>();
        Connection con = null;
        
        try
        {
            con = L2DatabaseFactory.getInstance().getConnection(false);
            PreparedStatement statement = con.prepareStatement("SELECT * FROM class_list, char_templates, lvlupgain" + " WHERE class_list.id = char_templates.classId" + " AND class_list.id = lvlupgain.classId" + " ORDER BY class_list.id");
            ResultSet rset = statement.executeQuery();
            
            while (rset.next())
            {
                StatsSet set = new StatsSet();
                // ClassId classId = ClassId.values()[rset.getInt("id")];
                set.set("classId", rset.getInt("id"));
                set.set("className", rset.getString("className"));
                set.set("raceId", rset.getInt("raceId"));
                set.set("baseSTR", rset.getInt("STR"));
                set.set("baseCON", rset.getInt("CON"));
                set.set("baseDEX", rset.getInt("DEX"));
                set.set("baseINT", rset.getInt("_INT"));
                set.set("baseWIT", rset.getInt("WIT"));
                set.set("baseMEN", rset.getInt("MEN"));
                set.set("baseHpMax", rset.getFloat("defaultHpBase"));
                set.set("lvlHpAdd", rset.getFloat("defaultHpAdd"));
                set.set("lvlHpMod", rset.getFloat("defaultHpMod"));
                set.set("baseMpMax", rset.getFloat("defaultMpBase"));
                set.set("baseCpMax", rset.getFloat("defaultCpBase"));
                set.set("lvlCpAdd", rset.getFloat("defaultCpAdd"));
                set.set("lvlCpMod", rset.getFloat("defaultCpMod"));
                set.set("lvlMpAdd", rset.getFloat("defaultMpAdd"));
                set.set("lvlMpMod", rset.getFloat("defaultMpMod"));
                set.set("baseHpReg", 1.5);
                set.set("baseMpReg", 0.9);
                set.set("basePAtk", rset.getInt("p_atk"));
                set.set("basePDef", /* classId.isMage()? 77 : 129 */rset.getInt("p_def"));
                set.set("baseMAtk", rset.getInt("m_atk"));
                set.set("baseMDef", rset.getInt("char_templates.m_def"));
                set.set("classBaseLevel", rset.getInt("class_lvl"));
                set.set("basePAtkSpd", rset.getInt("p_spd"));
                set.set("baseMAtkSpd", /* classId.isMage()? 166 : 333 */rset.getInt("char_templates.m_spd"));
                set.set("baseCritRate", rset.getInt("char_templates.critical") / 10);
                set.set("baseRunSpd", rset.getInt("move_spd"));
                set.set("baseWalkSpd", 0);
                set.set("baseShldDef", 0);
                set.set("baseShldRate", 0);
                set.set("baseAtkRange", 40);
                
                set.set("spawnX", rset.getInt("x"));
                set.set("spawnY", rset.getInt("y"));
                set.set("spawnZ", rset.getInt("z"));
                
                L2PcTemplate ct;
                
                set.set("collision_radius", rset.getDouble("m_col_r"));
                set.set("collision_height", rset.getDouble("m_col_h"));

                ct = new L2PcTemplate(set);
                // 5items must go here
                for (int x = 1; x < 6; x++)
                {
                    if (rset.getInt("items" + x) != 0)
                    {
                        ct.addItem(rset.getInt("items" + x));
                    }
                }
                _templates.put(ct.classId.getId(), ct);
                
                set = null;
                ct = null;
            }
            
            DatabaseUtils.close(statement);
            DatabaseUtils.close(rset);
            statement = null;
            rset = null;
        }
        catch (final SQLException e)
        {
            if (Config.ENABLE_ALL_EXCEPTIONS)
                e.printStackTrace();
            
            LOGGER.warn("error while loading char templates " + e.getMessage());
        }
        finally
        {
            CloseUtil.close(con);
        }
        
        LOGGER.info("CharTemplateTable: Loaded " + _templates.size() + " Character Templates.");
    }
    
    public L2PcTemplate getTemplate(final ClassId classId)
    {
        return getTemplate(classId.getId());
    }
    
    public L2PcTemplate getTemplate(final int classId)
    {
        final int key = classId;
        
        return _templates.get(key);
    }
    
    public static final String getClassNameById(final int classId)
    {
        return CHAR_CLASSES[classId];
    }
    
    public static final int getClassIdByName(final String className)
    {
        int currId = 1;
        
        for (final String name : CHAR_CLASSES)
        {
            if (name.equalsIgnoreCase(className))
            {
                break;
            }
            
            currId++;
        }
        
        return currId;
    }
    
    // public L2CharTemplate[] getAllTemplates()
    // {
    // return _templates.values().toArray(new L2CharTemplate[_templates.size()]);
    // }
}
 

[ENG] I tried to add these lines:
tentei adicionar estas linhas: 
                  set.set("collision_radius", rset.getDouble("m_col_r"));
                  set.set("collision_height", rset.getDouble("m_col_h"));
+                set.set("collision_radius", rset.getDouble("f_col_r"));
+                set.set("collision_height", rset.getDouble("f_col_h"));

mas então leia apenas F_COL_R e F_COL_H e não leia M_COL_R e M_COL_H
[ENG] But then it reversed and read only F_COL_R and F_COL_H and not the M_COL_R and  M_COL_H


Photo com colisões originais -> 

O conteúdo está oculto, favor efetuar login ou se cadastrar!
. <- Photo with original collisions, females are flying.
Photo com M_COL_H editado como F_COL_H -> 
O conteúdo está oculto, favor efetuar login ou se cadastrar!
 <- Photo with edited the M_COL_H as F_COL_H


Agradeço antecipadamente por sua ajuda.
[ENG] Thanks in advance for your help.

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts recomendados


  • 0

pode ser que você esteja certo, com quase toda certeza, não me lembro porque faz um absurdo de tempo que não vejo um core da frozen.

E você meu amigo deveria fazer o mesmo, o Core dela é de 2015/17 exagerando muito (na real não lembro).

Pega um projeto atual pra mexer mano, não preciso citar nomes, mas olha a pasta (lib) se tiver limpa já é um adianto, a pasta LIB da frozen é mais lotada que meu busão as 06:45.

 

Quero dizer que hoje em dia nem pra server PVP ela serve mais.

Editado por Gabrieljdb

Em breve novidades...

Link para o comentário
Compartilhar em outros sites

  • 0
15 minutos atrás, Gabrieljdb disse:

pode ser que você esteja certo, com quase toda certeza, não me lembro porque faz um absurdo de tempo que não vejo um core da frozen.

E você meu amigo deveria fazer o mesmo, o Core dela é de 2015/17 exagerando muito (na real não lembro).

Pega um projeto atual pra mexer mano, não preciso citar nomes, mas olha a pasta (lib) se tiver limpa já é um adianto, a pasta LIB da frozen é mais lotada que meu busão as 06:45.

Quero dizer que hoje em dia nem pra server PVP ela serve mais.

sim eu sei disso, mas ainda quero consertar. 
eu trabalhei muito tempo no l2jfrozen
não é fácil mudar agora para outro projeto.

 

18 minutos atrás, Gabrieljdb disse:

Pega um projeto atual pra mexer mano, não preciso citar nomes, mas olha a pasta (lib) se tiver limpa já é um adianto, a pasta LIB da frozen é mais lotada que meu busão as 06:45.

ajhajajajaja.

 

Link para o comentário
Compartilhar em outros sites

  • 0

não testei mais isso pode ser um caminho

O conteúdo está oculto, favor efetuar login ou se cadastrar!

O conteúdo está oculto, favor efetuar login ou se cadastrar!

o projeto parece ser baseado na frozen

então tem como extrair a correção, só que precisa migrar para xml

 

Editado por RootZerO
Link para o comentário
Compartilhar em outros sites

  • 0

@RootZerO i tried something like this ..  on gameserver/template/L2PcTemplate.java

    public final int _currentCollisionRadius;
    public final int _currentCollisionHeight;
+    public int sex ;

@@

    public double getCollisionRadius()
    {
-       return  _currentCollisionRadius;
+        return (sex == Sex.MALE) ? collisionRadius : _currentCollisionRadius;
    }
    
    /**
     * @return
     */
    public double getCollisionHeight()
    {
-      return _currentCollisionHeight;
+     return (sex == Sex.MALE) ? collisionHeight : _currentCollisionHeight;
    }



BUT NOT WORKING.. IDK WHAT TO DO!!

Link para o comentário
Compartilhar em outros sites

  • 0
Em 14/03/2022 at 09:58, Kef95 disse:

@RootZerO i tried something like this ..  on gameserver/template/L2PcTemplate.java

    public final int _currentCollisionRadius;
    public final int _currentCollisionHeight;
+    public int sex ;


@@

    public double getCollisionRadius()
    {
-       return  _currentCollisionRadius;
+        return (sex == Sex.MALE) ? collisionRadius : _currentCollisionRadius;
    }
    
    /**
     * @return
     */
    public double getCollisionHeight()
    {
-      return _currentCollisionHeight;
+     return (sex == Sex.MALE) ? collisionHeight : _currentCollisionHeight;
    }



BUT NOT WORKING.. IDK WHAT TO DO!!

 

* To fix this problem new variables are added to the "L2PcTemplate" class, the variables are called "currentCollisionRadiusFemale" and "currentCollisionHeightFemale" that will be in charge of storing the Radius and Collision values of the female characters. We also create the methods "getCollisionRadiusBySex" and "getCollisionHeightBySex" that are used in the classes "CharInfo" and "UserInfo".

Link para o comentário
Compartilhar em outros sites

  • 0
3 horas atrás, RootZerO disse:

* To fix this problem new variables are added to the "L2PcTemplate" class, the variables are called "currentCollisionRadiusFemale" and "currentCollisionHeightFemale" that will be in charge of storing the Radius and Collision values of the female characters. We also create the methods "getCollisionRadiusBySex" and "getCollisionHeightBySex" that are used in the "CharInfo" and "UserInfo" classes.

i did that ,but then i had problem in L2PcInstance codes that goes to sql

Link para o comentário
Compartilhar em outros sites

  • 0

@ RootZerO  look what i did :  

L2PcTemplate.java
===============
    public final int _currentCollisionRadius;
    public final int _currentCollisionHeight;
+ public final int _currentCollisionRadiusf;
+ public final int _currentCollisionHeightf;
+ L2PcInstance _player;

@@
        _currentCollisionRadius = set.getInteger("collision_radius");
        _currentCollisionHeight = set.getInteger("collision_height");
+ _currentCollisionRadiusf = set.getInteger("collision_radiusf");
+ _currentCollisionHeightf = set.getInteger("collision_heightf");
        

 

@@

 

    public double getCollisionRadius()
   {
        return _currentCollisionRadius;
    }
    
    public double getCollisionHeight()
    {
        return _currentCollisionHeight;
    }

+ public double getCollisionRadiusf()
+ {
+ return _currentCollisionRadiusf;
+ }
    
+ public double getCollisionHeightf()
+ {
+ return _currentCollisionHeightf;
+ }

+ public int getCollisionRadiusBySex()
+ {
+ if (!_player.getAppearance().getSex())
+ {
+ return _currentCollisionRadius;
+ }
+ else if (_player.getAppearance().getSex())
+ {
+ return _currentCollisionRadiusf;
+ }
+ return getCollisionRadiusBySex() ;
+         
+ }
+ public int getCollisionHeightBySex()
+ {
+ if (!_player.getAppearance().getSex())
+ {
+ return _currentCollisionHeight;
+ }
+ else if (_player.getAppearance().getSex())
+ {
+ return _currentCollisionHeightf;
+ }
+ return getCollisionHeightBySex() ;
++         
}

gameserver/model/actor/instance/L2PcInstance.java
======================================= ===========
            statement.setDouble(32, 1/* getMovementMultiplier() */);
            statement.setDouble(33, 1/* getAttackSpeedMultiplier() */);
- statement.setDouble(34, getTemplate().collisionRadius/* getCollisionRadius() */);
- statement.setDouble(35, getTemplate().collisionHeight/* getCollisionHeight() */);
+ statement.setDouble(34, getTemplate().getCollisionRadiusBySex());
+ statement.setDouble(35, getTemplate().getCollisionHeightBySex());



gameserver/datatables/sql/CharTemplateTable.java
==================================================
@@
                set .set("collision_radius", rset.getDouble("m_col_r"));
                set.set("collision_height", rset.getDouble("m_col_h"));
+ set.set("collision_radiusf", rset.getDouble("f_col_r"));
+ set.set("collision_heightf", rset.getDouble("f_col_h"));



Not working!!!!!... also tried :

PcTemplate.java
:


    public double getCollisionRadius()
   {
        return getCollisionRadiusBySex();
    }
    
    public double getCollisionHeight()
    {
        return getCollisionHeightBySex();
    }

and on L2PcInstance

            statement.setDouble(34, getTemplate().getCollisionRadius() );
            statement.setDouble(35, getTemplate().getCollisionHeight() );


and not working again!

Editado por Kef95
Link para o comentário
Compartilhar em outros sites

  • 0

@RootZerO also tried: 
 L2PcTemplate.java
====================

 

public class L2PcTemplate extends L2CharTemplate
{
    
    /** The Class object of the L2PcInstance */
    public final Race race;
    public final ClassId classId;
    
    public final int _currentCollisionRadius;
    public final int _currentCollisionHeight;
+     public final int _currentCollisionRadiusf;
+    public final int _currentCollisionHeightf;
+     L2PcInstance _player;
    public final String className;
    
    public final int spawnX;
    public final int spawnY;
    public final int spawnZ;
    
    public final int classBaseLevel;
    public final float lvlHpAdd;
    public final float lvlHpMod;
    public final float lvlCpAdd;
    public final float lvlCpMod;
    public final float lvlMpAdd;
    public final float lvlMpMod;
    
    private final List<L2Item> _items = new FastList<>();
    public double collisionRadiusBySex;
    public double collisionHeightBySex;
    
    public L2PcTemplate(final StatsSet set)
    {
        super(set);
        classId = ClassId.values()[set.getInteger("classId")];
        race = Race.values()[set.getInteger("raceId")];
        className = set.getString("className");
        _currentCollisionRadius = set.getInteger("collision_radius");
        _currentCollisionHeight = set.getInteger("collision_height");
  +       _currentCollisionRadiusf = set.getInteger("collision_radiusf");
  +       _currentCollisionHeightf = set.getInteger("collision_heightf");
        
        spawnX = set.getInteger("spawnX");
        spawnY = set.getInteger("spawnY");
        spawnZ = set.getInteger("spawnZ");
        
        classBaseLevel = set.getInteger("classBaseLevel");
        lvlHpAdd = set.getFloat("lvlHpAdd");
        lvlHpMod = set.getFloat("lvlHpMod");
        lvlCpAdd = set.getFloat("lvlCpAdd");
        lvlCpMod = set.getFloat("lvlCpMod");
        lvlMpAdd = set.getFloat("lvlMpAdd");
        lvlMpMod = set.getFloat("lvlMpMod");
    }
    
    /**
     * add starter equipment
     * @param itemId
     */
    public void addItem(final int itemId)
    {
        final L2Item item = ItemTable.getInstance().getTemplate(itemId);
        if (item != null)
        {
            _items.add(item);
        }
    }
    
    /**
     * @return itemIds of all the starter equipment
     */
    public L2Item[] getItems()
    {
        return _items.toArray(new L2Item[_items.size()]);
    }
    
    /**
     * @return
     */
    public double getCollisionRadius()
    {
        return _currentCollisionRadius;
    }
    
    /**
     * @return
     */
    public double getCollisionHeight()
    {
        return _currentCollisionHeight;
    }
    
+     public double getCollisionRadiusf()
+     {
+     return _currentCollisionRadiusf;
+     }
        
+     public double getCollisionHeightf()
+     {
+     return _currentCollisionHeightf;
+     }

+     public double getCollisionRadiusBySex()
+     {
+     if (!_player.getAppearance().getSex())
+     {
+     return _currentCollisionRadius;
+     }
+     else if (_player.getAppearance().getSex())
+     {
+     return _currentCollisionRadiusf;
+     }
+     return collisionRadiusBySex ;
+             
+     }
+     public double getCollisionHeightBySex()
+     {
+     if (!_player.getAppearance().getSex())
+     {
+     return _currentCollisionHeight;
+     }
+     else if (_player.getAppearance().getSex())
+     {
+     return _currentCollisionHeightf;
+     }
+     return collisionHeightBySex ;
+             
+    }
    
    public int getBaseFallSafeHeight(final boolean female)
    {
        if (classId.getRace() == Race.darkelf || classId.getRace() == Race.elf)
            return classId.isMage() ? (female ? 330 : 300) : female ? 380 : 350;
        else if (classId.getRace() == Race.dwarf)
            return female ? 200 : 180;
        else if (classId.getRace() == Race.human)
            return classId.isMage() ? (female ? 220 : 200) : female ? 270 : 250;
        else if (classId.getRace() == Race.orc)
            return classId.isMage() ? (female ? 280 : 250) : female ? 220 : 200;
        
        return 400;
        
        /*
         * Dark Elf Fighter F 380 Dark Elf Fighter M 350 Dark Elf Mystic F 330 Dark Elf Mystic M 300 Dwarf Fighter F 200 Dwarf Fighter M 180 Elf Fighter F 380 Elf Fighter M 350 Elf Mystic F 330 Elf Mystic M 300 Human Fighter F 270 Human Fighter M 250 Human Mystic F 220 Human Mystic M 200 Orc Fighter
         * F 220 Orc Fighter M 200 Orc Mystic F 280 Orc Mystic M 250
         */
    }
    
    public final int getFallHeight()
    {
        return 333; // TODO: unhardcode it
    }
}
 

 

 

and on CharInfo.java
===================

        writeD(_swimRunSpd/* 0x32 */); // swimspeed
            writeD(_swimWalkSpd/* 0x32 */); // swimspeed
            writeD(_flRunSpd);
            writeD(_flWalkSpd);
            writeD(_flyRunSpd);
            writeD(_flyWalkSpd);
            writeF(_activeChar.getMovementSpeedMultiplier()); // _activeChar.getProperMultiplier()
            writeF(_activeChar.getAttackSpeedMultiplier()); // _activeChar.getAttackSpeedMultiplier()
-            writeF(_activeChar.getBaseTemplate().collisionRadius);
-            writeF(_activeChar.getBaseTemplate().collisionHeight);
+            writeF(_activeChar.getBaseTemplate().collisionRadiusBySex);
+            writeF(_activeChar.getBaseTemplate().collisionHeightBySex);


and on UserInfo.java
==============================

        writeF(_activeChar.getAttackSpeedMultiplier());
        
        final L2Summon pet = _activeChar.getPet();
        if (_activeChar.getMountType() != 0 && pet != null)
        {
            writeF(pet.getTemplate().collisionRadius);
            writeF(pet.getTemplate().collisionHeight);
        }
        else
        {
-           writeF(_activeChar.getBaseTemplate().collisionRadius);
-           writeF(_activeChar.getBaseTemplate().collisionHeight);
+            writeF(_activeChar.getBaseTemplate().collisionRadiusBySex);
+            writeF(_activeChar.getBaseTemplate().collisionHeightBySex);

 

Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.