Иконка ресурса

L2Scripts - Rev. 24990 Classic 2.0 2018-01-24

Нет прав для скачивания
я уже сто раз убедилтся что у л2скрипт не надо покупать сборку или исходник такое гомно лушее в помойку выкинут
 

Интересно, хоть 1 наезд на них они опровергнут?
 
а смысли они даже не могу ответит судь вопроса типо напишут где пруф если уже кик уже показал что к чему или я не права

скрипт как был гомно так им и осталтся или я не прав или у них все руоффу ,евро где их код родной их все по птсу
 
Последнее редактирование модератором:

    jois

    Баллов: -7
    Русский подучи
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Интересно, хоть 1 наезд на них они опровергнут?

К сожалению нам дали понять что наши комментарии тут не уместны, по этому, продолжайте заниматься вещами которые вы умеете делать лучше всего =)

Я скажу опять-же, как менеджер именно который занимается людьми не с СНГ регионов что именно классик - большинство довольны качеством.

Доказывать участников "спора" - нечего, вас ничего не убедит в обратном, по этому мы будем молчать дальше.

Успехов.
 
l2s-guard слуш вы даже не можете ответит на вопрос который задали вам где ваш код который вы самий написали )))
 
К сожалению нам дали понять что наши комментарии тут не уместны, по этому, продолжайте заниматься вещами которые вы умеете делать лучше всего :-)

Я скажу опять-же, как менеджер именно который занимается людьми не с СНГ регионов что именно классик - большинство довольны качеством.

Доказывать участников "спора" - нечего, вас ничего не убедит в обратном, по этому мы будем молчать дальше.

Успехов.



Oh yes.
 
Не хочу становиться ни на чью сторону, но давайте посмотрим на сервера: большАя доля из них стоят на эмуле скриптов, какая-то часть - ритейл, пара-троечка на эмулях каких-то ноунеймов, а бОльшая часть вообще на пвсофте. Потом на счет копипасты: на дворе не век перфокарт, есть множество исходников в свободном и не в свободном доступе, всяческих библиотек и т.п. Суть программирования в основном в том, чтобы не изобретать по 100 раз один и тот же велосипед, а делать более костыльный навороченный, используя при этом максимум костылей минимум усилий, пусть даже взяв за основу какой-то другой велосипед. Если судить как вы, то тут должны ребята из лыжи всех говнить мол чего спиздили наши исходники.
P.S.: Небось половину из тех, кто говнит скриптов, можно спросить мол "почему ты так о них думаешь", а он в ответ "та мне там чел сказал". Человеки из толпы...
 
Не хочу становиться ни на чью сторону, но давайте посмотрим на сервера: большАя доля из них стоят на эмуле скриптов, какая-то часть - ритейл, пара-троечка на эмулях каких-то ноунеймов, а бОльшая часть вообще на пвсофте. Потом на счет копипасты: на дворе не век перфокарт, есть множество исходников в свободном и не в свободном доступе, всяческих библиотек и т.п. Суть программирования в основном в том, чтобы не изобретать по 100 раз один и тот же велосипед, а делать более костыльный навороченный, используя при этом максимум костылей минимум усилий, пусть даже взяв за основу какой-то другой велосипед. Если судить как вы, то тут должны ребята из лыжи всех говнить мол чего спиздили наши исходники.
P.S.: Небось половину из тех, кто говнит скриптов, можно спросить мол "почему ты так о них думаешь", а он в ответ "та мне там чел сказал". Человеки из толпы...
вот ответ тебе пример
Код:
package l2s.gameserver.data.xml.parser;

import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.dom4j.Element;
import l2s.commons.collections.MultiValueSet;
import l2s.commons.data.xml.AbstractDirParser;
import l2s.commons.geometry.Circle;
import l2s.commons.geometry.Polygon;
import l2s.commons.geometry.Rectangle;
import l2s.gameserver.Config;
import l2s.gameserver.data.xml.holder.SpawnHolder;
import l2s.gameserver.model.Territory;
import l2s.gameserver.templates.StatsSet;
import l2s.gameserver.templates.spawn.PeriodOfDay;
import l2s.gameserver.templates.spawn.SpawnNpcInfo;
import l2s.gameserver.templates.spawn.SpawnTemplate;
import l2s.gameserver.utils.Location;

/**
 * @author VISTALL
 * @date  18:38/10.12.2010
 */
public final class SpawnParser extends AbstractDirParser<SpawnHolder>
{
    private static final SpawnParser _instance = new SpawnParser();

    public static SpawnParser getInstance()
    {
        return _instance;
    }

    protected SpawnParser()
    {
        super(SpawnHolder.getInstance());
    }

    @Override
    public File getXMLDir()
    {
        return new File(Config.DATAPACK_ROOT, "data/spawn/");
    }

    @Override
    public boolean isIgnored(File f)
    {
        return false;
    }

    @Override
    protected void readData(Element rootElement) throws Exception
    {
        Map<String, Territory> territories = new HashMap<String, Territory>();
        for(Iterator<Element> spawnIterator = rootElement.elementIterator(); spawnIterator.hasNext();)
        {
            Element spawnElement = spawnIterator.next();
            if(spawnElement.getName().equalsIgnoreCase("territory"))
            {
                String terName = spawnElement.attributeValue("name");
                Territory territory = parseTerritory(terName, spawnElement);
                territories.put(terName, territory);
            }
            else if(spawnElement.getName().equalsIgnoreCase("spawn"))
            {
                String group = spawnElement.attributeValue("group");
                String name = spawnElement.attributeValue("name") == null ? (group == null ? "" : group) : spawnElement.attributeValue("name");
                int respawn = spawnElement.attributeValue("respawn") == null ? 60 : Integer.parseInt(spawnElement.attributeValue("respawn"));
                int respawnRandom = spawnElement.attributeValue("respawn_random") == null ? 0 : Integer.parseInt(spawnElement.attributeValue("respawn_random"));
                int count = spawnElement.attributeValue("count") == null ? 1 : Integer.parseInt(spawnElement.attributeValue("count"));
                PeriodOfDay periodOfDay = spawnElement.attributeValue("period_of_day") == null ? PeriodOfDay.NONE : PeriodOfDay.valueOf(spawnElement.attributeValue("period_of_day").toUpperCase());
                if(group == null)
                    group = periodOfDay.name();
                SpawnTemplate template = new SpawnTemplate(name, periodOfDay, count, respawn, respawnRandom);

                for(Iterator<Element> subIterator = spawnElement.elementIterator(); subIterator.hasNext();)
                {
                    Element subElement = subIterator.next();
                    if(subElement.getName().equalsIgnoreCase("point"))
                    {
                        int x = Integer.parseInt(subElement.attributeValue("x"));
                        int y = Integer.parseInt(subElement.attributeValue("y"));
                        int z = Integer.parseInt(subElement.attributeValue("z"));
                        int h = subElement.attributeValue("h") == null ? -1 : Integer.parseInt(subElement.attributeValue("h"));

                        template.addSpawnRange(new Location(x, y, z, h));
                    }
                    else if(subElement.getName().equalsIgnoreCase("rectangle"))
                    {
                        int x1 = Integer.parseInt(subElement.attributeValue("x1"));
                        int y1 = Integer.parseInt(subElement.attributeValue("y1"));
                        int x2 = Integer.parseInt(subElement.attributeValue("x2"));
                        int y2 = Integer.parseInt(subElement.attributeValue("y2"));
                        int zmin = Integer.parseInt(subElement.attributeValue("zmin"));
                        int zmax = Integer.parseInt(subElement.attributeValue("zmax"));

                        Rectangle rectangle = new Rectangle(x1, y1, x2, y2);
                        rectangle.setZmin(zmin);
                        rectangle.setZmax(zmax);

                        Territory territory = new Territory();
                        territory.add(rectangle);

                        template.addSpawnRange(territory);
                    }
                    else if(subElement.getName().equalsIgnoreCase("circle"))
                    {
                        int x = Integer.parseInt(subElement.attributeValue("x"));
                        int y = Integer.parseInt(subElement.attributeValue("y"));
                        int zmin = Integer.parseInt(subElement.attributeValue("zmin"));
                        int zmax = Integer.parseInt(subElement.attributeValue("zmax"));
                        int radius = Integer.parseInt(subElement.attributeValue("radius"));

                        Circle circle = new Circle(x, y, radius);
                        circle.setZmin(zmin);
                        circle.setZmax(zmax);

                        Territory territory = new Territory();
                        territory.add(circle);

                        template.addSpawnRange(territory);
                    }
                    else if(subElement.getName().equalsIgnoreCase("territory"))
                    {
                        String terName = subElement.attributeValue("name");
                        if(terName != null)
                        {
                            Territory g = territories.get(terName);
                            if(g == null)
                            {
                                error("Invalid territory name: " + terName + "; " + getCurrentFileName());
                                continue;
                            }
                            template.addSpawnRange(g);
                        }
                        else
                        {
                            Territory temp = parseTerritory(null, subElement);

                            template.addSpawnRange(temp);
                        }
                    }
                    else if(subElement.getName().equalsIgnoreCase("npc"))
                    {
                        int npcId = Integer.parseInt(subElement.attributeValue("id"));
                        int max = subElement.attributeValue("max") == null ? 0 : Integer.parseInt(subElement.attributeValue("max"));
                        MultiValueSet<String> parameters = StatsSet.EMPTY;
                        for(Element e : subElement.elements())
                        {
                            if(parameters.isEmpty())
                                parameters = new MultiValueSet<String>();

                            parameters.set(e.attributeValue("name"), e.attributeValue("value"));
                        }
                        template.addNpc(new SpawnNpcInfo(npcId, max, parameters));
                    }
                }

                if(template.getNpcSize() == 0)
                {
                    warn("Npc id is zero! File: " + getCurrentFileName());
                    continue;
                }

                if(template.getSpawnRangeSize() == 0)
                {
                    warn("No points to spawn! File: " + getCurrentFileName());
                    continue;
                }

                getHolder().addSpawn(group, template);
            }
        }
    }

    private Territory parseTerritory(String name, Element e)
    {
        Territory t = new Territory();
        t.add(parsePolygon0(name, e));

        for(Iterator<Element> iterator = e.elementIterator("banned_territory"); iterator.hasNext();)
            t.addBanned(parsePolygon0(name, iterator.next()));

        return t;
    }

    private Polygon parsePolygon0(String name, Element e)
    {
        Polygon temp = new Polygon();
        for(Iterator<Element> addIterator = e.elementIterator("add"); addIterator.hasNext();)
        {
            Element addElement = addIterator.next();
            int x = Integer.parseInt(addElement.attributeValue("x"));
            int y = Integer.parseInt(addElement.attributeValue("y"));
            int zmin = Integer.parseInt(addElement.attributeValue("zmin"));
            int zmax = Integer.parseInt(addElement.attributeValue("zmax"));
            temp.add(x, y).setZmin(zmin).setZmax(zmax);
        }

        if(!temp.validate())
            error("Invalid polygon: " + name + "{" + temp + "}. File: " + getCurrentFileName());
        return temp;
    }
}

и да кстати это код уже как не изменялтся лет 5 может и больше
 
Последнее редактирование модератором:
вот ответ тебе пример
Код:
package l2s.gameserver.data.xml.parser;

import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.dom4j.Element;
import l2s.commons.collections.MultiValueSet;
import l2s.commons.data.xml.AbstractDirParser;
import l2s.commons.geometry.Circle;
import l2s.commons.geometry.Polygon;
import l2s.commons.geometry.Rectangle;
import l2s.gameserver.Config;
import l2s.gameserver.data.xml.holder.SpawnHolder;
import l2s.gameserver.model.Territory;
import l2s.gameserver.templates.StatsSet;
import l2s.gameserver.templates.spawn.PeriodOfDay;
import l2s.gameserver.templates.spawn.SpawnNpcInfo;
import l2s.gameserver.templates.spawn.SpawnTemplate;
import l2s.gameserver.utils.Location;

/**
 * @author VISTALL
 * @date  18:38/10.12.2010
 */
public final class SpawnParser extends AbstractDirParser<SpawnHolder>
{
    private static final SpawnParser _instance = new SpawnParser();

    public static SpawnParser getInstance()
    {
        return _instance;
    }

    protected SpawnParser()
    {
        super(SpawnHolder.getInstance());
    }

    @Override
    public File getXMLDir()
    {
        return new File(Config.DATAPACK_ROOT, "data/spawn/");
    }

    @Override
    public boolean isIgnored(File f)
    {
        return false;
    }

    @Override
    protected void readData(Element rootElement) throws Exception
    {
        Map<String, Territory> territories = new HashMap<String, Territory>();
        for(Iterator<Element> spawnIterator = rootElement.elementIterator(); spawnIterator.hasNext();)
        {
            Element spawnElement = spawnIterator.next();
            if(spawnElement.getName().equalsIgnoreCase("territory"))
            {
                String terName = spawnElement.attributeValue("name");
                Territory territory = parseTerritory(terName, spawnElement);
                territories.put(terName, territory);
            }
            else if(spawnElement.getName().equalsIgnoreCase("spawn"))
            {
                String group = spawnElement.attributeValue("group");
                String name = spawnElement.attributeValue("name") == null ? (group == null ? "" : group) : spawnElement.attributeValue("name");
                int respawn = spawnElement.attributeValue("respawn") == null ? 60 : Integer.parseInt(spawnElement.attributeValue("respawn"));
                int respawnRandom = spawnElement.attributeValue("respawn_random") == null ? 0 : Integer.parseInt(spawnElement.attributeValue("respawn_random"));
                int count = spawnElement.attributeValue("count") == null ? 1 : Integer.parseInt(spawnElement.attributeValue("count"));
                PeriodOfDay periodOfDay = spawnElement.attributeValue("period_of_day") == null ? PeriodOfDay.NONE : PeriodOfDay.valueOf(spawnElement.attributeValue("period_of_day").toUpperCase());
                if(group == null)
                    group = periodOfDay.name();
                SpawnTemplate template = new SpawnTemplate(name, periodOfDay, count, respawn, respawnRandom);

                for(Iterator<Element> subIterator = spawnElement.elementIterator(); subIterator.hasNext();)
                {
                    Element subElement = subIterator.next();
                    if(subElement.getName().equalsIgnoreCase("point"))
                    {
                        int x = Integer.parseInt(subElement.attributeValue("x"));
                        int y = Integer.parseInt(subElement.attributeValue("y"));
                        int z = Integer.parseInt(subElement.attributeValue("z"));
                        int h = subElement.attributeValue("h") == null ? -1 : Integer.parseInt(subElement.attributeValue("h"));

                        template.addSpawnRange(new Location(x, y, z, h));
                    }
                    else if(subElement.getName().equalsIgnoreCase("rectangle"))
                    {
                        int x1 = Integer.parseInt(subElement.attributeValue("x1"));
                        int y1 = Integer.parseInt(subElement.attributeValue("y1"));
                        int x2 = Integer.parseInt(subElement.attributeValue("x2"));
                        int y2 = Integer.parseInt(subElement.attributeValue("y2"));
                        int zmin = Integer.parseInt(subElement.attributeValue("zmin"));
                        int zmax = Integer.parseInt(subElement.attributeValue("zmax"));

                        Rectangle rectangle = new Rectangle(x1, y1, x2, y2);
                        rectangle.setZmin(zmin);
                        rectangle.setZmax(zmax);

                        Territory territory = new Territory();
                        territory.add(rectangle);

                        template.addSpawnRange(territory);
                    }
                    else if(subElement.getName().equalsIgnoreCase("circle"))
                    {
                        int x = Integer.parseInt(subElement.attributeValue("x"));
                        int y = Integer.parseInt(subElement.attributeValue("y"));
                        int zmin = Integer.parseInt(subElement.attributeValue("zmin"));
                        int zmax = Integer.parseInt(subElement.attributeValue("zmax"));
                        int radius = Integer.parseInt(subElement.attributeValue("radius"));

                        Circle circle = new Circle(x, y, radius);
                        circle.setZmin(zmin);
                        circle.setZmax(zmax);

                        Territory territory = new Territory();
                        territory.add(circle);

                        template.addSpawnRange(territory);
                    }
                    else if(subElement.getName().equalsIgnoreCase("territory"))
                    {
                        String terName = subElement.attributeValue("name");
                        if(terName != null)
                        {
                            Territory g = territories.get(terName);
                            if(g == null)
                            {
                                error("Invalid territory name: " + terName + "; " + getCurrentFileName());
                                continue;
                            }
                            template.addSpawnRange(g);
                        }
                        else
                        {
                            Territory temp = parseTerritory(null, subElement);

                            template.addSpawnRange(temp);
                        }
                    }
                    else if(subElement.getName().equalsIgnoreCase("npc"))
                    {
                        int npcId = Integer.parseInt(subElement.attributeValue("id"));
                        int max = subElement.attributeValue("max") == null ? 0 : Integer.parseInt(subElement.attributeValue("max"));
                        MultiValueSet<String> parameters = StatsSet.EMPTY;
                        for(Element e : subElement.elements())
                        {
                            if(parameters.isEmpty())
                                parameters = new MultiValueSet<String>();

                            parameters.set(e.attributeValue("name"), e.attributeValue("value"));
                        }
                        template.addNpc(new SpawnNpcInfo(npcId, max, parameters));
                    }
                }

                if(template.getNpcSize() == 0)
                {
                    warn("Npc id is zero! File: " + getCurrentFileName());
                    continue;
                }

                if(template.getSpawnRangeSize() == 0)
                {
                    warn("No points to spawn! File: " + getCurrentFileName());
                    continue;
                }

                getHolder().addSpawn(group, template);
            }
        }
    }

    private Territory parseTerritory(String name, Element e)
    {
        Territory t = new Territory();
        t.add(parsePolygon0(name, e));

        for(Iterator<Element> iterator = e.elementIterator("banned_territory"); iterator.hasNext();)
            t.addBanned(parsePolygon0(name, iterator.next()));

        return t;
    }

    private Polygon parsePolygon0(String name, Element e)
    {
        Polygon temp = new Polygon();
        for(Iterator<Element> addIterator = e.elementIterator("add"); addIterator.hasNext();)
        {
            Element addElement = addIterator.next();
            int x = Integer.parseInt(addElement.attributeValue("x"));
            int y = Integer.parseInt(addElement.attributeValue("y"));
            int zmin = Integer.parseInt(addElement.attributeValue("zmin"));
            int zmax = Integer.parseInt(addElement.attributeValue("zmax"));
            temp.add(x, y).setZmin(zmin).setZmax(zmax);
        }

        if(!temp.validate())
            error("Invalid polygon: " + name + "{" + temp + "}. File: " + getCurrentFileName());
        return temp;
    }
}
Это мне должно было что-то сказать? оО
В ответ на твой ответ:

Юзается в ~99% исходников. По ссылке тот самый mmocore лыжи за 6 мая 2007. Потом они выпустили обновление, где начали юзать свои NIO-буфферы - обана - сразу пошли изменения и в других исходниках.
 
Последнее редактирование:
Это мне должно было что-то сказать? оО
В ответ на твой ответ:

Юзается в ~99% исходников. По ссылке тот самый mmocore лыжи за 6 мая 2007. Потом они выпустили обновление, где начали юзать свои NIO-буфферы - обана - сразу пошли изменения и в других исходниках.
мда парень ты не вкурсе что данный исход делано VISTALL и он основател и не как лыжа
 
Ну судя по javadoc-комменту я это то понял. Ну и что? Выделенное не понял.
походу ты не понял что к чему если бы не VISTALL то они бы так бы и сосасй лыжы да у витал есть косяки но это уже другае история и да о нем не кто плохово не пишит так что лыжа лесом и скрипт кто у нас личер VISTALL или они

и того когда я правду написал даже пример перевел я в минус ушоль что мне все равно пуст будет как есть что тольку говорит если так и есть и да вы говорите за тех который за вас людей не читает скрипт это гомно одним слово п--ры и ш----и а по чет лыжы это уже другая история так что ты этим что ты доказал про даже ты не мог пример перести уважаемый Infernal Ashes ток может лесом или как да кстати я не проф я любитель
 
Последнее редактирование модератором:
походу ты не понял что к чему если бы не VISTALL то они бы так бы и сосасй лыжы да у витал есть косяки но это уже другае история и да о нем не кто плохово не пишит так что лыжа лесом и скрипт кто у нас личер VISTALL или они

и того когда я правду написал даже пример перевел я в минус ушоль что мне все равно пуст будет как есть что тольку говорит если так и есть и да вы говорите за тех который за вас людей не читает скрипт это гомно одним слово п--ры и ш----и а по чет лыжы это уже другая история так что ты этим что ты доказал про даже ты не мог пример перести уважаемый Infernal Ashes ток может лесом или как да кстати я не проф я любитель
Я тебя с трудом понимаю. И то не уверен, что правильно...
Я привел пример с модулем сети, который юзается в ЛС и ГС 99% эмулей и который написал челик из лыжи. И это сделал я к тому, чтобы показать, что использовать чужой код - вполне обыденно. Не скриптов проблема, что они на этом зарабатывают, а ты нет!
 
Я тебя с трудом понимаю. И то не уверен, что правильно...
Я привел пример с модулем сети, который юзается в ЛС и ГС 99% эмулей и который написал челик из лыжи. И это сделал я к тому, чтобы показать, что использовать чужой код - вполне обыденно. Не скриптов проблема, что они на этом зарабатывают, а ты нет!
с тобой все ясно ты один из зомбаков который не поняль и вериш что у лыжи и скрыпты все по офу и они не личеры и да при чем это Я привел пример с модулем сети, который юзается в ЛС и ГС 99% эмулей и который написал челик из лыжи тогда я другое писал мне тя жаль что ты такой найвный и да мне п-х на рус так как сори родитса таким как пишу сори так и есть
 
с тобой все ясно ты один из зомбаков который не поняль и вериш что у лыжи и скрыпты все по офу и они не личеры и да при чем это Я привел пример с модулем сети, который юзается в ЛС и ГС 99% эмулей и который написал челик из лыжи тогда я другое писал мне тя жаль что ты такой найвный и да мне п-х на рус так как сори родитса таким как пишу сори так и есть
только не говори что ты хохол
 
сори я не хохол я русс просто реально 5 лет отдал на логопед а тольку ноль уж извени меня
Ты как Хокинг через речевой апарат тексты набираешь, или к чему тут логопед вообще?
Логопед занимается исправлением дефектов речи, произношения букв и тд., так что ты 5 лет потратил не туда, нужно было на учителя русского языка 5 лет жахнуть
 
Ты как Хокинг через речевой апарат тексты набираешь, или к чему тут логопед вообще?
Логопед занимается исправлением дефектов речи, произношения букв и тд., так что ты 5 лет потратил не туда, нужно было на учителя русского языка 5 лет жахнуть
ты походу не был у логопеды я сражу скажу тебе что человек вопринятией по слуху очень плох по речю и писанию если что если он не поняль слово жигурда то он будет говорит жигурда или еще пример тебе перевестит
 
ты походу не был у логопеды я сражу скажу тебе что человек вопринятией по слуху очень плох по речю и писанию если что если он не поняль слово жигурда то он будет говорит жигурда или еще пример тебе перевестит
нет, ненужно, пожалуйста
 
Назад
Сверху Снизу