Capture Enemies

● ARCHIVED · READ-ONLY
Started by DreamX 143 posts Page 4 of 8 View original ↗
  1. DreamX said:
    Sure. I want to work on this today so can you tell me in as much detail as possible what you want to contribute to the chance?


    Because right now, the only thing that plugin takes into account right now is hp, the capture item you used and states. The former two wouldn't apply because you have to defeat enemies instead of capturing them with an item.


    Alternatively, I could just have you define the formula to determine the chance yourself, but that would require javascript knowledge on your part.

    "Today"? Oh well, Timezones I guess.


    I thought about those and would love to share my ideas.
    Alright then lets go.

    1. States


    I'm not really javascript proficient, but it shouldn't be too hard to do, something like if actor.isStateAffected(x) then increase the chance by x% (Provided you actually use a percentage based capture rate. Pokemon for example chooses a value between 3 and 255)


    But I also thought of something new, if a pure percentage raise seems to boring. When State X is applied, it sets the capture chance for every enemy to X. Enemies that would have a value higher than X anyway, are not influenced. (great for enemies with a really low capture chance)


    2. Items


    Capture Items may not work the traditional way, but that doesn't mean they can't influence the chance of capture. For example: If the actor has Item 1 in his inventory, chance will increase by x or x%. The player should be able to decide if they want the items and states to be able to stack. And if they stack, additively or multiplicativley (for balance purposes)


    For consumables (like uh, fruits for plants in order to bribe them?): Will the item disappear after x uses? Does the user even want to use the item?


    3. Existing party members


    This is something really specific for my RPG, but I want to share the idea anyway.


    So, let's assume you've successfully recruited a bird monster. The chance of recruiting an additional bird monster will then be higher as your current monster can influence the other monsters. Insects will be easier to recruit as well because of their natural disadvantage against birds. However predators will be less impressed by this. In fact, this may have a negative influence to the capture rate.
    I use NeMV_Tags to determine what counts as a bird or predator.


    I hope this will help you and thank you in advance for your work
  2. Would it be possible that can create a command so that when an item is used, it raises the capture rate? Thanks! :)  
  3. @Goldschuss That's more involved than I expected, but I'll get to it when I have the time.


    @Starbound Leo Use an item that applies a state to the enemy. See documentation for more information on how to increase capture rate.
  4. I know this must be a lot of work but I'm fine if theres even only a portion of that.


    If you had a patreon I'd donate to you.
  5. @DreamX I'm so sorry, I didn't even look at the documentation. It gave me exactly what I wanted to know. Thanks!
  6. EDIT: I simply needed to start over from a new game to fix this issue, such a silly mistake! If anyone else comes up on this error, try that =]


    So, everything was working fine with your plugin, until I accidently replaced it with YEP-Credits.
    No worries, right? So I re-installed it, and now I'm getting an error message.
    Maybe it had something to do with the update Yanfly released for his Battle Engine, so I went and updated that, but the error still persists.
    It's really irking me, cause I'm not sure what I did to cause it flip out. Here is the error report:


    error.png


    The error happens once I capture an enemy. If i dont capture it, the text box still appears.


    I'm happy to send over the project files if you think it would help.
  7. GoodSelf said:
    So, everything was working fine with your plugin, until I accidently replaced it with YEP-Credits.
    No worries, right? So I re-installed it, and now I'm getting an error message.
    Maybe it had something to do with the update Yanfly released for his Battle Engine, so I went and updated that, but the error still persists.
    It's really irking me, cause I'm not sure what I did to cause it flip out. Here is the error report:


    View attachment 45776


    The error happens once I capture an enemy. If i dont capture it, the text box still appears.

    Since I am not able to reproduce this error, I will ask you to do this:


    Upload a small project to dropbox that shows the error in as few steps as possible. You can use this is a base to make it easy to have a small project size.


    Make sure that all of the files are up to date, including the updates from 1.3.1 of the RPG Maker MV
  8. DreamX said:
    Since I am not able to reproduce this error, I will ask you to do this:


    Upload a small project to dropbox that shows the error in as few steps as possible. You can use this is a base to make it easy to have a small project size.


    Make sure that all of the files are up to date, including the updates from 1.3.1 of the RPG Maker MV



    Thanks for your quick response, turns out the fix was super simple: I needed to stop being a moron XD
    I was playing my game from an exisitng save file, I'm not sure what I did that caused it go to corrupt.
    After starting a new game, the capture system worked perfectly.
    I had also created a back-up of my game earlier this morning, which I was going to resort to, but I do appreciate your willingness to accept a demo, and the courtesy of providing the HimeWorks link. It's nice to know you would be there If I needed some help, so thank you! (and sorry for the confusion  :D )
  9. Hi,


    first of all thanks für providing this plugin :)  I'm about to work on a fan-made Pokémon-style game for myself to get a bit closer to the new RPG Maker MV, so a capture enemies plugin is exactly what I need. The problem now is that I don't know how to use the manual command for my capturing event.


    I set the <capture_actor_id:x> tag to an enemy to link it with an actor in the database, nothing difficult about that yet.


    Since I use my own formula to calculate the chance if an enemy get captured or not I just thought it would be enough to set a plugin command at the end of my "success" procedure but I don't know how to set up the command dynamically for the values of x and y (actor ID and level).


    As a workaround I simply tried to force an action via event which "attacks" the target enemy at the very end with an non-animated skill on which I set up the <capture:1> tag but this neither worked because I'm using yanfly's transform method to "hide" the enemy while the capturing animation so I would have to "unhide" it again before attacking it which looks weird in that case.


    Is there a possibility to set the AddActor x y plugin command with variables? (I use a variable for the enemy IDs which are in fact the same values for the actors)


    Best regards


    Chris
  10. BehemothRPG said:
    Hi,


    first of all thanks für providing this plugin :)  I'm about to work on a fan-made Pokémon-style game for myself to get a bit closer to the new RPG Maker MV, so a capture enemies plugin is exactly what I need. The problem now is that I don't know how to use the manual command for my capturing event.


    I set the <capture_actor_id:x> tag to an enemy to link it with an actor in the database, nothing difficult about that yet.


    Since I use my own formula to calculate the chance if an enemy get captured or not I just thought it would be enough to set a plugin command at the end of my "success" procedure but I don't know how to set up the command dynamically for the values of x and y (actor ID and level).


    As a workaround I simply tried to force an action via event which "attacks" the target enemy at the very end with an non-animated skill on which I set up the <capture:1> tag but this neither worked because I'm using yanfly's transform method to "hide" the enemy while the capturing animation so I would have to "unhide" it again before attacking it which looks weird in that case.


    Is there a possibility to set the AddActor x y plugin command with variables? (I use a variable for the enemy IDs which are in fact the same values for the actors)


    Best regards


    Chris

    The function to manually capture an enemy is this:


    DreamX.CaptureEnemy.captureEnemy


    Let's say variable 1 is the actor id, variable 2 is the level.


    To manually capture an enemy via this script call with these example variables, you can do this

    Code:
    DreamX.CaptureEnemy.captureEnemy($gameVariables.value(1), $gameVariables.value(2));
  11. Okay so I tried it and I completely have no idea what went wrong that nothing is ever happening :(
  12. DreamX said:
    To manually capture an enemy via this script call with these example variables, you can do this



    DreamX.CaptureEnemy.captureEnemy($gameVariables.value(1), $gameVariables.value(2));

    Hi, well this looks exactely how I wanted it, I'll make an edit on the post as soon as I'm home to test this.


    EDIT: Thanks DreamX, just works as expected now. Unfortunately I still got problem to get the current level of the enemy but thats another issue :)


    Thanks for the fast reply,


    Regards
  13. Reese said:
    Okay so I tried it and I completely have no idea what went wrong that nothing is ever happening :(



    I've been using it since 1st ver and it's plug and play for me all the way round.


    Maybe you can explain further how you implement it so we could troubleshooting easier?
  14. JoePie said:
    I've been using it since 1st ver and it's plug and play for me all the way round.


    Maybe you can explain further how you implement it so we could troubleshooting easier?

    Silly me, I didnt turn on the plugin and exactly the reason why It aint working lol! Sorry for the trouble haha ^_^
  15. Reese said:
    Silly me, I didnt turn on the plugin and exactly the reason why It aint working lol! Sorry for the trouble haha ^_^



    haha, well, better the solution is that simple than frustrating on some more complex issues ;)


    EDIT: btw i managed it to solve the problem getting the current enemy level, since I use Yanfly's EnemyLevels-Plugin it worked by


    calling the script -> $gameVariables.setValue(12,user.level)
  16. BehemothRPG said:
    haha, well, better the solution is this simple than frustrating on some more complex issues ;)

    Totally agree with you on that, there are couple of plugins I'd want to use on my game but I'm afraid they'd have complexities and it could be disastrous xD
  17. I've tried using this script recently and have encountered some issues. Notably, using he AddActor command to add an actor to the party results in some issues with EXP values; actors that should require 50 EXP to reach require over 60 thousand. I've been able to reproduce this error consistently, as seen below:


    Untitled-1.png


    Besides that, I have another question- is there any capability for "releasing" actors that have been captured/added? Currently both this and the Hime "Instanced Actors" plugin seem to lack this ability, which is fairly crucial to the types of games systems like this are built around. Only being to add party members is fine for most RPGs, but when you've got a chance of potentially filling your party with 50 Level 1 Slimes, I think there's a desperate need for some method of disposal.


    On a related note, if I'm understanding what's going on, all the actor instances created when a monster is captured with this system are added to a CapturedEnemy Array, which is then saved alongside the game. I don't know if there's any cleanup being done, but if not, the lack of a delete feature sort of worries me - anyone who has ever played a Bethesda game knows the issues that arise when you allow data structures to grow freely. I don't know the way RM handles things behind the scenes, but perhaps implementing some kind of upper limit on the amount of monster instances the plugin can create and using a circular array to sort of "recycle" slots flagged as not in use in the array would prevent things from growing out-of-control?
  18. I'm not able to reproduce that error. I've just tested adding an actor and they have the correct amount of xp for next level. Can you upload a demo using this showing the problem, updated to 1.3.1 to dropbox.com? That would help a lot.


    Being able to permanently remove actors is something I'd like to do. For the time being, I'll just include a plugin command/function to do so and then people can decide how to use that. It will be in the next update after we have dealed with the xp problem.
  19. DreamX said:
    I'm not able to reproduce that error. I've just tested adding an actor and they have the correct amount of xp for next level. Can you upload a demo using this showing the problem, updated to 1.3.1 to dropbox.com? That would help a lot.



    No problem. Here you go: Link


    Screenshot:


    Untitled-1.png



    As for removing actors, what are the specific hurdles regarding this feature? I've noticed that of the major plugins that offer the ability to create instances of actors, none of them offer removal, and Tsukihime notes here that "This plugin does not provide support for deleting actors, because that actor might be in use by other objects. It is safer to simply not use the actor." 


    In the Request forum I posited this theoretical solution, which involved breaking references to the actor and registering their position in the Actor's array to be overwritten by newly-added actors, but that was only a guess. It would stand to reason that since all actors are stored in the same array that you can't simply splice them out without potentially breaking references to other actors, but I'm very curious as to what the other major issues are.


    Thank you.
  20. cubanvirus said:
    No problem. Here you go: Link


    Screenshot:


    View attachment 50145



    As for removing actors, what are the specific hurdles regarding this feature? I've noticed that of the major plugins that offer the ability to create instances of actors, none of them offer removal, and Tsukihime notes here that "This plugin does not provide support for deleting actors, because that actor might be in use by other objects. It is safer to simply not use the actor." 


    In the Request forum I posited this theoretical solution, which involved breaking references to the actor and registering their position in the Actor's array to be overwritten by newly-added actors, but that was only a guess. It would stand to reason that since all actors are stored in the same array that you can't simply splice them out without potentially breaking references to other actors, but I'm very curious as to what the other major issues are.


    Thank you.

    Thanks, the latest version fixes this issue.


    At the moment I don't see much problem in removing a generated actor, I'm going to try it soon and let you know when its updated.