운영자 파티
안녕하세요.
역시 이벤트때 유용하게 쓰고는있습니다.
화면 안에 유져를 한방에 파티시키는겁니다.
물론 운영자에게 강제파티가 되요.
메소드부분 잘보시면 화면 또는 전체 두가지가있습니다.
복불복이벤트나 카오다이 이벤트때 많은유져 파티하기 귀찮아서요..
명령어부분
} else if (cmd.equalsIgnoreCase("파티")) {
party(gm, param);
메소드부분
private void party(L1PcInstance gm, String cmdName) {
try {
StringTokenizer tok = new StringTokenizer(cmdName);
String cmd = tok.nextToken();
if (cmd.equals("주변")) {
L1Party party = new L1Party();
if (gm.getParty() == null) {
party.addMember(gm);
} else {
party = gm.getParty();
}
int range = 3;// 현재주변3칸
for (L1PcInstance Targetpc : L1World.getInstance().getVisiblePlayer(gm, range)) {
if (gm.getName().equals(Targetpc.getName())) {
continue;
}
if (Targetpc.getParty() != null) {
continue;
}// 파티있는유저제외
if (Targetpc.isPrivateShop()) {
continue;
}// 무인제외
party.addMember(Targetpc);
gm.sendPackets(new S_SystemMessage(Targetpc.getName() + "님을 내파티에 참가시켰습니다."));
}
gm.sendPackets(new S_SystemMessage(range + "칸 안의 유저를 내파티에 참가시켰습니다."));
} else if (cmd.equals("화면")) {
L1Party party = new L1Party();
if (gm.getParty() == null) {
party.addMember(gm);
} else {
party = gm.getParty();
}
for (L1PcInstance Targetpc : L1World.getInstance().getVisiblePlayer(gm)) {
if (gm.getName().equals(Targetpc.getName())) {
continue;
}
if (Targetpc.getParty() != null) {
continue;
}
if (Targetpc.isPrivateShop()) {
continue;
}
party.addMember(Targetpc);
gm.sendPackets(new S_SystemMessage(Targetpc.getName() + "님을 내파티에 참가시켰습니다."));
}
gm.sendPackets(new S_SystemMessage("화면안의 유저를 내파티에 참가시켰습니다."));
} else if (cmd.equals("전체")) {
L1Party party = new L1Party();
if (gm.getParty() == null) {
party.addMember(gm);
} else {
party = gm.getParty();
}
int range = 3;// 현재주변3칸
for (L1PcInstance Targetpc : L1World.getInstance().getAllPlayers()) {
if (gm.getName().equals(Targetpc.getName())) {
continue;
}
if (Targetpc.getParty() != null) {
continue;
}
if (Targetpc.isPrivateShop()) {
continue;
}
party.addMember(Targetpc);
gm.sendPackets(new S_SystemMessage(Targetpc.getName() + "님을 내파티에 참가시켰습니다."));
}
gm.sendPackets(new S_SystemMessage(range + "칸 안의 유저를 내파티에 참가시켰습니다."));
} else if (cmd.equals("타겟참가")) {
String TargetpcName = tok.nextToken();
L1PcInstance TargetPc = L1World.getInstance().getPlayer(TargetpcName);
if (TargetPc.getParty() != null) {
gm.sendPackets(new S_SystemMessage(TargetPc.getName() + "님은 파티가 없습니다."));
} else {
TargetPc.getParty().addMember(gm);
gm.sendPackets(new S_SystemMessage(TargetPc.getName() + "님의 파티에 참가했습니다."));
}
} else if (cmd.equals("타겟초대")) {
String TargetpcName = tok.nextToken();
L1PcInstance TargetPc = L1World.getInstance().getPlayer(TargetpcName);
L1Party party = new L1Party();
if (gm.getParty() == null) {
party.addMember(gm);
} else {
party = gm.getParty();
}
if (TargetPc.getParty() != null) {
TargetPc.getParty().kickMember(TargetPc);
}
party.addMember(TargetPc);
gm.sendPackets(new S_SystemMessage(TargetPc.getName() + "님을 내파티에 강제참가시켰습니다."));
} else if (cmd.equals("전체강제초대")) {
L1Party party = new L1Party();
if (gm.getParty() == null) {
party.addMember(gm);
} else {
party = gm.getParty();
}
int range = 3;// 현재주변3칸
for (L1PcInstance Targetpc : L1World.getInstance().getAllPlayers()) {
if (gm.getName().equals(Targetpc.getName())) {
continue;
}
if (Targetpc.isPrivateShop()) {
continue;
}
if (Targetpc.getParty() != null) {
Targetpc.getParty().kickMember(Targetpc);
}
party.addMember(Targetpc);
gm.sendPackets(new S_SystemMessage(Targetpc.getName() + "님을 내파티에 참가시켰습니다."));
}
gm.sendPackets(new S_SystemMessage("접속중인 유저를 내파티에 강제참가시켰습니다."));
} else if (cmd.equals("파장")) {
if (gm.getParty() == null) {
gm.sendPackets(new S_SystemMessage("참가중인파티가없습니다."));
} else {
gm.getParty().passLeader(gm);
gm.sendPackets(new S_SystemMessage("파장을 뺐었습니다."));
}
}
} catch (Exception e) {
gm.sendPackets(new S_SystemMessage(".파티 [주변,화면,전체,타겟참가 (유저이름)]"));
gm.sendPackets(new S_SystemMessage(".파티 [타겟초대 (유저이름),전체강제초대,파장]"));
}
}
[출처] 운영자 파티 (비공개 카페)

준희미니 님의 최근 댓글
rt 2021 05.25 ㄳ 2021 05.11 ㄳ 2021 05.11 rt 2021 05.09 rt 2021 04.25