Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/21/14 in all areas

  1. Introduction : This Custom Enchantment System is based on the official enchantments (Mora Items, El Dicastes Quest Items) but improved for any armor-type in the game. Explanation : Enchantment Attributes : A NPC Allows you to enchant your armors 2nd, 3rd and 4th slots with many attributes, for example : STR + 1, STR + 2, Atk Speed + 1%, DEF + 1, Cast Time - 1% And a lot more. Enchantment Limits : You can enchant each slot for a different attribute, this means you can eventually get a LOT of bonuses. considering you are incredibly lucky, or just incredibly rich, and you spent an incredible amount of time playing, the maximum amount of one status you could get would be +45. Three +3 STR in each slot, 2nd, 3rd and 4th, in every armor piece, headgear, foot-gear, armor, shield and garment. That would give you a total of +45 STR for example. Obviously, it is ridiculously hard to achieve such limit. Enchantment Types : Normal Enchantment : Costs a bit of money, highest chance of working among the enchantments, but the enchantment given is random, you can choose a set of enchantments depending on your class, but it is not restricted only to your class. (Which means you can use a mage enchantment being an archer for example). MvP Selectable Enchantment : This works the same as normal enchantments, except you need 1 Unique Power Stone (will be explained later) to do this enchantment. The difference is that the cost is higher, the chance lower, but you will be able to select the normal enchantment you want, instead of being given randomly. MvP Unique Enchantment : This has a different special set of enchantments, you can get insane bonuses, but the enchantment costs 3 Unique Power Stones, a lot more money and has a lot higher chance to fail. The enchantment is given randomly and you can't choose a class-type in this specific enchantment. GM Enchantment : With this you can select any enchantment for free and with 100% chance to work, obviously it is only restricted to GMs above level 80. (You can change this in the script, refer to the header inside the NPC txt) Unique Power Stones : These are obtained through trading in MvP Misc items with the NPC, such as Fang of Garm, Tiger Footskin, etc. You can change these item requirements inside the NPC script. Please refer to the header in the txt for more info. Warning : The Following things may bug this system : - Your server has more than 1 slots for armors (footgears, headgears, etc). - Your server has a decarder NPC - Your server has a "Sign your name on item" NPC. - Your server uses 2nd, 3rd or 4th slots for armors for something else. - Be carefull with Mora Items, make sure to add them as an exception. - Be carefull with the normal armor enchant NPC in south prontera. (Recommended you remove it) Pictures : Download : Version 1.0 - Direct Download : Enchantment System.rar Media Fire : http://www.mediafire...5aj5947cweiae3q 4Shared : http://www.4shared.c...ent_System.html
    1 point
  2. my first time doing this so please bare with me. i only have few knowledge on programming C. but what it does is when soul linked you can use single strip on a fcp'd player. basically others do to their src code is dispell the FCP and then strip goes in. in my code i do is dispell the FCP temporarily and revert it back to 1min duration. it is good on woe maps where alot of stalkers arent soul linked. it is also a way to dispel strip by creators. Now on to Skill.c Find case SC_STRIPACCESSARY: { unsigned short location = 0; int d = 0; Add case SC_STRIPACCESSARY: { unsigned short location = 0; int d = 0; unsigned char ii = 0; Find //Attempts to strip at rate i and duration d if( (i = skill_strip_equip(src,bl, location, i, skill_lv, d)) || (skill_id != ST_FULLSTRIP && skill_id != GC_WEAPONCRUSH ) ) clif_skill_nodamage(src,bl,skill_id,skill_lv,i); Add ii = i; //Attempts to strip at rate i and duration d if( (i = skill_strip_equip(src,bl, location, i, skill_lv, d)) || (skill_id != ST_FULLSTRIP && skill_id != GC_WEAPONCRUSH ) ) clif_skill_nodamage(src,bl,skill_id,skill_lv,i); if( !i && ( skill_id == RG_STRIPWEAPON || skill_id == RG_STRIPSHIELD || skill_id == RG_STRIPARMOR || skill_id == RG_STRIPHELM ) ) { int idx = sd?pc_search_inventory (sd, 7321):-1; if( idx >= 0 ) { struct status_change *sc_ = status_get_sc(src); if( sc_->data[SC_SPIRIT] ) { if( sc_->data[SC_SPIRIT]->val2 == SL_ROGUE ) { if (rnd()%100 >= ii) { if( skill_id == RG_STRIPWEAPON ){ status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER ); skill_strip_equip(src,bl, EQP_WEAPON, ii, skill_lv, d); sc_start(src,bl,(sc_type)(SC_CP_WEAPON),100,skill_lv,60000); } else if( skill_id == RG_STRIPSHIELD ){ status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER ); skill_strip_equip(src,bl, EQP_SHIELD, ii, skill_lv, d); sc_start(src,bl,(sc_type)(SC_CP_SHIELD),100,skill_lv,60000); } else if( skill_id == RG_STRIPARMOR ){ status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER ); skill_strip_equip(src,bl, EQP_ARMOR, ii, skill_lv, d); sc_start(src,bl,(sc_type)(SC_CP_ARMOR),100,skill_lv,60000); } else if( skill_id == RG_STRIPHELM ){ status_change_end( bl, SC_CP_HELM, INVALID_TIMER ); skill_strip_equip(src,bl, EQP_HELM, ii, skill_lv, d); sc_start(src,bl,(sc_type)(SC_CP_HELM),100,skill_lv,60000); } clif_skill_nodamage(src,bl,skill_id,skill_lv,ii); break; } pc_delitem(sd, idx, 1, 0, 1, LOG_TYPE_NONE); } } } } Find case AM_CP_HELM: { unsigned int equip[] = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HEAD_TOP}; if( sd && ( bl->type != BL_PC || ( dstsd && pc_checkequip(dstsd,equip[skill_id - AM_CP_WEAPON]) < 0 ) ) ){ clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); map_freeblock_unlock(); // Don't consume item requirements return 0; } status_change_end(bl, scid, INVALID_TIMER); clif_skill_nodamage(src,bl,skill_id,skill_lv, sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv))); } break; Edit case AM_CP_HELM: { unsigned int equip[] = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HEAD_TOP}; enum sc_type scid = (sc_type)(SC_STRIPWEAPON + (skill_id - AM_CP_WEAPON)); if( sd && ( bl->type != BL_PC /*|| ( dstsd && pc_checkequip(dstsd,equip[skill_id - AM_CP_WEAPON]) < 0 )*/ ) ){ clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); map_freeblock_unlock(); // Don't consume item requirements return 0; } status_change_end(bl, scid, INVALID_TIMER); clif_skill_nodamage(src,bl,skill_id,skill_lv, sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv))); } break; Find case CR_FULLPROTECTION: { unsigned int equip[] = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HEAD_TOP}; int i_eqp, s = 0, skilltime = skill_get_time(skill_id,skill_lv); for (i_eqp = 0; i_eqp < 4; i_eqp++) { if( bl->type != BL_PC || ( dstsd && pc_checkequip(dstsd,equip[i_eqp]) < 0 ) ) continue; sc_start(src,bl,(sc_type)(SC_CP_WEAPON + i_eqp),100,skill_lv,skilltime); s++; } if( sd && !s ){ clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); map_freeblock_unlock(); // Don't consume item requirements return 0; } clif_skill_nodamage(src,bl,skill_id,skill_lv,1); } break; Edit case CR_FULLPROTECTION: { unsigned int equip[] = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HEAD_TOP}; int i_eqp, s = 0, skilltime = skill_get_time(skill_id,skill_lv); for (i_eqp = 0; i_eqp < 4; i_eqp++) { if( bl->type != BL_PC /*|| ( dstsd && pc_checkequip(dstsd,equip[i_eqp]) < 0 )*/ ) continue; status_change_end(bl, (sc_type)(SC_STRIPWEAPON + i), INVALID_TIMER); status_change_end(bl, (sc_type)(SC_STRIPHELM + i), INVALID_TIMER); status_change_end(bl, (sc_type)(SC_STRIPSHIELD + i), INVALID_TIMER); status_change_end(bl, (sc_type)(SC_STRIPARMOR + i), INVALID_TIMER); sc_start(src,bl,(sc_type)(SC_CP_WEAPON + i_eqp),100,skill_lv,skilltime); s++; } if( sd && !s ){ clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); map_freeblock_unlock(); // Don't consume item requirements return 0; } clif_skill_nodamage(src,bl,skill_id,skill_lv,1); } break; Sorry if its messy..
    1 point
  3. Here you can find the PR. This allows the menu to work with translations. https://github.com/Freyja-Folkvangr/FluxCP/commit/8f95e74259864edb7ed188ee38f7f4c3815a8ca9
    1 point
  4. Overall it's an okay logo, however the first ' A ' in Aria looks VERY isolated. One could almost argue, that the server name is: RIA ragnarok online. What your missing, is something to tie them together.
    1 point
  5. create a PR please, people freely make new PR about bug fix/improvement why "Akkarin FluxCP"? I just found that statement discredit contributors.
    1 point
  6. you can edit the source of the skill....or simply a chronjob with 'DELETE FROM atcommandlog WHERE command = "@identify";'
    1 point
  7. Hola Saludos Chic@s les cuento, estamos montando un servidor High Rates, Sin 3°Job, Custom(<Set Elementales> 1 slot, y todo nivelado) con sistema elementos, varios eventos creado por nosotros y funcionales, ademas de sistemas únicos de nosotros =) Llevamos bastantes años de experiencia con el otro ADM, nos manejamos bien, pero en lo que es Web/Imágenes/Banner etc.. somos feos asjajjjaajjajajaja **Lo que Necesitamos Ahora es un WebMaster que se encargue de poner su talento en la Web, tendrá todo nuestro apoyo para facilitar su trabajo =) Más Información o Consultas <Mensaje> Estare atento por algun interezado =) PD: Ya somos viejos en lo que es Ragnarok, así que nos preocupamos bastante de detalles y nos apesta los corruptos. =)
    1 point
  8. Saludos, Hay te mande un Mensaje privado =)
    1 point
  9. This do you need? In a text in white he adds: Example: map shop nameNPC idNPC,iditem:Price vend_zone.gat,98,117,6 shop Bullet 564,13205:15,13206:15,13207:15 *Spaces with a key shift
    1 point
  10. Hello, to avoid this alone message it changes this rathena/conf/battle/client.txt // Show eAthena version to users when the login? display_version: yes To replace: Yes---> No
    1 point
  11. lo que el marca su error es con un * en la linea *740. su linea 740 es la mala lo que se ve vista es un error de escritura con un ' de más, es ese el error que explica el linkinoex, solo borra el ' después del checkspace
    1 point
×
×
  • Create New...