

noobzter003
-
Posts
109 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by noobzter003
-
-
-
5 hours ago, Mirage25 said:
Up for this
check your weapontable.lub
BowTypeList = {
Weapon_IDs.WEAPONTYPE_BOW,
Weapon_IDs.WEAPONTYPE_CrossBow,
Weapon_IDs.WEAPONTYPE_Arbalest,
Weapon_IDs.WEAPONTYPE_Kakkung,
Weapon_IDs.WEAPONTYPE_Hunter_Bow,
Weapon_IDs.WEAPONTYPE_Bow_Of_Rudra,
Weapon_IDs.WEAPONTYPE_CUSTOMBOW <----ADD YOUR CUSTOM BOW HERE -
On 10/5/2020 at 7:48 PM, Ylen X Walker said:
Hey guys! Anyone encountering this? I've been auto-attacking monsters for about 30 mins then this shows up. I installed it on the latest rAthena version. What could be the cause?
Code is originally from https://rathena.org/board/topic/71297-autoattack/
I Implemented this code:
atcommand.cpp
// Auto Attack --- put before all command static int buildin_autoattack_sub(struct block_list *bl,va_list ap) { int *target_id=va_arg(ap,int *); *target_id = bl->id; return 1; } void autoattack_motion(struct map_session_data* sd) { int i, target_id; if( pc_isdead(sd) || !sd->state.autoattack ) return; for(i=0;i<=9;i++) { target_id=0; map_foreachinarea(buildin_autoattack_sub, sd->bl.m, sd->bl.x-i, sd->bl.y-i, sd->bl.x+i, sd->bl.y+i, BL_MOB, &target_id); if(target_id){ unit_attack(&sd->bl,target_id,1); break; } target_id=0; } if(!target_id && !pc_isdead(sd) && sd->state.autoattack){ unit_walktoxy(&sd->bl,sd->bl.x+(rand()%2==0?-1:1)*(rand()%25),sd->bl.y+(rand()%2==0?-1:1)*(rand()%25),0); } return; } static TIMER_FUNC(autoattack_timer) { struct map_session_data *sd=NULL; sd=map_id2sd(id); if(sd==NULL || pc_isdead(sd) || !sd->state.autoattack ) return 0; if(sd->state.autoattack) { unit_stop_attack(&sd->bl); autoattack_motion(sd); if(DIFF_TICK(sd->autoattack_delay,gettick())> 0){ clif_authfail_fd(sd->fd, 15); return 0; } else{ add_timer(gettick()+1000,autoattack_timer,sd->bl.id,0); // 1000 is delay sd->autoattack_delay = gettick() + 1000; // 1000 is delay } } return 0; } ACMD_FUNC(autoattack) { nullpo_retr(-1, sd); if (sd->state.autoattack) { sd->state.autoattack = 0; unit_stop_attack(&sd->bl); clif_displaymessage(fd, "Auto Attack has been deactivated."); } else { sd->state.autoattack = 1; add_timer(gettick()+1000,autoattack_timer,sd->bl.id,0); clif_displaymessage(fd, "Auto Attack activated."); } return 0; }
ACMD_FUNC(accinfo) { char query[NAME_LENGTH]; @@ -8827,6 +8881,7 @@ * Command reference list, place the base of your commands here **/ AtCommandInfo atcommand_base[] = { + ACMD_DEF(autoattack), ACMD_DEF2("warp", mapmove), ACMD_DEF(where), ACMD_DEF(jumpto),
status.hpp
OPTION_OKTOBERFEST = 0x10000000, OPTION_SUMMER2 = 0x20000000, + OPTION_AUTOATTACK = 0x40000000,
pc.hpp
struct map_session_data { struct block_list bl; struct unit_data ud; struct view_data vd; struct status_data base_status, battle_status; struct status_change sc; struct regen_data regen; struct regen_data_sub sregen, ssregen; + unsigned int autoattack_delay; // autoattack timer
unsigned int killable : 1; unsigned int doridori : 1; unsigned int ignoreAll : 1; + unsigned int autoattack : 1; // autoattack unsigned int debug_remove_map : 1; // temporary state to track double remove_map's [FlavioJS] unsigned int buyingstore : 1; unsigned int lesseffect : 1; unsigned int vending : 1;
how do you fix this?
-
-
13 minutes ago, Akbare said:
https://github.com/zackdreaver/ROenglishRE/blob/master/Ragnarok/data/msgstringtable.txt
-
1
-
-
12 hours ago, Frost Diver said:
Hey guys, I'm looking for a working Cell PVP. Does anyone have it? Managed to apply this and it worked but it's Cell PK where u have to press shift to hit. Not Cell PVP. Thanks in advance ^^
type /noshift
-
4 hours ago, moonlight Yosh said:
Good day rAthena,
Can i request for an script about Guild Package?
1. You must have a guild to avail Gpackage.
2.Need 20 Members Online(Including the Leader) ( if not 20 Online the gpack npc will not give the reward
3. 1 Per Character Only
4. The item is Account bounded or character bound
Thanks.
-
-
-
9 hours ago, toohot22 said:
Hey all, please forgive me if iv posted this in the wrong area. Iv been away from RO for some time now but im back making a new server and I was wandering how to add a item to use with the VIP System. I already activted the code in src/config/core.h and now need a Item I can use was thinking 24hr 7days and 31day use for each ticket/item
thanks inadvance
-
I was able to make this source work in latest git of rathena,
but i have one problem, how to make this PVP with user counting instead of PK.
i want something like this, tq
-
On 1/10/2020 at 2:51 AM, GOODBY dev LOOLP said:
Would anyone have a version of Cell PvP or some diff that made the effect of some cells become battlefield [pvp]? I used the version Cell PvP 1.7, it worked, but had some bugs for example .. In the common PvP arena, the quantitative score and the time in the arena, was blinking nonstop .. Thank you very much for the contribution.
how do you fix this?
-
15 hours ago, stiflerxx said:
Hi guys, how are you? I added this diff to my rAthena:
I fixed the bugs because it is a little old and yet instead of it being a CELL PVP it looked like a CELL PK, I need to press shift
or /noshift to be able to attack and the PVP timer does not appear I tried the following commands trying to follow @pvpon but he apply pvp to the entire map.Apply all PvP on the map: map_setmapflag(sd->bl.m, MF_PVP, true);
Does anyone know how to apply pvp to an area or just a player?
i have the same problem, bump bump bump..
have you fixed it?
-
On 6/24/2020 at 11:35 AM, shadowmu said:
use Notepad++
-
1 minute ago, Rivers said:
Add this to your clientinfo.xml, adjust the values with your patch directory. I hope this resolves your problem. Let me know.
<http>http://website.net/patch/plist.txt</http> <ftp>http://website.net/patch/data/</ftp>
tq already fix. i just decrypt my grf.
-
<?xml version="1.0" encoding="euc-kr" ?> <clientinfo> <servicetype>america</servicetype> <servertype>primary</servertype> <connection> <display>[ your RAGNAROK ONLINE ]</display> <address>1000000000</address> <port>6900</port> <version>30</version> <langtype>1</langtype> <packetver>20131223</packetver> <increase_max_hairstyles>500</increase_max_hairstyles> <increase_max_haircolors>600</increase_max_haircolors> <read_data_directory_first>true</read_data_directory_first> <iteminfo>your.lub</iteminfo> <hide_quickcashshop_button>true</hide_quickcashshop_button> <max_guildpositions>72</max_guildpositions> <registrationweb>http://we.com/cp/?module=account&action=create</registrationweb> <aid> <admin>2000000</admin> <admin>2000001</admin> <admin>2000002</admin> <admin>2000003</admin> <admin>2000004</admin> <admin>2000005</admin> <admin>2000006</admin> <admin>2000007</admin> <admin>2000008</admin> <admin>2000009</admin> <admin>2000010</admin> <admin>2000011</admin> </aid> <loading> <image>loading00.jpg</image> <image>loading01.jpg</image> <image>loading02.jpg</image> <image>loading03.jpg</image> <image>loading04.jpg</image> <image>loading05.jpg</image> <image>loading06.jpg</image> <image>loading07.jpg</image> <image>loading08.jpg</image> <image>loading09.jpg</image> <image>loading10.jpg</image> </loading> <patchserver> <type>thor</type> <http>http://we.com/patcher/plist.txt</http> <ftp>http://we.com/patcher/data/</ftp> <grf>yourro.grf</grf> <inf>your.dat</inf> </patchserver> </connection> </clientinfo>
why auto close? there's no any error. just autoclose
-
On 6/11/2020 at 9:15 PM, Rivers said:
Good day, I'm having some issues setting up this Soul Link mod into my server. Does anyone know what to do? This is the script below.
diff --git a/db/soul_link.yml b/db/soul_link.yml new file mode 100644 index 0000000000..bdcf72cb0c --- /dev/null +++ b/db/soul_link.yml @@ -0,0 +1,74 @@ +# Custom soul link buffs. +# Author: Secret <Secret@rathena.org> +# +# Format +# <SL_ constant>: <YAML string literal with a pair of enclosing bracket for the script> +# +# You can code the script just like an item script. +# +# Use ONLY spaces to indent. +# DONT USE TABS + +Header: # Metadata for future use + Version: 1 + Type: MOD_SECRET_SOUL_LINK +SL_ALCHEMIST: | + { + bonus bStr,1; + } +SL_MONK: | + { + bonus bStr,1; + } +SL_STAR: | + { + bonus bStr,1; + } +SL_SAGE: | + { + bonus bStr,1; + } +SL_CRUSADER: | + { + bonus bStr,1; + } +SL_SUPERNOVICE: | + { + bonus bStr,1; + } +SL_KNIGHT: | + { + bonus bStr,1; + } +SL_WIZARD: | + { + bonus bStr,1; + } +SL_PRIEST: | + { + bonus bStr,1; + } +SL_BARDDANCER: | + { + bonus bStr,1; + } +SL_ROGUE: | + { + bonus bStr,1; + } +SL_ASSASIN: | + { + bonus bStr,1; + } +SL_BLACKSMITH: | + { + bonus bStr,1; + } +SL_HUNTER: | + { + bonus bStr,1; + } +SL_SOULLINKER: | + { + bonus bStr,1; + } diff --git a/src/map/script.cpp b/src/map/script.cpp index 0b2386c32d..b696158ca1 100644 --- a/src/map/script.cpp +++ b/src/map/script.cpp @@ -66,6 +66,7 @@ #include "mob.hpp" #include "channel.hpp" #include "achievement.hpp" +#include "status.hpp" struct eri *array_ers; DBMap *st_db; diff --git a/src/map/script_constants.hpp b/src/map/script_constants.hpp index 2f7f44d3b1..105fe90b81 100644 --- a/src/map/script_constants.hpp +++ b/src/map/script_constants.hpp @@ -13,6 +13,23 @@ export_constant(INT_MIN); export_constant(INT_MAX); + /* soul links */ + export_constant(SL_ALCHEMIST); + export_constant(SL_MONK); + export_constant(SL_STAR); + export_constant(SL_SAGE); + export_constant(SL_CRUSADER); + export_constant(SL_SUPERNOVICE); + export_constant(SL_KNIGHT); + export_constant(SL_WIZARD); + export_constant(SL_PRIEST); + export_constant(SL_BARDDANCER); + export_constant(SL_ROGUE); + export_constant(SL_ASSASIN); + export_constant(SL_BLACKSMITH); + export_constant(SL_HUNTER); + export_constant(SL_SOULLINKER); + /* server defines */ export_constant(PACKETVER); export_constant(MAX_LEVEL); diff --git a/src/map/status.cpp b/src/map/status.cpp index af4c3afb00..ee34868dfa 100644 --- a/src/map/status.cpp +++ b/src/map/status.cpp @@ -7,6 +7,7 @@ #include <math.h> #include <string> #include <functional> +#include <unordered_map> #include <yaml-cpp/yaml.h> #include "../common/cbasetypes.h" @@ -65,6 +66,8 @@ bool running_npc_stat_calc_event; /// Indicate if OnPCStatCalcEvent is running. // We need it for new cards 15 Feb 2005, to check if the combo cards are insrerted into the CURRENT weapon only to avoid cards exploits short current_equip_opt_index; /// Contains random option index of an equipped item. [Secret] +std::unordered_map<int, script_code*> soul_link; + unsigned int SCDisabled[SC_MAX]; ///< List of disabled SC on map zones. [Cydh] sc_type SkillStatusChangeTable[MAX_SKILL]; @@ -3716,6 +3719,13 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) current_equip_opt_index = -1; } + if (sd && sc->count && sc->data[SC_SPIRIT]) { + auto spirit = sc->data[SC_SPIRIT]; + if (spirit != nullptr && soul_link.find(spirit->val2) != soul_link.end() && soul_link[spirit->val2] != nullptr) { + run_script(soul_link[spirit->val2], 0, sd->bl.id, 0); + } + } + if (sc->count && sc->data[SC_ITEMSCRIPT]) { struct item_data *data = itemdb_exists(sc->data[SC_ITEMSCRIPT]->val1); if (data && data->script) @@ -14492,6 +14502,45 @@ static bool status_readdb_attrfix(const char *basedir,bool silent) return true; } +void status_read_soullink_db(char* file_name) { + YAML::Node root; + int count = 0; + try { + root = YAML::LoadFile(file_name); + if (root.IsMap()) { + for (auto node : root) { + struct script_code *code; + std::string key = node.first.as<std::string>(); + int constant = 0; + if (key.compare(0, 3, "SL_")) { + ShowWarning("status_read_soullink_db: Expected a constant with SL_ prefix, got %s.\n", key.c_str()); + continue; + } + if (!script_get_constant(key.c_str(), &constant)) { + ShowWarning("status_read_soullink_db: Tried to assign custom buff to nonexistent constant %s.\n", key.c_str()); + continue; + } + if ((code = parse_script(node.second.as<std::string>().c_str(), file_name, node.second.Mark().line, 0)) == NULL) { + ShowWarning("status_read_soullink_db: Invalid or empty script on custom soul link %s.\n", key.c_str()); + continue; + } + if (soul_link[constant] != nullptr) + script_free_code(soul_link[constant]); + soul_link[constant] = code; + count++; + } + } + else { + ShowError("status_read_soullink_db: The file's structure is broken. Root node is not a map.\n"); + } + } + catch (...) { + ShowError("status_read_soullink_db: Cannot load custom soul link buffs from %s.\n", file_name); + } + + ShowInfo("status_read_soullink_db: Done reading %d custom soul links.\n", count); +} + /** * Sets defaults in tables and starts read db functions * sv_readdb reads the file, outputting the information line-by-line to @@ -14560,6 +14609,8 @@ int status_readdb(void) aFree(dbsubpath1); aFree(dbsubpath2); } + + status_read_soullink_db("db/soul_link.yml"); return 0; }
this script its 100% working on my server.
-
thank you!
-
i have working custom job, but i have one peoblem i cannot wear items.
i follow this guide: https://herc.ws/board/topic/9273-guide-how-to-add-custom-jobs/
TIA -
-
On 1/20/2020 at 9:20 AM, RimZ said:
Hi everyone~
Just wondering if there is a work around for client 20180621 yet?
Many thanksEDIT:
Nevermind haha got it working!Love it~ Just.. I wanna work on your UI/UX for gameplay maybe if I can XD
**Attached Screenshot**
b5b1149d-a5ac-454c-b978-29f9b58ef7b5.jfif 258.68 kB · 30 downloads
how you make it work? mine always autoclosed
-
5 hours ago, Vale said:
Hi ! Can you help me with this kind of error in my PK Command?
My Script for this Command is
int atcommand_pkmode( const int fd, struct map_session_data *sd, const char *command, const char *message ) {
nullpo_retr(-1, sd);
if( map[sd->bl.m].flag.pvp || map[sd->bl.m].flag.gvg || map[sd->bl.m].flag.gvg_castle || map[sd->bl.m].flag.gvg_dungeon ) {
clif_displaymessage(fd, "You can only change your PK state on non-PVP maps.");
return -1;
}
else if (!sd->state.pk_mode) {
sd->state.pk_mode = 1;
clif_displaymessage(sd->fd, "You are now no longer in PK mode.");
}
else {
sd->state.pk_mode = 0;
clif_displaymessage(sd->fd, "Returned to normal state.");
}
return 0;
}
int atcommand_pkmode( const int fd, struct map_session_data *sd, const char *command, const char *message ) { nullpo_retr(-1, sd); if( map_getmapflag(sd->bl.m, MF_PVP) || map_getmapflag(sd->bl.m, MF_PVP) || map_getmapflag(sd->bl.m, MF_GVG_CASTLE) || map_getmapflag(sd->bl.m, MF_GVG_DUNGEON) ) { clif_displaymessage(fd, "You can only change your PK state on non-PVP maps."); return -1; } else if (!sd->state.pk_mode) { sd->state.pk_mode = 1; clif_displaymessage(sd->fd, "You are now no longer in PK mode."); } else { sd->state.pk_mode = 0; clif_displaymessage(sd->fd, "Returned to normal state."); } return 0; }
-
-
how to make this work without gepard tq.
MOD : Expanded Ai Conditions
in Project Releases
Posted
Thanks brother!!!