Jump to content

csnv

Members
  • Content Count

    35
  • Joined

  • Last visited

  • Days Won

    4

Reputation Activity

  1. Like
    csnv reacted to mylgcj in Large amount of material   
    Large amount of material 
    Please add if needed
    Discord
     myglcj#8667
     
     




































  2. Like
    csnv got a reaction from Bringer in How much does it cost to maintain a server in 2023?   
    1- Gepard shield, by Functor.
    2- Take this with a pinch of salt, but I'd say that as long as you have 3 cores available (1 for login/char, 1 for sql and 1 for map) it's enough for 100 people, as long as the CPU is powerful enough in single thread. So probably something cheap like 30 dollars/euro should suffice.
  3. Like
    csnv got a reaction from IndieRO in csnv webtoken   
    View File csnv webtoken
    NOTE: THIS PLUGIN IS NO LONGER NECESSARY! API SERVER ALREADY MERGED

    Plugin required for generating webtokens for third party applications to serve the required web services for newer clients (2019-06+).
     
     
    Third party applications than can make use of webtokens generated by this plugin:
    https://github.com/csnv/Mindu [Tested]
    https://github.com/secretdataz/athena-web-service [Untested]
     
    Please report any issue in the github page
    https://github.com/csnv/webtoken
     
    Instructions:
    - Import login_webtoken_fields.sql into your SQL database.
    - Apply webtoken.diff to your Hercules server codebase. Alternatively, you may apply this PR: https://github.com/HerculesWS/Hercules/pull/3183
    - Place csnv_webtoken.c in your src/plugins directory and compile.
     
    Now your hercules emulator generates the required webtoken. Pick a webserver application that can make use of it.
    Submitter csnv Submitted 12/30/22 Category Client Resources  
  4. Upvote
    csnv got a reaction from reds09 in [HELP] Custom skill that only work if an effect is active   
    You are placing it in the wrong place. For SC statuses checks it goes under status_check_skilluse (status.c), right here https://github.com/HerculesWS/Hercules/blob/master/src/map/status.c#L1796
    Turn this:
    if(tsc && tsc->count) { /* attacks in invincible are capped to 1 damage and handled in batte.c; allow spell break and eske for sealed shrine GDB when in INVINCIBLE state. */ if( tsc->data[SC_INVINCIBLE] && !tsc->data[SC_INVINCIBLEOFF] && skill_id && !(skill_id&(SA_SPELLBREAKER|SL_SKE)) ) return 0; if(!skill_id && tsc->data[SC_TRICKDEAD]) return 0; if((skill_id == WZ_STORMGUST || skill_id == WZ_FROSTNOVA || skill_id == NJ_HYOUSYOURAKU) && tsc->data[SC_FREEZE]) return 0; if(skill_id == PR_LEXAETERNA && (tsc->data[SC_FREEZE] || (tsc->data[SC_STONE] && tsc->opt1 == OPT1_STONE))) return 0; if( ( tsc->data[SC_STEALTHFIELD] || tsc->data[SC_CAMOUFLAGE] ) && !(st->mode&(MD_BOSS|MD_DETECTOR)) && flag == 4 ) return 0; } To this:
    if(tsc && tsc->count) { /* attacks in invincible are capped to 1 damage and handled in batte.c; allow spell break and eske for sealed shrine GDB when in INVINCIBLE state. */ if( tsc->data[SC_INVINCIBLE] && !tsc->data[SC_INVINCIBLEOFF] && skill_id && !(skill_id&(SA_SPELLBREAKER|SL_SKE)) ) return 0; if(!skill_id && tsc->data[SC_TRICKDEAD]) return 0; if((skill_id == WZ_STORMGUST || skill_id == WZ_FROSTNOVA || skill_id == NJ_HYOUSYOURAKU) && tsc->data[SC_FREEZE]) return 0; if(skill_id == PR_LEXAETERNA && (tsc->data[SC_FREEZE] || (tsc->data[SC_STONE] && tsc->opt1 == OPT1_STONE))) return 0; if( ( tsc->data[SC_STEALTHFIELD] || tsc->data[SC_CAMOUFLAGE] ) && !(st->mode&(MD_BOSS|MD_DETECTOR)) && flag == 4 ) return 0; if (skill_id == NG_JUTSU_FUNERAL && !(tsc->data[SC_STONE])) return 0; }
  5. Upvote
    csnv got a reaction from reds09 in [HELP] Custom skill that only work if an effect is active   
    You are checking the source's status. it should be like this:
    if(skill_id == NG_JUTSU_FUNERAL) { // Gravitation and Pressure do damage without removing the effect if(tsc && tsc->data[SC_STONE]){ damage <<= 1; // If used against a player in White Imprison, the skill deals double damage. }else{ d->dmg_lv = ATK_BLOCK; return 0; } } However, as the comment says, you're actually doubling damage if you keep it like this. So, for it doing exactly what you want it to do, it should be like this:
    if(skill_id == NG_JUTSU_FUNERAL && !(tsc && tsc->data[SC_STONE])) { // Deal damage only when the target is under stone curse status d->dmg_lv = ATK_BLOCK; return 0;}
  6. Upvote
    csnv got a reaction from ShankS in Asura Cell Bug   
    You just removed the part when the client is notified of the slide, but not the actual slide.
    && unit->movepos(src, mbl->x+x, mbl->y+y, 1, 1) Which is this. Remove it and players will not move when casting those skills
  7. Upvote
    csnv got a reaction from GmOcean in I want to learn Source code   
    I guess I'll give you a more precise suggestion. Read and follow "The C Programming Language - 2nd edition" book, along with the exercises your C knowledge should be enough to be able to understand what the emulator does and how. Then, you can fix bugs or develop your own code, but above all you'll need time to understand the emulator code.
  8. Upvote
    csnv got a reaction from eKoh in I want to learn Source code   
    I guess I'll give you a more precise suggestion. Read and follow "The C Programming Language - 2nd edition" book, along with the exercises your C knowledge should be enough to be able to understand what the emulator does and how. Then, you can fix bugs or develop your own code, but above all you'll need time to understand the emulator code.
  9. Upvote
    csnv got a reaction from Zirius in how do you replace packet keys on 20140115 ?   
    If I record correctly, you had to take pairs on reverse and searching them as hex values.
     
    Example, you want to find 0x63224335, then you've got to start by the 2 end numbers and finish with the 2 first, like this: 35 43 22 63
  10. Upvote
    csnv got a reaction from grandsaga999 in Dance/Song movement speeds and Gospel movement. Attack and Skill restriction.   
    Movement for Gospel:
    unit.c : 921
     
    || (sc->data[SC_GOSPEL] && sc->data[SC_GOSPEL]->val4 == BCT_SELF) // cannot move while gospel is in effect  
    Movement for bard/dancer on ensemble:
    unit.c : 948
    || ( sc->data[SC_DANCING] && sc->data[SC_DANCING]->val4 && ( !sc->data[SC_LONGING] || (sc->data[SC_DANCING]->val1&0xFFFF) == CG_MOONLIT || (sc->data[SC_DANCING]->val1&0xFFFF) == CG_HERMODE ) )  
    Movement speed on solo dancing:
    status.c : 5233
    if( sd && sc->data[SC_DANCING] ) val = max( val, 500 - (40 + 10 * (sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_BARDDANCER)) * pc->checkskill(sd,(sd->status.sex?BA_MUSICALLESSON:DC_DANCINGLESSON)) );  
    Attacking on gospel:
    status.c : 1651
    || (sc->data[SC_GOSPEL] && sc->data[SC_GOSPEL]->val4 == BCT_SELF && skill_id != PA_GOSPEL)  
    Attacking on dancing:
    status.c : 1674
    if (sc->data[SC_DANCING] && flag!=2) { if( src->type == BL_PC && skill_id >= WA_SWING_DANCE && skill_id <= WM_UNLIMITED_HUMMING_VOICE ) { // Lvl 5 Lesson or higher allow you use 3rd job skills while dancing.v if( pc->checkskill((TBL_PC*)src,WM_LESSON) < 5 ) return 0; } else if(sc->data[SC_LONGING]) { //Allow everything except dancing/re-dancing. [Skotlex] if (skill_id == BD_ENCORE || skill->get_inf2(skill_id)&(INF2_SONG_DANCE|INF2_ENSEMBLE_SKILL) ) return 0; } else { switch (skill_id) { case BD_ADAPTATION: case CG_LONGINGFREEDOM: case BA_MUSICALSTRIKE: case DC_THROWARROW: break; default: return 0; } } if ((sc->data[SC_DANCING]->val1&0xFFFF) == CG_HERMODE && skill_id == BD_ADAPTATION) return 0; //Can't amp out of Wand of Hermode :/ [Skotlex] }  
     
    I may be wrong, but that's what it looks like with a quick view of the code. Hope it helps.
  11. Upvote
    csnv got a reaction from Nebraskka in Yommy is back?   
    When I feel my jokes are bad I just need to read jaBote's comments. Then, I feel better.
     
    Yommy, you've to come back, I need to learn.
×
×
  • Create New...

Important Information

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