Hello OtLand community.
I decided to share this Modern Task System because I noticed many servers still use outdated or hard-to-configure task systems. This release aims to provide a plug-and-play solution that works flawlessly.
Note: Please feel free to provide feedback, criticism, or improvements to the script. I am a self-taught hobbyist developer and I am always looking to learn and improve.
Credits:
data/scripts/custom/task_system.lua and paste the code below. (Make sure you have compat.lua or json library available).
Enjoy.
I decided to share this Modern Task System because I noticed many servers still use outdated or hard-to-configure task systems. This release aims to provide a plug-and-play solution that works flawlessly.
Note: Please feel free to provide feedback, criticism, or improvements to the script. I am a self-taught hobbyist developer and I am always looking to learn and improve.
Credits:
- Author: Julian Bernal (@JulianBernalV)
Compatibility
- Tested on: TVP Base (TFS 1.x fork).
- TFS 1.3 / 1.4+: Should work standardly. If you encounter any issues (e.g., missing json lib), please post them here so I can help update the script!
Features
- Modern UI: Clean interface with Tabs (All, Daily, Story, Hardcore).
- Dynamic Previews: Monster images and outfits are generated automatically from the server.
- Real Cooldowns: Daily tasks have a server-side cooldown (e.g., 20 hours). The UI displays a live "Wait Xh Ym" timer.
- Dynamic Progress: The progress bar changes color as you complete the task (Red -> Yellow -> Green).
- Party Sharing: If you are in a party with "Shared XP" active, kills count for all members within 30 sqm.
- Rewards: Supports Experience, Gold, Points, and Items (showing real names like "Royal Helmet", not IDs).
- Easy Config: All configuration (Tasks, Monsters, Rewards) is done in a SINGLE server-side file.
Installation
1. Server-Side
Createdata/scripts/custom/task_system.lua and paste the code below. (Make sure you have compat.lua or json library available).
2. Client-Side (OTClient)
Create a new module modules/game_modern_tasks/. You need 3 files:- modern_tasks.otmod
- modern_tasks.otui
- modern_tasks.lua
Usage
- Command: Type !task in-game to open the menu.
- Button: A button is also added to the top menu (if available).
Configuration
To add a new task, just edit task_system.lua:
LUA:
[4] = {
name = "Demon Slayer",
category = "Hardcore",
mobs = {"demon"},
count = 666,
repeatable = true,
cooldown = 20 * 3600, -- 20 Hours
rewards = {
{type = "exp", value = 666666},
{type = "points", value = 50}
}
}
Enjoy.