Игровая почта

L2relax44

Путник
Пользователь
Сообщения
9
Розыгрыши
0
Репутация
0
Реакции
2
Баллы
6
Хроники
  1. Chaotic Throne: High Five
Сборка
l2scripts
Доброго времени суток , подскажите пожалуйста как сделать такую систему, При входе нового игрока на сервер он получал письмо и получал награду.
 
I don't know if it is copy-paste applicable to the High-Five version, but it should be something similar to this:

Java:
private void sendRewardMail(Player receiver)
    {
        Mail mail = new Mail();
        mail.setSenderId(receiver.getObjectId());
        mail.setSenderName(receiver.getName());
        mail.setReceiverId(receiver.getObjectId());
        mail.setReceiverName(receiver.getName());
        mail.setTopic("SOME_HEADLINE");
        mail.setBody("SOME_MESSAGE");
        mail.setPrice(0L);
        mail.setUnread(true);
        mail.setType(Mail.SenderType.NEWS_INFORMER);
        mail.setExpireTime((int) (TimeUnit.DAYS.toSeconds(365) + (System.currentTimeMillis() / 1000L)));
        mail.setSystemTopic(SystemMsg.SOME_SYSTEM_MESSAGE); //change to something else
        mail.setSystemBody(SystemMsg.SOME_SYSTEM_MESSAGE); //change to something else

        ItemInstance rewardItem = ItemFunctions.createItem(ItemTemplate.ITEM_ID_ADENA); // change to whatever you need. this example is for adena
        Objects.requireNonNull(rewardItem);
        rewardItem.setOwnerId(receiver.getObjectId());
        rewardItem.setCount(5_000_000); // amount of the rewardItem
        rewardItem.setLocation(ItemInstance.ItemLocation.MAIL);
        rewardItem.setJdbcState(JdbcEntityState.UPDATED);
        rewardItem.update();

        mail.addAttachment(rewardItem);
        mail.save();

        receiver.sendPacket(ExNoticePostArrived.STATIC_TRUE);
        receiver.sendPacket(new ExUnReadMailCount(receiver));
        receiver.sendPacket(SystemMsg.THE_MAIL_HAS_ARRIVED);
    }


You can remove whatever you don't need, or rather, whatever field of the mail.setXX or the rewardItem.setXX is not required for your version.

Also, you can further improve/generalise the method by adding additional inbound parameters other than Player, such as a list of Items for reward, along with their amount, String headline, String Message, some system message IDs, etc, and then properly adapting the method to use the new parameters.
 
Назад
Сверху Снизу