2014年5月28日 星期三

【Java教學】殺紅人給予獎勵

說明:以下這是查詢在線的紅人玩家位置,紅人才會顯示,地圖請對照DB的Mapid  


 C_ItemUSe

} else if (itemId == 99997) {//道具編號  
// andy52005 change 玩家&GM可查詢線上有誰&血盟名稱 use chinaabc code 2/2  
for(int i = 0; i < L1World.getInstance().getAllPlayers().length; i++)  
 
L1PcInstance l1pcinstance1 = L1World.getInstance().getAllPlayers();  
if (pc.getLawful() < 0)   
pc.sendPackets(new S_SystemMessage((new StringBuilder()).append(i + 1)                         
.append(" 玩家【").append(pc.getName()).append("】")  
.append(" 地圖【").append(pc.getMap()).append("】")  
.append(" X座標【").append(pc.getX()).append("】")  
.append(" Y座標【").append(pc.getY()).append("】")  
.toString()));  
 
//殺紅人給予的獎勵  
 
if (dmg <= 0) {  
_isHit = false;  
 
 
//a1629624 add 玩家間PK獲勝廣播 use 夜小空 code (2/3)  
if(dmg >= _targetPc.getCurrentHp() //攻擊傷害大於目標目前血量  
&& _targetPc.getLawful() < 0 //正義值小於零  
&& _targetPc.getLevel() >= 52 //等級大於五十二(防止玩家開新手洗)  
&& _targetPc.getZoneType() != -1){ //目標在非戰鬥區域(防止玩家在戰鬥區域洗)  
//你們也可以加入對目標的其他懲罰_target.getInventory().removeItem(99999, 1);//刪除目標的物品和數量  
_pc.getInventory().storeItem(99991, 1); //要給予的獎勵與數量  
_pc.sendPackets(new S_SystemMessage("因為你的行為值得嘉許,在此給你")); //攻擊者的對話顯示內容  
broadcastToAll((new StringBuilder()).append("紅人【").append(_targetPc.getName()).append("】被【").append(_pc.getName()).append("】殺掉").toString());//公頻顯示的內容  
 
//add end 



共同作者群:

a1629624 andy52005 change 夜小空  use chinaabc

沒有留言:

張貼留言