Wait! Didn't you see you'd have it ready for last Wednesday? Yes. I actually HAD it ready (proof is in ossi0110, Mumbles and Haruna who gave it a first quick read to assure there are no evident bugs) but I couldn't post it due to some techical (and not-so-technical) problems.
Yeah, you've read right: It's now here in a pre-release format! Wait, pre-release? What did you cut out? Answer is nothing. It has full functionality but it's still a work in progress so it's not that I cut out anything, it's simply not coded in yet. What's missing in here? In short, all this:
- An interface. I mean giving it a physical clickable NPC sprite, with its respective menus. This also means all of this:
- Possibility of having a NPC chat in which the remaining time for WoEs is announced.
- Menus and dialogs.
- All session moving, skipping, addition, deletion, reloading or so.
- Warp function.
- Whatever functionality you could expect from an NPC with sprite.
- Right now, only way of interacting with this script is via whisper system. You may ask the NPC to reload the OnInit label by sending it "init" and the OnLoadParseSessions event by sending "load". You have to load the sessions manually at the moment.
- As it's a preview, obviously some bugs may appear. You play here by helping me squash them (because this is the main NPC engine, it's supposed big changes won't be made on these).
- For Spanish-speaking people: no Spanish translation until official release .
Now, what are the benefits of my script? Why use it instead of others? What does it do that others don't? Apart of the planned features you can see above, my WoE setter supports this:
- First and most importantly: it's Hercules compatible. Some other WoE controller scripts out there need editions prior to making them compatible with our emulator.
- Has @reloadscript persistence. You're not reccommended to use @reloadscript anyways, but it's @reloadscript safe, maybe except using it near WoE regular ends.
- WoE sessions are stored in a dedicated table in your MySQL system, so that you won't mess with permanent variables.
- Comprehensive error tracking, saving in logs any issue you could find running the NPC (not fully functional yet). It also screams the error on the server console and even announces it if you want to debug it.
- You can start multiple WoE sessions at once, so that you can have different independent sessions running on the same time.
- Your WoEs can also overflow through midnight or even last more than 1 day if required. A session can last up to a week.
- You can set the same castle on WoE more than once, so that you can also lift the previous 1-week limitation by adding a session that runs on that/these same castle(s) from the previous session end to after the next session start.
- You can specify a number of weeks your sessions will last alive. After that, they'll be deleted.
- Last but not least important: The script is fully documented with profuse comments and encourages you to learn scripting and also edit it. Its syntax is as simple as I could imagine (you can't help some difficult statements out there, but they're also commented) so that you can easily modify it to suit your needs. Script was also made having performance in mind but prioritizing readability, so performance isn't notably harmed as it's also been optimized keeping that in mind. Sample easy modifications you can do with this script are:
- You can add all your timed events to this NPC, so that you won't have loads of NPCs that act based on the time on your server, just one. This can also save some space and process time on the long run if you don't go messy and add lots of NPCs that work that way.
- You can take advantage of the admin menu of this NPC to also build your server's GM control panel upon this, saving you of having tons of small NPCs for quick server configurations.
Link to release: WoE setter pre-release.txt (31.66K)
downloads: 279
Hope you get fun with it!
P.S.: Spanish translation of this entry will be made shortly. Sorry!
(Spanish)
La traducción al español de esta entrada del blog ha sido suspendida porque no tengo tiempo para ello de momento.
La pre-release está solo en inglés. Ya traduciré todos los textos del NPC cuando termine la versión final, así evitaré duplicarme el trabajo. ¡Lo siento!
Spanish version of this post has been suspended due to more important things I've got to do on my life and since I haven't that much people.
I would appreciate any kind of comments or reports about this script, since next release will be a full-blown woe setter script, released for the community.