WILL PAY FOR HELP! How to save unlocked characters without table

james.kadadojames.kadado Member Posts: 6
edited February 2017 in Help Wanted

Hi all,

I have created a system in which you can collect or purchase coins (IAP) and use them to unlock characters. Once I unlock these characters and go back to the main menu, the character locks again. I am not using a table because 1: I am not understanding how to create it, i have checked all tutorials. 2: I have already set the unlocking system up.

Does anyone have any idea how I can destroy an attribute (unlock with XX coins) after I unlock the character?

Thanks!

Comments

  • james.kadadojames.kadado Member Posts: 6

    I am willing to pay someone to figure this out

  • pHghostpHghost London, UKMember Posts: 2,342

    Use save/load attribute. But you have to do it individually for every attribute you want to save and you need to keep track of the keys.

    IMHO, it's much easier to learn tables. They might seem hard and daunting if you haven't used them before, but after 30-45 minutes, you'll never understand how you managed without them.

  • ArmellineArmelline Member, PRO Posts: 5,327

    Just to warn you, if you allow the purchasing of coins which can in turn be used to purchase characters, Apple will likely insist that those characters can be restored. They recommend a login system, but I've often found that the easiest approach is to have the coins unlock a button that allows them to trigger a free IAP to get the character.

  • supafly129supafly129 Member Posts: 454
    edited February 2017

    Like what @Armelline said, I use "free" non-consumable IAP for my unlockable characters. This is Apple's way of saying "if players buy your characters with coins, they should be able to save that character to their account forever".

    Tables are quite simple to use and will make your life easier, especially if you have many unlockable characters. They are basically advanced attributes, and you decide whether each column is a boolean, integer, real, etc.

    Let's say you create a table called Characters and make column 1 a boolean...your rule for one of the unlockable characters might look something along the lines of this for when a player purchases your free IAP:

    When (PurchaseTable, Row 1, Column 5) is "purchased"
    --> Change ("Character Table", Row 1, Column 1) to True
    --> Save "Character Table"

    You would reference that row/column to decide what the player can or cannot do with that specific character, or how that unlockable character appears. For instance:

    When (Character Table, Row 1, Column 1) is True
    --> Change image to "unlocked character"
    Otherwise
    --> Change image to "locked"

    Make sense? Just think of tables as the same thing as game attributes, except you choose a row and column for where you want to store your boolean/integer/real attribute etc. Unlike attributes, you also don't have to load tables since GS automatically does this.

    If not, once I get home I can try and provide a simple template if you're still confused on how to accomplish this.

  • HopscotchHopscotch Member, PRO Posts: 2,782

    @supafly129 said:
    This is Apple's way of saying "if players buy your characters with coins, they should be able to save that character to their account forever".

    The detail is in "their account", not "their device".

    Apple wants you to allow players to restore such items even if they install the app on a new device.

    This is why you need user registration and saving of data in the cloud. You may get past a sloppy review with the simple free IAP trick, but I have had a few users where the reviewers looked closer and did not accept this simple solution as it does not work across devices.

    APPFormative (signature) can help with proper user registration and cloud saving if you need it.

  • supafly129supafly129 Member Posts: 454
    edited February 2017

    @Hopscotch said:

    @supafly129 said:
    This is Apple's way of saying "if players buy your characters with coins, they should be able to save that character to their account forever".

    The detail is in "their account", not "their device".

    Apple wants you to allow players to restore such items even if they install the app on a new device.

    This is why you need user registration and saving of data in the cloud. You may get past a sloppy review with the simple free IAP trick, but I have had a few users where the reviewers looked closer and did not accept this simple solution as it does not work across devices.

    APPFormative (signature) can help with proper user registration and cloud saving if you need it.

    As long as the player restores purchase on their new device after logging into their itunes account, they should be able to retrieve the free IAP. One game "Pinchworm" seems pretty popular and has done this without a problem it seems like, but a working user registration would of course be ideal as you mentioned. I will test this on my other phone later.

    @Hopscotch Can you clarify what you mean by "does not work across devices"?

  • james.kadadojames.kadado Member Posts: 6

    @supafly129 I think I kind of understand what you're saying. If you can create a template I would appreciate it so much. Like i said, I am willing to pay!

    Thank you!

  • HopscotchHopscotch Member, PRO Posts: 2,782
    edited February 2017

    @supafly129 I have used the "free non-consumable IAP for coins" workaround twice before, making sure the coins were only deducted if the IAP went through.

    In both instances review did not accept this option with reasons that a) it is misleading to the user, and b) opens the door for IAPs for non-ingame-currency. The bottom line, despite back and forth discussions, was that this is not the intended use for non-consumable IAPs.

    This, despite the fact that they require developers to track non-consumables bought with ingame currency account wide.

    Maybe others have had better luck with this approach?

    I will add that the alternative approach mentioned above, where the users first spends the coins, which in turn unlocks the free purchase button for the non-consumable item, is also not an ideal practice. If the user spends coins to unlock, but switches devices before actually performing the free purchase, he/she will not have the option of the free purchase on the new device. Again, this is something Apple would require you to manage.

    I guess Apple's main gripe is with the misleading fact that you ask the user to spend currency, yet then present them with a "free" item to purchase.

    For my part, I have resorted to a formal back-end solution they way Apple expects it.

  • james.kadadojames.kadado Member Posts: 6

    whats the formal back-end solution? @Hopscotch

  • HopscotchHopscotch Member, PRO Posts: 2,782

    @james.kadado

    Apple requires us to keep track of permanent in-game items which the user acquired through soft currency, even if they switch devices.

    In GS, this means that we need to implement some form of user registration, and store this information on a back-end server. When the user changes devices, it can then be retrieved and unlocked again.

  • james.kadadojames.kadado Member Posts: 6

    That sounds complicated! :/ have you ever been able to do that successfully? @Hopscotch

  • ArmellineArmelline Member, PRO Posts: 5,327
    edited February 2017

    @Hopscotch said:
    This, despite the fact that they require developers to track non-consumables bought with ingame currency account wide.

    Worth noting is that this all only applies if you sell the currency as IAPs. If it's currency earned in-game, and you can't buy it at all, then they do not expect non-consumables purchased with it to be restorable. This only becomes an issue if you make them buy the consumable coins with real money.

    I will add that the alternative approach mentioned above, where the users first spends the coins, which in turn unlocks the free purchase button for the non-consumable item, is also not an ideal practice. If the user spends coins to unlock, but switches devices before actually performing the free purchase, he/she will not have the option of the free purchase on the new device. Again, this is something Apple would require you to manage.

    I've used this method 3 or 4 times (mostly before Appformative offered cloud saving) and Apple were happy to accept it. If the player unlocks the free purchase and then doesn't do the purchase, that's their own fault.

    Now there's an alternative I'd not recommend using the "unlock free purchases" approach, but Apple do pass it. Last one I got passed was about 3 weeks ago.

Sign In or Register to comment.