tModLoader
872 évaluations
Achievement Mod
4
3
9
4
4
2
2
   
Récompenser
Ajouter aux favoris
Favoris
Retirer des favoris
Mod Side: Client
tModLoader Version: 1.4.3, 1.4.4
Taille du fichier
Publié le
Mis à jour le
111.774 KB
2 févr. 2023 à 17h21
25 mai 2023 à 10h36
8 notes de changement ( voir )

S'abonner pour télécharger
Achievement Mod

Description
Allows you to unlock achievements like in vanilla and allows other mods to add achievements.
Contains configuration options like having separate achievements for each player.
Adds the /achievement command which you can use to give/take/reset achievements.
Usage:
/achievement clear
/achievement grant [achievement name]
/achievement revoke [achievement name]

You can also type /achievement unlockvanilla to unlock all vanilla achievements.

Your achievements are saved to a json file which can be found in a folder called AchievementData.
The folder is found in the same place that your player and world folders are located.

For Developers:

If you are a developer and want to add an achievement use Mod.Call in PostSetupContent

Mod.Call("AddAchievement", this (reference to your mod),
Name of your achievement (string, don't put spaces),
Achievement Category (Terraria.Achievements.AchievementCategory),
Texture path (string, the texture should be 128x64, it will contain the unlocked and locked sprite of the achievement),
Custom border texture path (string, can be null, if you add a texture it should be 72x72),
Show progress bar (bool), Show achievement card (bool), Achievement card order (float), Conditions (string array))

Example:

if (ModLoader.TryGetMod("TMLAchievements", out Mod mod))
mod.Call("AddAchievement", this, "AchievementName", AchievementCategory.Collector, "YourMod/Assets/Textures/Achievement", null, false, false, 2.5f, new string[] { "Collect_" + ItemID.RodofDiscord });

This will create an achievement which you unlock by collecting a Rod of Discord

Setting show progress bar to true will show how many conditions are completed.

Achievement card order is the order of your achievement if you set show achievement card to true
The achievement Timber!! has an order of 1, while Champion of Terraria (Defeat the moon lord) has an order of 36
Setting the order will allow you put the achievement in the correct place in terms of progression.

How to add conditons:
To add a condition you simply add a string in the conditions array.
If you want to add a item condition add the string "Collect_" + the item id. Example: "Collect_" + ItemID.RodofDiscord
If you want to add a craft item condition add the string "Craft_" + the item id. Example: "Craft_" + ItemID.OnyxBlaster
If you want to add a mine tile condition add the string "Mine_" + the tile id. Example: "Mine_" + TileID.GrayBrick
If you want to add a kill npc condition add the string "Kill_" + the npc id. Example: "Kill_" + NPCID.Mimic

If you want a custom condition do "Event_ExampleEvent". Use Mod.Call("Event", "ExampleEvent"); to complete the condition.

If you want a custom value condition do "ValueEvent_ExampleValue_100". If the value reaches 100 the condition is completed. Use Mod.Call("ValueEvent", "ExampleValue", 1f); change the value by 1

Complete Example:
new string[] { "Collect_" + ItemID.AbigailsFlower, "Craft_" + ItemID.GoldenDelight, "Kill_" + NPCID.PurpleSlime }

To complete the achievement with those conditions you will need to collect abigails flower, craft a golden delight, and kill a purple slime.

Finally you will need to add an entry in the localization file of your mod for your achievement name and description.

You can type /achievement debuglist if you want the names of all achievements (including modded ones). Typing the command will print the names of all achievements to your client.log file.

You can modify this to create a texture for your achievement.

https://i.imgur.com/sO6F6Mg.png
tModLoader a écrit :
Developed By metalkingpig
105 commentaires
CrazyTren 19 mai à 8h19 
how do I use /achievement grant and /achievement revoke it's not working
LaggyCrow 8 avr. à 7h00 
Loving the mod, Cant wait for new update. Thank you.
"loser your mod is useless now" 🤓
keytowite 24 févr. à 17h01 
man someone had a bad day at kindergarten
lilbrybry 16 févr. à 15h16 
loser your mod is useless now
Repeat 27 janv. à 20h11 
Would it be possible to add custom achievement categories?
Knightz 8 déc. 2023 à 17h41 
me talking pig
:steamhappy:
Lion8cake 1 nov. 2023 à 17h04 
that would be awesome thank you
metalkingpig  [créateur] 1 nov. 2023 à 8h03 
@Lion8cake You can't modify vanilla achievements using this mod, but I might be able to add it if you want.
Lion8cake 1 nov. 2023 à 3h25 
is there any way to edit existing achievement obtainment methods? Say i want to remove the Hot Reels achievement to be obtained in certain conditions, am i able to do that easily through this mod?