С мобов чтоб давало +1пвп в статистику PwSOFT

andyflask163

Единомышленник
Участник
Сообщения
26
Розыгрыши
0
Репутация
-9
Реакции
11
Баллы
145
Хроники
  1. Interlude
Исходники
Присутствуют
Сборка
pwsoft
как сделать чтоб при убийтсве мобов давало +1 к ститистике сборка Ares pwsoft
 
 
Лучше карму накидывай за убийства мобов.

З.Ы. А на убийствах игроков наоборот отмывай ее :)
 
Лучше карму накидывай за убийства мобов.

З.Ы. А на убийствах игроков наоборот отмывай ее :)
А что очень интересная идея выйдет по итогу) убиваешь мобов-качаешься-становишся дичью для других, убивая персов отмываешь карму-становится меньше прицел-развитие остается. Можно развить очень интересный сценарий)
 
Ну на скриптах как-то так:
Java:
public class AddStatByKill implements OnInitScriptListener
{
    private final CharListener ON_KILL_LISTENER = new PcKillListener();
    
    
    @Override
    public void onInit()
    {
        super.onInit();
        CharListenerList.addGlobal(ON_KILL_LISTENER);
    }
    
    private final class PcKillListener implements OnKillListener
    {
        
        @Override
        public void onKill(Creature actor, Creature victim)
        {
            Player player = actor.getPlayer();
            player.setVar("STAT", player.getVar("STAT", 0) + 1);
        }

        @Override
        public boolean ignorePetOrSummon()
        {
            return false;
        }
    }

На мобиусе так бы:

Java:
public class AddStatByKill extends Quest
{
    private final AbstractEventListener ON_KILL_LISTENER;

    public AddStatByKill()
    {
        super(-1);
        ON_KILL_LISTENER = new ConsumerEventListener(Containers.Npcs(), EventType.ON_CREATURE_DEATH, (OnCreatureDeath event) -> onCreatureDeathEvent(event), this);
        Containers.Npcs().addListener(ON_KILL_LISTENER);
    }

    public void onCreatureDeathEvent(OnCreatureDeath event)
    {
        Player player = event.getKiller() == null ? null : event.getKiller().getPlayer();
        if (player == null)
        {
            return;
        }
        player.increaseInt("STAT", 0, 1);
       }

Поищите похожие методы и посмотрите как сделано :\
 
Ну на скриптах как-то так:
Java:
public class AddStatByKill implements OnInitScriptListener
{
    private final CharListener ON_KILL_LISTENER = new PcKillListener();
   
   
    @Override
    public void onInit()
    {
        super.onInit();
        CharListenerList.addGlobal(ON_KILL_LISTENER);
    }
   
    private final class PcKillListener implements OnKillListener
    {
       
        @Override
        public void onKill(Creature actor, Creature victim)
        {
            Player player = actor.getPlayer();
            player.setVar("STAT", player.getVar("STAT", 0) + 1);
        }

        @Override
        public boolean ignorePetOrSummon()
        {
            return false;
        }
    }

На мобиусе так бы:

Java:
public class AddStatByKill extends Quest
{
    private final AbstractEventListener ON_KILL_LISTENER;

    public AddStatByKill()
    {
        super(-1);
        ON_KILL_LISTENER = new ConsumerEventListener(Containers.Npcs(), EventType.ON_CREATURE_DEATH, (OnCreatureDeath event) -> onCreatureDeathEvent(event), this);
        Containers.Npcs().addListener(ON_KILL_LISTENER);
    }

    public void onCreatureDeathEvent(OnCreatureDeath event)
    {
        Player player = event.getKiller() == null ? null : event.getKiller().getPlayer();
        if (player == null)
        {
            return;
        }
        player.increaseInt("STAT", 0, 1);
       }

Поищите похожие методы и посмотрите как сделано :\
спс гляну
 
Назад
Сверху Снизу