summaryrefslogtreecommitdiff
path: root/src/map/script.c
AgeCommit message (Collapse)AuthorFilesLines
2014-03-29Fixed getmapxy crashshennetsind1-1/+19
getmapxy was failing to validate whether the variables passed met the necessary criteria. As reported in http://hercules.ws/board/topic/5113-map-crash-after-getmapxy/ by Javanese Signed-off-by: shennetsind <ind@henn.et>
2014-03-29Fixed Bug 8125shennetsind1-0/+7
using skilleffect on a sitting character no longer causes it to be unable to move. http://hercules.ws/board/tracker/issue-8125-sit-soul-link-npc-stuck/ Signed-off-by: shennetsind <ind@henn.et>
2014-03-18Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-4/+93
2014-03-18BG Queue Fixes & +++shennetsind1-1/+1
Fixed issue where players would be able to join a ongoing game when queueing by meeting the criteria. Fixed/Implemented the maximum_afk_seconds setting. Fixed issue with the maxPlayers arena setting that'd cause the maximum to be less than specified. Added a new battlegrounds.conf setting "allowedTypes" for arenas in order for further customisation. Expect a few more soon. Special Thanks to AnnieRuru Signed-off-by: shennetsind <ind@henn.et>
2014-03-17Added regular expression matching script commands and operatorsHaru1-4/+93
- The script command pcre_match and the operator ~= will return the number of regular expression matches in a given string (roughly equivalent to the php function preg_match or the perl operator =~) - The operator ~! is the opposite of ~= (roughly equivalent to the perl operator !~) - See script_commands and npc/custom/test.txt for more information. Signed-off-by: Haru <haru@dotalux.com>
2014-03-16Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-1/+4
2014-03-16Fixed Bug 8093shennetsind1-0/+12
Special Thanks to Haruna for pinpointing the cause, developing test cases and contributing to the final solution :3 http://hercules.ws/board/tracker/issue-8093-memory-leak-after-stop-server-cant-fix/ Signed-off-by: shennetsind <ind@henn.et>
2014-03-17Fix addtimer will report error when hit MAX_EVENTTIMERAnnieRuru1-1/+4
Fix bug 7965 http://hercules.ws/board/tracker/issue-7965-
2014-03-15Follow up f4b1ff7426b1c4cd5e8cac37f7e3983cc03c706eshennetsind1-0/+5
Memory leak from bug report 8090 which was created in f4b1ff7426b1c4cd5e8cac37f7e3983cc03c706e when I somehow managed to assume all instances consuming memory would be active. Special Thanks to LordOdin! http://hercules.ws/board/tracker/issue-8090-memory-leak/ Signed-off-by: shennetsind <ind@henn.et>
2014-03-14Follow up 1007d606645c16d5246761976b7648809edb8b1dshennetsind1-4/+4
A bonus. Fixed unitwalk's non-x/y possibility, NPCs can now be set to chase players around for as long as they keep walking, which opens a number of possibilities e.g. help npc y get thru z. Signed-off-by: shennetsind <ind@henn.et>
2014-03-14Added internal awareness of active script instancesshennetsind1-4/+21
Fixes the following issues: - donpcevent could cause a crash when used to a event of the same npc - input/other-dialog-interactions could cause a crash when sending data to a disabled-fakenpc-id'd. Special Thanks to Haruna, ossi0110. Signed-off-by: shennetsind <ind@henn.et>
2014-03-11Fixed getvariableofnpcshennetsind1-0/+3
Would crash when target npc's variable database is empty. Special Thanks to Haruna, ossi0110 Signed-off-by: shennetsind <ind@henn.et>
2014-03-11Merge pull request #265 from AnnieRuru/request_1shennetsind1-0/+34
set_constant the send_target
2014-03-10Fixed a crash caused by NPC variable references in callfuncHaru1-13/+41
- Fixes bugreport:8074, thanks to ahmadshidqi http://hercules.ws/board/tracker/issue-8074-help-crash/ - Also fixed some DBMap allocation mistakes introduced in 4f3156b. - Added testcases to the self-test script. - Made possible thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2014-03-10set_constant the send_targetAnnieRuru1-0/+34
fix bug 8049 http://hercules.ws/board/tracker/issue-8049-specialeffect-target-self-doesnt-work/
2014-03-05Corrected same-reference check to work on vars with the same name in ↵Haru1-14/+11
different scopes - Fixes bugreport:8008, special thanks to KeyWorld http://hercules.ws/board/tracker/issue-8008-copyarray-fail-on-a-referenced-array-argument/ Signed-off-by: Haru <haru@dotalux.com>
2014-03-05Ref redesign, part 3Haru1-128/+125
- Updated several functions to properly use the data structures defined in parts 1 and 2. - Special thanks to Ind for his help on this, as well as the previous two parts. - Fixes some crashes related to variable references passed back and forth between nested callfunc/callsub scopes (related: 2669e9a, 3259f89, 4f2de07) Signed-off-by: Haru <haru@dotalux.com>
2014-03-05Ref redesign, part 2Haru1-81/+91
- Reorganized regs var/array DBMaps into a specific reg_db structure Signed-off-by: Haru <haru@dotalux.com>
2014-02-27Cleaned up messages.confHaru1-1/+1
- Removed some unused messages. - Re-mapped some duplicate IDs - fixes bugreport:8057, thanks to AnnieRuru http://hercules.ws/board/tracker/issue-8057-jobname-with-invalid-id-return-tomb/ - Fixed some issues with the message range loaded by the char server. - Reworded some messages, fixed typos in others. Note for translation users: some messages have been remapped to new IDs. You'll need to remap them in your custom translations as well. The list of changes is as follows: - Removed messages (you can safely remove them from your translations): 15, 26-27, 35, 48-52, 57-58, 65-69, 82-83, 86-87, 91, 101, 140-142, 164, 189-194, 199-200, 202-203, 209-211, 215-218, 267-268, 275, 289-290, 380-385, 387-388, 401, 497, 499, 535-537, 922, 995, 1063, 1079, 1291-1294 - New messages (you need to add them to your translations): 15 - Moved messages (you need to change their IDs in your translations file): * [Unknown Job] 656 -> 620, * [Job names] 681~693 -> 656~668 * [Tombstone related] 656~661 -> 856~861 * [Etc messages] 662~680 -> 862~880 * [@version] 1436 -> 1294 * [Hercules Chat] 1475 -> 1436 Signed-off-by: Haru <haru@dotalux.com>
2014-02-26Improved mapindex_name2id errors for scriptsshennetsind1-15/+30
NPC Error is now printed as well as the original message as proposed by Emistry in http://hercules.ws/board/topic/1864-mapindex-name2id-display-which-npc-caused-this/ Special Thanks to Haru! Signed-off-by: shennetsind <ind@henn.et>
2014-02-26Introducing #define npc constantsshennetsind1-0/+11
As proposed by AnnieRuru in http://hercules.ws/board/topic/4320-getserverdef/ They're input directly by the server, Haru's idea! (Thank you). Also introducing the MAX_CHAT_USERS define as requested by AnnieRuru. Signed-off-by: shennetsind <ind@henn.et>
2014-02-26Removed Option_ constants from const.txt, now input directly from the sourceshennetsind1-0/+39
a benefit, for example, would be that the compounds are always up to date regardless if new members are added, also added a new compound OPTION_COSTUME Special Thanks to Haruna, and AnnieRuru for pointing out constdb's outdatedness. Signed-off-by: shennetsind <ind@henn.et>
2014-02-22Changed function types related to SG days in date.cpanikon1-1/+1
Changed types in clif.c: bool clif_setip -> map:ip_set, map: char_ip_set changed as well bool clif_setbindip bool clif_send bool clif_spawn void clif_homskillinfoblock bool clif_sub_guild_invite Note that return values of those types have changed, so if any modification uses their return values it should be changed. clif_disp_onlyself replaced as a macro clif_viewequip_fail replaced as a macro Merged clif_skillup and clif_guild_skillup as they were using the same packet Added packet_len() values in clif_updatestatus
2014-02-19Fixed issue 8034panikon1-1/+2
http://hercules.ws/board/tracker/issue-8034-map-crash-scripts/
2014-02-19Readding last merge as last revert was unintended. Sorry for the trouble.panikon1-14/+30
2014-02-19Revert "Merge branch 'master' of https://github.com/HerculesWS/Hercules"panikon1-30/+14
This reverts commit c4a9dd3f2804b75c1d49b5ab58a3ba80ea4303c2, reversing changes made to 58544d7f610261a903b3e843a795efd7571b2d56.
2014-02-19Fixed Bug 8025shennetsind1-5/+21
Temporary fix for data->ref on array handling, will be dropped once Haru's data->ref redesign is commit. Special Thanks to AnnieRuru http://hercules.ws/board/tracker/issue-8025-callfunc-getarraysize-getarg-server-crash/ Signed-off-by: shennetsind <ind@henn.et>
2014-02-14sc sourcesshennetsind1-9/+9
Signed-off-by: shennetsind <ind@henn.et>
2014-02-11Fixed issue with referenced array operationsshennetsind1-15/+18
Did not affect write/read, except getarraysize and deletearray. Special Thanks to Haru! Signed-off-by: shennetsind <ind@henn.et>
2014-02-10Modified successrefitem script commandshennetsind1-5/+8
Added a new optional parameter to specify upgrade quantity, so its consistent with downrefitem which provides a optional parameter to specify downgrade quantity. As proposed by kyeme in http://hercules.ws/board/topic/2403-successrefitem/ Signed-off-by: shennetsind <ind@henn.et>
2014-02-09Improved script case check reports to include more accurate source info.Haru1-3/+15
- Fixes bugreport:8013, thanks to Dastgir Pojee http://hercules.ws/board/tracker/issue-8013-script-add-str-problem/ Signed-off-by: Haru <haru@dotalux.com>
2014-02-08Improvements on the script commands sscanf, axtoi. Added strtol.Haru1-44/+32
- Added script command strtol (conforming to the ISO C90 function) - Modified script command axtoi to internally use strtol instead of an unnecessary own implementation. - Fixed sscanf behavior to conform to the C specifications in case the input string is empty. It now correctly returns -1, or 0 if the format string is also empty. Fixes bugreport:8009, thanks to AnnieRuru - http://hercules.ws/board/tracker/issue-8009-sscanf-should-return-1-if-the-string-field-is-an-empty-string/ Signed-off-by: Haru <haru@dotalux.com>
2014-02-03Added /stat+ commands support for 2013-12+ clientsHaru1-3/+2
- Fixes /str+, /agi+ and the likes, only being able to increase stats by 1 point on 2013-12 and newer clients. - As a bonus, on those clients, processing of the /stat+ commands will be much faster, and the requested points will be added instantly and all at once rather than one at a time like in older clients. Signed-off-by: Haru <haru@dotalux.com>
2014-01-22Renamed atcommand->parse to atcommand->execHaru1-2/+2
- Renamed function to a more appropriate name. - Changed its last argument 'int type' to 'bool player_invoked' to make its purpose more obvious. Signed-off-by: Haru <haru@dotalux.com>
2014-01-18Socket interfacedshennetsind1-1/+1
We designed this one with having as little changes required elsewhere in mind, thus the way most socket-related things are called has not changed. Plugins may now take a greater advantage of the socket features. Signed-off-by: shennetsind <ind@henn.et>
2014-01-13Fixed getarraysize returning incorrect values for character variablesshennetsind1-1/+1
- Committing on Ind's behalf. Special thanks to ossi0110. Signed-off-by: Haru <haru@dotalux.com>
2014-01-13Improved overwriting priority of variables/constants/parametersHaru1-22/+16
- Fixes issue 7968, thanks to Moguri http://hercules.ws/board/tracker/issue-7968-trader-npc-not-working/ - Corrected sprite name for KO_KAGE to match latest kRO info (previouly KO_ZANZOU, conflicting with a Kagerou/Oboro skill identifier) - Updated self-test script to include checks for constants and for setd and getd. - Made possible thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2014-01-12Follow up 20bdc01fa687b174a732be4483ddea4982d67ce9shennetsind1-4/+15
Fixed scripting deficiency of being unable to tell whether a user is assigned to a specific instance or not ( 20bdc01fa687b174a732be4483ddea4982d67ce9 removed that ability ), because users can be assigned to more than a single instance on hercules, the previous instance_id(<va>) isn't viable, so I'm introducing has_instance2("<map_name>"), returns the instance id of that map for the user (as long as the user is assigned to a instead with that map), -1 upon failure -- valid instance ids are >= 0. Signed-off-by: shennetsind <ind@henn.et>
2014-01-12Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-24/+24
2014-01-12Follow up 95f13f3420822111f928ba6079fbc2061bd38c5fshennetsind1-16/+16
Fixed handling of arrays with 1-member and on index[0]. Thanks to Haruna. Signed-off-by: shennetsind <ind@henn.et>
2014-01-12Changed some void* to the correct data types where applicableHaru1-23/+23
Signed-off-by: Haru <haru@dotalux.com>
2014-01-12Corrected a 32 bit warningHaru1-1/+1
- Follow-up to 82b583b5ef4e729ad2c3c74b26adce16a145605a - Committing on Ind's behalf Signed-off-by: Haru <haru@dotalux.com>
2014-01-12Fixed ERS Cache sharingshennetsind1-2/+2
Enforcing cache to match the option condition in order for it to be shared. Special Thanks to Haruna! Signed-off-by: shennetsind <ind@henn.et>
2014-01-12Adjusted indexing of vars with index 0shennetsind1-8/+66
Special Thanks to Haruna. Also fixed a compiler warning, thanks to ossi0110 Signed-off-by: shennetsind <ind@henn.et>
2014-01-11Follow up 82b583b5ef4e729ad2c3c74b26adce16a145605ashennetsind1-10/+7
Fixed mapreg reload issue, sql_query not returning results, and caused deletearray to no longer display error messages when the array in question is not available. Special Thanks to Haruna, ossi0110 Signed-off-by: shennetsind <ind@henn.et>
2014-01-11Fixed Bug 7960shennetsind1-2/+4
http://hercules.ws/board/tracker/issue-7960-scriptc-warnings/ Also applied a temporary adjustment due to ERS_OPT_CLEAN not being consistent (decent fix will follow up, haru and i are working on it) -- thanks to kyeme for pointing it out! Signed-off-by: shennetsind <ind@henn.et>
2014-01-11Follow up 82b583b5ef4e729ad2c3c74b26adce16a145605ashennetsind1-1/+0
Forgot to remove this little fella. Thanks to kyeme! Signed-off-by: shennetsind <ind@henn.et>
2014-01-11Hercules 1st 2014 MegaPatchshennetsind1-321/+514
http://hercules.ws/board/topic/3886-hercules-1st-2014-megapatch/ Signed-off-by: shennetsind <ind@henn.et>
2014-01-09Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-2679/+2571
2013-12-31Fixed issues pointed out in Report 7909shennetsind1-1/+1
Special Thanks to Vader. http://hercules.ws/board/tracker/issue-7909-some-code-errors-and-optimisations/ Signed-off-by: shennetsind <ind@henn.et>