-
Content Count
204 -
Joined
-
Last visited
-
Days Won
32
Reputation Activity
-
Kenpachi got a reaction from evilpuncker in @follow change request
Hi.
at_follow.diff
Create a new zone in db/(pre-)re/map_zone_db.conf. For example:
{ name: "NoFollow" disabled_commands: { follow: 90 } } And add the maps where you want to disable @follow to npc/mapflag/zone.txt, For example:
geffen mapflag zone NoFollow payon mapflag zone NoFollow yuno mapflag zone NoFollow
~Kenpachi
-
Kenpachi got a reaction from Nakano15 in jRO Exclusive Monsters
View File jRO Exclusive Monsters
All jRO Exclusive, Event and Special Episode monsters.
This file was originally posted by @fxfreitas at Midgard-Community.
The archive contains the following monster sprites:
abyss_arthur (corridor of abyss special instance boss) AMELIT (ghost carring a gemstone) ANGLERFISH (Mini-boss) CHAOS_DEVIL_DRAGON deviruchi_w (a white deviruchi, event) domovoi (custom pet, based on RO2 domovoi) ECHIDNA EMELIT (ghost carring a gemstone) giant_deviruchi (event monster) giant_deviruchi_w (event monster) headless_mule (remake of original brasilis monster, last kRO already implemented) HERA (Episode Monster) j_taini (tiny, event monster and pet) kraken_baby (marse edit) LILITH (Episode Monster) M_DARK_KNIGHT (Mercenary monster) M_FLAME_KNIGHT (Mercenary monster) M_ICE_KNIGHT (Mercenary monster) M_LIGHT_KNIGHT (Mercenary monster) M_STONE_KNIGHT (Mercenary monster) merman_se (merman edit) METAL_DRAGON (Pet and dungeon monster) MYTHLIT (ghost carring a gemstone) pad_fafnir (Can't Move, Can't Attack) pad_helheim (Can't Move, Can't Attack) pad_horai (Can't Move, Can't Attack) pad_ifrit (Can't Move, Can't Attack) pad_kinggold (Can't Move, Can't Attack) pad_kingmetal (Can't Move, Can't Attack) pad_leviathan (Can't Move, Can't Attack) pad_muspelheim (Can't Move, Can't Attack) pad_mythlit (Can't Move, Can't Attack) pad_niraikanai (Can't Move, Can't Attack) pad_shangrila (Can't Move, Can't Attack) pad_tamadora (Pet) pad_zaerog (Can't Move, Can't Attack) pad_zerog (Can't Move, Can't Attack) poseidon (strouf edit) RUBYLIT (ghost carring a gemstone) SAPPHLIT (ghost carring a gemstone) seiren (obeaune edit) SIREN (Episode Monster) tacnu (Mini-boss) TOPALIT (ghost carring a gemstone) Submitter Kenpachi Submitted 04/22/20 Category Sprites & Palettes
-
Kenpachi got a reaction from sonyk2 in Request script display time left for vip account
Open script file in editor. Find the line which contains query_sql "DELETE FROM `viptable` ...... Set cursor to the end of that line (click behind the semicolon) Press Backspace. Save file. You'll notice that the semicolon wasn't removed, because you deleted the hidden character (whitespace) behind it.
~Kenpachi
-
Kenpachi got a reaction from sonyk2 in Request script display time left for vip account
Hi.
Alter your SQL table:
ALTER TABLE `viptable` ADD COLUMN `insert_on` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER `email`; Or recreate it:
DROP TABLE IF EXISTS `viptable`; CREATE TABLE `viptable` ( `vipacc_id` int(11) unsigned NOT NULL default '0', `vip_id` varchar(255) NOT NULL default '', `days` int(11) NOT NULL default '0', `email` varchar(39) NOT NULL default '', `insert_on` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`vipacc_id`), KEY `name` (`vip_id`) ) ENGINE=MyISAM;
Change your function (note line 2):
function script F_TicketAddVip { Query_SQL "DELETE FROM `viptable` WHERE `vipacc_id` = '"+GetCharID(3)+"' AND DATEDIFF(DATE_ADD(`insert_on`, INTERVAL `days` DAY), NOW()) < 0"; // remove expired VIP status before reapplying Query_SQL "SELECT `days` FROM `viptable` WHERE `vipacc_id` = '"+GetCharID(3)+"'", .@checkDays; if (.@checkDays > 0) { Set .@setDays, (.@checkDays + 30); Query_SQL "UPDATE `viptable` SET `days`='"+.@setDays+"' WHERE `vipacc_id`='"+GetCharID(3)+"'"; Query_SQL "SELECT `group_id` FROM `login` WHERE `account_id`='"+GetCharID(3)+"'", .@userLevel; If (.@userLevel < 1) Query_SQL "UPDATE `login` SET `group_id`='2' WHERE `account_id`='"+GetCharID(3)+"'"; } Else { Query_SQL "UPDATE `login` SET `group_id`='2' WHERE `account_id`='"+GetCharID(3)+"'"; Query_SQL "SELECT `userid` FROM `login` WHERE `account_id`='"+GetCharID(3)+"'", .@userID$; Query_SQL "SELECT `email` FROM `login` WHERE `account_id`='"+GetCharID(3)+"'", .@userEmail$; Query_SQL "INSERT INTO `viptable` (`vipacc_id`,`vip_id`,`days`,`email`) VALUES ('"+GetCharID(3)+"','"+.@userID$+"','30','"+.@accEmail$+"')"; } AtCommand "@reloadpcdb"; dispbottom "You received 30 days of VIP Account, congrats!"; specialeffect2 338; End; Return; }
The info script could look like this:
- script VIP_STATUS FAKE_NPC,{ OnPCLoginEvent: if (getgroupid() >= 2) { Query_SQL "SELECT DATE(DATE_ADD(`insert_on`, INTERVAL `days` DAY)), DATEDIFF(DATE_ADD(`insert_on`, INTERVAL `days` DAY), NOW()) FROM `viptable` WHERE `vipacc_id` = '"+GetCharID(3)+"'", .@expire_date$, .@days_left; dispbottom "========================"; dispbottom "Account Status : VIP"; dispbottom "Expire Date : " + .@expire_date$; dispbottom "Time left : " + .@days_left; dispbottom "========================"; end; } }
~Kenpachi
-
Kenpachi got a reaction from sonyk2 in Request script display time left for vip account
There is a hidden character behind the semicolon in that line. (Probably caused by text encoding mismatch.)
-
Kenpachi got a reaction from Jedzkie in jRO Exclusive Monsters
View File jRO Exclusive Monsters
All jRO Exclusive, Event and Special Episode monsters.
This file was originally posted by @fxfreitas at Midgard-Community.
The archive contains the following monster sprites:
abyss_arthur (corridor of abyss special instance boss) AMELIT (ghost carring a gemstone) ANGLERFISH (Mini-boss) CHAOS_DEVIL_DRAGON deviruchi_w (a white deviruchi, event) domovoi (custom pet, based on RO2 domovoi) ECHIDNA EMELIT (ghost carring a gemstone) giant_deviruchi (event monster) giant_deviruchi_w (event monster) headless_mule (remake of original brasilis monster, last kRO already implemented) HERA (Episode Monster) j_taini (tiny, event monster and pet) kraken_baby (marse edit) LILITH (Episode Monster) M_DARK_KNIGHT (Mercenary monster) M_FLAME_KNIGHT (Mercenary monster) M_ICE_KNIGHT (Mercenary monster) M_LIGHT_KNIGHT (Mercenary monster) M_STONE_KNIGHT (Mercenary monster) merman_se (merman edit) METAL_DRAGON (Pet and dungeon monster) MYTHLIT (ghost carring a gemstone) pad_fafnir (Can't Move, Can't Attack) pad_helheim (Can't Move, Can't Attack) pad_horai (Can't Move, Can't Attack) pad_ifrit (Can't Move, Can't Attack) pad_kinggold (Can't Move, Can't Attack) pad_kingmetal (Can't Move, Can't Attack) pad_leviathan (Can't Move, Can't Attack) pad_muspelheim (Can't Move, Can't Attack) pad_mythlit (Can't Move, Can't Attack) pad_niraikanai (Can't Move, Can't Attack) pad_shangrila (Can't Move, Can't Attack) pad_tamadora (Pet) pad_zaerog (Can't Move, Can't Attack) pad_zerog (Can't Move, Can't Attack) poseidon (strouf edit) RUBYLIT (ghost carring a gemstone) SAPPHLIT (ghost carring a gemstone) seiren (obeaune edit) SIREN (Episode Monster) tacnu (Mini-boss) TOPALIT (ghost carring a gemstone) Submitter Kenpachi Submitted 04/22/20 Category Sprites & Palettes
-
Kenpachi got a reaction from KirieZ in jRO Exclusive Monsters
View File jRO Exclusive Monsters
All jRO Exclusive, Event and Special Episode monsters.
This file was originally posted by @fxfreitas at Midgard-Community.
The archive contains the following monster sprites:
abyss_arthur (corridor of abyss special instance boss) AMELIT (ghost carring a gemstone) ANGLERFISH (Mini-boss) CHAOS_DEVIL_DRAGON deviruchi_w (a white deviruchi, event) domovoi (custom pet, based on RO2 domovoi) ECHIDNA EMELIT (ghost carring a gemstone) giant_deviruchi (event monster) giant_deviruchi_w (event monster) headless_mule (remake of original brasilis monster, last kRO already implemented) HERA (Episode Monster) j_taini (tiny, event monster and pet) kraken_baby (marse edit) LILITH (Episode Monster) M_DARK_KNIGHT (Mercenary monster) M_FLAME_KNIGHT (Mercenary monster) M_ICE_KNIGHT (Mercenary monster) M_LIGHT_KNIGHT (Mercenary monster) M_STONE_KNIGHT (Mercenary monster) merman_se (merman edit) METAL_DRAGON (Pet and dungeon monster) MYTHLIT (ghost carring a gemstone) pad_fafnir (Can't Move, Can't Attack) pad_helheim (Can't Move, Can't Attack) pad_horai (Can't Move, Can't Attack) pad_ifrit (Can't Move, Can't Attack) pad_kinggold (Can't Move, Can't Attack) pad_kingmetal (Can't Move, Can't Attack) pad_leviathan (Can't Move, Can't Attack) pad_muspelheim (Can't Move, Can't Attack) pad_mythlit (Can't Move, Can't Attack) pad_niraikanai (Can't Move, Can't Attack) pad_shangrila (Can't Move, Can't Attack) pad_tamadora (Pet) pad_zaerog (Can't Move, Can't Attack) pad_zerog (Can't Move, Can't Attack) poseidon (strouf edit) RUBYLIT (ghost carring a gemstone) SAPPHLIT (ghost carring a gemstone) seiren (obeaune edit) SIREN (Episode Monster) tacnu (Mini-boss) TOPALIT (ghost carring a gemstone) Submitter Kenpachi Submitted 04/22/20 Category Sprites & Palettes
-
Kenpachi got a reaction from heroji in OnPCLoadMapEvent: Problem
Hi.
From doc/script_commands.txt:
You have to enable this event for all maps you need.
OnPCLoginEvent works fine for me.
~Kenpachi
-
Kenpachi got a reaction from IndieRO in jRO Exclusive Monsters
View File jRO Exclusive Monsters
All jRO Exclusive, Event and Special Episode monsters.
This file was originally posted by @fxfreitas at Midgard-Community.
The archive contains the following monster sprites:
abyss_arthur (corridor of abyss special instance boss) AMELIT (ghost carring a gemstone) ANGLERFISH (Mini-boss) CHAOS_DEVIL_DRAGON deviruchi_w (a white deviruchi, event) domovoi (custom pet, based on RO2 domovoi) ECHIDNA EMELIT (ghost carring a gemstone) giant_deviruchi (event monster) giant_deviruchi_w (event monster) headless_mule (remake of original brasilis monster, last kRO already implemented) HERA (Episode Monster) j_taini (tiny, event monster and pet) kraken_baby (marse edit) LILITH (Episode Monster) M_DARK_KNIGHT (Mercenary monster) M_FLAME_KNIGHT (Mercenary monster) M_ICE_KNIGHT (Mercenary monster) M_LIGHT_KNIGHT (Mercenary monster) M_STONE_KNIGHT (Mercenary monster) merman_se (merman edit) METAL_DRAGON (Pet and dungeon monster) MYTHLIT (ghost carring a gemstone) pad_fafnir (Can't Move, Can't Attack) pad_helheim (Can't Move, Can't Attack) pad_horai (Can't Move, Can't Attack) pad_ifrit (Can't Move, Can't Attack) pad_kinggold (Can't Move, Can't Attack) pad_kingmetal (Can't Move, Can't Attack) pad_leviathan (Can't Move, Can't Attack) pad_muspelheim (Can't Move, Can't Attack) pad_mythlit (Can't Move, Can't Attack) pad_niraikanai (Can't Move, Can't Attack) pad_shangrila (Can't Move, Can't Attack) pad_tamadora (Pet) pad_zaerog (Can't Move, Can't Attack) pad_zerog (Can't Move, Can't Attack) poseidon (strouf edit) RUBYLIT (ghost carring a gemstone) SAPPHLIT (ghost carring a gemstone) seiren (obeaune edit) SIREN (Episode Monster) tacnu (Mini-boss) TOPALIT (ghost carring a gemstone) Submitter Kenpachi Submitted 04/22/20 Category Sprites & Palettes
-
Kenpachi got a reaction from Caspian in jRO Exclusive Monsters
View File jRO Exclusive Monsters
All jRO Exclusive, Event and Special Episode monsters.
This file was originally posted by @fxfreitas at Midgard-Community.
The archive contains the following monster sprites:
abyss_arthur (corridor of abyss special instance boss) AMELIT (ghost carring a gemstone) ANGLERFISH (Mini-boss) CHAOS_DEVIL_DRAGON deviruchi_w (a white deviruchi, event) domovoi (custom pet, based on RO2 domovoi) ECHIDNA EMELIT (ghost carring a gemstone) giant_deviruchi (event monster) giant_deviruchi_w (event monster) headless_mule (remake of original brasilis monster, last kRO already implemented) HERA (Episode Monster) j_taini (tiny, event monster and pet) kraken_baby (marse edit) LILITH (Episode Monster) M_DARK_KNIGHT (Mercenary monster) M_FLAME_KNIGHT (Mercenary monster) M_ICE_KNIGHT (Mercenary monster) M_LIGHT_KNIGHT (Mercenary monster) M_STONE_KNIGHT (Mercenary monster) merman_se (merman edit) METAL_DRAGON (Pet and dungeon monster) MYTHLIT (ghost carring a gemstone) pad_fafnir (Can't Move, Can't Attack) pad_helheim (Can't Move, Can't Attack) pad_horai (Can't Move, Can't Attack) pad_ifrit (Can't Move, Can't Attack) pad_kinggold (Can't Move, Can't Attack) pad_kingmetal (Can't Move, Can't Attack) pad_leviathan (Can't Move, Can't Attack) pad_muspelheim (Can't Move, Can't Attack) pad_mythlit (Can't Move, Can't Attack) pad_niraikanai (Can't Move, Can't Attack) pad_shangrila (Can't Move, Can't Attack) pad_tamadora (Pet) pad_zaerog (Can't Move, Can't Attack) pad_zerog (Can't Move, Can't Attack) poseidon (strouf edit) RUBYLIT (ghost carring a gemstone) SAPPHLIT (ghost carring a gemstone) seiren (obeaune edit) SIREN (Episode Monster) tacnu (Mini-boss) TOPALIT (ghost carring a gemstone) Submitter Kenpachi Submitted 04/22/20 Category Sprites & Palettes
-
Kenpachi got a reaction from MikZ in GEPARD SET AND GET
Hi.
In src/map/script.c:
Add this:
BUILDIN(get_unique_id) { struct map_session_data* sd = script_rid2sd(st); if (sd == NULL) { script_pushint(st,0); return false; } script_pushint(st, sockt->session[sd->fd]->gepard_info.unique_id); return true; } Below:
BUILDIN(resethate) { struct map_session_data *sd; if (script_hasdata(st, 2)) sd = script->id2sd(st, script_getnum(st, 2)); else sd = script->rid2sd(st); if (sd != NULL) pc->resethate(sd); return true; }
And add this:
BUILDIN_DEF(get_unique_id, ""), Below:
BUILDIN_DEF(openlapineddukddakboxui, "i"),
Don't forget to re-compile.
~Kenpachi
-
Kenpachi got a reaction from heroji in What script is this?
Hi.
That's a training dummy. 😄
Spawn is located in npc/re/mobs/towns.txt.
//== Prontera, Training Dummy Area ========================= prontera,251,77,0,0 monster Lv 50 2409,1,5000,0,0 prontera,259,77,0,0 monster Lv 50 2409,1,5000,0,0 prontera,251,66,0,0 monster Lv 100 2410,1,5000,0,0 prontera,259,66,0,0 monster Lv 100 2410,1,5000,0,0 prontera,251,55,0,0 monster Lv 150 2411,1,5000,0,0 prontera,259,55,0,0 monster Lv 150 2411,1,5000,0,0
~Kenpachi
-
Kenpachi got a reaction from ThyroDree in Buff Scroll
Hi.
More than one itemskill() invocation per item is not support due to the mechanics of server-client-communication.
When using the item, the first itemskill() invocation makes the server send a packet (ZC_AUTORUN_SKILL) to the client.
Now the item's script isn't attached to the character anymore and thus the second itemskill() invocation can't be executed.
Use sc_start() for the first skill, to "fix" this.
I have to investigate how Aegis handles this, since there are official items which cast more than one skill. For example Angeling Potion (ID=12350).
item Angeling_Potion event OnConsume: SkillToMe AL_BLESSING 5 Skill AL_ANGELUS 5 return
~Kenpachi
-
Kenpachi got a reaction from Tsuuu in How to modify it
Hi.
You have to change the backgroud color from white to magenta (#FF00FF).
See https://github.com/HerculesWS/Hercules/wiki/Spriting.
~Kenpachi
-
Kenpachi got a reaction from ThyroDree in Morphogenic Hat Script Convert
Hi.
Add this:
if (.@item_id < 5001 || (.@item_id > 5859 && .@item_id < 30000) || .@item_id > 31000) { dispbottom("---------------[Morpho Helper]---------------"); dispbottom(" "); dispbottom("Sorry, this headgear was not designed for this headgear slot."); dispbottom(" "); end; } Below:
if ((.@keyword$ == "upper" || .@keyword$ == "middle" || .@keyword$ == "lower") && .@view_id <= 0) { dispbottom("---------------[Morpho Helper]---------------"); dispbottom(" "); dispbottom("Invalid headgear ID."); dispbottom(" "); end; }
~Kenpachi
-
Kenpachi got a reaction from Tsuuu in How to check Skill ID's Client-Side
Hi.
Client-side the skill IDs are defined in skillid.lub.
~Kenpachi
-
Kenpachi got a reaction from Tio Akima in callfunc Heal group in area
Hi.
//members id getpartymember(getcharid(CHAR_ID_PARTY), 1); You have to use type 2 instead of 1 to get the account ID of all party members instead of their char IDs.
(The getunits() command will collect the GID of found units, which is the account ID for player type units. (BL_PC))
Additionally you should immediately save the IDs and the member count to prevent other scripts from interfering with your data.
// Get party data. getpartymember(getcharid(CHAR_ID_PARTY), 2); .@p_mem_cnt = $@partymembercount; copyarray(.@p_mem_aid[0], $@partymemberaid[0], .@p_mem_cnt);
.@range= 10; This should be 5 for a 10x10 area. When setting this to 10, your area is 20x20.
.@count = getunits((BL_MOB | BL_PC), .@units, -1, .@m$, max(0, .@x - .@range), max(0, .@y - .@range), .@x + .@range, .@y + .@range); Any reason to get monster type units (BL_MOB), too? 😯 If you only want to heal party members you should only collect player type units (BL_PC).
Also better use false for <limit>. -1 works, too, but is less readable.
.@count = getunits(BL_PC, .@units, false, .@m$, max(0, .@x - .@range), max(0, .@y - .@range), .@x + .@range, .@y + .@range);
And finally you have to add a nested loop to your loop to compare the account IDs. (Loop through found units and for each iteration loop through party members.)
for (.@i = 0; .@i < .@count; .@i++) { dispbottom(".@units[" + .@i + "]: " + .@units[.@i]); //debug - print the user id (getunits) for (.@j = 0; .@j < .@p_mem_cnt; .@j++) { dispbottom(".@p_mem_aid[" + .@j + "]: " + .@p_mem_aid[.@j]); //debug - print the user id (getpartymember) if (.@units[.@i] == .@p_mem_aid[.@j]) { dispbottom("Party member found. Try healing!"); //debug - party member found if (attachrid(.@p_mem_aid[.@j])) { percentheal(.@porcent, .@porcent); specialeffect(310, AREA, playerattached()); } } } }
That's just a quick draft. Syntax errors are for free. 😋
~Kenpachi
-
Kenpachi got a reaction from ThyroDree in Specific Monster Summon Scroll
Hi.
Script: <" monster("this", -1, -1, "Ifrit", 1832, 1); ">
~Kenpachi
-
Kenpachi got a reaction from Tio Akima in [bug] dispbottom
Hi.
The dispbottom() messages were hidden due to misconfigured chat filters.
~Kenpachi
-
Kenpachi got a reaction from ThyroDree in Low damage PVP is something wrong?
This was caused by custom modification. (https://herc.ws/board/topic/17974-adding-limit-or-cap-resistance-reflect-chance-and-skill-delay)
~Kenpachi
-
Kenpachi got a reaction from ThyroDree in Adding Limit or Cap Resistance, Reflect Chance, and Skill Delay
Okay.
First of all: I'M STUPID!
Second of all: I'M STUPID!
And thirdly: I'M STUPID!
Change "max" to "min" and 150 back to 50....
Did I mention, that I'm stupid?
~Kenpachi
-
Kenpachi got a reaction from ThyroDree in Blast Mine will bypass 1 damage for plant monster
Hi.
In src/map/battle.c find function battle_calc_misc_attack() and replace:
switch(skill_id){ case HT_LANDMINE: case MA_LANDMINE: case HT_BLASTMINE: case HT_CLAYMORETRAP: case RA_CLUSTERBOMB: #ifdef RENEWAL break; #endif default: md.damage = 1; } With:
switch(skill_id){ case HT_BLASTMINE: break; case HT_LANDMINE: case MA_LANDMINE: case HT_CLAYMORETRAP: case RA_CLUSTERBOMB: #ifdef RENEWAL break; #endif default: md.damage = 1; }
~Kenpachi
-
Kenpachi got a reaction from ThyroDree in [PVP Announcer] buildin_getcharid: invalid parameter (8)
Hi.
Replace:
set .AnnounceFlag$, "bc_all"; With:
set .AnnounceFlag, bc_all;
In line 189, 191, 193 and 273 replace:
16|.announce With:
.AnnounceFlag, .AnnounceColor$
In line 221 replace:
announce strcharinfo(0) +" , Stop killing "+ rid2name(killedrid) + " !!!",0; With:
announce strcharinfo(0) +" , Stop killing "+ rid2name(killedrid) + " !!!", .AnnounceFlag, .AnnounceColor$;
In line 294, 295, 303, 304, 310, 311, 317, 318, 324 and 325 replace:
16 With:
.AnnounceFlag, .AnnounceColor$
No you can change the color by modifying .AnnounceColor$.
~Kenpachi
-
Kenpachi got a reaction from ThyroDree in [BUG] Looter Monster
Hi.
In src/map/unit.c find function unit_walktobl() and replace:
if (unit->walk_toxy_sub(bl) == 0 && (flag & 2) != 0) { set_mobstate(bl); return 1; } with:
if (unit->walk_toxy_sub(bl) == 0) { if ((flag & 2) != 0) set_mobstate(bl); return 1; }
And re-compile.
~Kenpachi
-
Kenpachi got a reaction from ThyroDree in Morphogenic Hat Script Convert
Hi.
Here you go:
I re-wrote the original script, so if you have modifications in your version, you have to apply them again. Sorry.
~Kenpachi