@Override public void runCommand(L2PcInstance admin, String... params) { if (admin == null) return; final String command = params[0]; if (command.equals("vis") || command.equals("visible")) { admin.getAppearance().setVisible(); admin.broadcastUserInfo(true); return; } else if (command.equals("invis") || command.equals("invisible")) { admin.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); admin.setTarget(admin); admin.disableAllSkills(); admin.getAppearance().setInvisible(); admin.updateInvisibilityStatus(); admin.enableAllSkills(); return; } else if (command.equals("earthquake")) { try { int intensity = Integer.parseInt(params[1]); int duration = Integer.parseInt(params[2]); Earthquake eq = new Earthquake(admin.getX(), admin.getY(), admin.getZ(), intensity, duration); admin.broadcastPacket(eq); } catch (Exception e) { admin.sendMessage("Используйте: //earthquake <intensity> <duration>"); } sendHtml(admin, "effects"); return; } else if (command.equals("atmosphere")) { try { String type = params[1]; String state = params[2]; adminAtmosphere(type, state, admin); } catch (Exception ex) { } sendHtml(admin, "effects"); return; } else if (command.equals("sounds")) { methods.showHelpPage(admin, "songs/songs.htm"); return; } else if (command.equals("play_sounds")) { try { String cmd = ""; for (int x = 1; x < params.length; x++) cmd += (" " + params[x]); methods.showHelpPage(admin, "songs/songs" + cmd + ".htm"); } catch (StringIndexOutOfBoundsException e) { } return; } else if (command.startsWith("play_sound")) { try { String cmd = ""; for (int x = 1; x < params.length; x++) cmd += (" " + params[x]); playAdminSound(admin, cmd); } catch (StringIndexOutOfBoundsException e) { } return; } else if (command.equals("para")) { String type = "1"; if (params.length > 1) type = params[1]; try { L2Object target = admin.getTarget(); L2Character player = null; if (target instanceof L2Character) { player = (L2Character) target; if (type.equals("1")) player.startAbnormalEffect(AbnormalEffect.HOLD_1); else player.startAbnormalEffect(AbnormalEffect.HOLD_2); player.setIsParalyzed(true); StopMove sm = new StopMove(player); player.sendPacket(sm); player.broadcastPacket(sm); } } catch (Exception e) { } } else if (command.equals("unpara")) { try { L2Object target = admin.getTarget(); L2Character player = null; if (target instanceof L2Character) { player = (L2Character) target; player.stopAbnormalEffect(AbnormalEffect.HOLD_1); player.stopAbnormalEffect(AbnormalEffect.HOLD_2); player.setIsParalyzed(false); } } catch (Exception e) { } } else if (command.equals("para_all") || command.equals("unpara_all")) { boolean para = command.equals("para_all"); try { for (L2PcInstance player : admin.getKnownList().getKnownPlayers().values()) { if (!player.isGM()) { if (para) { player.startAbnormalEffect(AbnormalEffect.HOLD_1); player.setIsParalyzed(true); player.broadcastPacket(new StopMove(player)); } else { player.stopAbnormalEffect(AbnormalEffect.HOLD_1); player.setIsParalyzed(false); } } } } catch (Exception e) { } sendHtml(admin, "effects"); return; } else if (command.equals("bighead") || command.equals("shrinkhead")) { try { L2Object target = admin.getTarget(); if (target == null) target = admin; if (target != null && target instanceof L2Character) { if (command.equals("shrinkhead")) ((L2Character) target).stopAbnormalEffect(AbnormalEffect.BIG_HEAD); else ((L2Character) target).startAbnormalEffect(AbnormalEffect.BIG_HEAD); } } catch (Exception e) { } sendHtml(admin, "effects"); return; } else if (command.equals("gmspeed")) { try { int val = Integer.parseInt(params[1]); admin.stopSkillEffects(7029); if (val == 0 && admin.getFirstEffect(7029) != null) admin.sendPacket( new SystemMessage(SystemMessageId.EFFECT_S1_DISAPPEARED).addSkillName(7029)); else if ((val >= 1) && (val <= 4)) { L2Skill gmSpeedSkill = SkillTable.getInstance().getInfo(7029, val); admin.doSimultaneousCast(gmSpeedSkill); } } catch (Exception e) { admin.sendMessage("Используйте: //gmspeed [0-4]"); } finally { admin.updateEffectIcons(); } return; } else if (command.equals("social") || command.equals("social_menu")) { if (command.equals("social_menu")) { sendHtml(admin, "submenus/social_menu"); return; } try { if (params.length == 3) { int social = Integer.parseInt(params[1]); int radius = Integer.parseInt(params[2]); for (L2PcInstance pl : admin.getKnownList().getKnownPlayersInRadius(radius)) { if (pl == null || pl.isAlikeDead() || pl.isOfflineTrade() || pl.isTeleporting() || pl.inPrivateMode()) continue; performSocial(social, pl, admin); } admin.sendMessage("Социальное дествие отправлено всем в радиусе " + radius); } else if (params.length == 2) { int social = Integer.parseInt(params[1]); L2Object obj = admin.getTarget(); if (obj == null) obj = admin; performSocial(social, obj, admin); } } catch (Exception e) { admin.sendMessage("Используйте: //social [id]"); } sendHtml(admin, "submenus/social_menu"); return; } else if (command.equals("abnormal") || command.equals("abnormal_menu")) { if (command.equals("abnormal_menu")) { sendHtml(admin, "submenus/abnormal_menu"); return; } try { if (params.length == 3) { int abnormal = Integer.decode("0x" + params[1]); int radius = Integer.parseInt(params[2]); for (L2PcInstance pl : admin.getKnownList().getKnownPlayersInRadius(radius)) { if (pl == null || pl.isAlikeDead() || pl.isOfflineTrade() || pl.isTeleporting() || pl.inPrivateMode()) continue; performAbnormal(abnormal, pl); } admin.sendMessage("Эффект отправлен всем в радиусе " + radius); } else if (params.length == 2) { int abnormal = Integer.decode("0x" + params[1]); L2Object obj = admin.getTarget(); if (obj == null) obj = admin; performAbnormal(abnormal, obj); } } catch (Exception e) { admin.sendMessage("Используйте: //social [id]"); } sendHtml(admin, "submenus/abnormal_menu"); return; } }