위치 : psjump.server.GameServerSetting.java
위치 : psjump.server.GMCommands.java
GM 명령어로 게임상에서 배율을 서버종료 없이 적용 시키는 명령어 입니다.
아래의 코드들을 추가하시면 게임상에서 .배율 명령어가 작동하게 됩니다.
명령어 : .배율 종류(경험치, 아이템, 아데나, 인첸트) 수치
GameServerSetting.java
public void set_quit(boolean quit){
this.quit = quit;
}public boolean get_quit(){
return quit;
}public void set_Rate_EXP(int Rate_EXP){
this.Rate_EXP = Rate_EXP;
}public int get_Rate_EXP(){
return Rate_EXP;
}public void set_Rate_Item(int Rate_Item){
this.Rate_Item = Rate_Item;
}public int get_Rate_Item(){
return Rate_Item;
}public void set_Rate_Aden(int Rate_Aden){
this.Rate_Aden = Rate_Aden;
}public int get_Rate_Aden(){
return Rate_Aden;
}public void set_Rate_En(int Rate_En){
this.Rate_En = Rate_En;
}public int get_Rate_En(){
return Rate_En;
}
GMCommands.java (적당한 위치에 새롭게 추가)
else if(command.startsWith("배율")){
try{
StringTokenizer st = new StringTokenizer(command.substring(3));
String comand = st.nextToken();
int id = Integer.parseInt(st.nextToken());
if( comand.compareTo("경험치") == 0 ){
GameServerSetting.getInstance().set_Rate_EXP(id);
L1PcInstance[] players = L1World.getInstance().getAllPlayers();
for (int i = 0; i < players.length; i++){
players[i].sendPackets(players[i].get_netConnection().bph().get_cp().S_ChatPacket(players[i] , "경험치 배율이 "+GameServerSetting.getInstance().get_Rate_EXP()+"배로 변경 되었습니다.", Opcodes.S_OPCODE_GLOBALCHAT , 0x02), true);
}
players = null;
}else if( comand.compareTo("아이템") == 0 ){
GameServerSetting.getInstance().set_Rate_Item(id);
L1PcInstance[] players = L1World.getInstance().getAllPlayers();
for (int i = 0; i < players.length; i++){
players[i].sendPackets(players[i].get_netConnection().bph().get_cp().S_ChatPacket(players[i] , "아이템 배율이 "+GameServerSetting.getInstance().get_Rate_Item()+"배로 변경 되었습니다.", Opcodes.S_OPCODE_GLOBALCHAT , 0x02), true);
}
players = null;
}else if( comand.compareTo("아데나") == 0 ){
GameServerSetting.getInstance().set_Rate_Aden(id);
L1PcInstance[] players = L1World.getInstance().getAllPlayers();
for (int i = 0; i < players.length; i++){
players[i].sendPackets(players[i].get_netConnection().bph().get_cp().S_ChatPacket(players[i] , "아데나 배율이 "+GameServerSetting.getInstance().get_Rate_Aden()+"배로 변경 되었습니다.", Opcodes.S_OPCODE_GLOBALCHAT , 0x02), true);
}
players = null;
}else if( comand.compareTo("인첸트") == 0 ){
GameServerSetting.getInstance().set_Rate_En(id);
L1PcInstance[] players = L1World.getInstance().getAllPlayers();
for (int i = 0; i < players.length; i++){
players[i].sendPackets(players[i].get_netConnection().bph().get_cp().S_ChatPacket(players[i] , "인첸트 배율이 "+GameServerSetting.getInstance().get_Rate_En()+"배로 변경 되었습니다.", Opcodes.S_OPCODE_GLOBALCHAT , 0x02), true);
}
players = null;
}else{
cha.sendPackets(cha.get_netConnection().bph().get_cp().S_ChatPacket(cha , "현재 경험치 배율 : "+GameServerSetting.getInstance().get_Rate_EXP()+"배",Opcodes.S_OPCODE_GLOBALCHAT , 0x02),true);
cha.sendPackets(cha.get_netConnection().bph().get_cp().S_ChatPacket(cha , "현재 아이템 배율 : "+GameServerSetting.getInstance().get_Rate_Item()+"배",Opcodes.S_OPCODE_GLOBALCHAT , 0x02),true);
cha.sendPackets(cha.get_netConnection().bph().get_cp().S_ChatPacket(cha , "현재 아데나 배율 : "+GameServerSetting.getInstance().get_Rate_Aden()+"배",Opcodes.S_OPCODE_GLOBALCHAT , 0x02),true);
cha.sendPackets(cha.get_netConnection().bph().get_cp().S_ChatPacket(cha , "현재 인첸트 배율 : "+GameServerSetting.getInstance().get_Rate_En()+"배",Opcodes.S_OPCODE_GLOBALCHAT , 0x02),true);
}
}catch (Exception e){
cha.sendPackets(cha.get_netConnection().bph().get_cp().S_ChatPacket(cha , "현재 경험치 배율 : "+GameServerSetting.getInstance().get_Rate_EXP()+"배",Opcodes.S_OPCODE_GLOBALCHAT , 0x02),true);
cha.sendPackets(cha.get_netConnection().bph().get_cp().S_ChatPacket(cha , "현재 아이템 배율 : "+GameServerSetting.getInstance().get_Rate_Item()+"배",Opcodes.S_OPCODE_GLOBALCHAT , 0x02),true);
cha.sendPackets(cha.get_netConnection().bph().get_cp().S_ChatPacket(cha , "현재 아데나 배율 : "+GameServerSetting.getInstance().get_Rate_Aden()+"배",Opcodes.S_OPCODE_GLOBALCHAT , 0x02),true);
cha.sendPackets(cha.get_netConnection().bph().get_cp().S_ChatPacket(cha , "현재 인첸트 배율 : "+GameServerSetting.getInstance().get_Rate_En()+"배",Opcodes.S_OPCODE_GLOBALCHAT , 0x02),true);
}
}
위 코드를 적용하시면 게임상에서 GM 권한으로 배율이나 기타 설정을 조절 하실 수 있습니다.
.도움말 기능을 입력했을때 이 배율 부분이 뜨도록 하고자 하실때는 아래의 GM 명령어 수정에서 한줄을 그대로 복사하신 후 내용 부분만 편집을 하시면 .도움말에서 .배율에 관한 설명뜨게 됩니다.
[출처] 배율 조절 GM 명령어로 바로 적용시키기 (비공개 카페)