-
Публикаций
106 -
Зарегистрирован
-
Посещение
-
Отзывы
0%
Сообщения, опубликованные Димон_Визняк
-
-
Доброго времени суток.
Хотел бы именно тут узнать ответы на мои вопросы. Т.к такие запросы делать в google (Не реклама) слишком чаровато и опасноВообщем существуют ли еще сервесы(Разрабы) которые предоставляют услуги своей сборки.
Интересует именно сборка HF - Направление рейты от х30 и до х150 (Крафт)
Как минимум приобрету сборку на 3+ месяца для ознакомление и тому подобное.
Так же что бы хорошо работал с смарт-гвардом (Поправте если что то не так сказал)
Буду рад услышать как и что есть в наличии. Можете написать тут, в ЛС или же в Вк - https://vk.com/dimon_gameover
Заранее спасибо. Администрации добра, и с праздником. -
Добрый день форум.
Вообщем такой вопрос.
У меня есть свой патч (Для оллимпа, на хрониках HF )
Делаю его для себя, как бы + для своего пака (Старательно, все дела)
Суть вопроса, можно ли как то обезопасить его ? То бишь что бы он запускался только, по моему там, коду каком-та, или что бы он работал с определенным сроком действие.
Так же хочу услышать о опытных пользователей, какие еще есть варианты обезопасить (Что бы не слили в шару или что то типо такого )
Ответ типо такого : Не кому не давать ахахаха (Не приветствуется , это и без вас знаю )
Так же ищу кодера, или человека который осведомлен с бэкдором (Для собственного ознакомление) Так же есть пару вопросом (Связанные с патчами и их плюшками)
Разумеется все это не бесплатно.
Просьба написать в ЛС в ВК - https://vk.com/dimon_theend (Не реклама)
Или же оставить ваши коменты тут.
Заранее спасибо.
P.S : Что случилось с форумом? раньше был такой живчик.
-
-
А можно исходник в соответствующей версии сборки ? пожалуйста.
Если она на продаже, ценник в ЛС пожалуйста.
Знаю что в шара есть исходы, но честно слово , лень доделывать что тут уже сделано ( По Версии Автора)
-
42 минуты назад, •°•°•PsycHoO•°•°• сказал:Я уже написал сверху, что они могут быть описаны в одном из XML файлов. ( *.xml расширение ), может в папке data есть npc.xml или нечто подобное, там попробуйте найти ID.
Я Вас услышал, буду искать.
А вот по поводу ТВТ, мб вы уже сталкивались с таким то проблемами?
Предложение на регистрацию есть, регистрация принимается, аннонс о тайминге забераение идет, то что регистрация прошла показывает.
А как время заканчивается, просто аннонс *Event Started* И все
Персонажей не заберает.
Спойлер# =================================================
# Settings Event item TvT (Team VS Team) #
# =================================================
# Reward for every murder in the format itemId,count;itemId,count
TvT_Rewards = 6673,300
# Multiplied by lvl char?
TvT_rate = false
# Time to start
TvT_time = 10
# The time at which to run the Event.
TvT_StartTime = 00:00,02:00,04:00,06:00,10:00,12:00,14:00,16:00,18:00,20:00,22:00
# Provide Event by category? (Division by level)
TvT_Categories = true
# Minimum number of participants for each team
TvT_MinPlayerInTeam = 1
# The maximum number of participants for each team
TvT_MaxPlayerInTeam = 100
# Permission to teleport Event with summon?
TvT_AllowSummons = true
# Do not remove buffs with teleportation?
TvT_AllowBuffs = true
# Allow registration of 2 or more windows?
TvT_AllowMultiReg = true
# Check for windows by IP or HWid?
TvT_CheckWindowMethod = HWid
# Buffalo participants indicated buffs?
TvT_BuffPlayers = true
# List buff for Fighter
TvT_FighterBuffs = 192,1
# List buff for Wizards
TvT_MageBuffs = 1397,3; 1182,3; 1189,3; 1191,3; 1392,3; 1393,3; 1352,1; 1353,1; 1354,1; 1259,4; 1035,4; 1078,6; 1461,1; 1303,2; 830,1; 1383,3; 1062,2; 4703,13; 1085,3; 1501,1; 1500,1; 1499,1; 1504,1; 1413,1; 1323,1; 363,1; 308,1; 530,1; 349,1; 268,1; 267,1; 304,1; 264,1; 365,1; 273,1; 276,1;
# Length opening event in minutes
TvT_EventRunningTime = 15
# Close the door on time and open the Event item at the end
TvT_OpenCloseDoors = 24190001,24190002,24190003,24190004
# Disable skills during Event
TvT_DisallowedSkills = 1410;1016;1254;701;740;2014;2049;2062;2079;2321;2393;2596;22104;3160;3236;2079;21054;21095;21102;21221;5541;5545;5662;23005;23009;23014;23030;23062;2166;2289;2402;2403;22119;22220;90001;2002;2031;2032;2017;2038;1508;2592;2863;2864;26024;26025;22178;2863;2864;2003;26030;Спойлерpackage events.TvT;
import l2f.commons.threading.RunnableImpl;
import l2f.gameserver.listener.actor.OnDeathListener;
import l2f.gameserver.listener.actor.player.OnPlayerExitListener;
import l2f.gameserver.listener.actor.player.OnTeleportListener;
import l2f.gameserver.listener.zone.OnZoneEnterLeaveListener;
import l2f.gameserver.model.Creature;
import l2f.gameserver.model.Player;
import l2f.gameserver.model.Zone;
import l2f.gameserver.model.entity.Reflection;
import l2f.gameserver.scripts.Functions;
import l2f.gameserver.scripts.ScriptFile;public class TvT extends Functions implements ScriptFile, OnDeathListener,
OnTeleportListener, OnPlayerExitListener {/*private static final Logger _log = LoggerFactory.getLogger(TvT.class);
private static ScheduledFuture<?> _startTask;
private static final int[] doors = new int[] { 24190001, 24190002, 24190003, 24190004 };private static List<Long> players_list1 = new CopyOnWriteArrayList<Long>();
private static List<Long> players_list2 = new CopyOnWriteArrayList<Long>();
private static List<Long> live_list1 = new CopyOnWriteArrayList<Long>();
private static List<Long> live_list2 = new CopyOnWriteArrayList<Long>();
private static int[][] mage_buffs = new int[Config.EVENT_TvTMageBuffs.length][2];
private static int[][] fighter_buffs = new int[Config.EVENT_TvTFighterBuffs.length][2];
private static long _startedTime = 0;
private static int[][] rewards = new int[Config.EVENT_TvTRewards.length][2];
private static Map<Long, Location> playerRestoreCoord = new LinkedHashMap<Long, Location>();
private static Map<Long, String> boxes = new LinkedHashMap<Long, String>();
private static boolean _isRegistrationActive = false;
private static int _status = 0;
private static int _time_to_start;
private static int _category;
private static int _minLevel;
private static int _maxLevel;
private static int _autoContinue = 0;
private static boolean _active = false;
private static Skill buff;
private static Reflection reflection = ReflectionManager.TVT_EVENT;
private static ScheduledFuture<?> _endTask;private static Zone _zone;
private static Zone _zone1;
private static Zone _zone2;
private static Zone _zone3;
private static Zone _zone4;
private static Zone _zone5;
//new
private static Zone _zone6;
private static Zone _zone7;
private static Zone _zone8;
private static Zone _zone9;
private static Zone _zone10;
private static Zone _myZone = null;
private static Territory territory = null;
private static Map<Integer, Integer> _pScore = new HashMap<Integer, Integer>();
private static Map<Integer, Integer> _pScoreStatic = new HashMap<Integer, Integer>();
private static Map<String, ZoneTemplate> _zones = new HashMap<String, ZoneTemplate>();
private static IntObjectMap<DoorTemplate> _doors = new HashIntObjectMap<DoorTemplate>();
private static ZoneListener _zoneListener = new ZoneListener();
private static int bluePoints = 0;
private static int redPoints = 0;*/
@Override
public void onLoad()
{
/*CharListenerList.addGlobal(this);_zones.put("[hellbound_quarry_tvt]", ReflectionUtils.getZone("[hellbound_quarry_tvt]").getTemplate());
_zones.put("[baylor_tvt]", ReflectionUtils.getZone("[baylor_tvt]").getTemplate());
_zones.put("[hellbound_quarry_tvt]", ReflectionUtils.getZone("[hellbound_quarry_tvt]").getTemplate());
_zones.put("[beleth_tvt]", ReflectionUtils.getZone("[beleth_tvt]").getTemplate());
_zones.put("[hellbound_quarry_tvt]", ReflectionUtils.getZone("[hellbound_quarry_tvt]").getTemplate());
_zones.put("[cleft_tvt]", ReflectionUtils.getZone("[cleft_tvt]").getTemplate());
//new
_zones.put("[baium_lair_tvt]", ReflectionUtils.getZone("[baium_lair_tvt]").getTemplate());
_zones.put("[parnas_tvt]", ReflectionUtils.getZone("[parnas_tvt]").getTemplate());
_zones.put("[tully_tvt]", ReflectionUtils.getZone("[tully_tvt]").getTemplate());
//new
_zones.put("[destruction_tvt]", ReflectionUtils.getZone("[destruction_tvt]").getTemplate());
_zones.put("[cleft_tvt]", ReflectionUtils.getZone("[cleft_tvt]").getTemplate());
for (final int doorId : doors)
_doors.put(doorId, ReflectionUtils.getDoor(doorId).getTemplate());int geoIndex = GeoEngine.NextGeoIndex(24, 19, reflection.getId());
reflection.setGeoIndex(geoIndex);
reflection.init(_doors, _zones);
_zone = reflection.getZone("[hellbound_quarry_tvt]");
_zone1 = reflection.getZone("[baylor_tvt]");
_zone2 = reflection.getZone("[hellbound_quarry_tvt]");
_zone3 = reflection.getZone("[beleth_tvt]");
_zone4 = reflection.getZone("[hellbound_quarry_tvt]");
_zone5 = reflection.getZone("[cleft_tvt]");
//new
_zone6 = reflection.getZone("[baium_lair_tvt]");
_zone7 = reflection.getZone("[parnas_tvt]");
_zone8 = reflection.getZone("[tully_tvt]");
//new
_zone9 = reflection.getZone("[destruction_tvt]");
_zone10 = reflection.getZone("[cleft_tvt]");
_active = ServerVariables.getString("TvT", "off").equalsIgnoreCase("on");
if (isActive())
scheduleEventStart();
_zone.addListener(_zoneListener);
_zone1.addListener(_zoneListener);
_zone2.addListener(_zoneListener);
_zone3.addListener(_zoneListener);
_zone4.addListener(_zoneListener);
_zone5.addListener(_zoneListener);
_zone6.addListener(_zoneListener);
_zone7.addListener(_zoneListener);
_zone8.addListener(_zoneListener);
_zone9.addListener(_zoneListener);
_zone10.addListener(_zoneListener);
int i = 0;
if (Config.EVENT_TvTBuffPlayers && Config.EVENT_TvTMageBuffs.length != 0)
for (String skill : Config.EVENT_TvTMageBuffs) {
String[] splitSkill = skill.split(",");
mage_buffs[0] = Integer.parseInt(splitSkill[0]);
mage_buffs[1] = Integer.parseInt(splitSkill[1]);
i++;
}
i = 0;
if (Config.EVENT_TvTBuffPlayers && Config.EVENT_TvTMageBuffs.length != 0)
for (String skill : Config.EVENT_TvTFighterBuffs) {
String[] splitSkill = skill.split(",");
fighter_buffs[0] = Integer.parseInt(splitSkill[0]);
fighter_buffs[1] = Integer.parseInt(splitSkill[1]);
i++;
}
i = 0;
if (Config.EVENT_TvTRewards.length != 0)
for (String reward : Config.EVENT_TvTRewards) {
String[] splitReward = reward.split(",");
rewards[0] = Integer.parseInt(splitReward[0]);
rewards[1] = Integer.parseInt(splitReward[1]);
i++;
}
_log.info("Loaded Event: TvT");*/
}@Override
public void onReload() {
/*if(_startTask != null) {
_startTask.cancel(false);
_startTask = null;
}*/
}@Override
public void onShutdown() {
//onReload();
}
public void activateEvent()
{
/*Player player = getSelf();
if (!player.getPlayerAccess().IsEventGm)
return;if (!isActive())
{
if (_startTask == null)
scheduleEventStart();
ServerVariables.set("TvT", "on");
_log.info("Event 'TvT' activated.");
Announcements.getInstance().announceByCustomMessage("scripts.events.TvT.AnnounceEventStarted", null);
}
else
player.sendMessage("Event 'TvT' already active.");_active = true;
show("admin/events/events.htm", player);*/
}public void deactivateEvent()
{
/*Player player = getSelf();
if (!player.getPlayerAccess().IsEventGm)
return;if (isActive()) {
if (_startTask != null) {
_startTask.cancel(false);
_startTask = null;
}
ServerVariables.unset("TvT");
_log.info("Event 'TvT' deactivated.");
Announcements.getInstance().announceByCustomMessage("scripts.events.TvT.AnnounceEventStoped", null);
}
else
player.sendMessage("Event 'TvT' not active.");_active = false;
show("admin/events/events.htm", player);*/
}public static boolean isRunned() {
//return _isRegistrationActive || _status > 0;
return false;
}public static int getMinLevelForCategory(int category) {
/*switch(category) {
case 1:
return 20;
case 2:
return 30;
case 3:
return 40;
case 4:
return 52;
case 5:
return 62;
case 6:
return 76;
}*/
return 0;
}public static int getMaxLevelForCategory(int category)
{
/*switch(category)
{
case 1:
return 29;
case 2:
return 39;
case 3:
return 51;
case 4:
return 61;
case 5:
return 75;
case 6:
return 85;
}*/
return 0;
}public static int getCategory(int level) {
/*if(level >= 20 && level <= 29)
return 1;
else if (level >= 30 && level <= 39)
return 2;
else if (level >= 40 && level <= 51)
return 3;
else if (level >= 52 && level <= 61)
return 4;
else if (level >= 62 && level <= 75)
return 5;
else if (level >= 76)
return 6;*/
return 0;
}public void start(String[] var)
{
/*Player player = getSelf();
if (var.length != 2)
{
show(new CustomMessage("common.Error", player), player);
return;
}
Integer category;
Integer autoContinue;
try
{
category = Integer.valueOf(var[0]);
autoContinue = Integer.valueOf(var[1]);
}
catch (Exception e)
{
show(new CustomMessage("common.Error", player), player);
return;
}_category = category;
_autoContinue = autoContinue;if (_category == -1)
{
_minLevel = 75;
_maxLevel = 85;
}
else
{
_minLevel = getMinLevelForCategory(_category);
_maxLevel = getMaxLevelForCategory(_category);
}if (_endTask != null)
{
show(new CustomMessage("common.TryLater", player), player);
return;
}_status = 0;
_isRegistrationActive = true;
_time_to_start = Config.EVENT_TvTTime;players_list1 = new CopyOnWriteArrayList<Long>();
players_list2 = new CopyOnWriteArrayList<Long>();
live_list1 = new CopyOnWriteArrayList<Long>();
live_list2 = new CopyOnWriteArrayList<Long>();
playerRestoreCoord = new LinkedHashMap<Long, Location>();
String[] param = {
String.valueOf(_time_to_start),
String.valueOf(_minLevel),
String.valueOf(_maxLevel)
};
sayToAll("scripts.events.TvT.AnnouncePreStart", param);executeTask("events.TvT.TvT", "question", new Object[0], 10000);
executeTask("events.TvT.TvT", "announce", new Object[0], 60000);*/
}public static void sayToAll(String address, String[] replacements) {
/*Announcements.getInstance().announceByCustomMessage(address, replacements, ChatType.CRITICAL_ANNOUNCE);*/
}public static void question()
{
/*for(Player player : GameObjectsStorage.getAllPlayersForIterate())
if (player != null && !player.isDead() && player.getLevel() >= _minLevel && player.getLevel() <= _maxLevel && player.getReflection().isDefault() && !player.isInOlympiadMode() && !player.isInObserverMode())
player.scriptRequest(new CustomMessage("scripts.events.TvT.AskPlayer", player).toString(), "events.TvT.TvT:addPlayer", new Object[0]);*/
}public static void announce() {
/*if(_time_to_start > 1) {
_time_to_start--;
String[] param = {
String.valueOf(_time_to_start),
String.valueOf(_minLevel),
String.valueOf(_maxLevel)
};
sayToAll("scripts.events.TvT.AnnouncePreStart", param);
executeTask("events.TvT.TvT", "announce", new Object[0], 60000);
}
else
{
if (players_list1.isEmpty() || players_list2.isEmpty() || players_list1.size() < Config.EVENT_TvTMinPlayerInTeam || players_list2.size() < Config.EVENT_TvTMinPlayerInTeam)
{
sayToAll("scripts.events.TvT.AnnounceEventCancelled", null);
_isRegistrationActive = false;
_status = 0;
boxes.clear();
executeTask("events.TvT.TvT", "autoContinue", new Object[0], 10000);
return;
}
else
{
_status = 1;
_isRegistrationActive = false;
sayToAll("scripts.events.TvT.AnnounceEventStarting", null);
executeTask("events.TvT.TvT", "prepare", new Object[0], 5000);
}
}*/
}public void addPlayer()
{
/*Player player = getSelf();
if (player == null || !checkPlayer(player, true) || !checkDualBox(player))
return;int team = 0, size1 = players_list1.size(), size2 = players_list2.size();
if (size1 == Config.EVENT_TvTMaxPlayerInTeam && size2 == Config.EVENT_TvTMaxPlayerInTeam) {
show(new CustomMessage("scripts.events.TvT.CancelledCount", player), player);
_isRegistrationActive = false;
return;
}
if (!Config.EVENT_TvTAllowMultiReg)
{
// if ("IP".equalsIgnoreCase(Config.EVENT_TvTCheckWindowMethod))
// boxes.put(player.getStoredId(), player.getIP());
if ("HWid".equalsIgnoreCase(Config.EVENT_TvTCheckWindowMethod))
boxes.put(player.getStoredId(), player.getNetConnection().getHWID());
}if (size1 > size2)
team = 2;
else if (size1 < size2)
team = 1;
else
team = Rnd.get(1, 2);if (team == 1)
{
players_list1.add(player.getStoredId());
live_list1.add(player.getStoredId());
show(new CustomMessage("scripts.events.TvT.Registered", player), player);
}
else if (team == 2)
{
players_list2.add(player.getStoredId());
live_list2.add(player.getStoredId());
show(new CustomMessage("scripts.events.TvT.Registered", player), player);
}
else
_log.info("WTF??? Command id 0 in TvT...");*/
}public static boolean checkPlayer(Player player, boolean first) {
/*if(first && (!_isRegistrationActive || player.isDead())) {
show(new CustomMessage("scripts.events.Late", player), player);
return false;
}if (first && (players_list1.contains(player.getStoredId()) || players_list2.contains(player.getStoredId()))) {
show(new CustomMessage("scripts.events.TvT.Cancelled", player), player);
if (players_list1.contains(player.getStoredId()))
players_list1.remove(player.getStoredId());
if (players_list2.contains(player.getStoredId()))
players_list2.remove(player.getStoredId());
if (live_list1.contains(player.getStoredId()))
live_list1.remove(player.getStoredId());
if (live_list2.contains(player.getStoredId()))
live_list2.remove(player.getStoredId());
if (boxes.containsKey(player.getStoredId()))
boxes.remove(player.getStoredId());
return false;
}if (player.getLevel() < _minLevel || player.getLevel() > _maxLevel) {
show(new CustomMessage("scripts.events.TvT.CancelledLevel", player), player);
return false;
}if (player.isMounted()) {
show(new CustomMessage("scripts.events.TvT.Cancelled", player), player);
return false;
}
if (player.isCursedWeaponEquipped()) {
show(new CustomMessage("scripts.events.CtF.Cancelled", player), player);
return false;
}if (player.isInDuel()) {
show(new CustomMessage("scripts.events.TvT.CancelledDuel", player), player);
return false;
}if (player.getTeam() != TeamType.NONE) {
show(new CustomMessage("scripts.events.TvT.CancelledOtherEvent", player), player);
return false;
}if (player.getOlympiadGame() != null || first && Olympiad.isRegistered(player)) {
show(new CustomMessage("scripts.events.TvT.CancelledOlympiad", player), player);
return false;
}if (player.isInParty() && player.getParty().isInDimensionalRift()) {
show(new CustomMessage("scripts.events.TvT.CancelledOtherEvent", player), player);
return false;
}
if (player.isInObserverMode()) {
show(new CustomMessage("scripts.event.TvT.CancelledObserver", player), player);
return false;
}if (player.isTeleporting())
{
show(new CustomMessage("scripts.events.TvT.CancelledTeleport", player), player);
return false;
}
return true;*/
return false;
}public static void prepare()
{
/*for(DoorInstance door : reflection.getDoors())
door.openMe();
for (Zone z : reflection.getZones())
z.setType(ZoneType.peace_zone);
cleanPlayers();
clearArena();
executeTask("events.TvT.TvT", "ressurectPlayers", new Object[0], 1000);
executeTask("events.TvT.TvT", "healPlayers", new Object[0], 2000);
executeTask("events.TvT.TvT", "teleportPlayersToColiseum", new Object[0], 3000);
executeTask("events.TvT.TvT", "paralyzePlayers", new Object[0], 4000);
executeTask("events.TvT.TvT", "buffPlayers", new Object[0], 5000);
executeTask("events.TvT.TvT", "go", new Object[0], 60000);sayToAll("scripts.events.TvT.AnnounceFinalCountdown", null);*/
}public static void go()
{
/*_status = 2;
upParalyzePlayers();
checkLive();
clearArena();
sayToAll("scripts.events.TvT.AnnounceFight", null);
for (Zone z : reflection.getZones())
z.setType(ZoneType.battle_zone);
_endTask = executeTask("events.TvT.TvT", "endBattle", new Object[0], 360000); //test
_startedTime = System.currentTimeMillis() + 360000;
final ExCubeGameChangePoints initialPoints = new ExCubeGameChangePoints(360, bluePoints, redPoints);
ExCubeGameExtendedChangePoints clientSetUp;
for (Player player : getPlayers(players_list1))
{
clientSetUp = new ExCubeGameExtendedChangePoints(360, bluePoints, redPoints, true, player, 0);
player.sendPacket(clientSetUp);
player.sendPacket(initialPoints);
player.sendPacket(new ExCubeGameAddPlayer(player, true));
player.broadcastCharInfo();
}
for (Player player : getPlayers(players_list2))
{
clientSetUp = new ExCubeGameExtendedChangePoints(360, bluePoints, redPoints, false, player, 0);
player.sendPacket(clientSetUp);
player.sendPacket(initialPoints);
player.sendPacket(new ExCubeGameAddPlayer(player, false));
player.broadcastCharInfo();
}*/
}public static void endBattle()
{
/*_status = 0;
removeAura();
for (Zone z : reflection.getZones())
z.setType(ZoneType.peace_zone);
boxes.clear();
if (bluePoints > redPoints)
{
sayToAll("scripts.events.TvT.AnnounceFinishedBlueWins", null);
giveItemsToWinner(false, true, 1);
}
else if (bluePoints < redPoints)
{
sayToAll("scripts.events.TvT.AnnounceFinishedRedWins", null);
giveItemsToWinner(true, false, 1);
}
else if (bluePoints == redPoints)
{
sayToAll("scripts.events.TvT.AnnounceFinishedDraw", null);
giveItemsToWinner(true, true, 0.5);
}sayToAll("scripts.events.TvT.AnnounceEnd", null);
executeTask("events.TvT.TvT", "end", new Object[0], 30000);
_isRegistrationActive = false;
if (_endTask != null)
{
_endTask.cancel(false);
_endTask = null;
}
boolean _isRedWinner = bluePoints < redPoints ? true : false;
final ExCubeGameEnd end = new ExCubeGameEnd(_isRedWinner);for (Player player : getPlayers(players_list1))
{
player.sendPacket(end);
player.broadcastCharInfo();
}
for (Player player : getPlayers(players_list2))
{
player.sendPacket(end);
player.broadcastCharInfo();
}
bluePoints = 0;
redPoints = 0;
_startedTime = 0;
_myZone = null;
territory = null;*/
}public static void end()
{
/*executeTask("events.TvT.TvT", "ressurectPlayers", new Object[0], 1000);
executeTask("events.TvT.TvT", "healPlayers", new Object[0], 2000);
executeTask("events.TvT.TvT", "teleportPlayers", new Object[0], 3000);
executeTask("events.TvT.TvT", "autoContinue", new Object[0], 10000);*/
}public void autoContinue()
{
/*live_list1.clear();
live_list2.clear();
players_list1.clear();
players_list2.clear();if (_autoContinue > 0)
{
if (_autoContinue >= 6)
{
_autoContinue = 0;
return;
}
start(new String[]{
"" + (_autoContinue + 1),
"" + (_autoContinue + 1)
});
} else
scheduleEventStart();*/
}public static void giveItemsToWinner(boolean team1, boolean team2, double rate)
{
/*if(team1)
for (Player player : getPlayers(players_list1))
for (int i = 0; i < rewards.length; i++)
addItem(player, rewards[0], Math.round((Config.EVENT_TvTrate ? player.getLevel() : 1) * rewards[1] * rate));
if (team2)
for (Player player : getPlayers(players_list2))
for (int i = 0; i < rewards.length; i++)
addItem(player, rewards[0], Math.round((Config.EVENT_TvTrate ? player.getLevel() : 1) * rewards[1] * rate));*/
}public static void teleportPlayersToColiseum()
{
/*switch(Rnd.get(1,11))
{
case 1:
_myZone = _zone;
break;
case 2:
_myZone = _zone1;
break;
case 3:
_myZone = _zone2;
break;
case 4:
_myZone = _zone3;
break;
case 5:
_myZone = _zone4;
break;
case 6:
_myZone = _zone5;
break;
case 7:
_myZone = _zone6;
break;
case 8:
_myZone = _zone7;
break;
case 9:
_myZone = _zone8;
break;
case 10:
_myZone = _zone9;
break;
case 11:
_myZone = _zone10;
break;
default:
_myZone = _zone;
}
territory = _myZone.getTerritory();
for (Player player : getPlayers(players_list1))
{
unRide(player);
if (!Config.EVENT_TvTAllowSummons)
unSummonPet(player, true);
DuelEvent duel = player.getEvent(DuelEvent.class);
if (duel != null)
duel.abortDuel(player);
playerRestoreCoord.put(player.getStoredId(), new Location(player.getX(), player.getY(), player.getZ()));player.teleToLocation(Territory.getRandomLoc(territory), reflection);
player.setIsInTvT(true);
if (!Config.EVENT_TvTAllowBuffs)
{
player.getEffectList().stopAllEffects();
if (player.getPet() != null)
player.getPet().getEffectList().stopAllEffects();
}
}
for (Player player : getPlayers(players_list2)) {
unRide(player);
if (!Config.EVENT_TvTAllowSummons)
unSummonPet(player, true);
playerRestoreCoord.put(player.getStoredId(), new Location(player.getX(), player.getY(), player.getZ()));
player.teleToLocation(Territory.getRandomLoc(territory), reflection);
player.setIsInTvT(true);
if (!Config.EVENT_TvTAllowBuffs) {
player.getEffectList().stopAllEffects();
if (player.getPet() != null)
player.getPet().getEffectList().stopAllEffects();
}
}*/
}public static void teleportPlayers()
{
/*for(Player player : getPlayers(players_list1)) {
if (player == null || !playerRestoreCoord.containsKey(player.getStoredId()))
continue;
player.teleToLocation(playerRestoreCoord.get(player.getStoredId()), ReflectionManager.DEFAULT);
}for (Player player : getPlayers(players_list2)) {
if (player == null || !playerRestoreCoord.containsKey(player.getStoredId()))
continue;
player.teleToLocation(playerRestoreCoord.get(player.getStoredId()), ReflectionManager.DEFAULT);
}
playerRestoreCoord.clear();*/
}public static void paralyzePlayers()
{
/*for(Player player : getPlayers(players_list1)) {
if (player == null)
continue;
if (!player.isRooted()) {
player.getEffectList().stopEffect(Skill.SKILL_MYSTIC_IMMUNITY);
player.startRooted();
player.startAbnormalEffect(AbnormalEffect.ROOT);
}
if (player.getPet() != null && !player.getPet().isRooted()) {
player.getPet().startRooted();
player.getPet().startAbnormalEffect(AbnormalEffect.ROOT);
}
}
for (Player player : getPlayers(players_list2)) {
if (!player.isRooted()) {
player.getEffectList().stopEffect(Skill.SKILL_MYSTIC_IMMUNITY);
player.startRooted();
player.startAbnormalEffect(AbnormalEffect.ROOT);
}
if (player.getPet() != null && !player.getPet().isRooted()) {
player.getPet().startRooted();
player.getPet().startAbnormalEffect(AbnormalEffect.ROOT);
}
}*/
}
public static void upParalyzePlayers()
{
/*for(Player player : getPlayers(players_list1)) {
if (player.isRooted()) {
player.stopRooted();
player.stopAbnormalEffect(AbnormalEffect.ROOT);
}
if (player.getPet() != null && player.getPet().isRooted()) {
player.getPet().stopRooted();
player.getPet().stopAbnormalEffect(AbnormalEffect.ROOT);
}}
for (Player player : getPlayers(players_list2)) {
if (player.isRooted()) {
player.stopRooted();
player.stopAbnormalEffect(AbnormalEffect.ROOT);
}
if (player.getPet() != null && player.getPet().isRooted()) {
player.getPet().stopRooted();
player.getPet().stopAbnormalEffect(AbnormalEffect.ROOT);
}
}*/
}
public static void ressurectPlayers()
{
/*for(Player player : getPlayers(players_list1))
if (player.isDead())
{
player.restoreExp();
player.setCurrentCp(player.getMaxCp());
player.setCurrentHp(player.getMaxHp(), true);
player.setCurrentMp(player.getMaxMp());
player.broadcastPacket(new Revive(player));
}
for (Player player : getPlayers(players_list2))
if (player.isDead())
{
player.restoreExp();
player.setCurrentCp(player.getMaxCp());
player.setCurrentHp(player.getMaxHp(), true);
player.setCurrentMp(player.getMaxMp());
player.broadcastPacket(new Revive(player));
}*/
}public static void healPlayers()
{
/*for(Player player : getPlayers(players_list1))
{
player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
player.setCurrentCp(player.getMaxCp());
}
for (Player player : getPlayers(players_list2))
{
player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
player.setCurrentCp(player.getMaxCp());
}*/
}public static void cleanPlayers()
{
/*for(Player player : getPlayers(players_list1))
if (!checkPlayer(player, false))
removePlayer(player);
for (Player player : getPlayers(players_list2))
if (!checkPlayer(player, false))
removePlayer(player);*/
}public static void checkLive()
{
/*List<Long> new_live_list1 = new CopyOnWriteArrayList<Long>();
List<Long> new_live_list2 = new CopyOnWriteArrayList<Long>();for (Long storeId : live_list1)
{
Player player = GameObjectsStorage.getAsPlayer(storeId);
if (player != null)
new_live_list1.add(storeId);
}for (Long storeId : live_list2)
{
Player player = GameObjectsStorage.getAsPlayer(storeId);
if (player != null)
new_live_list2.add(storeId);
}live_list1 = new_live_list1;
live_list2 = new_live_list2;for (Player player : getPlayers(live_list1))
if (!player.isDead() && !player.isLogoutStarted())
player.setTeam(TeamType.RED);
else
loosePlayer(player);for (Player player : getPlayers(live_list2))
if (!player.isDead() && !player.isLogoutStarted())
player.setTeam(TeamType.BLUE);
else
loosePlayer(player);if (live_list1.size() < 1 || live_list2.size() < 1)
endBattle();*/
}public static void removeAura() {
/*for(Player player : getPlayers(live_list1)) {
player.setTeam(TeamType.NONE);
if (player.getPet() != null)
player.getPet().setTeam(TeamType.NONE);
player.setIsInTvT(false);
}
for (Player player : getPlayers(live_list2)) {
player.setTeam(TeamType.NONE);
if (player.getPet() != null)
player.getPet().setTeam(TeamType.NONE);
player.setIsInTvT(false);
}*/
}public static void clearArena()
{
/*if(_myZone == null)
return;
for (GameObject obj : _myZone.getObjects())
if (obj != null)
{
Player player = obj.getPlayer();
if (player != null && !live_list1.contains(player.getStoredId()) && !live_list2.contains(player.getStoredId()))
player.teleToLocation(147451, 46728, -3410, ReflectionManager.DEFAULT);
}*/
}@Override
public void onDeath(Creature self, Creature killer) {
/*if(_status > 1 && self.isPlayer() && self.getTeam() != TeamType.NONE && (live_list1.contains(self.getStoredId()) || live_list2.contains(self.getStoredId())))
{
//loosePlayer((Player) self);
//checkLive();
increasePoints(killer);
resurrectAtBase(self);
checkKillsAndAnnounce(killer.getPlayer());
_pScore.remove(self.getPlayer().getObjectId());
//self.getPlayer().setIsInTvT(false);
}*/
}
public static void resurrectAtBase(Creature self)
{
/*Player player = self.getPlayer();
if (player == null)
return;
if (player.getTeam() == TeamType.NONE)
return;
player.broadcastPacket(new Revive(player));
player.setCurrentHp(player.getMaxHp(), true);
player.setCurrentMp(player.getMaxMp());
player.setCurrentCp(player.getMaxCp());
player.teleToLocation(Territory.getRandomLoc(territory), reflection);
buffPlayer(player);*/
}public static void buffPlayer(Player player)
{
/*if(player.isMageClass())
mageBuff(player);
else
fighterBuff(player);*/
}
@Override
public void onTeleport(Player player, int x, int y, int z, Reflection reflection)
{
/*if(_myZone == null)
return;
if (_myZone.checkIfInZone(x, y, z, reflection))
return;if (_status > 1 && player != null && player.getTeam() != TeamType.NONE && (live_list1.contains(player.getStoredId()) || live_list2.contains(player.getStoredId())))
{
removePlayer(player);
checkLive
*/
}@Override
public void onPlayerExit(Player player) {
/*if(player.getTeam() == TeamType.NONE)
return;if (_status == 0 && _isRegistrationActive && player.getTeam() != TeamType.NONE && (live_list1.contains(player.getStoredId()) || live_list2.contains(player.getStoredId()))) {
removePlayer(player);
return;
}if (_status == 1 && (live_list1.contains(player.getStoredId()) || live_list2.contains(player.getStoredId()))) {
player.teleToLocation(playerRestoreCoord.get(player.getStoredId()), ReflectionManager.DEFAULT);
removePlayer(player);
return;
}if (_status > 1 && player != null && player.getTeam() != TeamType.NONE
&& (live_list1.contains(player.getStoredId()) || live_list2.contains(player.getStoredId()))) {
removePlayer(player);
checkLive();
}*/
}@SuppressWarnings("unused")
private static class ZoneListener implements OnZoneEnterLeaveListener
{
@Override
public void onZoneEnter(Zone zone, Creature cha)
{
/*if(cha == null)
return;
Player player = cha.getPlayer();
if (_status > 0 && player != null && !live_list1.contains(player.getStoredId()) && !live_list2.contains(player.getStoredId()))
player.teleToLocation(147451, 46728, -3410, ReflectionManager.DEFAULT); */
}@Override
public void onZoneLeave(Zone zone, Creature cha)
{
/*if(cha == null)
return;
Player player = cha.getPlayer();
if (_status > 1 && player != null && player.getTeam() != TeamType.NONE && (live_list1.contains(player.getStoredId()) || live_list2.contains(player.getStoredId())))
{
double angle = PositionUtils.convertHeadingToDegree(cha.getHeading()); // угол в градусах
double radian = Math.toRadians(angle - 90); // угол в радианах
int x = (int) (cha.getX() + 250 * Math.sin(radian));
int y = (int) (cha.getY() - 250 * Math.cos(radian));
int z = cha.getZ();
player.teleToLocation(x, y, z, reflection);
}*/
}
}public static void buffPlayers() {
/*for(Player player : getPlayers(players_list1)) {
if (player.isMageClass())
mageBuff(player);
else
fighterBuff(player);
}
for (Player player : getPlayers(players_list2)) {
if (player.isMageClass())
mageBuff(player);
else
fighterBuff(player);
}*/
}
public void scheduleEventStart() {
/*try {
Calendar currentTime = Calendar.getInstance();
Calendar nextStartTime = null;
Calendar testStartTime = null;for (String timeOfDay : Config.EVENT_TvTStartTime) {
testStartTime = Calendar.getInstance();
testStartTime.setLenient(true);String[] splitTimeOfDay = timeOfDay.split(":");
testStartTime.set(Calendar.HOUR_OF_DAY, Integer.parseInt(splitTimeOfDay[0]));
testStartTime.set(Calendar.MINUTE, Integer.parseInt(splitTimeOfDay[1]));
if (testStartTime.getTimeInMillis() < currentTime.getTimeInMillis())
testStartTime.add(Calendar.DAY_OF_MONTH, 1);if (nextStartTime == null || testStartTime.getTimeInMillis() < nextStartTime.getTimeInMillis())
nextStartTime = testStartTime;
if (_startTask != null) {
_startTask.cancel(false);
_startTask = null;
}
_startTask = ThreadPoolManager.getInstance().schedule(new StartTask(), nextStartTime.getTimeInMillis() - System.currentTimeMillis());
}currentTime = null;
nextStartTime = null;
testStartTime = null;
} catch (Exception e) {
_log.warn("TvT: Error figuring out a start time. Check TvTEventInterval in config file.");
}*/
}
public static void mageBuff(Player player) {
/*for(int i = 0; i < mage_buffs.length; i++)
{
buff = SkillTable.getInstance().getInfo(mage_buffs[0], mage_buffs[1]);
if (buff == null)
continue;
buff.getEffects(player, player, false, false);
}
player.setCurrentHp(player.getMaxHp(), true);
player.setCurrentMp(player.getMaxMp());
player.setCurrentCp(player.getMaxCp());*/
}
public static void fighterBuff(Player player) {
/*for(int i = 0; i < fighter_buffs.length; i++)
{
buff = SkillTable.getInstance().getInfo(fighter_buffs[0], fighter_buffs[1]);
if (buff == null)
continue;
buff.getEffects(player, player, false, false);
}
player.setCurrentHp(player.getMaxHp(), true);
player.setCurrentMp(player.getMaxMp());
player.setCurrentCp(player.getMaxCp()); */
}
public class StartTask extends RunnableImpl {
@Override
public void runImpl()
{
/*if(!_active)
return;if (isPvPEventStarted()) {
_log.info("TvT not started: another event is already running");
return;
}for (Residence c : ResidenceHolder.getInstance().getResidenceList(Castle.class))
if (c.getSiegeEvent() != null && c.getSiegeEvent().isInProgress()) {
_log.debug("TvT not started: CastleSiege in progress");
return;
}if (Config.EVENT_TvTCategories)
start(new String[]{ "1", "1"});
else
start(new String[] {"-1", "-1"});*/
}
}
}Спойлерpackage events;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;import l2f.gameserver.scripts.Functions;
import l2f.gameserver.scripts.ScriptFile;
import l2f.gameserver.utils.Util;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class EventsConfig extends Functions implements ScriptFile
{
private static final Logger _log = LoggerFactory.getLogger(EventsConfig.class);private static final String dir = "./config/events";
private static ConcurrentHashMap<String, String> properties;@Override
public void onLoad()
{
properties = new ConcurrentHashMap<String, String>();
LoadConfig();
_log.info("Loaded Service: EventsConfig");
}@Override
public void onReload()
{
onLoad();
}@Override
public void onShutdown()
{}public static void LoadConfig()
{
File files = new File(dir);
if (!files.exists())
_log.warn("WARNING! " + dir + " not exists! Config not loaded!");
else
parseFiles(files.listFiles());
}private static void parseFiles(File[] files)
{
for (File f : files)
{
if (f.isHidden())
continue;
if (f.isDirectory() && !f.getName().contains("defaults"))
parseFiles(f.listFiles());
else if (f.getName().endsWith(".ini"))
{
try
{
InputStream is = new FileInputStream(f);
Properties p = new Properties();
p.load(is);
loadProperties(p);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}private static void loadProperties(Properties p)
{
for (String name : p.stringPropertyNames())
{
if (properties.get(name) != null)
{
properties.replace(name, p.getProperty(name).trim());
_log.info("Duplicate properties name \"" + name + "\" replaced with new value.");
}
else if (p.getProperty(name) == null)
_log.info("Null property for key " + name);
else
properties.put(name, p.getProperty(name).trim());
}
p.clear();
}public static String get(String name)
{
if(properties.get(name) == null)
_log.warn("ConfigSystem: Null value for key: " + name);
return properties.get(name);
}public static float getFloat(String name)
{
return getFloat(name, Float.MAX_VALUE);
}public static boolean getBoolean(String name)
{
return getBoolean(name, false);
}public static int getInt(String name)
{
return getInt(name, Integer.MAX_VALUE);
}public static int[] getIntArray(String name)
{
return getIntArray(name, new int[0]);
}public static int getIntHex(String name)
{
return getIntHex(name, Integer.decode("0xFFFFFF"));
}public static byte getByte(String name)
{
return getByte(name, Byte.MAX_VALUE);
}public static long getLong(String name)
{
return getLong(name, Long.MAX_VALUE);
}public static double getDouble(String name)
{
return getDouble(name, Double.MAX_VALUE);
}public static String get(String name, String def)
{
return get(name) == null ? def : get(name);
}public static float getFloat(String name, float def)
{
return Float.parseFloat(get(name, String.valueOf(def)));
}public static boolean getBoolean(String name, boolean def)
{
return Boolean.parseBoolean(get(name, String.valueOf(def)));
}public static int getInt(String name, int def)
{
return Integer.parseInt(get(name, String.valueOf(def)));
}public static int[] getIntArray(String name, int[] def)
{
return get(name, null) == null ? def : Util.parseCommaSeparatedIntegerArray(get(name, null));
}public static int getIntHex(String name, int def)
{
if(!get(name, String.valueOf(def)).trim().startsWith("0x"))
return Integer.decode("0x"+get(name, String.valueOf(def)));
else
return Integer.decode(get(name, String.valueOf(def)));
}public static byte getByte(String name, byte def)
{
return Byte.parseByte(get(name, String.valueOf(def)));
}public static double getDouble(String name, double def)
{
return Double.parseDouble(get(name, String.valueOf(def)));
}public static long getLong(String name, long def)
{
return Long.parseLong(get(name, String.valueOf(def)));
}public static void set(String name, String param)
{
properties.replace(name, param);
}public static void set(String name, Object obj)
{
set(name, String.valueOf(obj));
}
}
Что самое интересное что даже не нашел кто их включить или выключить, только в игре через Админку *Выключить* *Включить, ну так же не бывает блин..*
-
18 минут назад, •°•°•PsycHoO•°•°• сказал:Если нужно заменить этого NPC на другого ( вид ), то измените его Template ID на ID иного NPC. Если нужно убрать у него лого сверху, то, при наличии крипта, убрать крипт, потом убрать лого. Если в базе пусто по "npc", то, возможно, они находятся в одном из xml файлов.
Да то измените его Template ID, это я знаю, проблема что нету NPC в базе.
И где изменить не знаю.
По ID искал, но при поиске его, выдает вообще другой НПС (Верхаус какой-то )
Вообщем 2 проблемы которые меня мозг выносят , и я не могу понять.
Это Как в этой сборке вообще работают эти Ивенты, это просто ужас.
В Конфиге нету что бы их включить или выключить, сам по себе + ко всему при регистрации даже при установке от 1 человека улета на ТВТ Так же установлино что можно с 1 Компа улетать, в Реги 6 человек, Ивент начался, не кого не забрало, все нормально жизнь у Ивента прекрасна блин!!!!!! Что делать я хз, где меня только не насило даже в handler и ia залез, и смотрел, вообще не могу понять! Ужас.
и 2 проблема, изменить вид данным НПС что бы не было этих иконок над бошкой, а вот найти где изменить не могу!
Вот 2 проблемы которые тревожат меня, может Вы поможете, а я вам так сказать накину ? (Если можно так в теме говорить) -
2 часа назад, •°•°•PsycHoO•°•°• сказал:Там, скорее всего, у них стоит крипт на файлы. Сначала нужно снять крипт, а потом уже проделывать остальные манипуляции.
А замена данных НПС на других, не решит проблему?
Я как бы хотел попробывать но увы.
При нажатии Шифт+клик, нету изменить (Вид НПС)И так же в базе не наблюдаю не кастом НПС , ни базы НПС.
Вообще нету.
не подскажите ? -
14 минут назад, Solution сказал:Два варианта, декомпилишь скрипт и смотришь путь к лого, меняешь на свой либо удаляешь вообще или декомпилишь скрипт правишь как надо тебе, компилишь обратно
Спасибо за подсказку, вопрос какой файл то отвечает за это ?
-
14 минут назад, Solution сказал:За деньги
НУ а если без рофла? Елементарное же даже можно, сменить НПС.
Я просто хочу поинтересоватся можно ли.
Т.к на КетраВарс(Не реклама) Были 2 разных патчка, с данными анимациями и без них.
-
Добрый День\Вечер уважаемые форум-чаты
Как бы, вопрос до ужаса прост.
Какой файл отвечает за это произведенние искуства ? и как его убрать?
Буду Благодарен, как всегда + будет.
-
1 час назад, Bramburg сказал:В первые вижу данную сборку.
Использую l2j.
Хм..
Я вас услышал.. Но.. не знаете в чем может быть проблема ? и где хотябы искать?
-
22 часа назад, Bramburg сказал:Плохо ищите. Поиск по admin в notepad++.
server.ini
# If true, all players have administrator rights (convenient for the test server) # Template with the privileges are in a file GMAccess.xml, for PlayerID set = "0" EverybodyHasAdminRights = True
Спасибо, сделал.
Помогла, Like Поставил.
ВЫ я так пологаю знакомы с данной сборкой да ?Просто саму структуру TvT я понять не могу, как бы ее конфиги есть, но где они ВКЛ\ВЫКЛ найти не могу, и как бы на ивент не заберает не кого, в регу идут 6+ людей, 0 на фазу. не какой инфу мол мало кол.участников или еще что то, *Ивент начался* Все в городе, 0 действий.
-
Доброго времени суток уважаемые форум чати.
Не подскажите, как убрать, что бы со страта, Админка не была на всех?
А то конфигов много + на АНГ, основы там где выдавать Админку просмотрел не каких отсылок.
Мб кто то уже пилил ее, и подскажет, буду благодарен.
Сборка
L2Mythras x55.
-
Уважаемые форум-чаты.
На форуме есть однозначно люди, на опыте, которые смогут узнать подделку от настоящего..
Просьба опытных.
https://lolzteam.net/threads/736550/ (не реклама)
Это то о чём говорят ? действительно слитый продукт? или же просто хрень кака-та ?
И да ) есть исходы от данного творение ?) (Извините за наглость)
-
1 час назад, Se1dhe сказал:Что при этих действиях пишет гс?
В том то и соль вся, то что не чего ГС не пишет, все красивенько и уютно, провел тест, когда инвентарь открыт, адена идет, закрываю и заново открываю она исчезает.
-
7 минут назад, TURGOR сказал:в логах сервера нет ошибок?
типо не сохранило в базе итемы
В том то и малина вся, 0, все чистенько.
-
Все запустил, с самого утра, все нормально. Спасибо еще раз за вчера что помогли.
Запустил без -server, IP вписал (проблема была что копировал и они ишли с пробелами)
ребята последние пару вопросов и отстану от вас.
1 - При выставление любых скилов или макросов на панель, и после нажатие *Tab* исчезает все.
2- Адена не в какую не хочет идти в инвентарь, толи это сумон адены через админку, то ли это выбевание из моба (Авто лут и без него ) Адены нету.
-
5 минут назад, Bramburg сказал:# Принимать новый игровой сервер в свободный слот
AcceptNewGameServer = trueСпасибо, честное слово спасибо вам за то что целый день, помогаете..
Но я продолжу завтра.. что бы не забить на этом полный болт.
-
1 минуту назад, TURGOR сказал:127.0.0.1 для связи гейма с логином а не *
Запустилось, но бартца нету, все равно..
Все.. ребята спасибо всем за помощь, В ***ДУ это все на *уй
- 2
-
2 минуты назад, Bramburg сказал:Так пускает в игру или что?
Устранил проблему, в порте надо было не * а 127.0.0.1
Сейчас попробую. -
-
-
-
Клиентка для HF
в Обсуждения
Опубликовано
Довольно такие хороший ценник.
Я понимаю что не Вы являетесь Админом, но все же, можете что-то сказать про команду ? и какие проекты стоят на нем?