MikZ
-
Content Count
461 -
Joined
-
Last visited
Reputation Activity
-
MikZ reacted to 4144 in zeny trade bug
v2021.02.08 is two months old. if you have issue better try latest hercules version.
about client type see link what i gave. here explained how build hercules for selected client. This is i selected client what you really using.
-
MikZ reacted to Cretino in Hourly Points Request
I redid all the code, I think it is now ok, at least here in my tests works fine...
If have problems, I'll try help you.
-
MikZ reacted to 4144 in [Release] ExtendedBG for Hercules (with eAmod BG modes)
then this mean plugin not updated yet
-
MikZ reacted to Minuvas in [Release] ExtendedBG for Hercules (with eAmod BG modes)
Hercules was updated from search_freecell to search_free_cell you need to change 2793 to look like this:
map->search_free_cell(NULL, m, &x, &y, range, range, 1);
-
MikZ reacted to brunosc in [Release] ExtendedBG for Hercules (with eAmod BG modes)
do what noobzter003 talked.
list and compile 2 archives
ExtendedBG and ExtendedBG-char
check it!!
-
MikZ reacted to noobzter003 in [Release] ExtendedBG for Hercules (with eAmod BG modes)
just compile this 2 plugins ExtendedBG ExtendedBG-char . im using latest git also its working on my test server.
-
MikZ reacted to AnnieRuru in Party Match
originate from rathena
Download 1.0
script
Description -> copy paste from rathena forum
by the way I added OnPCUseSkillEvent feature
its totally up to you to add this or not, but I found it's very convenient after add them
having a cursor to immediately select the player I want without typing the name out
-
MikZ reacted to AnnieRuru in How to remove emperium hp job3_arch03
/// Updates the object's (bl) name on client. /// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME) /// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL) /// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2) static void clif_mobname_ack(int fd, struct block_list *bl) { nullpo_retv(bl); Assert_retv(bl->type == BL_MOB); const struct mob_data *md = BL_UCCAST(BL_MOB, bl); if (md->guardian_data && md->guardian_data->g) { clif->mobname_guardian_ack(fd, bl); } else if (battle_config.show_mob_info) { clif->mobname_additional_ack(fd, bl); } else { clif->mobname_normal_ack(fd, bl); } } if that monster belongs to the guild, it won't show the hp/maxhp
/// Updates the object's (bl) name on client. /// 0095 <id>.L <char name>.24B (ZC_ACK_REQNAME) /// 0195 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B (ZC_ACK_REQNAMEALL) /// 0A30 <id>.L <char name>.24B <party name>.24B <guild name>.24B <position name>.24B <title id>.L (ZC_ACK_REQNAMEALL2) static void clif_mobname_guardian_ack(int fd, struct block_list *bl) { nullpo_retv(bl); Assert_retv(bl->type == BL_MOB); const struct mob_data *md = BL_UCCAST(BL_MOB, bl); Assert_retv(md->guardian_data && md->guardian_data->g); struct PACKET_ZC_ACK_REQNAMEALL packet = { 0 }; packet.packet_id = HEADER_ZC_ACK_REQNAMEALL; packet.gid = bl->id; memcpy(packet.name, md->name, NAME_LENGTH); memcpy(packet.guild_name, md->guardian_data->g->name, NAME_LENGTH); memcpy(packet.position_name, md->guardian_data->castle->castle_name, NAME_LENGTH); clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAMEALL)); } it will shows the guild name, castle name etc instead of hp/maxhp
this is some quick fix to not show the emprium hp/maxhp with show_mob_info
src/map/clif.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/map/clif.c b/src/map/clif.c index a6427b796..9fa2323be 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -9728,12 +9728,14 @@ static void clif_mobname_additional_ack(int fd, struct block_list *bl) memcpy(packet.name, md->name, NAME_LENGTH); char mobhp[100]; char *str_p = mobhp; - if (battle_config.show_mob_info&4) - str_p += sprintf(str_p, "Lv. %d | ", md->level); - if (battle_config.show_mob_info&1) - str_p += sprintf(str_p, "HP: %u/%u | ", md->status.hp, md->status.max_hp); - if (battle_config.show_mob_info&2) - str_p += sprintf(str_p, "HP: %u%% | ", get_percentage(md->status.hp, md->status.max_hp)); + if (md->class_ != MOBID_EMPELIUM) { + if (battle_config.show_mob_info&4) + str_p += sprintf(str_p, "Lv. %d | ", md->level); + if (battle_config.show_mob_info&1) + str_p += sprintf(str_p, "HP: %u/%u | ", md->status.hp, md->status.max_hp); + if (battle_config.show_mob_info&2) + str_p += sprintf(str_p, "HP: %u%% | ", get_percentage(md->status.hp, md->status.max_hp)); + } //Even thought mobhp ain't a name, we send it as one so the client //can parse it. [Skotlex] if (str_p != mobhp) {
btw, I don't really call this a bug ... but it's true emperium should belongs to CLASS_GUARDIAN according to aegis ....
this one ... I don't really have a good idea how to make a correct fix on github, because emperium that belongs to guild doesn't show the information, which is working as intended
-
MikZ reacted to AnnieRuru in Dota PVP with Weekly Reward
its either monthly or weekly, no both
if needs both, its still possible but whole system needs to rewrite, not a free script anymore (means I charge for it)
https://github.com/AnnieRuru/Release/blob/master/scripts/PvP %26 GvG/Dota PVP ladder/dota_sql_ladder_3.6_week_reward.txt
-
MikZ reacted to AnnieRuru in Promotional Code
1.3 - script
- fix a bug the 'Promotion code has Started' didn't even activate after a server restart
- fix a bug when GM edit the start/expire date field, the announcement didn't update along with it ... should have just disable it when countdown initiated
- fix a bug when GM close a promo code, it doesn't announce a GM has closed it, yet its still make announcement about still can claim promo code
OKies I'm gonna leave this script and go do some other project ...
maybe some other day can come back and rewrite this script entirely with .npc_var only sync with SQL variables so don't have to call query_sql so frequently ...
but as it stands now, this script is 1400 lines, not something to be underestimate
-
MikZ reacted to AnnieRuru in Promotional Code
I got 2 rep up for making that grumbling post, that just shows how many members really like this idea
and of course I knew many topics talking about this script again and again and again and again and again and again and again and again and again and again and again and again !!!
so I make one myself and hopefully don't want see people talking about that bug script again !!
What this script does ?
GM generate some sort of gibberish word and promotes it on social media
then players input that gibberish word and able claim the items
honestly I don't really see the point of gibberish word,
I made this script in a drop down menu, players can just select it from the menu and claim it <_<
Download: 1.3
script
here's an example by Philippine RO, from this post
TODO :
1. add coloring to the text
2. HULD compatible ?
3. maybe someday can rewrite this whole damn thing with .npc_var sync with SQL variables so don't have to call query_sql too frequently
-
MikZ got a reaction from Sikdope in Dota PVP Ladder
Hi @AnnieRuru, can you add reward system weekly and monthly ?
player need to talk to npc to redeem the prize.
I know i already made this request in other post. thanks!
-
MikZ reacted to AnnieRuru in Dota PVP Ladder
select * from item_db where type = 5 and equip_locations & 4 and view_sprite > 0; yeah my RO knowledge is again outdated, never thought robes can show sprite change
3.6 - script
- fix a missing sprite change from LOOK_ROBE
PS: why the wings on my character is being chop off but the statue is display correctly ? WTF ??
-
MikZ reacted to AnnieRuru in Dota PVP with Weekly Reward
@MikZ still need ?
I just wrote a blog about how to send weekly rewards
https://annieruru.blogspot.com/2020/10/how-to-send-weekly-rewards-to-players.html
might as well do this
based on this topic, I assumed you are using hercules ?
and reset the ladder weekly and sent rewards ?
the ladder never stay forever ?
reward sent as mail or a custom SQL table ?
-
MikZ reacted to AnnieRuru in Gvg Event convert to Hercules
https://gist.github.com/AnnieRuru/834aac8736731d45877e7f85d2666969
I don't have gepard, so I turned it off
bruh ... I just wanted to convert this script I just made in rathena yesterday
then I see a VERY similar script shows up here in hercules <_<
-
MikZ reacted to AnnieRuru in Fatal error ! Player not attached. (DOTA PVP)
version 2.9
sleep 1500; ... if ( .announce ) mapannounce .@map$, "The guild ["+ getguildname(.@killer_gid) +"] is OWNING["+ getd(".dota_sql_"+ .@killer_gid +"_c") +"] !!!",16; else announce "The guild ["+ getguildname(.@killer_gid) +"] is OWNING["+ getd(".dota_sql_"+ .@killer_gid +"_c") +"] !!!",16; ... } I used .@killer_gid, which was set earlier, to save the killer's guild ID
because the sleep script command will detach the RID
sleep 1500; ... if ( .Announce ) mapannounce .@map$, "The guild ["+ getguildinfo(GUILDINFO_NAME, getcharid(CHAR_ID_GUILD)) +"] is OWNING["+ getd(".dota_sql_"+ .@killer_gid +"_c") +"] !!!",16; else announce "The guild ["+ getguildinfo(GUILDINFO_NAME, getcharid(CHAR_ID_GUILD)) +"] is OWNING["+ getd(".dota_sql_"+ .@killer_gid +"_c") +"] !!!",16; ... } of course the way you did it will cause map-server to spam error because after sleep, RID has detached
anyway just download version 3.1, just released
-
MikZ reacted to meko in Autopots to hercules
for inarray() you can use array_find() from Array manipulation functions, which behaves the same way:
if (array_find(.blackList[0], .@potion) != -1) { for debugmes you should use consolemes:
consolemes(CONSOLEMES_DEBUG, "message");
-
MikZ reacted to Samuel in Autopots to hercules
Did you include the array_find function? It's a custom function so you need to copy the function script and include it either inside the script or any script that will make the function load.
-
-
MikZ reacted to Dastgir in Null Returned
Yes, this is ExtendedBG error, (I haven't received any reports on https://github.com/dastgirp/eBG/issues, so didn't knew it was issue)
-
MikZ reacted to astralprojection in Null Returned
Yes its from the Extended Battleground. I have have lot of those in logs also. @Dastgir
-
-
-
MikZ reacted to 4144 in Error in Char-server after GIT Update 07/08/2020
this message prevent some error with skills in pre-re. you can ignore it
-
MikZ reacted to Patskie in Infinity loop (error)
Your calling getinventorylist multiple times (while && for) and i'm not sure why
Here try
//===== Hercules Script ====================================== //= Healer //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.2 //===== Description: ========================================= //= Basic healer script. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Aligned coordinates with @go. //= 1.2 Fix variables and character stuck at healing //============================================================ function script H_VIPBuff { query_sql( "SELECT CAST( `vip` AS DATE ),DATEDIFF( IFNULL(`vip`,NOW()),NOW() ), TIMESTAMPDIFF(SECOND, NOW(), `vip`) FROM `login` WHERE `account_id` = "+getcharid(3)+" LIMIT 1", .@vip_date$, .@day, .@vip_second); return .@day > 0 || .@vip_second > 0 ? true : false; } - script Healer FAKE_NPC,{ .@price = 0; // Zeny required for heal .@Buffs = 1; // Also buff players? (1: yes / 0: no) .@Delay = 2; // Heal delay, in seconds if (@HD > gettimetick(2)) end; if (.@price) { message strcharinfo(PC_NAME),"Healing costs "+.@price+" Zeny."; if (Zeny < .@price) end; if(select("^0055FFHeal^000000", "^777777Cancel^000000") == 2) close; Zeny -= .@price; } specialeffect(EF_HEAL2, AREA, playerattached()); percentheal 100,100; if (callfunc ("H_VIPBuff")) { sc_end SC_STONE; sc_end SC_FREEZE; sc_end SC_STUN; sc_end SC_SLEEP; sc_end SC_POISON; sc_end SC_CURSE; sc_end SC_SILENCE; sc_end SC_CONFUSION; sc_end SC_BLIND; sc_end SC_BLOODING; sc_end SC_DPOISON; sc_end SC_FEAR; sc_end SC_COLD; sc_end SC_BURNING; sc_end SC_DEEP_SLEEP; sc_end SC_DEC_AGI; sc_end SC_BROKENARMOR; sc_end SC_BROKENWEAPON; sc_end SC_NOEQUIPWEAPON; sc_end SC_NOEQUIPSHIELD; sc_end SC_NOEQUIPARMOR; sc_end SC_NOEQUIPHELM; sc_end SC__STRIPACCESSARY; sc_end SC_PROPERTYUNDEAD; sc_end SC_ORCISH; sc_end SC_BERSERK; sc_end SC_SKE; sc_end SC_SWOO; sc_end SC_SKA; sc_end SC_SLOWDOWN; sc_end SC_FROSTMISTY; sc_end SC_ILLUSION; sc_end SC_BITESCAR; //sc_start SC_CASH_PLUSEXP,.exp_bonus_duration,.bonus_vip_exp_rate; //sc_start SC_CASH_RECEIVEITEM,.bonus_duration,.bonus_vip_drop_rate; specialeffect(EF_INCAGILITY, AREA, playerattached()); sc_start SC_INC_AGI,240000,10; specialeffect(EF_BLESSING, AREA, playerattached()); sc_start SC_BLESSING,240000,10; specialeffect(EF_KYRIE, AREA, playerattached()); sc_start SC_KYRIE, 120000, 3; specialeffect( EF_IMPOSITIO, AREA, playerattached()); sc_start SC_IMPOSITIO, 60000, 3; specialeffect(EF_GLORIA, AREA, playerattached()); sc_start SC_GLORIA, 30000, 3; if( getbrokenid(1) ) repairall; getinventorylist; for (.@i = 0; .@i < @inventorylist_count; .@i++) if ( @inventorylist_identify[.@i] == 1 ) continue; else if ( getskilllv(MC_IDENTIFY) == 1 && Sp >= 10 ) heal 0,0; // lol... this is supposed to reduce their SP by 10, whatever else if ( countitem(Spectacles) ) delitem Spectacles,1; else if ( getskilllv(RG_COMPULSION) && Zeny >= ( 100 - ( 5 + 4 * getskilllv(RG_COMPULSION) ) )* 2/5 ) Zeny -= ( 100 - ( 5 + 4 * getskilllv(RG_COMPULSION) ) )* 2/5; else if ( getskilllv(MC_DISCOUNT) && Zeny >= ( 100 - ( 5 + 2 * getskilllv(MC_DISCOUNT) ) )* 2/5 ) Zeny -= ( 100 - ( 5 + 2 * getskilllv(MC_DISCOUNT) ) )* 2/5; else if ( Zeny >= 40 ) Zeny -= 40; else break; delitem2 @inventorylist_id[.@i], 1, 0, @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i]; getitem2 @inventorylist_id[.@i], 1, 1, @inventorylist_refine[.@i], 0, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i]; .@icount++; } if ( .@icount ) message strcharinfo(0), "Identified "+ .@icount +" Items."; } else { if (.@Buffs) { specialeffect(EF_INCAGILITY, AREA, playerattached()); sc_start SC_INC_AGI,240000,5; specialeffect(EF_BLESSING, AREA, playerattached()); sc_start SC_BLESSING,240000,5; } if (.@Delay) @HD = gettimetick(2)+.@Delay; end; } }