2014年2月10日 星期一

一段時間傳送

在某地圖站著不動超過10分鐘
就把人物傳送到其他地圖

QUOTE:
C_LoginToServer.java

找到

L1World.getInstance().addVisibleObject(pc);

上方加入

pc.setSkillEffect(0968026609, 60000);



QUOTE:
L1PcInstance.java

找到

private Timestamp _lastPk;

上方加入

private int _oneminutelocx = 0;

public int getoneminutelocx() {
  return _oneminutelocx;
}

public void setoneminutelocx(int i) {
  _oneminutelocx = i;
}

private int _oneminutelocy = 0;

public int getoneminutelocy() {
  return _oneminutelocy;
}

public void setoneminutelocy(int i) {
  _oneminutelocy = i;
}

private int _oneminutemap = 0;

public int getoneminutemap() {
  return _oneminutemap;
}

public void setoneminutemap(int i) {
  _oneminutemap = i;
}

private int _oneminutetime = 0;

public int getoneminutetime() {
  return _oneminutetime;
}

public void setoneminutetime(int i) {
  _oneminutetime = i;
}



QUOTE:
L1SkillTimer.java

找到

else if ((skillId == COOKING_1_0_N) || (skillId == COOKING_1_0_S)) {

上面加入

else if (skillId == 0968026609) {
  pc.setSkillEffect(0968026609, 60000);
  boolean teleport = false;
  int x = pc.getoneminutelocx();
  int y = pc.getoneminutelocy();
  int map = pc.getoneminutelocmap();
  int time = pc.getoneminutetime();
  if (map != pc.getMapId() && map == 商店掛網街) {
    pc.setoneminutemap(pc.getMapId());
    return;
  }
  if (x != pc.getX()) {
    pc.setoneminutelocx(pc.getX());
  } else {
    teleport = true;
  }
  if (y != pc.getY()) {
    pc.setoneminutelocy(pc.getY());
  } else {
    teleport = true;
  }
  if (teleport == true) {
    time += 1;
    pc.setoneminutetime(time);
  } else {
    time = 0;
    pc.setoneminutetime(0);
  }
  if (time == 10) {
    L1Teleport.teleport(pc, 32701, 32777, 666, 5, false);
  }
}

方法完畢。

沒有留言:

張貼留言