2014年5月20日 星期二

修改攻擊怪物顯示傷害值、GM說話模式和玩家一樣

修改攻擊怪物顯示傷害值、GM說話模式和玩家一樣

GM攻擊怪物可以在說話欄顯示傷害值、這是我伺服玩家也想要看見怪物還多少血、他攻擊一次多少

所以我去找來修改的 在 L1Attack 這檔案做修改
搜尋 public void Commit()  找到下面字句

if((_calcType == 1 || _calcType == 2) && player.get_accessLevel() != 200) //修改權限為 0
return;
if((_calcType == 1 || _calcType == 3) && targetPlayer.get_accessLevel() != 200) //修改權限為 0
return;
        【200是GM權限、當修改為0時】、就都會顯示傷害值多少

在公頻發話欄顯示******也許很有種奇特的感覺
但當玩家有私密話要和GM私下說時、也顯示出GM的ID了

在伺服中被知道誰是GM、不是事情很多、就是要東西的一堆之類的!!

我的做法是把GM的說話模式改變成和玩家一樣、不讓所有人知道、可以少很多的困擾

這只是簡單的改用而已、但仍然要從核心更改 檔名在l1jserver\l1j\server\server\serverpackets\
找到這檔、S_ChatPacket

if(type == 3)
{writeC(opcode);
writeC(type);
//修改GM說話模式和玩家模式相同
if(cha.is_isGm())
  writeS((new StringBuilder()).append("[").append(cha.get_name()).append("] ").append(chat).toString());
else
  writeS((new StringBuilder()).append("[").append(cha.get_name()).append("] ").append(chat).toString());
// 原本GM說話的模式【假如要改回來、貼是換成下列模式
//writeS((new StringBuilder()).append("[******]").append(chat).toString());
//else  原本GM說話的模式
// writeS((new StringBuilder()).append("[").append(cha.get_name()).append("] ").append(chat).toString());                
  } else

沒有留言:

張貼留言