⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shenzhoucontroller.java

📁 一个MMORPG手机游戏的服务器端程序源代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                int mp2 = p.getPlayer_C_mp();                mp2 = mp2 + Item.item_data[item_NO][1] ;                if(mp2>mp1) {  mp2=mp1;}                p.setPlayer_C_mp(mp2);            } else if (item_type  == Item.item_transport) {                 p.setPlayer_map(13);                 //给他传送到指定地点                 p.setPlayer_x(32);                 p.setPlayer_y(19);             }          GameEventDefault lla = new GameEventDefault(GameEventDefault.C_item_un_equip,                p.getPlayer_C_life()+" "+                p.getPlayer_Max_life()+" "+                p.getPlayer_C_mp()+" "+                p.getPlayer_Max_mp()+" "+                p.getPlayer_map()+" "+                p.getPlayer_x()+" "+                p.getPlayer_y()+" "+                p.getPlayer_direction()+" "+                p.getPlayer_item()+" " );        sendEvent(lla, p);        p_save_this_player(p);    }    else            zsw_out.outdebug("使用道具部分出错误,检查道具编号及药品剩余");    }}/*** Box_item_NO这个物品栏的单个道具数据*/private static String get_item_fram_string(String s_p_item,int Box_item_NO){      String  temp_;      temp_ = s_p_item.substring((Box_item_NO - 1) * 3, Box_item_NO * 3);       return temp_;}/**装备道具,物品栏为1-17*/protected void P_item_equip(GameEvent e) {    int item_fram_NO;        //第几个道具框    int item_NO;         //道具的编号    int item_type;    String temp_3;    int old_item_no = 99;    String pid = e.getPlayerId();    Player p = GameServer.getPlayerById(pid);    if (p == null) {        System.out.println("got login event for null player");        return;    }    if (e.getMessage() != null) {        String tokens[] = tokenizeString(e.getMessage());        item_fram_NO = Integer.parseInt(tokens[0]);        item_NO = Integer.parseInt(tokens[1]);        String s_p_item = p.getPlayer_item();        temp_3 = get_item_fram_string(s_p_item, item_fram_NO);    // item_fram_NO这个物品栏的道具        //玩家要装备的是什么物品类型        item_type = get_item_type(item_fram_NO);        int item_box_equip = -1;                  //原来装备的道具格子        //查找玩家在相应的类型栏里,哪个栏里装备了道具        item_box_equip = find_p_item_setup(s_p_item, item_type);        if (item_box_equip != -1) {            System.out.println("原来的"+item_box_equip+"栏里面装备了东西");            // item_box_equip这个物品栏的道具            old_item_no = Integer.parseInt(s_p_item.substring((item_box_equip - 1) * 3, item_box_equip * 3 - 1));        }        StringBuffer item_equip_temp = new StringBuffer();        item_equip_temp.append(s_p_item);        if (item_box_equip != -1) {            item_equip_temp.setCharAt((item_box_equip - 1) * 3 + 2, '0');       //卸载原来的道具        }        if (!s_p_item.substring((item_fram_NO - 1) * 3, item_fram_NO * 3).equals("990")) {            item_equip_temp.setCharAt((item_fram_NO - 1) * 3 + 2, '1');        //装备新的道具        }//    else//    System.out.println("eeee");//    System.out.println(item_equip_temp.toString());//    System.out.println(s_p_item);        p.setPlayer_item(item_equip_temp.toString());        //道具的属性影响        if (item_NO == Integer.parseInt(temp_3.substring(0, 2))) {            if (Item.item_data[item_NO][0] == Item.item_attack) {                int attack1 = p.getPlayer_att();                int attack2 = p.getPlayer_att_wiz_mp();                if (item_box_equip == -1) {                        //原来没装备东西                    attack1 = attack1 + Item.item_data[item_NO][1];                    attack2 = attack2 + Item.item_data[item_NO][1];                } else {          //old_item_no                    attack1 = attack1 + Item.item_data[item_NO][1] - Item.item_data[old_item_no][1];                    attack2 = attack2 + Item.item_data[item_NO][1] - Item.item_data[old_item_no][1];                }                p.setPlayer_att(attack1);                p.setPlayer_att_wiz_mp(attack2);            } else if (Item.item_data[item_NO][0] == Item.item_defence) {                int def1 = p.getPlayer_def();                if (item_box_equip == -1) {                 //原来没装备东西                    def1 = def1 + Item.item_data[item_NO][1];                } else {                    def1 = def1 + Item.item_data[item_NO][1] - Item.item_data[old_item_no][1];                }                p.setPlayer_def(def1);            } else if (Item.item_data[item_NO][0] == Item.item_Ring_hp) {                int hp1 = p.getPlayer_Max_life();                int hp2 = p.getPlayer_C_life();                int mp1 = p.getPlayer_Max_mp();                int mp2 = p.getPlayer_C_mp();                if (item_box_equip == -1) {           //原来没装备东西                    hp1 = hp1 + Item.item_data[item_NO][1];                    hp2 = hp2 + Item.item_data[item_NO][1];                } else {              //看原来装备的是什么东西                    if (Item.item_data[old_item_no][0] == Item.item_Ring_hp) {   //原来也是戒指                        hp1 = hp1 + Item.item_data[item_NO][1] - Item.item_data[old_item_no][1];                        hp2 = hp2 + Item.item_data[item_NO][1] - Item.item_data[old_item_no][1];                    } else if (Item.item_data[old_item_no][0] == Item.item_Necklace_mp) {                        //原来是项链                        hp1 = hp1 + Item.item_data[item_NO][1];                        hp2 = hp2 + Item.item_data[item_NO][1];                        mp1 = mp1 - Item.item_data[old_item_no][1];                        mp2 = mp2 - Item.item_data[old_item_no][1];                    }                }                p.setPlayer_Max_life(hp1);                if (hp2 <= 0) {                    hp2 = 1;                }                p.setPlayer_C_life(hp2);                p.setPlayer_Max_mp(mp1);                if (mp2 <= 0) {                    mp2 = 1;                }                p.setPlayer_C_mp(mp2);            } else if (Item.item_data[item_NO][0] == Item.item_Necklace_mp) {                int hp1 = p.getPlayer_Max_life();                int hp2 = p.getPlayer_C_life();                int mp1 = p.getPlayer_Max_mp();                int mp2 = p.getPlayer_C_mp();                if (item_box_equip == -1) {          //原来没装备东西                    mp1 = mp1 + Item.item_data[item_NO][1];                    mp2 = mp2 + Item.item_data[item_NO][1];                } else {                            //看原来装备的是什么东西                    if (Item.item_data[old_item_no][0] == Item.item_Necklace_mp) {   //原来也是项链                        System.out.println("2");                        mp1 = mp1 + Item.item_data[item_NO][1] - Item.item_data[old_item_no][1];                        mp2 = mp2 + Item.item_data[item_NO][1] - Item.item_data[old_item_no][1];                    } else if (Item.item_data[old_item_no][0] == Item.item_Ring_hp) {                        //原来是戒指                        System.out.println("23");                        hp1 = hp1 - Item.item_data[old_item_no][1];                        hp2 = hp2 - Item.item_data[old_item_no][1];                        mp1 = mp1 + Item.item_data[item_NO][1];                        mp2 = mp2 + Item.item_data[item_NO][1];                    }                }                p.setPlayer_Max_life(hp1);                if (hp2 <= 0) {                    hp2 = 1;                }                p.setPlayer_C_life(hp2);                p.setPlayer_Max_mp(mp1);                if (mp2 <= 0) {                    mp2 = 1;                }                p.setPlayer_C_mp(mp2);            }        }        GameEventDefault lla = new GameEventDefault(GameEventDefault.C_item_un_equip,                p.getPlayer_C_life() + " " +                        p.getPlayer_Max_life() + " " +                        p.getPlayer_C_mp() + " " +                        p.getPlayer_Max_mp() + " " +                        p.getPlayer_att() + " " +                        p.getPlayer_att_wiz_mp() + " " +                        p.getPlayer_def() + " " +                        p.getPlayer_item() + " ");        sendEvent(lla, p);        p_save_this_player(p);    }//            GameEventDefault lla = new GameEventDefault(GameEventDefault.C_Item_Action, p.getPlayer_item());//            sendEvent(lla, p);//        }}/**玩家要装备的是什么物品类型*/public static int get_item_type(int item_fram_NO) {        int item_type = -1;        if (item_fram_NO <= 4)                         //武器              item_type = Item.item_attack;        else if ((item_fram_NO > 4) && (item_fram_NO <= 8))               //套装                 item_type = Item.item_defence;         else if ((item_fram_NO > 8) && (item_fram_NO <= 12))               //饰品                 item_type = Item.item_Ring_hp;    return item_type;    }/**玩家要使用的是什么药品类型*/public static int get_drug_type(int item__NO) {        int item_type = -1;        if ((item__NO >= 30)&&(item__NO <= 33))                         //加HP              item_type = Item.item_Goods_hp;        else if ((item__NO >= 34) && (item__NO <= 37))               //加MP                 item_type = Item.item_Goods_mp;         else if (item__NO == 38)                //传送                 item_type = Item.item_transport;    return item_type;    }/**查找玩家在道具栏的特定类型栏里哪个位置装备了道具,返回原来装备的格子号*/private int find_p_item_setup(String s_p_item,int item_type) {            int grid =-1 ;            int gridnum =0;            StringBuffer item_setup = new StringBuffer();            item_setup.append(s_p_item);        if(item_type==Item.item_attack) {            for (int i =0;i < 4 ;i++) {                if(item_setup.charAt(i*3+2) == '1' )                    grid =i+1;               }        } else if  (item_type==Item.item_defence) {               for (int i =4;i < 8 ;i++) {                if(item_setup.charAt(i*3+2) == '1' )                    grid=i+1;               }        } else if  (item_type==Item.item_Ring_hp) {              for (int i =8;i < 12 ;i++) {                if(item_setup.charAt(i*3+2) == '1' )                    grid=i+1;               }        }        return grid;        }/**商店买部分*/protected void Shop_buy(GameEvent e){    int item_NO ;    int Box_item_NO = -1;    String temp_3;          //每个一道具的数据    String temp002 = "";    String pid = e.getPlayerId();    Player p = GameServer.getPlayerById(pid);    if (p == null) {        System.out.println("got login event for null player");        return;    }    String s_p_item = p.getPlayer_item();    if (e.getMessage() != null) {        item_NO = Integer.parseInt(e.getMessage());        System.out.println("money:"+Item.item_data[item_NO][2]);        if (p.getPlayer_money()>= Item.item_data[item_NO][2]) {                     //玩家的钱够            if ((item_NO >= 0) && (item_NO <= 11))                   //武器            {                //遍例玩家武器栏,找空位                for (int i = 0; i < 4; i++) {                    temp_3 = s_p_item.substring(i * 3, (i + 1) * 3);                    if (temp_3.equals("990"))   //这个道具栏为空                    {                        temp002 = one_number_to_two_number(item_NO);                        Box_item_NO = i;                        break;                    }                }            } else if ((item_NO >= 12) && (item_NO <= 23))               //套装            {                //遍例玩家武器栏,找空位                for (int i = 4; i < 8; i++) {                    temp_3 = s_p_item.substring(i * 3, (i + 1) * 3);                    if (temp_3.equals("990"))   //这个道具栏为空                    {                        temp002 = one_number_to_two_number(item_NO);                        Box_item_NO = i;                        break;                    }                }            } else if ((item_NO >= 24) && (item_NO <= 29))               //饰品            {                //遍例玩家武器栏,找空位                for (int i = 8; i < 12; i++) {                    temp_3 = s_p_item.substring(i * 3, (i + 1) * 3);                    if (temp_3.equals("990"))   //这个道具栏为空                    {                        temp002 = one_number_to_two_number(item_NO);                        Box_item_NO = i;                        break;                    }                }            } else if ((item_NO >= 30) && (item_NO <= 38))                  //药物            {                //遍例玩家武器栏,找空位                for (int i = 12; i < 17; i++) {                    temp_3 = s_p_item.substring(i * 3, (i + 1) * 3);                    if (temp_3.equals("990"))   //这个道具栏为空                    {                        temp002 = item_NO + "1";                        Box_item_NO = i;                        break;                    } else if ((Integer.parseInt(temp_3.substring(0, 2)) == item_NO)     //药品编号一样                            && (Integer.parseInt(temp_3.substring(2, 3)) < 9))           //且, 数量小于9                    {                        int num = Integer.parseInt(temp_3.substring(2, 3)) + 1;                        StringBuffer temm = new StringBuffer();                        temm.append(item_NO);                        temm.append(num);                        temp002 = temm.toString();                        Box_item_NO = i;                        break;                    }                }            }        } else {      //告诉玩家,你钱不够            GameEventDefault lla = new GameEventDefault(GameEventDefault.S_no_enough_money);            sendEvent(lla, p);        }        if (Box_item_NO != -1)        //有道具栏空,可以放道具        {            String temp001 = s_p_item.substring(0, Box_item_NO * 3);            String temp003 = s_p_item.substring((Box_item_NO + 1) * 3, 17 * 3);            StringBuffer temp = new StringBuffer();            temp.append(temp001);            temp.append(temp002);            temp.append(temp003);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -