11op三国群英传

 找回密码
 立即注册
搜索
热搜: 三国群英传
查看: 3496|回复: 0
打印 上一主题 下一主题

天堂2 假人系统更新教程方法

[复制链接]

1580

主题

1930

帖子

6915

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6915
跳转到指定楼层
楼主
发表于 2018-9-22 23:04:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假人系统更新。使用IdTemplate 做标识,将NPCCHARDATA变更为模型,可多次引用。
//NPC表中IdTemplate指向假人模型ID,NPC外观将为假人的外观。同使用客户端外观ID一个用法。
        //add by banyue<
        public void loadNpcsChar(int id)
        {        
               
                Connection con = null;
                try
                {
                        con = L2DatabaseFactory.getInstance().getConnection();
                        PreparedStatement statement = null;
                        ResultSet rset = null;
                        int cont = 0;
                        for(int _Key : _npcs.keys())
                        {
                                id = getTemplate(_Key).getIdTemplate();
                                
                                statement = con.prepareStatement("SELECT * FROM npcchardata WHERE npcId = ?");
                                statement.setInt(1, id);
                                rset = statement.executeQuery();
                                L2NpcCharData npcCharDat = null;
                                L2NpcTemplate npcDat = null;
                                while (rset.next())
                                {
                                        npcDat = _npcs.get(_Key);
                                        if (npcDat == null)
                                        {
                                                _log.severe(getClass().getSimpleName() + ": CharData Error with id : " + _Key);
                                                continue;
                                        }
                                        npcCharDat = new L2NpcCharData();
                                       
                                        npcCharDat.setIsChar(rset.getInt("ischar"));
                                        npcCharDat.setCharRace(rset.getInt("charrace"));
                                        npcCharDat.setCharClass(rset.getInt("charclass"));
                                        npcCharDat.setCharFace(rset.getInt("charface"));
                                        npcCharDat.setCharHair(rset.getInt("charhair"));
                                        npcCharDat.setCharColor(rset.getString("charcolor"));
                                        npcCharDat.setCharHairColor(rset.getInt("charhaircolor"));
                                        npcCharDat.setCharSex(rset.getInt("charsex"));
                                        npcCharDat.setCharHero(rset.getInt("charhero"));
                                        npcCharDat.setCharRhand(rset.getInt("charrhand"));
                                        npcCharDat.setCharLhand(rset.getInt("charlhand"));
                                        npcCharDat.setCharEnchLvl(rset.getInt("charenchlvl"));
                                        npcCharDat.setCharChest(rset.getInt("charchest"));
                                        npcCharDat.setCharLegs(rset.getInt("charlegs"));
                                        npcCharDat.setCharGlove(rset.getInt("charglove"));
                                        npcCharDat.setCharFeet(rset.getInt("charfeet"));
                                        npcCharDat.setCharClock(rset.getInt("charclock"));
                                        npcCharDat.setCharUnder(rset.getInt("charunder"));
                                        npcCharDat.setCharHair1(rset.getInt("charhair1"));
                                        npcCharDat.setCharHair2(rset.getInt("charhair2"));
                                        npcCharDat.setCharTeam(rset.getInt("charteam"));
                                        npcDat.setCharData(npcCharDat);
                                        cont++;
                                }
                        }
                        rset.close();
                        statement.close();
                        _log.info(getClass().getSimpleName() + ": Loaded " + cont +  " Char Data.");
                }
                catch (Exception e)
                {
                        _log.log(Level.SEVERE, getClass().getSimpleName() + ": Error reading NPC CHAR Data: " + e.getMessage(), e);
                }
                finally
                {
                        L2DatabaseFactory.close(con);
                }
        }
        //add by banyue>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|11op三国群英传SF  

GMT+8, 2024-11-30 05:38 , Processed in 0.183336 second(s), 23 queries .

Powered by 11op游戏论坛

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表