corpse_make_list

alchy

Знаменитый
VIP
Сообщения
18
Розыгрыши
0
Репутация
42
Реакции
7
Баллы
1 235
Кажется (да так оно и есть), я постарел, отупел и злоупотребляю алкоголем.
Но к сути:

есть два стула три дроп даты:

corpse_make_list={{[scrl_of_ench_wp_b];1;1;0.0763};{[nirvana_axe_blade];1;1;1.0215};{[earing_of_black_ore_piece];1;1;6.752}} additional_make_list={} additional_make_multi_list={{{{[adena];771;1563;100}};70};{{{[doom_plate_armor_temper];1;1;21.7883};{[blue_wolve_s_gaiters_material];1;1;45.4594};{[blue_wolve_s_breastplate_part];1;1;32.2822};{[doom_plate_armor];1;1;0.094};{[blue_wolve_s_breastplate];1;1;0.141};{[blue_wolve_s_gaiters];1;1;0.2351}};0.425};{{{[herb_of_life];1;1;55};{[greater_herb_of_life];1;1;38};{[superior_herb_of_life];1;1;7}};42};{{{[herb_of_magic];1;1;50};{[herb_of_casting_spd];1;1;50}};10};{{{[herb_of_mana];1;1;55};{[greater_herb_of_mana];1;1;38};{[superior_herb_of_mana];1;1;7}};11};{{{[herb_of_power];1;1;34};{[herb_of_atk_spd];1;1;33};{[herb_of_crt_atk];1;1;33}};25};{{{[herb_of_speed];1;1;100}};10};{{{[herb_of_the_warrior];1;1;33};{[herb_of_the_mystic];1;1;33};{[herb_of_recovery];1;1;34}};1};{{{[sb_summon_friend];1;1;21.2869};{[rp_adv_comp_spiritshot_a];1;1;0.2681};{[rp_earing_of_black_ore_i];1;1;2.1648};{[mold_lubricant];1;1;3.9977};{[metallic_fiber];1;1;57.105};{[asofe];1;1;6.6628};{[enria];1;1;3.3314};{[sb_summon_attractive_cubic];1;1;5.0194};{[mid_grade_life_stone_lvl_64];1;1;0.1639}};4.6977}} ex_item_drop_list={} npc_end

corpse_make_list={{[scrl_of_ench_wp_b];1;1;0.2289};{[nirvana_axe_blade];1;1;3};{[earing_of_black_ore_piece];1;1;20.256}} additional_make_list={} additional_make_multi_list={{{{[adena];2313;4689;100}};70};{{{[doom_plate_armor_temper];1;1;21.7883};{[blue_wolve_s_gaiters_material];1;1;45.4594};{[blue_wolve_s_breastplate_part];1;1;32.2822};{[doom_plate_armor];1;1;0.094};{[blue_wolve_s_breastplate];1;1;0.141};{[blue_wolve_s_gaiters];1;1;0.2351}};1.274999};{{{[herb_of_life];1;1;55};{[greater_herb_of_life];1;1;38};{[superior_herb_of_life];1;1;7}};100};{{{[herb_of_magic];1;1;50};{[herb_of_casting_spd];1;1;50}};30};{{{[herb_of_mana];1;1;55};{[greater_herb_of_mana];1;1;38};{[superior_herb_of_mana];1;1;7}};33};{{{[herb_of_power];1;1;34};{[herb_of_atk_spd];1;1;33};{[herb_of_crt_atk];1;1;33}};75};{{{[herb_of_speed];1;1;100}};30};{{{[herb_of_the_warrior];1;1;33};{[herb_of_the_mystic];1;1;33};{[herb_of_recovery];1;1;34}};3};{{{[sb_summon_friend];1;1;21.2869};{[rp_adv_comp_spiritshot_a];1;1;0.2681};{[rp_earing_of_black_ore_i];1;1;2.1648};{[mold_lubricant];1;1;3.9977};{[metallic_fiber];1;1;57.105};{[asofe];1;1;6.6628};{[enria];1;1;3.3314};{[sb_summon_attractive_cubic];1;1;5.0194};{[mid_grade_life_stone_lvl_64];1;1;0.1639}};14}} ex_item_drop_list={} npc_end

corpse_make_list={{[scrl_of_ench_wp_b];1;1;0.2289};{[nirvana_axe_blade];1;1;3.0645};{[earing_of_black_ore_piece];1;1;20.2560}} additional_make_list={} additional_make_multi_list={{{{[adena];2313;4689;100}};70.000000};{{{[doom_plate_armor_temper];1;1;100}};0.277800};{{{[blue_wolve_s_gaiters_material];1;1;100}};0.579600};{{{[blue_wolve_s_breastplate_part];1;1;100}};0.411600};{{{[doom_plate_armor];1;1;100}};0.001200};{{{[blue_wolve_s_breastplate];1;1;100}};0.001800};{{{[blue_wolve_s_gaiters];1;1;100}};0.003000};{{{[sb_summon_friend];1;1;100}};3.000000};{{{[rp_adv_comp_spiritshot_a];1;1;100}};0.037800};{{{[rp_earing_of_black_ore_i];1;1;100}};0.305100};{{{[mold_lubricant];1;1;100}};0.563400};{{{[metallic_fiber];1;1;100}};8.047800};{{{[asofe];1;1;100}};0.939000};{{{[enria];1;1;100}};0.469500};{{{[sb_summon_attractive_cubic];1;1;100}};0.707400};{{{[mid_grade_life_stone_level_641];1;1;100}};0.023100}} hp_increase=0 mp_increase=0 safe_height=100 npc_end

Первая - Advext64 X3
Вторая - "правильный X3" - рейтер c PP (сорян, не помню ника, кто именно написал, но человек точно хороший, архив с рейтером прилагается)
Третья - самая каноничная и правильная на мой взгляд Х3, которая была у меня на l2x3/lost-castle

Так вот. Возвращаясь к первой строке данного поста. Я в упор не могу вспомнить и повторить те регулярки которыми я это делал. Перестал их понимать напрочь.
Кто-то здесь ещё помнить перл? Напишите ваши позязя варианты регулярочек.
 

Вложения

  • rater.zip
    149,5 КБ · Просмотры: 13

Кажется (да так оно и есть), я постарел, отупел и злоупотребляю алкоголем.
Но к сути:

есть два стула три дроп даты:







Первая - Advext64 X3
Вторая - "правильный X3" - рейтер c PP (сорян, не помню ника, кто именно написал, но человек точно хороший, архив с рейтером прилагается)
Третья - самая каноничная и правильная на мой взгляд Х3, которая была у меня на l2x3/lost-castle

Так вот. Возвращаясь к первой строке данного поста. Я в упор не могу вспомнить и повторить те регулярки которыми я это делал. Перестал их понимать напрочь.
Кто-то здесь ещё помнить перл? Напишите ваши позязя варианты регулярочек.
Что хоть сделать то надо? Я понять не могу)
 
внутри группы шанс 100%, далее шанс выпадения группы. каждый итем обёрнут в свою группу.
дело в том, что внутри группы выпадает только один итем. атак как в третьем варианте могут выпадать хоть все.

в своё время была регулярка у меня , которая делал из обычного дропа, дроп по группам.
 
Ленивый вариант на PHP
Достаньте параметр, передайте его в данную функцию, результат запишите обратно.

PHP:
function parse(string $string): string
{
    $replaces = [
        '[' => '"',
        ']' => '"',
        ';' => ',',
        '{' => '[',
        '}' => ']',
    ];

    // оО Вот это мувы=))) Меняем синтаксис и исполняем как PHP код. Получаем многомерный массив=)
    $array = eval("return " . str_replace(array_keys($replaces), array_values($replaces), $string) . ';');

    $result = [];
    foreach ($array as $index => $group)
    {
        $items = $group[0];
        $group_chance = $group[1];
        $item_mul = $group_chance / 100;

        foreach ($items as $item)
        {
            $item_name = $item[0];
            $item_min_count = $item[1];
            $item_max_count = $item[2];
            // Если необходимо, это можно округлить.
            $item_new_chance = $item[3] * $item_mul;

            $result[] = "{{{[{$item_name}];{$item_min_count};{$item_max_count};100}};$item_new_chance}";
        }
    }
    return "{" . implode(';', $result) . "}";
}

Input:
{{{{[adena];2313;4689;100}};70};{{{[doom_plate_armor_temper];1;1;21.7883};{[blue_wolve_s_gaiters_material];1;1;45.4594};{[blue_wolve_s_breastplate_part];1;1;32.2822};{[doom_plate_armor];1;1;0.094};{[blue_wolve_s_breastplate];1;1;0.141};{[blue_wolve_s_gaiters];1;1;0.2351}};1.274999};{{{[herb_of_life];1;1;55};{[greater_herb_of_life];1;1;38};{[superior_herb_of_life];1;1;7}};100};{{{[herb_of_magic];1;1;50};{[herb_of_casting_spd];1;1;50}};30};{{{[herb_of_mana];1;1;55};{[greater_herb_of_mana];1;1;38};{[superior_herb_of_mana];1;1;7}};33};{{{[herb_of_power];1;1;34};{[herb_of_atk_spd];1;1;33};{[herb_of_crt_atk];1;1;33}};75};{{{[herb_of_speed];1;1;100}};30};{{{[herb_of_the_warrior];1;1;33};{[herb_of_the_mystic];1;1;33};{[herb_of_recovery];1;1;34}};3};{{{[sb_summon_friend];1;1;21.2869};{[rp_adv_comp_spiritshot_a];1;1;0.2681};{[rp_earing_of_black_ore_i];1;1;2.1648};{[mold_lubricant];1;1;3.9977};{[metallic_fiber];1;1;57.105};{[asofe];1;1;6.6628};{[enria];1;1;3.3314};{[sb_summon_attractive_cubic];1;1;5.0194};{[mid_grade_life_stone_lvl_64];1;1;0.1639}};14}}

Output:
{{{{[adena];2313;4689;100}};70};{{{[doom_plate_armor_temper];1;1;100}};0.277800607117};{{{[blue_wolve_s_gaiters_material];1;1;100}};0.579606895406};{{{[blue_wolve_s_breastplate_part];1;1;100}};0.411597727178};{{{[doom_plate_armor];1;1;100}};0.00119849906};{{{[blue_wolve_s_breastplate];1;1;100}};0.00179774859};{{{[blue_wolve_s_gaiters];1;1;100}};0.002997522649};{{{[herb_of_life];1;1;100}};55};{{{[greater_herb_of_life];1;1;100}};38};{{{[superior_herb_of_life];1;1;100}};7};{{{[herb_of_magic];1;1;100}};15};{{{[herb_of_casting_spd];1;1;100}};15};{{{[herb_of_mana];1;1;100}};18.15};{{{[greater_herb_of_mana];1;1;100}};12.54};{{{[superior_herb_of_mana];1;1;100}};2.31};{{{[herb_of_power];1;1;100}};25.5};{{{[herb_of_atk_spd];1;1;100}};24.75};{{{[herb_of_crt_atk];1;1;100}};24.75};{{{[herb_of_speed];1;1;100}};30};{{{[herb_of_the_warrior];1;1;100}};0.99};{{{[herb_of_the_mystic];1;1;100}};0.99};{{{[herb_of_recovery];1;1;100}};1.02};{{{[sb_summon_friend];1;1;100}};2.980166};{{{[rp_adv_comp_spiritshot_a];1;1;100}};0.037534};{{{[rp_earing_of_black_ore_i];1;1;100}};0.303072};{{{[mold_lubricant];1;1;100}};0.559678};{{{[metallic_fiber];1;1;100}};7.9947};{{{[asofe];1;1;100}};0.932792};{{{[enria];1;1;100}};0.466396};{{{[sb_summon_attractive_cubic];1;1;100}};0.702716};{{{[mid_grade_life_stone_lvl_64];1;1;100}};0.022946}}

PS: Я правильно понял что вы хотите? =)
 
Последнее редактирование:
Да. Спасибо!
О таком варианте я и не подумал.
 
Назад
Сверху Снизу