Мешок с кучей итемов(рандомно)

iMax

Пляшущий с бубном
Участник
Сообщения
145
Розыгрыши
0
Решения
2
Репутация
5
Реакции
38
Баллы
288
Хроники
  1. Interlude
Сборка
Pw
Доброго времени суток подскажите пожалуйста
Собираюсь добавить в крафт мешок
Я уже наверно достал всех вопросами
Как можно добавить большое количество id 600+
Ну и при минимуме времени
Может есть программа , или через скрипт сделать ....
Посоветуйте пожалуйста)
 
Это уже не мешочек, а сундучара какой то
 
  • Мне нравится
Реакции: S-t.
Ты серьезно? Нотепад ++ в помощь, делов на 15 минут
 
  • Мне нравится
Реакции: iMax
ну не 15 ) это точно
 
Как-то так лучше всего будет задавать.
Код:
int[] syndychara = {id1,id2,id3,id600};
 
Доброго времени суток подскажите пожалуйста
Собираюсь добавить в крафт мешок
Я уже наверно достал всех вопросами
Как можно добавить большое количество id 600+
Ну и при минимуме времени
Может есть программа , или через скрипт сделать ....
Посоветуйте пожалуйста)
ну идём ищем любой итем который выдаёт случайный предмет - копируем от туда хендлер и как вообще выдаются предметы.
Залезает в Notepad
И простым действием Ctrl + V вставляем каждую строку и пишем ИДшник итема и количество - шанс оставляем у всех одинаковый, можно даже абракадабру написать.
После того как закончили писать наши итемы - смотрим количество строк в файле, отнимаем какие-то параметры или какие-то входные точки и далее делим 100 на получившийся количество. Это будет наш шанс. Выбираем нашу абракадабру в шансах и меняем на получившийся шанс.

XML:
<param name="weight" value="600" />
<param name="minRestorationCount" value="1" />
<param name="maxRestorationCount" value="1" />
<restoration type="RANDOM" >
    <item id="57" count="1" chance="abracadabra" />
</restoration>
 
ну идём ищем любой итем который выдаёт случайный предмет - копируем от туда хендлер и как вообще выдаются предметы.
Залезает в Notepad
И простым действием Ctrl + V вставляем каждую строку и пишем ИДшник итема и количество - шанс оставляем у всех одинаковый, можно даже абракадабру написать.
После того как закончили писать наши итемы - смотрим количество строк в файле, отнимаем какие-то параметры или какие-то входные точки и далее делим 100 на получившийся количество. Это будет наш шанс. Выбираем нашу абракадабру в шансах и меняем на получившийся шанс.

XML:
<param name="weight" value="600" />
<param name="minRestorationCount" value="1" />
<param name="maxRestorationCount" value="1" />
<restoration type="RANDOM" >
    <item id="57" count="1" chance="abracadabra" />
</restoration>
Мне кажется именно это ему делать и лень.
 
  • Мне нравится
Реакции: S-t.
Мне кажется именно это ему делать и лень.
ему как не крути нужно будет собрать ИДшники для создания банка итемов. Другие методы - по типу "ыаыаы, сортирую по типу (броня, оружие и тд) и нажимаю на кнопочку оно добавялется" - будут писаться намного дольше.
 
Если очень сильно захотеть - можно вот такое придумать...
Java:
package other;

import lineage2.dat.DatNames;
import lineage2.utils.enums.ServerType;
import org.index.commons.CommonPair;

import java.math.BigDecimal;
import java.math.MathContext;
import java.util.ArrayList;
import java.util.List;

public class Unknown
{
    private final static List<CommonPair<Integer, Long>> ITEMS = new ArrayList<>();
    static
    {
        ITEMS.add(new CommonPair<>(1, 1L));
        ITEMS.add(new CommonPair<>(57, 1L));
        ITEMS.add(new CommonPair<>(57, 2L));
        ITEMS.add(new CommonPair<>(57, 3L));
        ITEMS.add(new CommonPair<>(57, 4L));
        ITEMS.add(new CommonPair<>(57, 5L));
    }

    public static void main(String[] args)
    {
        final DatNames names = new DatNames(ServerType.main);

        final String header = "" +
                "<param name=\"weight\" value=\"600\" />" + "\n" +
                "<param name=\"minRestorationCount\" value=\"1\" />" + "\n" +
                "<param name=\"maxRestorationCount\" value=\"1\" />" + "\n" +
                "<restoration type=\"RANDOM\" >" + "\n";
        final String footer = "</restoration>";
        final BigDecimal chance = BigDecimal.valueOf((double) 100).divide(BigDecimal.valueOf((double) ITEMS.size()), MathContext.DECIMAL128);
        final StringBuilder restoration = new StringBuilder(header);
        for (CommonPair<Integer, Long> itemPair : ITEMS)
        {
            restoration.append("\t").
                    append("<item ").
                    append("id=\"").append(itemPair.getKey()).append("\" ").
                    append("count=\"").append(itemPair.getValue()).append("\" ").
                    append("chance=\"").append(chance.doubleValue()).append("\" ").
                    append("/>").append("\t").append(names.getItemCommentName(itemPair.getKey(), true))
                    .append("\n");
        }
        restoration.append(footer);
        System.out.println(restoration);
    }
}

с Вот таким выводом:
XML:
<param name="weight" value="600" />
<param name="minRestorationCount" value="1" />
<param name="maxRestorationCount" value="1" />
<restoration type="RANDOM" >
    <item id="1" count="1" chance="16.666666666666668" />    <!-- Short Sword / Короткий Меч -->
    <item id="57" count="1" chance="16.666666666666668" />    <!-- Adena / Адены -->
    <item id="57" count="2" chance="16.666666666666668" />    <!-- Adena / Адены -->
    <item id="57" count="3" chance="16.666666666666668" />    <!-- Adena / Адены -->
    <item id="57" count="4" chance="16.666666666666668" />    <!-- Adena / Адены -->
    <item id="57" count="5" chance="16.666666666666668" />    <!-- Adena / Адены -->
</restoration>

НО как я и сказал - в любом случае нужен "банк" итемов заполнять.
 
ChatGPT покажи ей пример своего xml, она тебе батник напишет
 
пометить эти предметы маркером, а в обработчике сундука - выдавать случайный предмет и коллекции, собранный по маркерам
 
Назад
Сверху Снизу