Jump to content

sooms

Manager
  • Posts

    0
  • Joined

  • Last visited

Posts posted by sooms

  1. Sorry you've had so many problems getting things going. We are focusing the vast majority of our time at the moment on trying to improve the systems to make them much easier to use and extend. I think you'll have much more luck with future updates.

  2. Sadly it isn't currently possible as the server is executed via shell/bat scripts, not a java executable, and it is run as many different processes rather than one single entity making it much harder to run in debug mode via an IDE.

     

    Currently I just use a lot of log messages and run the:

    grep "String to search for" *.out

    command to see what is happening in the code.

  3. As mwituni mentioned, you can change the main scene a player spawns in to when created - it's done in the Character Setup Plugin. You can totally do away with the MainWorld if wanted.

     

    With number 7, you're correct that there currently isn't a way to specify an item type restriction for bags. No current plans to implement it, but we would get around to it one day.

     

    I'll have to get back to you later on the rest.

  4. Hi droptopgames.

     

    Thanks for these. I'm going to be a pain though and say some of them are unity only requests (nothing to do with the atavism), but for the ones that do relate directly to atavism:

     

    2) I agree and have plans for better quest system, but it will be further down the line.

     

    3) Guilds to be looked into at a later date

     

    4) We are looking at implementing uGUI instead of standard UI at some point which will result in much better ui interaction.

     

    5) I'll see what I can do for this one. Would be of some use that's for sure.

     

    7) The current system allows for the creation of bags of different slot counts, but it uses the stacvk limit property instead (I should add code to rename it when item type = bag in the editor). Is this what you need, or can you elaborate?

  5. To expand on this, we are looking at adding an interactive object system to atavism in one of the next couple releases which will be used for keeping track of states on the server for these objects. I'm quite excited about it as it means you can have a real interactive world with players clicking on things or altering the states of objects that others will see etc.

  6. That part of the code is fine as you had it. It is in the actual ConsumeAbilityActivateHook class, the activate function will instead need to send a message (which I have to create) which the ClassAbilityPlugin will catch and then add the ability to the player.

     

    The way Atavism works is you have the different processes for each part of the game (combat, mobs, inventory etc) and when you need to pass some information on to another process (such as adding an ability from an item event) you need to send a message which the other process can catch and then work with.

  7. Sorry Michael, I had been away for a while and now back in action.

     

    Firstly, it's awesome to see some more people trying to dig into the code.

     

    This stuff gets quite tricky pretty quick so I will explain how the ability system works first with a bit of core Atavism design explanation.

     

    Each part of your characters data is separate, such as the combat, inventory, quest progress etc. Each of these subObjects of your character are referred to as "typeInfo" so for combat it is CombatInfo, and they only exist in the relevant process (so the CombatInfo is only usable within the Combat and ClassAbility Plugins).

     

    This means all the characters ability info (along with the actions) are stored in the CombatInfo subObject, and when you want to access the abilities or action list in the server code it needs to be done in the Combat areas. What you have done is just try to directly set a list (of strings) that contains the abilities the player has, and try to save it to the WorldManager subObject.

     

    What needs to be done is code needs to exist in the ClassAbilityPlugin.java file that picks up a message saying which ability the player has learned and then it will access the CombatInfo for the player and add the ability and update the action list. You can see an example which just updates the ActionList (from ClassAbilityPlugin.java line 895):

     

    class UpdateActionBarHook implements Hook {
       	public boolean processMessage(Message msg, int flags) {
       		CombatClient.updateActionBarMessage UABMsg = (CombatClient.updateActionBarMessage) msg;
       	    OID oid = UABMsg.getSubject();
       	    int actionPosition = (Integer) UABMsg.getProperty("actionPosition");
       	    String newAction = (String) UABMsg.getProperty("newAction");
       	    CombatInfo cInfo = CombatPlugin.getCombatInfo(oid);
       	    ArrayList actions = cInfo.getCurrentActions();
       	    while (actions.size() <= actionPosition) {
       	    	actions.add("");
       	    }
       	    actions.set(actionPosition, newAction);
       	    cInfo.setCurrentActions(actions);
       	    ExtendedCombatMessages.sendActions(oid, actions);
       	    return true;
       	}
       }

     

    What I recommend is I will add a LearnAbilityMessage and a Hook to catch that message and then add the ability to the players CombatInfo. I will have it in 2.4 as I see it as an important feature and will take me 30 minutes.

  8. It comes down to your level of programming skill. I'm not too familiar with the battle systems in the games you have listed but odds are you will want to do some programming to modify the existing combat code.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.