Jump to content

t3quila

Members
  • Posts

    36
  • Joined

  • Last visited

  • Days Won

    1

t3quila last won the day on April 11 2014

t3quila had the most liked content!

Profile Information

  • Gender
    Male
  • Location
    Indonesia

Recent Profile Visitors

2041 profile views

t3quila's Achievements

Poring

Poring (1/15)

4

Reputation

2

Community Answers

  1. is this possible? case SP_MAGIC_HP_DRAIN_RATE: // bonus2 bMagicHPDrainRate,x,n; if(!sd->state.lr_flag) { sd->skillatk.hp_drain_rate.rate += type2; sd->skillatk.hp_drain_rate.per += val; } break; case SP_MAGIC_SP_DRAIN_RATE: // bonus2 bMagicSPDrainRate,x,n; if(!sd->state.lr_flag) { sd->skillatk.sp_drain_rate.rate += type2; sd->skillatk.sp_drain_rate.per += val; } break;
  2. I use latest rathena, and i can convert it to rathena, but not completely fixed, no error for image, but still, i stuck in "while (true) {" anyone can help me to solve it? i stuck in here while (true) { if ( (zeny < .Zeny_Cost) && (#freewheelfortunespin < 0)) callsub S_End; switch (select( (#freewheelfortunespin > 0)?"Yes! Use free spin! ("+#freewheelfortunespin+" left)": (Zeny >= .Zeny_Cost)?"Yes! Use Zeny. (costs "+.Zeny_Cost+"z)": "No (Leave)" )) { // pay with free spin case 1: if (#freewheelfortunespin > 0) { if ((#freewheelfortunespin -= 1) < 0) #freewheelfortunespin = 0; callsub S_Spin; } else callsub S_End; break; // Pay with zeny case 2: if (zeny >= .Zeny_Cost) { set zeny,zeny-.Zeny_Cost; callsub S_Spin; } else { cutin "aca_salim02",2; mes .EventName$; mes "Awww, you don't have enough to gamble..."; mes " "; mes "Have you ever heard?"; mes "'Money isn't all that matters' Got it?"; mes "Byeeeeeeeeeeeeee ;)"; callsub S_End; } break; default: callsub S_End; } }
  3. do you mean like this? skill.c / skill.cpp case SM_BASH: if( sd && skill_lv > 5 && pc_checkskill(sd,SM_FATALBLOW)>0 ){ //BaseChance gets multiplied with BaseLevel/50.0; 500/50 simplifies to 10 [Playtester] status_change_start(src,bl,SC_STUN,(skill_lv-5)*sd->status.base_level*10, skill_lv,0,0,0,skill_get_time2(SM_FATALBLOW,skill_lv),SCSTART_NONE); } //Your Custom SC for BASH | 2*skill_lv+10 = is Chance | skill_get_time2 (duration) you can add sum or min for this sc_start(src,bl,SC_BASHMARK,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_BURNING,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_STONE,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_MAGICMUSHROOM,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv)); sc_start(src,bl,SC_DPOISON,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv)); break; & skill_cast_db.txt //-- SM_BASH 5,0,0,0,10000,10000,0,0 // 10000 Means 10 seconds of all your Bash Debuff duration (randomly)
  4. i use this for a chance int8 rchance = rnd()%100; if( rchance > 10 ){ //if( rd.flag[sd->roulette.stage][sd->roulette.prizeIdx]&1 ){ result = GENERATE_ROULETTE_LOSING; sd->roulette.stage = 0; }else{ result = GENERATE_ROULETTE_SUCCESS; sd->roulette.stage++; } } it means, chance success just only 10%
  5. in clif.cpp You can find in there if( !sd->roulette.stage && sd->roulette_point.bronze <= 0 && sd->roulette_point.silver < 10 && sd->roulette_point.gold < 10 ){ result = GENERATE_ROULETTE_NO_ENOUGH_POINT; }else{ if (!sd->roulette.stage) { if (sd->roulette_point.bronze > 0) { sd->roulette_point.bronze -= 1; pc_setreg2(sd, ROULETTE_BRONZE_VAR, sd->roulette_point.bronze); } else if (sd->roulette_point.silver > 9) { sd->roulette_point.silver -= 10; sd->roulette.stage = 2; pc_setreg2(sd, ROULETTE_SILVER_VAR, sd->roulette_point.silver); } else if (sd->roulette_point.gold > 9) { sd->roulette_point.gold -= 10; sd->roulette.stage = 4; pc_setreg2(sd, ROULETTE_GOLD_VAR, sd->roulette_point.gold); } } (dont forget recompile)
  6. bump for this! any idea how to make this custom?
  7. this is like a switch job system in final fantasy xiv, cool! i hope it can be used for more than two jobs someday.. hehe
  8. in src/config/renewal.h search #define RENEWALthen change to this //#define RENEWAL
  9. i have no idea for add option in battle config, but if you just want showing Devotion Icon for who receiving status devotion, you just add this on status.c StatusIconChangeTable[SC_DEVOTION] = SI_DEVOTION;recompile, and you must add your image icon (example devotion.tga) to effect folder, and add name and description to your status icon lua (luafiles514/lua files/stateicon)
  10. you can add SC_WARMER and modif it, in status.c if you want.. for exp: case SC_DEEPSLEEP: case SC_SLEEP: case SC_STUN: case SC_FREEZING: case SC_CRYSTALIZE: if (sc->opt1) return 0; // Cannot override other opt1 status changes. [Skotlex] if((type == SC_FREEZE || type == SC_FREEZING || type == SC_CRYSTALIZE) && sc->data[SC_WARMER]) return 0; // Immune to Frozen and Freezing status if under Warmer status. [Jobbie] break; /////////////////////////////// case SC_WARMER: status_change_end(bl, SC_CRYSTALIZE, INVALID_TIMER); status_change_end(bl, SC_FREEZING, INVALID_TIMER); status_change_end(bl, SC_FREEZE, INVALID_TIMER); break; add this: StatusIconChangeTable[SC_ANTIFROST] = SI_ANTIFROST; //in line statusiconchangetable case SC_DEEPSLEEP: case SC_SLEEP: case SC_STUN: case SC_FREEZING: case SC_CRYSTALIZE: if (sc->opt1) return 0; // Cannot override other opt1 status changes. [Skotlex] if((type == SC_FREEZE || type == SC_FREEZING || type == SC_CRYSTALIZE) && sc->data[SC_WARMER]) return 0; // Immune to Frozen and Freezing status if under Warmer status. [Jobbie] if((type == SC_FREEZE) && sc->data[SC_ANTIFROST]) return 0; // Immune to Frozen only. [T3quila] break; /////////////////////////////// case SC_WARMER: status_change_end(bl, SC_CRYSTALIZE, INVALID_TIMER); status_change_end(bl, SC_FREEZING, INVALID_TIMER); status_change_end(bl, SC_FREEZE, INVALID_TIMER); break; case SC_ANTIFROST: status_change_end(bl, SC_FREEZE, INVALID_TIMER); break; dont forget to add SC_ANTIFROST and SI_ANTIFROST to status.h and const.txt, dont forget for recompile your server, and add your stateicon folder .lua/lub in your client.
  11. maybe you can add status icon with Urgent call/Guild Recall with SI_ in status.c for exp: set_sc( GD_EMERGENCYCALL, SC_GUILDCALL, SI_GUILDCALL, SCB_NONE ); StatusIconChangeTable[SC_GUILDCALL] = SI_GUILDCALL; after create that status icon,dont forget to recompile your map server. and dont forget to add skill_db.txt,etc and .lua/lub for your client. exp: http://rathena.org/b...om-guild-skill/
  12. can i look your modification? oh dont forget to recompile your map-server if you changed any src/map.
  13. you can modif it in battle.c and search SC_SPIRIT for example, you want change damage for holy light (if priest given sl spirit) case AL_HOLYLIGHT: skillratio += 25; if (sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_PRIEST) [b]skillratio *= 5; //Does 5x damage include bonuses from other skills?[/b] break; most important to modif effect of the spirit is from if (sd && sd->sc.data[SC_SPIRIT] && .....blablabla)
  14. i'm so sorry.. i forgot about { before short elementactually no prob in my skill.c, i wrote it like this:http://pastebin.com/raw.php?i=bfzpBxai
×
×
  • Create New...