Jump to content

AnnieRuru

Script Developers
  • Content Count

    1677
  • Joined

  • Last visited

  • Days Won

    245

Everything posted by AnnieRuru

  1. sorry I'm out, that's too old for me to support hope other members can give support
  2. ok I tested, /** * Renewal full toggle switch. * * Uncomment this line to disable all of the below settings at once. * Note: in UNIX builds, this can be easily done without touching this * line, by passing --disable-renewal to the configure script: * ./configure --disable-renewal */ #define DISABLE_RENEWAL the first video you posted is the same behavior when my test server compile with Renewal flag the second video you posted is the same behavior when my server compile with DISABLE_RENEWAL aka pre-renewal server AND YES I'm using Renewal client, when my test server compile with pre-renewal behavior, my client DOES behave weirdly the character sprite stand still for about 3 seconds, then returning to normal when server compile with Renewal behavior, this doesn't happen now I am assuming your server is pre-renewal and want a renewal behavior asura strike ? if your server using pre-renewal you have to tell where and which client you download, there's a glitch like I mentioned when using asura strike when server compile with pre-re and using re client
  3. if(Class==Job_Novice || Class==Job_Novice_High) { mes "[ ^C6A518Linker^000000 ]"; mes "Sorry, not available to novice."; close; } what what ?? Rebirth Spirit CAN be use on Novice High I just tested a soul linker can use Rebirth Spirit on a Level 40 Rebirth Novice, all stats adds +29 it should be if (Class == Job_Novice || Class == Job_Baby) {
  4. https://rathena.org/board/topic/124591-asura-movement/ https://rathena.org/board/topic/119177-src-code-old-asura-spam/?do=findComment&comment=361337 ok from what I understand, asura strike old behavior was teleporting to the target and the new behavior was moving across the target you want the behavior of teleporting, which I think might cause the client to behave weirdly .... searching for related code from your posted one ... wait where this code comes from ? I search both hercules and rathena, couldn't find them in my src folder for both emulators at least please tell this code is from which function, and which emulator you are using
  5. AnnieRuru

    pvp_shop

    I dual client to check, this is an announcement with bc_self flag means only the player talk to this npc gets this blue announcement, surrounding player couldn't see them I don't think its a good idea to disable it
  6. AnnieRuru

    pvp_shop

    prontera,155,185,5 script PvP_Points 1_F_MARIA,{ callshop "pvpshop", 1; end; OnPCKillEvent: .@map$ = strcharinfo(3); if (getmapflag(.@map$,mf_pvp) && killedrid != getcharid(3)) { if(++#pvp_points % 1 == 0) dispbottom "Current amount of PvP Points: "+#pvp_points; } end; } //- pointshop pvpshop #pvp_points-1,14533:3,14545:5,12210:10,7776:40 // wrong - pointshop pvpshop -1,#pvp_points,14533:3,14545:5,12210:10,7776:40 shouldn't your rathena's map-server.exe spit error about ... WOW !! doesn't throw error !! what a great emulator they have anyway I tested this one working fine
  7. https://gist.github.com/AnnieRuru/6f41d54b03417a768167820ee6f1f037/revisions don't come to me saying this script causes lag on your server
  8. I don't recommend to put query_sql inside OnNPCKillEvent the ranking only update when you exchange into gold
  9. ZZZZZZzzzzzz...... talk to this npc... then talk to that npc... then go here kill monster, then help this npc in trouble ... what ... you think is rpg game or something ? insert keima meme here from the world gods only knows episode 4 18:12 ok joke aside, I don't like doing this kind of stuffs, unless you want to pay me of course but if you want to do it yourself, there are 2 ways I can think of 1. create a new bindatcmd "@checktokenquest" and script all the description yourself, this new npc will have a very long lines to code 2. use quest log system like my sample here -> either way good luck I think gravity will eventually put this onto quest log or something...
  10. https://gist.github.com/AnnieRuru/cbee08cbd9d82868ccbcd2a2e4d3bf4f
  11. that's because the monster with event labels doesn't trigger OnNPCKillEvent this has been discuss for years and there are no perfect solution to solve this issue EDIT: it seems there is, Kenpachi suggest we add another flag to monster spawn with or without event labels anyway this is developer talk ... to fix your problem just need to remove the OnNPCKillEvent label and incorporate it into OnKill label by the way I have no idea why your screenshot shows so many kills, the `gold_rank` field has been default to 0 in the SQL syntax... try create another table to solve those incorrect value kills then I don't think its a good idea to run query_sql inside OnNPCKillEvent label, since this script is made for high rate server and players can kill peco fast so I made minor changes https://gist.github.com/AnnieRuru/6f41d54b03417a768167820ee6f1f037
  12. that's why you should put more effort in explaining in your 1st post anyway this require source edit I mean plugin, hercules uses plugin https://github.com/AnnieRuru/Release/blob/master/plugins/bloodybranch_nocarddrop.c about mob_avail... 1 day I'll try look into it, I search on the forum and many members complain this new system is bug
  13. and what is token quest exactly ? this kind of topic .... I usually lock them up immediately because there are not enough explanation ... https://rathena.org/board/topic/124678-treasure-hunter-quests-regarding-the-taken-quest/ I went over to rathena forum, you also just say "gimme your token quest script I saw on other server pls help" but you never say how your players gonna get token in the first place
  14. /* alter table `char` add `gold_rank` int(11) unsigned default 0 after unban_time, add index (gold_rank); */ prontera,155,185,5 script kjdshfksfh 1_F_MARIA,{ mes "[ ^C6A518Top 30 Gold Hunters^000000 ]"; .@nb = query_sql( "select name, gold_rank from `char` where gold_rank > 0 order by gold_rank desc limit 2", .@name$, .@gold ); if ( !.@nb ) { mes "No ranking yet"; close; } for ( .@i = 0; .@i < .@nb; .@i++ ) mes .@name$[.@i] +" killed "+ .@gold[.@i] +" Golden Peco"; close; OnNPCKillEvent: if ( strcharinfo(3) == "ordeal_1-2" && killedrid == 1369 ) query_sql "update `char` set gold_rank = gold_rank +1 where char_id = "+ getcharid(0); end; } it is working fine, tested
  15. { Id: 12103 AegisName: "Bloody_Dead_Branch" Name: "Bloody Branch" Type: "IT_USABLE" Buy: 10000 Weight: 200 BuyingStore: true Script: <" monster "this",-1,-1,"--ja--",-3,1,""; "> }, bloody branch can drop thanatos card ?????? am I reading this properly ????? if you mean remove thanatos monster spawn, then remove the line in db/re/mob_boss.txt 1708,Thanatos Phantom,1000000 I hope I don't need to remind the difference for re/pre-re folder its in the db\re\mob_db.conf
  16. actually normal hit a monster send multiple packets let's put a ShowDebug on clif->send function src/map/clif.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/map/clif.c b/src/map/clif.c index 54c9869c3..38ac2ea1e 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -449,7 +449,7 @@ static bool clif_send(const void *buf, int len, struct block_list *bl, enum send else if (type == AREA_WOS || type == BG_WOS || type == BG_AREA_WOS) return true; } - +ShowDebug("source:%s buf:%d send_target:%d\n", (sd != NULL)? sd->status.name : "NULL", RBUFW(buf, 0), type); switch(type) { case ALL_CLIENT: //All player clients. iter = mapit_getallusers(); `@monster poporing` and hit it once, and here is what I get [Debug]: source:NULL buf:2248 send_target:2 [Debug]: source:AnnieRuru buf:156 send_target:2 [Debug]: source:NULL buf:2557 send_target:2 [Debug]: source:AnnieRuru buf:2248 send_target:2 [Debug]: source:NULL buf:156 send_target:2 [Debug]: source:AnnieRuru buf:2248 send_target:2 [Debug]: source:NULL buf:156 send_target:2 [Debug]: source:AnnieRuru buf:2248 send_target:2 analyze the packet 2248 hex 0x8C8 is ZC_NOTIFY_ACT2 came from clif_damage function /// Sends a 'damage' packet (src performs action on dst) /// 008a <src ID>.L <dst ID>.L <server tick>.L <src speed>.L <dst speed>.L <damage>.W <div>.W <type>.B <damage2>.W (ZC_NOTIFY_ACT) /// 02e1 <src ID>.L <dst ID>.L <server tick>.L <src speed>.L <dst speed>.L <damage>.L <div>.W <type>.B <damage2>.L (ZC_NOTIFY_ACT2) /// 08c8 <src ID>.L <dst ID>.L <server tick>.L <src speed>.L <dst speed>.L <damage>.L <IsSPDamage>.B <div>.W <type>.B <damage2>.L (ZC_NOTIFY_ACT2) /// type: @see enum battle_dmg_type /// for BDT_NORMAL: [ damage: total damage, div: amount of hits, damage2: assassin dual-wield damage ] static int clif_damage(struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, enum battle_dmg_type type, int64 in_damage2) 156 hex 0x9c is ZC_CHANGE_DIRECTION came from clif_changed_dir function /// Updates body and head direction of an object (ZC_CHANGE_DIRECTION). /// 009c <id>.L <head dir>.W <dir>.B /// head dir: /// 0 = straight /// 1 = turned CW /// 2 = turned CCW /// dir: @see enum unit_dir static void clif_changed_dir(struct block_list *bl, enum send_target target) 2557 hex 0x9fd is unit_walkingType (src\map\packet_struct.h) ... couldn't find where this came from ... I rather don't touch this at the moment this means, whenever I attack something, it sends an attack animation and also updates the client to face the attacking source enemy so if we block ZC_CHANGE_DIRECTION for the monster, this will cause rogue's backstab to not function properly the answer is YES, block ZC_NOTIFY_ACT2 here's the plugin `@filterattack` https://github.com/AnnieRuru/Release/blob/master/plugins/packetfilter/filterattack.c after tested it, `@filterattack 63` looks like everyone is standing still facing each other (remember ZC_CHANGE_DIRECTION packet is still sent)
  17. wait, I thought I answered this on rathena forum already ? https://rathena.org/board/topic/126009-deadbloody-branch-timer/ same user name, I actually thought I helped a rathena member there if you come here and ask the same question again it means you are actually hercules user ? anyway hercules has plugin system that rathena don't, and rathena still hasn't implement plugin system yet, so here goes https://github.com/AnnieRuru/Release/blob/master/plugins/deadbranch_timerdelete/deadbranch_timerdelete.c
  18. { Id: 1132 AegisName: "Edge" Name: "Edge" Type: "IT_WEAPON" Buy: 20 Weight: 700 Atk: 115 Range: 1 Job: { Swordsman: true Merchant: true Thief: true Knight: true Blacksmith: true Assassin: true Crusader: true Rogue: true Alchemist: true } Loc: "EQP_WEAPON" WeaponLv: 4 EquipLv: 40 Subtype: "W_1HSWORD" Script: <" bonus2 bAddEff,Eff_Curse,30; bonus2 bWeaponComaRace,RC_NonBoss,10; "> }, I am scratching my head or did I misunderstood your question ? bonus2 bWeaponComaRace,RC_NonBoss,10; sc_start SC_COMA, 1,1;
  19. mf_gvg mapflag and mf_gvg_castle mapflag with `@agitstart` on will disallow showing the damage packet already ? I think they sent as 1 damage or something https://github.com/HerculesWS/Hercules/blob/1354b01c7a24e9ffd9ea570cbaec668721fc2a6c/conf/map/battle/client.conf#L55-L58 search hide_woe_damage in clif.c, the packet indeed altered to become if (skill is multiple hit)? number of hits : 0; if( battle_config.hide_woe_damage && map_flag_gvg2(src->m) ) { p.damage = damage?div:0; p.leftDamage = damage2?div:0; } else { p.damage = damage; p.leftDamage = damage2; } and yes, this modification is indeed REMOVE certain packet send to reduce server bandwidth this can only stays as plugin, and could never get into our emulator, despite how popular it is
  20. 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 <_<
  21. hmm ........ already 2 people getting the same error message I just tested on my test server, compile with visual studio 2019, no problem everything green though if you get this error does it means you also get disable view for whole server instead of individual player ?
  22. uhh got people asking me to update this shit 1.5 plugin update to use in latest revision
  23. I also think its client side stuff hahaha click on this small little icon and select Party member's abnormal status, turn it off
  24. No more Work in Progress, Please report if there are any bug Download: 1.0a [Complete] plugin What is `@packetfilter` ? `@packetfilter` is a custom mod originate from eamod https://github.com/zephyrus-cr/eamod/blob/master/Servers/rAthena/conf/groups.conf#L418-L422 it can actually reduce lag on your live server during woe depends on how many players activate it it totally depends on the player's side, community effort that every player should together turn on the `@packetfilter` to reduce massive lag during woe this modification is actually very famous and there are members willingly to pay for it https://rathena.org/board/topic/121200-packetfilter-battleinfo/ https://rathena.org/board/topic/123203-battleinfo-packetfilter/ https://rathena.org/board/topic/111797-packetfilter-zepyhrus-ramod/ https://rathena.org/board/topic/79995-buy-noactnodelay-partybuff-src-as-it-was-on-pro-ro-or-packetfilter/ this `@packetfilter` is unlike the one you are having, or that is circulating on rathena forum this one has been written entirely from scratch and added some other flags that the original don't for example, `@packetfilter COHM EOHM` allow block normal chat and emotion from non-related players, pets, homunculus and monsters but this doesn't block normal chat from party/guild members a full list of flags are C = ignore normal Chat, including Dancer's scream, Bard's frost joke, and pet's talk (pet start to talk when intimacy > 900) E = ignore emotion, including monster and pet emotion (but NOT pet performance) I = ignore Item use effect A = ignore normal Attack animation (based on receiving side), your own attack animation are always shown B = Buffing skill animations (based on receiving side), your own casting animation are always shown S = Status effect T = offensive single Target skill/spell animations (based on receiving side), your own casting animation are always shown G = Ground based skills (eg:storm gust), your own casting animation are always shown M = Music dance/songs from Bard/Dancer D = Direction. Recommend filter on Party/Guild type and not enemies. Highly Recommend for supportive type Class. after the Main type, also support additional flags S = Self P = Party G = Guild B = Battleground C = Clan O = Other players, none of the above H = Homunculus/pets/elementals/mercenary and player's @summon M = Monsters Why This plugin doesn't block Kaite or Energy Coat ? 2 reasons No.1 - currently there is a bug with plugin, struct packet_spawn_unit *p = (struct packet_spawn_unit*)RBUFP(buf, 0); this line will throw error on Linux so no choice, maybe I'll make a bug report this bug also has been reported on Dastgir's `@noview` No.2 - just set p->virtue = 0; isn't really blocking the packet this goes against the very principle of this plugin, which is NOT send certain packet to the client OPT3 (including OPT3_KAITE | OPT3_ENERGYCOAT | OPT3_SOULLINK) is part of the idle_unitType, unit_walkingType and spawn_unitType function and blocking those 3 packet entirely is stupid in case you don't understand, look under clif_set_unit_walking and clif_set_unit_idle function inside src\map\clif.c file p.GUID = g_id; p.GEmblemVer = status->get_emblem_id(bl); p.honor = (sd) ? sd->status.manner : 0; // p.virtue = (sc) ? sc->opt3 : 0; <-- change this line p.virtue = 0; p.isPKModeON = (sd && sd->status.karma) ? 1 : 0; p.sex = vd->sex; Note: about [D]irection type packet try add a ShowDebug inside clif->send src/map/clif.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/map/clif.c b/src/map/clif.c index ab3c4422a..9e245f335 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -450,6 +450,7 @@ static bool clif_send(const void *buf, int len, struct block_list *bl, enum send return true; } +ShowDebug("source:%s buf:0x%x send_target:%d\n", (sd != NULL)? sd->status.name : "NULL", RBUFW(buf, 0), type); switch(type) { case ALL_CLIENT: //All player clients. iter = mapit_getallusers(); you will find 0x9c is being send repeatedly on every attack and every skill cast , getting attack etc this direction update packet isn't just send by Shift-click, but also including all the actions above this packet is very spam-able and I think can be safely block on party/guild/clan/bg flags for supportive class, I also think can block all of them since supportive class doesn't need information from enemies
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.