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

📄 shenzhoucontroller.java

📁 一个MMORPG手机游戏的服务器端程序源代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
//    } else if (p.getPlayer_CareerId() == PlayerDefault.P_Career_hunter) {//        p.setPlayer_Max_life(life_temp + 17);//        p.setPlayer_Max_mp(mp_temp + 7);//    } else if (p.getPlayer_CareerId() == PlayerDefault.P_Career_wiz) {//        p.setPlayer_Max_life(life_temp + 13);//        p.setPlayer_Max_mp(mp_temp + 12);//    }//    str_temp = p.getPlayer_strength();//    cel_temp=p.getPlayer_celerity();//    con_temp=p.getPlayer_constitution();//    wis_temp=p.getPlayer_wisdom();//    sav_temp=p.getPlayer_att();//    p.setPlayer_strength(str_temp+2);       //目前只是均匀加2//    p.setPlayer_celerity(cel_temp+2);//    p.setPlayer_constitution(con_temp+2);//    p.setPlayer_wisdom(wis_temp+2);//    p.setPlayer_att(sav_temp+2);    }/**点数的影响*/private static void p_point_value_change(Player p,int str, int cel ,int con ,int wis, int CareerId){         int str_temp = 0,cel_temp =0,con_temp=0,wis_temp=0,att_temp=0;         int att_wiz_mp_temp = 0,def_temp =0,Max_life_temp=0,Max_mp_temp=0;        //4项主要属性的变化         str_temp =p.getPlayer_strength();         cel_temp =p.getPlayer_celerity();         con_temp =p.getPlayer_constitution();         wis_temp =p.getPlayer_wisdom();         p.setPlayer_strength(str_temp + str);         p.setPlayer_celerity(cel_temp + cel);         p.setPlayer_constitution(con_temp + con);         p.setPlayer_wisdom(wis_temp + wis);         // 生命,魔法 ,攻击力的影响         Max_life_temp = p.getPlayer_Max_life();         Max_mp_temp = p.getPlayer_Max_mp();         att_temp = p.getPlayer_att();         att_wiz_mp_temp= p.getPlayer_att_wiz_mp();  //对法师有用,这是法师的攻击力体现       if(CareerId == PlayerDefault.P_Career_warrior){           p.setPlayer_att(att_temp + str * 3);           p.setPlayer_att_wiz_mp(att_temp + str * 3);           p.setPlayer_Max_life(Max_life_temp + con * 15);           p.setPlayer_Max_mp(Max_mp_temp + wis * 15);       }else   if(CareerId == PlayerDefault.P_Career_hunter){           p.setPlayer_att(att_temp + str * 2);           p.setPlayer_att_wiz_mp(att_temp + str * 2);           p.setPlayer_Max_life(Max_life_temp + con * 10);           p.setPlayer_Max_mp(Max_mp_temp + wis * 20);        } else   if(CareerId == PlayerDefault.P_Career_wiz){           p.setPlayer_att(att_temp + str );           p.setPlayer_att_wiz_mp( att_wiz_mp_temp + wis * 3);           p.setPlayer_Max_life(Max_life_temp + con * 10);           p.setPlayer_Max_mp(Max_mp_temp + wis * 10);        }}/**增加好友**/protected void P_friends_add(GameEvent e){    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)    {        StringBuffer ss =new StringBuffer();        ss.append(p.getPlayer_friends());        ss.append(e.getMessage());        ss.append(" ");        p.setPlayer_friends(ss.toString());        p_save_this_player(p);        //处理好友列表        String tokens1[] = tokenizeString(p.getPlayer_friends());        StringBuffer f1 = new StringBuffer();        StringBuffer f2 = new StringBuffer();        int f11 = 0, f22 = 0;        for (int i = 0; i < token_num; i++) {            if (players.containsKey(tokens1[i])) {                   //online                f1.append(tokens1[i]);                f1.append(" ");                f11++;            } else {                f2.append(tokens1[i]);                f2.append(" ");                f22++;            }        } //处理好友列表结束        StringBuffer ff = new StringBuffer();        ff.append(f11);        ff.append(" ");        ff.append(f1.toString());        ff.append(" ");        ff.append(f22);        ff.append(" ");        ff.append(f2.toString());        GameEventDefault lla = new GameEventDefault(GameEventDefault.C_Friends_Add, ff.toString());        sendEvent(lla, p);        zsw_out.outdebug(ff.toString());        // 插入隐含的数据,好友上线查询表        String sm;        sm="insert friend_notice(initiative,negative) values ('" +                pid+"','"+                e.getMessage()+"')";        zsw_out.outdebug("insert friend_notice sql is :"+sm);        try {            DBControl.insert(sm);        } catch (Exception e1) {            e1.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.        }    }}/**删除好友**/protected void P_friends_del(GameEvent e){    String pid = e.getPlayerId();    Player p = GameServer.getPlayerById(pid);    if (p == null) {        System.out.println("got login event for null player");            return;    }    StringBuffer ss = new StringBuffer();    if (e.getMessage() != null) {        String tokens[] = tokenizeString(p.getPlayer_friends());        for (int i = 0; i < token_num; i++) {            if (tokens[i] != e.getMessage()) {                ss.append(tokens[i]);                ss.append(" ");            }        }        p.setPlayer_friends(ss.toString());        p_save_this_player(p);        //处理好友列表        String tokens1[] = tokenizeString(p.getPlayer_friends());        StringBuffer f1 = new StringBuffer();        StringBuffer f2 = new StringBuffer();        int f11 = 0, f22 = 0;        for (int i = 0; i < token_num; i++) {            if (players.containsKey(tokens1[i])) {                   //online                f1.append(tokens1[i]);                f1.append(" ");                f11++;            } else {                f2.append(tokens1[i]);                f2.append(" ");                f22++;            }        } //处理好友列表结束        StringBuffer ff = new StringBuffer();        ff.append(f11);        ff.append(" ");        ff.append(f1.toString());        ff.append(" ");        ff.append(f22);        ff.append(" ");        ff.append(f2.toString());        zsw_out.outdebug(ff.toString());        GameEventDefault lla = new GameEventDefault(GameEventDefault.C_Friends_Del, ff.toString());        sendEvent(lla, p);        // 删除隐含的数据,好友上线查询表        String sm;        sm="delete from friend_notice where initiative ='"+                pid+"' and  negative = '"+e.getMessage()+"'";        zsw_out.outdebug("delete friend_notice sql is :"+sm);        try {            DBControl.select(sm);        } catch (Exception e1) {            e1.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.        }    }}/**卸载道具*/protected void Item_un_equip(GameEvent e){    int Box_item_NO ;               //物品栏编号    int Box_is_change = -1;    String temp_3;          //单个道具的数据    int item_NO ;                       //道具编号    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) {        String tokens[] = tokenizeString(e.getMessage());        Box_item_NO = Integer.parseInt(tokens[0]);        item_NO = Integer.parseInt(tokens[1]);         temp_3 = get_item_fram_string(s_p_item,Box_item_NO);   // Box_item_NO这个物品栏的道具        System.out.println("" + temp_3);        if ((!temp_3.equals("990")) && (item_NO == Integer.parseInt(temp_3.substring(0, 2))))        //这个道具栏不为空 ,且道具编号验证没错误        {            StringBuffer temp000 = new StringBuffer();            temp000.append(one_number_to_two_number(item_NO));            temp002 = temp000.toString();            Box_is_change = Box_item_NO;        }        if (Box_is_change != -1) {            String temp001 = s_p_item.substring(0, (Box_item_NO - 1) * 3);            String temp003 = s_p_item.substring((Box_item_NO) * 3, 17 * 3);            StringBuffer temp = new StringBuffer();            temp.append(temp001);            temp.append(temp002);            temp.append(temp003);//            System.out.println(s_p_item);//            System.out.println(temp.toString());            p.setPlayer_item(temp.toString());            //减去道具的属性影响            if (Item.item_data[item_NO][0] == Item.item_attack) {                int attack1 = p.getPlayer_att();                int attack2 = p.getPlayer_att_wiz_mp();                attack1 =attack1 - Item.item_data[item_NO][1] ;                attack2 =attack2 - Item.item_data[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();                def1 =def1 - Item.item_data[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();                hp1 = hp1 - Item.item_data[item_NO][1] ;                hp2 = hp2 - Item.item_data[item_NO][1] ;                p.setPlayer_Max_life(hp1);                if(hp2<=0) {  hp2=1;}                p.setPlayer_C_life(hp2);            } else if (Item.item_data[item_NO][0] == Item.item_Necklace_mp) {                int mp1 = p.getPlayer_Max_mp();                int mp2 = p.getPlayer_C_mp();                mp1 = mp1 - Item.item_data[item_NO][1] ;                mp2 = mp2 - Item.item_data[item_NO][1] ;                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);        }    }}/**使用道具*/protected void Item_use(GameEvent e){    int Box_item_NO  ;               //物品栏编号    int Box_is_change = -1;    String temp_3;          //单个道具的数据    int item_NO ;                       //道具编号    String temp002 = "";    int item_type;    int drug_num;                //药品数量    String drug;    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) {        String tokens[] = tokenizeString(e.getMessage());        Box_item_NO = Integer.parseInt(tokens[0]);        item_NO = Integer.parseInt(tokens[1]);    //玩家要使用的是什么药品类型    item_type = get_drug_type(item_NO);    temp_3 = get_item_fram_string(s_p_item,Box_item_NO);      // Box_item_NO这个物品栏的道具    drug_num = Integer.parseInt(temp_3.substring(2));    if((Integer.parseInt(temp_3.substring(0,2)) == item_NO)&&    //药品编号正确            (drug_num!=0))         //药品还有剩余    {        if( drug_num<=1)        {              StringBuffer item_e_temp = new StringBuffer();              item_e_temp.append(s_p_item);            item_e_temp.setCharAt((Box_item_NO-1)*3,'9');       //药品吃光了            item_e_temp.setCharAt((Box_item_NO-1)*3+1,'9');       //药品吃光了            item_e_temp.setCharAt((Box_item_NO-1)*3+2,'0');       //药品吃光了            drug =    item_e_temp.toString() ;        }        else        {          //没吃光,减一            StringBuffer item__temp = new StringBuffer();            item__temp.append(s_p_item.substring(0,(Box_item_NO-1)*3+2));            item__temp.append(drug_num-1);            item__temp.append(s_p_item.substring(Box_item_NO*3,17*3));            drug =    item__temp.toString();        }//            System.out.println(s_p_item);//            System.out.println(drug);              p.setPlayer_item(drug);        //属性影响             if ( item_type == Item.item_Goods_hp) {                int hp1 = p.getPlayer_Max_life();                int hp2 = p.getPlayer_C_life();                hp2 = hp2 + Item.item_data[item_NO][1] ;                if(hp2>hp1)                {  hp2=hp1;}                p.setPlayer_C_life(hp2);            }             else if (item_type  == Item.item_Goods_mp) {                int mp1 = p.getPlayer_Max_mp();

⌨️ 快捷键说明

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