Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: shennetsind <ind@henn.et>
|
|
- HPMi->addCommand is now addAtcommand, dropped usage of ACMD_A()
- HPMi->addScript is now addScriptCommand, dropped usage of BUILDIN_A()
- HPMi->addCPCommand is now addCPCommand, dropped necessity of CPCMD_A()
- HPMi->addPacket is now addPacket, 5th param (HPMi->pid) is now automatically filled by the macro, therefore param count drops to 4 (packetID,packetLength,packetFunction,packetIncomingPoint).
There is no longer necessity to check for the availability of the commands, the macros will do it on their own and drop a warning about it upon failure.
These changes won't affect pre-compiled plugins.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Introducing the Hercules Standalone Script Syntax Checker
|
|
So that HPM plugins are able to override default commands, thanks to Akkarin for bringing it up.
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Added a command line argument '--script-check' to check a script's
syntax without running the server (and without requiring a SQL
connection). Usage: ./map-server --script-check /path/to/the/script.txt
- For convenience, a script-checker bash script is provided, to set the
path correctly when called from a different directory. Usage:
/path/to/Hercules/script-checker /path/to/the/script/to/check.txt
- While the script checker will supposedly work under windows as well,
no convenience scripts are currently provided for platforms other than
UNIX (feel free to open a pull request with a .bat launcher or
whatever you like)
- Integration with IDEs or text editors is possible. In fact, I already
have a fully functional plugin for vim (through vim-syntastic), and if
there's enough interest, I'll publish it. - screenshot: http://d.pr/i/NOBD
- If you want an online checker, http://haru.ws/scriptchecker/ is
running this code, without modifications and will be kept up to date
(without any warranty though.)
- Special thanks to Ind, Yommy, Streusel, who helped making this
possible, in a way or another.
|
|
Modified how @commands from HPM plugins are handled so that they are persistent to @reloadatcommand (also prepares for the future load/unload during runtime feature)
http://hercules.ws/board/tracker/issue-7759-reloadatcommand/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Moved missing vars and declarations of interest into the interface.
Signed-off-by: shennetsind <ind@henn.et>
|
|
* Reworked group permission caching in session data (follow-up to cd45c30ab2dcc44bfbfac283d15bb09b3d4644bc)
* Removed duplicated information from session data in favor of direct pointer to group settings.
* Added getters for all group data required to process permissions and related stuff.
* Added new functions to PC interface and updated calls everywhere.
* Extracted function to set new group for a player (used at login, group config reload, manual adjustment of group).
* Moved command permission config parsing to atcommand module.
* Improved dummy map session handling.
* Since it's required for all map sessions to have a valid group, dummy sessions are now created by a designated function.
* Updated related code that uses dummy sessions (console `gm use` and script `atcommand`, `useatcmd`).
* Various minor improvements and cleanups.
* Eliminated some global variables related to loading atcommand permissions for group by passing them directly to function.
* Moved definition of global array holding PC permission names from header file to source file.
* Streamlined destuction of atcommands database to use DBApply helper function instead of DBIterator.
* Replaced hardcoded position of console dummy session with defines from mapindex.h (thx Haruna for pointing it out).
* Removed fixed length restriction on group names.
|
|
Special Thanks to Shikazu, wouldn't have been able to identify this issue without his help!
http://hercules.ws/board/index.php?app=tracker&showissue=7216
Signed-off-by: shennetsind <ind@henn.et>
|
|
http://hercules.ws/board/topic/549-introducing-hercules-plugin-manager/
Signed-off-by: shennetsind <ind@henn.et>
|
|
http://hercules.ws/board/topic/470-hercules-april-22-patch/
Signed-off-by: shennetsind <ind@henn.et>
|
|
[16969:16991/trunk/src/] will be re-committed in the next 24 hours.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16992 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
Removed /SAFESEH option from MSVC11 projects.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16968 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
list a pointer array, this also allows the system to have a unlimited amount of atcommand bind instances. also fixed a memory leak that'd be caused when npc_do_atcmd_event fails (e.g. when target npc is manually reloaded)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16485 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
original version by ToastOfDoom however heavily modified by I enabling command level at the invoking/character (@/#) level and fixes to prevent console errors as well as fixes aimed to ensure compatibility with rAthena.
Updated the script_commands.txt documentation with the following script commands: bindatcmd, unbindatcmd and useatcmd.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16471 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
and atcommand permissions saving thousands of thousands of dbmap lookups.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16443 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
http://www.hyperrealm.com/libconfig/):
- Updated VS9/10 project files.
- Updated `configure` & `Makefile`s.
- New GM, Commands & Permissions system:
- '''This is a backwards compatibility breaking update''', please read tid:58877
- Replaced GM levels with Player Groups.
- Commands permissions & other privileges now depend on group, not GM level.
- `@help` command improvements: requires "commandname" param and shows more detailed info about commands.
- Modified GM whisper system to deliver messages basing on permissions, not GM level.
- Remote trade request is now possible only if player is allowed to use `@trade` command as well.
- Added a proper permission to use `/changemaptype` command.
- `clif_displaymessage` is now capable of displaying multiline messages.
- All `ACMD_FUNC`s are static now, and the only way to invoke them is with `is_atcommand()`; all client commands (starting with `/`) are now translated into corresponding atcommands (with exception of `/kick` used on monster, as there is no atcommand to kill single monster).
- Removed nonsense "bot check" triggering when player blocked (`/ex`) Server.
- Merged `@monster`, `@monsterbig` and `@monstersmall`.
- Improved flow of atcommand execution to avoid revealing info about online players or existing commands to non-privileged players.
- Merged `atcommand` and `charcommand` script functions (`charcommand` is aliased to `atcommand`).
- Fixed `atcommand` script function reading unknown memory area (possible access violation).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15572 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
modified/added/removed in the front-end within atcommand_conf (no longer hardcoded). The aliases pattern was defined in this topic: tid:56343 atcommand_conf file rewrite/update belongs to Jguy and BrianL
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15343 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added checks/warnings to pc_paycash and pc_getcash (follow up to r12264).
- Added missing packet_db.txt and packet length table entries for packet 0x0859 (follow up to r14799).
- Added set of map_id2xx wrappers for map_id2bl for most common map objects, which return NULL when the bl-type is not the expected one (also updated map_id2nd to behave this way).
- Fixed missing ',' in mob_skill_db.txt example (follow up to r14270).
- Updated mapcache with recent maps (up to que_lhz).
- Functions 'msg_txt' and 'job_name' now return a const pointer.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14813 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* moved @kick gm level check to the part that kicks players
* added @killmonster gm level check to the part that kills monsters
* added missing reply to client in the part that unloads npcs
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14250 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- replaced gmlvl arg with a flag arg for internal/player generated checks. (dummy sds that used this arg are given gm levels)
- each command check runs through is_atcommand() and is checked for its origin (internal or player generated)
- charcommands are also parsed in this function.
- script atcommand/charcommand function calls to is_atcommand() have been updated
- also updated some clif/map functions calls to is_atcommand()
* charcommands should now log properly with the target of the command included.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13545 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Added more commands to configurations (bugreport:2565)
* Added a missing charcommand symbol config to atcommand configs.
* GM command configs under the old format will have a warning printed back to the console as being deprecated.
* Other fixes/cleaning partially resolving bugreport:2549
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13409 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
functionality.
Charcommands still retain their '#' symbol but now looks for a character name as the first parameter instead of last.
Atcommand configs now support charcommand level configurations by comma seperation (e.g. 60,99)
As a result of this, all atcommands that don't affect multiple users already (@kickall, @doom, @mapexit) are capable of remote usage.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13403 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* kRO have a possible way to read mail by just sending the open mail window packet to the client.
This protection adds a mapflag town, to set the only maps that allow mail operations.
because there is no way to know when client closes the mail inbox window. *
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12279 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
(bugreport:790).
Added support for right-click-gm-menu kicking NPC objects.
Removed redundant function npc_checknear2().
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12073 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* separated the execution part of command code into interface part and internal part to better see which checks are done and when (fixes problem where 'nocommand' mapflag blocked server npcs)
* moved the internal commands list (array) to the end of the file, this let me discard that long block of ACMD_FUNC() declarations
* removed enum AtCommandType from command headers and commands array; its purpose was perhaps to identify aliased commands, but apparently it was never finished because the rest of the code doesn't use it (also doing aliases like this is not a very good idea)
* internally, commands are now referenced to using their function name
* removed the @/# symbols from the command lists; all lookup functions will now properly deal with strings with- and without a command symbol (commands interface still requires the symbol tho', so TODO for later)
* removed several unneeded commands (*id2 code, dmalloc debug commands)
* reverted atcommand config from alphabetically-sorted to how it was before (with additional fixes; see /conf changelog)
* added missing code for #dropall / #storeall
* added a warning when trying to set gm level of an undefined command
The structure of the commands table has changed, please adjust docs/guides to match the new format (sorry for the inconvenience).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11607 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Updated the maildb sql structure.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11548 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11223 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11222 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
mobs). This command should be working correctly considering I've been using it since July. I was meant to merge it as soon as I got my hard-drive back, but I kinda forgot @_@
- bonus3 autospell (and autospell when hit) will change the target to self when the skill to be casted is inf&4 (self skill).
- Corrected script homevolution not making the homunculus /swt if it is invoked when not loyal.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11110 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Changed clif_sitting() to use 'bl' instead of 'sd' (for non-player objects)
* Removed way messed-up script function 'unitdeadsit'
* Tagged 'FIXME' lines written by myself
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11040 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
(http://www.eathena.ws/board/index.php?s=&showtopic=159388&view=findpost&p=884453)
- Now hotkeys are stored server-side (table hotkey in SQL servers, file save/hotkeys.txt for TXT servers). You can disable this behaviour by commenting out the 'HOTKEY_SAVING' define in mmo.h
- Fixed a few compilation warnings/errors.
- Apply upgrade_svn11018.sql to create the hotkey table.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11019 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
defined (by default it is no longer defined)
- Ganbantein now deletes individual skill cells instead of the whole skill in the area it is casted.
- Modified the mob total damage code to prevent overflows when mobs receive over 2kM damage.
- Made the dmg structure of the damage log an unsigned int rather than signed.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10343 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10272 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
for new skill IDs.
- Now the bonus bAtkEle will be transferred directly to the weapon when the script is in the ammunition, and you are wielding a weapon that consumes ammo per atttack.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10232 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Synchronized the login servers a bit
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10174 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Autoloot will now only work on items dropped a certain distance from the player. The distance is defined by AUTOLOOT_DISTANCE in atcommand.h and defaults to AREA_SIZE.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10039 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9971 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9891 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9733 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- removed atcommands @w, @server_date/time, @red, @happyhappyjoyjoy, @shuffle
- synced gm level of @jailfor, @charjailtime, @npcmove, @chardropall, @charstoreall, @send, @mute, @changelook, @exp and @nuke
- added conf entries for @whozeny, @kamic, @tonpc, @petid, @identify, @adopt, @trade, @changelook, @send
- reorganized the atcommand_athena.conf file a bit
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9731 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
consideration the ID of the skill before increasing the counter, which should effectively yield the closest aproximation to official (even though the counter will reset if you step out of a SG and into another one, we do not know yet what should happen in such a case).
- Added @homshuffle. It recalculates the homunculus stats, as if the homunc was sent back to level 1, and then releveled. This command is mean to help fix those previously created Homunculus that are much stronger than they should be.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9671 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
compare them to the minimum/maximum values that you could have at your current level. This command is meant to help figure out if homuncs are indeed getting a faster stat growth than they should have.
- Fixed some of the default @ levels for hom related commands.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9663 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- renamed atcommand_sub to is_atcommand_sub (charcommand too)
- reformatted conf-tmpl's comments a bit
- and a fix to the stable changelog to make my last commit more descriptive
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9625 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
command_symbol
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9431 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
txt/conf/h/c files.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9410 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
character name and ":".
modified Changelog-Trunk.txt
modified src/map/atcommand.c
modified src/map/atcommand.h
modified src/map/charcommand.c
modified src/map/charcommand.h
modified src/map/clif.c
modified src/map/map.c
modified src/map/script.c
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9230 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
atcommand.c
- Fixed Spider Web not ending when hit by a fireelemental attack.
- Cast-time reductions from status changes will not be executed until right before casting, to prevent status changes from ending when attempting to cast and the attempt fails (invalid cells, not enough sp, wrong target, etc, etc)
- Added check to prevent Wand of Hermod from seeking for a partner to encore, since the partner is supposed to be the warp.
- Moved the duel auto-reject on logout from map_quit to unit_free
- Corrected the mob spawn reading code so that the event-name can be up to 50 characters long (which is the actual event length) and so that it can read spaces within them, it will also strip the leading/trailing quotes if you use them so that the event is actually found on mob-death (so you can do stuff like "My NPC::OnDead" as a valid event).
- Moved the homunc inherit speed from the master from status_calc_pc to LoadEndAck, since the hom's speed matches that of the master each time the master changes maps.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9173 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8527 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Added @hominfo command to obtain real values (not capped ones)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8378 54d463be-8e91-2dee-dedb-b68131a5f0ec
|