Jump to content

aleph075

Members
  • Posts

    48
  • Joined

  • Last visited

Everything posted by aleph075

  1. Not yet. But I will. I am not sure if already existe a status change for HP recovery, but i will. Thx bro
  2. I am trying to make Swordmans Recovery into an active skill. I added the table to skill_db.yml (the cooldowns and durations seems to work) Added the "activate" effects (the skill is activable, have mana cost, duration, and shows an "duration icon" at the left side of the screen) But i dont know how to edit the status.cpp in order to make the ability only work when it's active. For now, my SM_RECOVERY works ALL THE TIME as a pasive skill (no matter if you have the in-game skill activated or no) I am not sure how to edit this.... any help? if( sd ) { struct regen_data_sub *sregen; if( (skill=pc_checkskill(sd,HP_MEDITATIO)) > 0 ) { val = regen->sp*(100+3*skill)/100; regen->sp = cap_value(val, 1, SHRT_MAX); } /////-------------------THIS----------------------//// if ((skill = pc_checkskill(sd, SM_RECOVERY)) > 0) { val += skill * 50 + skill * status->max_hp / 500; // just skill*50 for testing regen->hp = cap_value(val, 0, SHRT_MAX); } ////---------------------------------------------//// // Only players have skill/sitting skill regen for now. sregen = regen->sregen;
  3. Quisiera editar las skills de REGEN de HP y SP para que esten activas SIEMPRE. Por ejemplo, SM_Recovery, solo se activa si estas quieto. Similar a MG_SRecovery. Como puedo editarlas para que siempre den esa regeneracion? I guess the most of pasive regen skills are here.... but dunno wich one is the variable that controls the "sit/not moving" stat to active regen. Aqui esta una parte del codigo // Only players have skill/sitting skill regen for now. sregen = regen->sregen; val = 0; if( (skill=pc_checkskill(sd,SM_RECOVERY)) > 0 ) val += skill*5 + skill*status->max_hp/500; if (sc && sc->count) { if (sc->data[SC_INCREASE_MAXHP]) val += val * sc->data[SC_INCREASE_MAXHP]->val2 / 100; } Luego, tengo otra duda, creo que mucho mas dificil de hacer, pero quisiera ver si hay algun video o explicacion de como hacerlo. En el futuro me gustaria hacer que estas skills sean ACTIVAS, en vez de pasivas... definirlas como si fuera un improve concentration. Se que no es facil definir una hueva habilidad, pero solo encontre ejemplos de como crear skills que hacen DAÑO. Pero es muy distinto crear una habilidad NO DAMAGE, que es un "auto buff". Alguna ayudita?
  4. Nice, i found it. Now, I don't know how to edit SM_RECOVERY to work allways, including when you are not sit, moving, atacking. How can I do that? Maybe here? // Only players have skill/sitting skill regen for now. sregen = regen->sregen; val = 0; if( (skill=pc_checkskill(sd,SM_RECOVERY)) > 0 ) val += skill*5 + skill*status->max_hp/500; if (sc && sc->count) { if (sc->data[SC_INCREASE_MAXHP]) val += val * sc->data[SC_INCREASE_MAXHP]->val2 / 100; } The rest of the code is here: void status_calc_regen(struct block_list *bl, struct status_data *status, struct regen_data *regen) { struct map_session_data *sd; struct status_change *sc; int val, skill, reg_flag; if( !(bl->type&BL_REGEN) || !regen ) return; sd = BL_CAST(BL_PC,bl); sc = status_get_sc(bl); val = 1 + (status->vit/5) + (status->max_hp/200); if( sd && sd->hprecov_rate != 100 ) val = val*sd->hprecov_rate/100; reg_flag = bl->type == BL_PC ? 0 : 1; regen->hp = cap_value(val, reg_flag, SHRT_MAX); val = 1 + (status->int_/6) + (status->max_sp/100); if( status->int_ >= 120 ) val += ((status->int_-120)>>1) + 4; if( sd && sd->sprecov_rate != 100 ) val = val*sd->sprecov_rate/100; regen->sp = cap_value(val, reg_flag, SHRT_MAX); if( sd ) { struct regen_data_sub *sregen; if( (skill=pc_checkskill(sd,HP_MEDITATIO)) > 0 ) { val = regen->sp*(100+3*skill)/100; regen->sp = cap_value(val, 1, SHRT_MAX); } // Only players have skill/sitting skill regen for now. sregen = regen->sregen; val = 0; //------ Here?------// if( (skill=pc_checkskill(sd,SM_RECOVERY)) > 0 ) val += skill*5 + skill*status->max_hp/500; if (sc && sc->count) { if (sc->data[SC_INCREASE_MAXHP]) val += val * sc->data[SC_INCREASE_MAXHP]->val2 / 100; } sregen->hp = cap_value(val, 0, SHRT_MAX); val = 0; if( (skill=pc_checkskill(sd,MG_SRECOVERY)) > 0 ) val += skill*3 + skill*status->max_sp/500; if( (skill=pc_checkskill(sd,NJ_NINPOU)) > 0 ) val += skill*3 + skill*status->max_sp/500; if( (skill=pc_checkskill(sd,WM_LESSON)) > 0 ) val += 3 + 3 * skill; if (sc && sc->count) { if (sc->data[SC_SHRIMPBLESSING]) val *= 150 / 100; if (sc->data[SC_ANCILLA]) val += sc->data[SC_ANCILLA]->val2 / 100; if (sc->data[SC_INCREASE_MAXSP]) val += val * sc->data[SC_INCREASE_MAXSP]->val2 / 100; } sregen->sp = cap_value(val, 0, SHRT_MAX); // Skill-related recovery (only when sit) sregen = regen->ssregen; val = 0; if( (skill=pc_checkskill(sd,MO_SPIRITSRECOVERY)) > 0 ) val += skill*4 + skill*status->max_hp/500; if( (skill=pc_checkskill(sd,TK_HPTIME)) > 0 && sd->state.rest ) val += skill*30 + skill*status->max_hp/500; sregen->hp = cap_value(val, 0, SHRT_MAX); val = 0; if( (skill=pc_checkskill(sd,TK_SPTIME)) > 0 && sd->state.rest ) { val += skill*3 + skill*status->max_sp/500; if ((skill=pc_checkskill(sd,SL_KAINA)) > 0) // Power up Enjoyable Rest val += (30+10*skill)*val/100; } if( (skill=pc_checkskill(sd,MO_SPIRITSRECOVERY)) > 0 ) val += skill*2 + skill*status->max_sp/500; sregen->sp = cap_value(val, 0, SHRT_MAX); }
  5. I cant find the definition of this skills to edit them. Is there a way to easily find any "case CLASS_SKILL" ? Thx!
  6. I am trying to reduce the defense power by items armor and trying change this: /** * RE DEF Reduction * Damage = Attack * (4000+eDEF)/(4000+eDEF*10) - sDEF * Pierce defence gains 1 atk per def/2 */ if( def1 == -400 ) /* -400 creates a division by 0 and subsequently crashes */ def1 = -399; ATK_ADD2(wd->damage, wd->damage2, is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) ? (def1*battle_calc_attack_skill_ratio(wd, src, target, skill_id, skill_lv))/200 : 0, is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_L) ? (def1*battle_calc_attack_skill_ratio(wd, src, target, skill_id, skill_lv))/200 : 0 ); if( !attack_ignores_def(wd, src, target, skill_id, skill_lv, EQI_HAND_R) && !is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) ) wd->damage = wd->damage * (4000+def1) / (4000+10*def1) - vit_def; <-------- ///Here/// if( is_attack_left_handed(src, skill_id) && !attack_ignores_def(wd, src, target, skill_id, skill_lv, EQI_HAND_L) && !is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_L) ) wd->damage2 = wd->damage2 * (4000+def1) / (4000+10*def1) - vit_def; The 4000 constants to 5000. But i want to add a plus damage reduction by users VIT stat (no vit_def) How can i do that, wich sintaxis? Or it's not even here in the code? And, I can't find where is the code that defines vit_def (see photo) Thx!
  7. i'am trying lowering the defense rate.... /** * RE DEF Reduction * Damage = Attack * (4000+eDEF)/(4000+eDEF*10) - sDEF * Pierce defence gains 1 atk per def/2 */ if( def1 == -400 ) /* -400 creates a division by 0 and subsequently crashes */ def1 = -399; ATK_ADD2(wd->damage, wd->damage2, is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) ? (def1*battle_calc_attack_skill_ratio(wd, src, target, skill_id, skill_lv))/200 : 0, is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_L) ? (def1*battle_calc_attack_skill_ratio(wd, src, target, skill_id, skill_lv))/200 : 0 ); if( !attack_ignores_def(wd, src, target, skill_id, skill_lv, EQI_HAND_R) && !is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) ) wd->damage = wd->damage * (4000+def1) / (4000+10*def1) - vit_def; <---- /Here/----- if( is_attack_left_handed(src, skill_id) && !attack_ignores_def(wd, src, target, skill_id, skill_lv, EQI_HAND_L) && !is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_L) ) wd->damage2 = wd->damage2 * (4000+def1) / (4000+10*def1) - vit_def; if the formula of damage increase the constants, it should increase your damage received. Where said 4000+def1, if you put 5000 (both numerator and denominator). But i am not sure already. I will test and told u. If u do, tell me
  8. Good morning! I have a very simple doubt, but its solution is quite complex and I don’t know exactly how to proceed. So let me tell you about my project and ideas so you can give me a hand. I want to create a server that will fundamentally be PRE RENEWAL defense system, in a RENEWAL server (with only 2nd classes/rebirth. No 3rd classes). The biggest issue I have is that I want the “renewal world”, maps, instances, eden group (also to have the advantage of having all renewal objects and skills so I can just edit the database and be able to use them, without the need to load sprites, etc.). But the damage/defense/objects I want are PRE RENEWAL (where the items’ defense is PERCENT-BASED, reason why items have low base numbers, which I like), adding a few RENEWAL (editing them as custom items). So, my dilemma is that I’m not sure what’s easier to implement… Whether creating a PRE RENEWAL server and “importing” (pasting?): · The scripts and sources referred to EDEN GROUP (is it possible?) · 3rd classes skills (just to use the skills) · Edit the cast/dex formula. · Enable double critical hits. · Edit a selection of renewal items (from 3rd and 4th classes) to make custom items. · Create instances on a pre renewal server. OR creating a RENEWAL server and “limit” the mechanics I’d prefer to leave PRE RENEWAL. · Edit the /src so the game calculates def in PRE RENEWAL mode. · Edit/disable all objects with their RENEWAL values (which seems extremely complicated). · Import pre-renewal items (not easy, i guess) so I don’t have to load/edit them one by one. If the answer is: "use a pre renewal server": wich version should I install? Waiting for your comments and advice.
  9. Gracias por tu consejo. Que me podes decir de las "instances" o de agregar skills que son de 3rd clases? Es posible? O es muy dificil?
  10. Buenos días! Tengo una duda muy simple, pero su resolución es bastante compleja y realmente no sé exactamente como hacerlo. Asi que les cuento mi proyecto y mis ideas para que me puedan ayudar: Quiero crear un servidor que fundamentalmente será PRE RENEWAL, pero con varias mecánicas RENEWAL. (Solo 2das clases/Rebirth. No 3eras clases) El mayor problema que tengo, es que quiero “el mundo” renewal: mapas, instancias, eden group (además, tener la “ventaja” de ya tener importados todos los skills y objetos RENEWAL para poder editar simplemente la base de datos y ya poder sin utilizarlos, sin tener que cargar sprites, etc…). Pero el sistema de daño/defensa/objetos que quiero es PRE RENEWAL…. (donde la defensa de los objetos es PORCENTUAL, y por eso los objetos tienen números bases muy bajos, lo cual me gusta), agregando algunos pocos RENEWAL (editándolos a modo de objetos custom) Entonces mi dilema es que no se que sería mas fácil de implementar…. Si crear un servidor PRE RENEWAL e ir “importando” (¿pegando?): · los scripts y sources referidos a EDEN GROUP (es posible?) · skills de 3eras clases (solo quiero los skills) · editar las formulas de cálculo de CASTEO/DEX, habilitar los doble ataques críticos · Editar una selección de objetos renewal (de las 3eras y 4tas clases) para hacer custom items · Crear instancias en un servidor pre renewal. O si es mejor crear un servidor RENEWAL e ir “limitando” las mecánicas que quiero que sean PRE RENEWAL · Editar el /src para que el juego calcule la defensa en modo PRE RENEWAL · Editar/Deshabiltiar todos los objetos con sus valores RENEWAL (esto lo veo muy complicado) · Importar los objetos pre-renewal (no lo veo facil) para no cargarlos/editarlos uno por uno Espero sus comentarios y consejos. Mil gracias!
  11. If I want a pre - renewal DEFENSE/MDEF system.... then, should I enable the prerenwal "status system" ? (And then change EVERY defense item)
  12. I know there is a way to change the server from pre-renewal to renewal (but dunno where is it). But i wanna know if its posible to switch 1 by 1 only a few of them. I want the pre-renewal mechanics in general, but i wana change the posible of critical double atack, and the XP penalty like renewal. But, the drop and defense system as pre renewal. How can I change just a few of them? Where to set the main config? thx
  13. I'm editing a server and I don't know if I made a mistake or if the renewal mechanics are like that. But the "active blitz" hits 900 total approximately (hits 5 times) and the "auto blitz" hits 300 total approximately (hitting less times... 2 or 3 times i guess and doing FULL damage to multiple enemys), or something like that. Its that normal? its the right way to "autoblitz" on renewal, or I edited unintentionally? Please, if i done a mistake, can some1 help me with the SCR code? Where to edit to make it works normally. THX (there is my "skill", "battle" and "map" cpp) map.cpp skill.cpp battle.cpp
  14. Iam looking a simple warper wich could send me to a pvp room, but all i find send me to BG's or doesn't work. What happened? In addition, dunno why commands like @duel doesnt work. Help me pls Edit: solved. Is possible to delete my own post?
  15. Me acabas de abrir un horizonte de posibilidades impensadas. Te amo
  16. I don't know if it is "not posible" but, at least by config db, it seems to be imposible, be cause there is no other declaration about "drop and luk". Maybe u could take a look at src files, like map, or stats... but i really doubt, at least without doing a "great" src edit
  17. Is there a way to increase ALL mob damage? If the answer is YES, please, help me to edit the scr file needed to. Thx!!
  18. I just find those 2 mentions to AC_CONCENTRATION, and noone is able to edit the %dex/agi stats. Additionally, i want to add 2 more buffs to Concentration: LUK and CRIT. Do u know how to do it?
  19. No puedo encontrar por ningun lado, cómo se asignan los buffs de Improve Cocentration / Attention Concentrate. Solo encontré algunas definiciones en SCR, donde aparecen algunos "case AC_CONCENTRATE", pero ninguna permite editar los % de DEX y AGI que otorga. Quisiera poder editar dichos buffs y tambien agregarle otros.... como darle un plus de LUK y CRIT. Alguien sabe dónde esta el skill y de qué manera puedo agregarle esto? Gracias!
  20. Okey, i'll try. And i added 1 question to my post. Do u know?
  21. I added some cooldown time (time between uses) to items and abilties. Red potions can be used 1 each 3 seconds. Improve Concentration can use 1 each 60 seconds. But, the "skill bar" dont show neither red potions cant be used or improve C can`t be used. I just receive a message in the chat box like "3 seconds to use it / 2 seconds to use it" each time i press the hotkey. 1) How can I add a "visual" timer?? (to skills or Items) I wanna eddit skills like Blessing, Improve Concentration, etc.... by adding some buffs they haven't. e.g.: Improve Concentration gives you (adittionally to agi and dex) +LUK and +CRIT. Same for Blessing.... but i cant find the code on SRC folder files 2) Where to edit skills like Improv Concentration and Blessing on SRC? Thx u all!
  22. on wich .grf file? 4jobs.grf or data.grf? Still dunno how the game could read a de encripted file, if you say "just copy it"
  23. I have no data folder. I mean, my data folder is empty. So, should I download the archives of the data folder de encripted and then configure the server to read that.... ?
  24. Intente copiar y pegar un archivo .lub a la carpeta: Data/Luafiles514/skillinfoz y los cambios no se ven reflejados en el juego. (Recompile, cerre el server, lo volvi a abir, etc...) Que pasos debo seguir para "inyectar" el archivo.... Te cuento que hice: 1)Descargue el archivo skillinfoz.lua desencriptado que permite leer y editar las desripciones de los skills 2)Edité dicho archivo. Modifique el texto de una habilidad para comprobar si funciona. 3)Copio el archivo skillinfoz.lua (modificado por mi) en la carpeta en la que estaba. 4)Abro el server 5)Los cambios NO se ven reflejados.
×
×
  • Create New...