Перейти к содержанию
Авторизация  
SambukaRes

Супер сундук

Рекомендуемые сообщения

Добрый день всем. 
Скачал я значит супер сундук (VipBag.java) , закинул файл в scripts . Запускаю сервер,все без ошибок. Добавляю к себе сундук и при нажатии на него ,доп окно не открывается. в чате игры пишет "Nothing happened" ,а в гс createItemID 14617 doesn't have template!

Я еще добавил данные в файл extractable_items, или в этот файл ничего не надо прописывать?

 

Сборка PWsoft

 

Изменено пользователем SambukaRes

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё правильно. Еще в патч надо добавить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Misterius сказал:

Всё правильно. Еще в патч надо добавить.

В патч первым делом добавил. Если бы не добавил ,я бы не писал что при нажатии на него,ничего не происходит. (окно не открывается с выбором)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата

package commands.voice;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
import scripts.commands.IVoicedCommandHandler;
import scripts.commands.VoicedCommandHandler;
import scripts.items.ItemHandler;
import scripts.items.IItemHandler;
import javolution.text.TextBuilder;
import java.util.logging.Logger;
import net.sf.l2j.util.Rnd;
import net.sf.l2j.gameserver.Announcements;
import net.sf.l2j.gameserver.datatables.ItemTable;

public class VipBag implements IVoicedCommandHandler, IItemHandler
{
    private final static int ITEM_ACTIVE_ID = 10950; //Ид предмета активации.
    
    private final static boolean VB_HERO = true; // Включить выдачу Геройства.
    private final static int VB_HERO_CHANCE = 50; // Шанс получения Геройства.
    private final static int VB_HERO_DAYS = 1; // На сколько дней выдавать Геройство.
        
    private final static boolean VB_PA = true; // Включить выдачу Премиум Аккаунта.
    private final static int VB_PA_CHANCE = 50; // Шанс получения Премиум Аккаунта.
    private final static int VB_PA_DAYS = 1; // На сколько дней выдавать Премиум Аккаунта.
        
    private final static boolean VB_ARMOR = true; // Включить выдачу одной из Брони по рандуму.
    private final static int VB_ARMOR_CHANCE = 5; // Шанс получения Брони.
    private static final int VB_ARMOR_IDS[] = {9897,9896,9895,}; // ИДы Брони указывать через запятую.
    
    private final static boolean VB_COL = true; // Включить выдачу Монеты.
    private final static int VB_COL_CHANCE = 30; // Шанс получения Монет.
    private final static int VB_COL_ID = 9827; // ИД Монет.
    private final static int VB_COL_COUNT = 1; // Количество Монет.
    
    private final static boolean VB_TATOO = true; // Включить выдачу Донат Тату.
    private final static int VB_TATOO_CHANCE = 1; // Шанс получения Донат Тату.
    private final static int VB_TATOO_ID = 9812; // ИД Донат Тату.
    
    
    
    private static final Logger _log = Logger.getLogger(VipBag.class.getName());
    private static int ITEM_IDS[] = {ITEM_ACTIVE_ID};
    public VipBag()
    {
        _log.info("##########################################");
        _log.info("#############  111akal O_*  ##############");
        _log.info("########  Reworked by Smowk ##############");
        _log.info("##########################################");
        ItemHandler.getInstance().registerItemHandler(this);
        VoicedCommandHandler.getInstance().registerVoicedCommandHandler(this);
    }
    
    public boolean useVoicedCommand(String command, L2PcInstance player, String target)
    {
        if(command.startsWith("ag_vipbag_"))
        {
            String choise = command.substring(10).trim();
            if(choise.startsWith("edit"))
            {
                int chance = Rnd.get(100);
                L2ItemInstance coin = player.getInventory().getItemByItemId(ITEM_IDS[0]);
                int flag = Integer.parseInt(choise.substring(4).trim());
                //_log.info("hello2: "+flag+"");
                if (coin != null && coin.getCount() > 0)
                {
                    if(flag == 1 && VB_HERO != false)
                    {
                        if (player.isHero() != false)
                        {
                            player.sendMessage("Вы Уже имеете Геройство.");
                            showWelcome(player);
                        }
                        else
                        {
                            if (chance < VB_HERO_CHANCE)    
                            {
                                player.setHero(VB_HERO_DAYS);
                                Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Геройство\" и ему повезло!");
                                player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
                            }
                            else
                            {
                                Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Геройство\" и ему не повезло");
                                player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
                            }
                        }
                    }
                    if(flag == 2 && VB_PA != false)
                    {
                        if (player.isPremium() != false)
                        {
                            player.sendMessage("Вы Уже имеете Премиум Аккаунт.");
                            showWelcome(player);
                        }
                        else
                        {
                            if (chance < VB_PA_CHANCE)    
                            {
                                player.storePremium(VB_PA_DAYS);
                                Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Премиум Аккаунт\" и ему повезло!");
                                player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
                            }
                            else
                            {
                                Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Премиум Аккаунт\" и ему не повезло");
                                player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
                            }
                        }
                    }
                    if(flag == 3 && VB_ARMOR != false)
                    {
                        if (chance < VB_ARMOR_CHANCE)    
                        {
                            int armor_id = Rnd.get(VB_ARMOR_IDS.length);
                            String _ItemName = ItemTable.getInstance().getItemName(VB_ARMOR_IDS[armor_id]);
                            player.addItem("ag_vipbag_", VB_ARMOR_IDS[armor_id], 1, player, true);
                            Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Власть\" и ему повезло c "+_ItemName+"!");
                            player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
                        }
                        else
                        {
                            Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Власть\" и ему не повезло");
                            player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
                        }
                    }
                    if(flag == 4 && VB_COL != false)
                    {
                        if (chance < VB_COL_CHANCE)    
                        {
                            String _ItemName = ItemTable.getInstance().getItemName(VB_COL_ID);
                            player.addItem("ag_vipbag_", VB_COL_ID, VB_COL_COUNT, player, true);
                            Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Донат Монету\" и ему повезло с "+_ItemName+" "+VB_COL_COUNT+" штука!");
                            player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
                        }
                        else
                        {
                            Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Донат Монету\" и ему не повезло");
                            player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
                        }
                    }
                    if(flag == 5 && VB_TATOO != false)
                    {
                        if (chance < VB_TATOO_CHANCE)    
                        {
                            String _ItemName = ItemTable.getInstance().getItemName(VB_TATOO_ID);
                            player.addItem("ag_vipbag_", VB_TATOO_ID, 1, player, true);
                            Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Тату Вечности\" и ему повезло с "+_ItemName+"!");
                            player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
                        }
                        else
                        {
                            Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Тату Вечности\" и ему не повезло");
                            player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
                        }
                    }
                }
                else
                {
                    player.sendMessage("Не достаточное количество предметов!");    
                }
                
                return true;
                    
            }
            else
            {
                return false;
            }
        }
        return true;
    }

    private void showWelcome(L2PcInstance player)
    {
        if(player.isParalyzed() || player.getUserKey().on == 1)
        {
            player.sendActionFailed();
            return;
        }
        NpcHtmlMessage nhm = NpcHtmlMessage.id(5);
        TextBuilder build = new TextBuilder("<html><body><center>");
        build.append("Получить приз!<br1>");
        if(VB_HERO)
        {
            build.append("<button value=\"Геройство на сутки 50%\" action=\"bypass -h vch_ag_vipbag_edit 1\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
        }
        if(VB_PA)
        {
            build.append("<button value=\"Па на сутки 50%\" action=\"bypass -h vch_ag_vipbag_edit 2\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
        }
        if(VB_ARMOR)
        {
            build.append("<button value=\"Любая Власть 5%\" action=\"bypass -h vch_ag_vipbag_edit 3\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
        }
        if(VB_COL)
        {
            build.append("<button value=\"Донат Монета 30%\" action=\"bypass -h vch_ag_vipbag_edit 4\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
        }
        if(VB_TATOO)
        {
            build.append("<button value=\"Тату Вечности 1%\" action=\"bypass -h vch_ag_vipbag_edit 5\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
        }
        build.append("</center></body></html>");
        nhm.setHtml(build.toString());
        player.sendPacket(nhm);
        build.clear();
        build = null;
    }

    public void useItem(L2PlayableInstance playable, L2ItemInstance item, boolean ctrl)
       {
        if (!playable.isPlayer())
            return;

        L2PcInstance player = (L2PcInstance) playable;
        showWelcome(player);    
       }


    public int[] getItemIds()
    {
        return ITEM_IDS;
    }

    private static final String VOICED_COMMANDS[] = {
        "ag_","ag_vipbag_"
    };
    
    public String[] getVoicedCommandList()
    {
        return VOICED_COMMANDS;
    }
    
    public static void main (String... arguments )
    {
        new VipBag();
    }
}

 

Попробуй это

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 03.05.2020 в 09:51, SambukaRes сказал:

Добрый день всем. 
Скачал я значит супер сундук (VipBag.java) , закинул файл в scripts . Запускаю сервер,все без ошибок. Добавляю к себе сундук и при нажатии на него ,доп окно не открывается. в чате игры пишет "Nothing happened" ,а в гс createItemID 14617 doesn't have template!

Я еще добавил данные extractable_items, или в этот файл ничего не надо прописывать?

 

Сборка PWsoft

 

extractable_items ничего не надо добавлять
напиши мне в телеграмм @NewbieUser1 , помогу поставить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 03.05.2020 в 09:51, SambukaRes сказал:

Добрый день всем. 
Скачал я значит супер сундук (VipBag.java) , закинул файл в scripts . Запускаю сервер,все без ошибок. Добавляю к себе сундук и при нажатии на него ,доп окно не открывается. в чате игры пишет "Nothing happened" ,а в гс createItemID 14617 doesn't have template!

Я еще добавил данные в файл extractable_items, или в этот файл ничего не надо прописывать?

 

Сборка PWsoft

 

extractable_items <---- Сюда не нужно нечего пихать. Но мешать оне не .

Вы можете поставить даже на адену, на любую монету по типу адены. Лучше создать свою под скрипт. А так можете и колы поставить в настройки и будет работать. 

Вы добавили ваш скрипт в загрузку ? в папке data есть файл в который пишем путь к скрипту scripts.cfg примерно там он должен лежать  commands/voice/VipBag.java  и скрипт  должен так быть прописан путь.

У вас может стоять бот для pw [AntiBot] они вмести не работают что-то придется отключить

Проверьте и отпишите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 04.05.2020 в 22:55, Smowk сказал:

extractable_items <---- Сюда не нужно нечего пихать. Но мешать оне не .

Вы можете поставить даже на адену, на любую монету по типу адены. Лучше создать свою под скрипт. А так можете и колы поставить в настройки и будет работать. 

Вы добавили ваш скрипт в загрузку ? в папке data есть файл в который пишем путь к скрипту scripts.cfg примерно там он должен лежать  commands/voice/VipBag.java  и скрипт  должен так быть прописан путь.

У вас может стоять бот для pw [AntiBot] они вмести не работают что-то придется отключить

Проверьте и отпишите.

Хоть отключай, хоть не отключай Антибот ,все равно сундук при нажатии не открывает окно с выбором.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
18 часов назад, Edgar сказал:

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

Регистрация итемов скрипта: commands.voice.VipBag
Null
Регистрация команд: commands.voice.VipBag
ag_    
ag_vipbag_    
Скрипт загружен: commands.voice.VipBag

 

 

Правильно в Navicate добавил то?а то может дело тут?

14621    Сундук удачи    false    none    0    asset    gold    none    -1    0    0    true    true    true    true    adena    none    Icon.NOIMAGE

 

Изменено пользователем SambukaRes

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
26 минут назад, SambukaRes сказал:

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

Регистрация итемов скрипта: commands.voice.VipBag
Null
Регистрация команд: commands.voice.VipBag
ag_    
ag_vipbag_    
Скрипт загружен: commands.voice.VipBag

 

 

Правильно в Navicate добавил то?а то может дело тут?

14621    Сундук удачи    false    none    0    asset    gold    none    -1    0    0    true    true    true    true    adena    none    Icon.NOIMAGE

 

Насколько помню надо в конфигах поставить пароль на персонажа, попробуй (только создай нового)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, serfan1 сказал:

Насколько помню надо в конфигах поставить пароль на персонажа, попробуй (только создай нового)

щас попробую, отпишу

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, serfan1 сказал:

Насколько помню надо в конфигах поставить пароль на персонажа, попробуй (только создай нового)

Заработало,спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, SambukaRes сказал:

Заработало,спасибо

Лайкать не учили?

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, SambukaRes сказал:

Эдгар,в твоем скрипте почему то при нажатии на хиро,выдает ПА.

  1.         {
  2.             build +=("<button value=\"Хиро на сутки 25%\" action=\"bypass -h vch_ag_vipbag_edit 2\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
  3.         }
  4. Там где выделил два красным посьавь один и будет хиро выдавать. Там почему-то на хиро и на премиум стоит 2.
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
24 минуты назад, Smowk сказал:
  1.         {
  2.             build +=("<button value=\"Хиро на сутки 25%\" action=\"bypass -h vch_ag_vipbag_edit 2\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
  3.         }
  4. Там где выделил два красным посьавь один и будет хиро выдавать. Там почему-то на хиро и на премиум стоит 2.

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...