Jump to content

EIysium

Members
  • Posts

    98
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by EIysium

  1. Thank you Gerzzie and Gnome, now works fine i didn't edited 'BaseURI' => 'blank', Slap me please. Problem solved
  2. Greetings, I have placed all the files in the CP folder in the public_html and when I wanted to install the Flux CP, it has an error of 404 Not Found. I have the .htaccess created.
  3. Só procurei o error no notepad++ com alt + g deletando os símbolos como NULL ou ????, a maioria tinha a descrição assim: ?┳?┯업?ㄳ?? ou também tinha os nomes dos itens sem fechar com " "
  4. @Raiden Aproveitei o tempo para corrigi-lo e você não testou. O arquivo corrompe quando vc edita ele, por isso tem que ir item x item corrigindo, btw eu deixei para baixar o iteminfo ja corrigido.
  5. Por algum motivo quando um edita o arquivo do iteminfo novo, alguns itens corrompe. Procura o erro com CTRL + H e procura o num que diz no erro "138717"
  6. Find: // Checks if the player can change to third class. // Note: This does not include the level checks. function Can_Change_Third { // To change to third class you either need to be: // * Second Class // * Transcendent Second Class // * Baby Second Class if( !.ThirdClass ) return false; // Third job change disabled if( !(eaclass()&EAJL_2) ) return false; // Not second Class if( eaclass()&EAJL_THIRD ) return false; // Already Third Class if( roclass(eaclass()|EAJL_THIRD) < 0 ) return false; // Job has no third Class if( (eaclass()&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE ) return false; // Exp. Super Novice equals 3rd Cls, but has it's own case if( Is_Baby() && (!.BabyClass || !.BabyThird) ) return false; // No Baby (Third) change allowed return true; } Replace if( !(eaclass()&EAJL_2) ) to if( !(eaclass()&EAJL_UPPER) ) // Checks if the player can change to third class. // Note: This does not include the level checks. function Can_Change_Third { // To change to third class you either need to be: // * Second Class // * Transcendent Second Class // * Baby Second Class if( !.ThirdClass ) return false; // Third job change disabled if( !(eaclass()&EAJL_UPPER) ) return false; // Not second Class if( eaclass()&EAJL_THIRD ) return false; // Already Third Class if( roclass(eaclass()|EAJL_THIRD) < 0 ) return false; // Job has no third Class if( (eaclass()&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE ) return false; // Exp. Super Novice equals 3rd Cls, but has it's own case if( Is_Baby() && (!.BabyClass || !.BabyThird) ) return false; // No Baby (Third) change allowed return true; }
  7. - script refresh_pvp -1,{ OnInit: bindatcmd "refresh",strnpcinfo(0) +"::OnRefresh"; end; OnRefresh: if( getmapflag( strcharinfo(3),mf_pvp ) ) { message strcharinfo(0),"@refresh is not allowed in pvp map."; end; } else { message strcharinfo(0),"You must wait 4 seconds for re-use this command."; if (@refdelay) end; set @refdelay, 1; atcommand "@refresh"; sleep2 4000; // 4sec Delay set @refdelay, 0; end; } } Tested and works fine
  8. You need put [true, true] (@command, #command) ex: warp: [true, true]
  9. Te hice un ejemplo para el Accessory custom que quieres hacer: 2627,Belt,Belt,4,20000,,1200,,0,,4,0xFFFFFFFF,63,2,136,,25,0,0,{},{ changebase 4218; },{ changebase Class; }
  10. Naisu, best client mod :D! Please, can you support for 2017-06-14 I would appreciate it very much.
  11. Hi, i have a problem that I have not been able to solve. I want make Hatred Level 1 only for players and all classes, that only receive 50% more damage. Hatred Level 2: only for monsters, that only receive 200% more damage. Hatred Level 3: only for emperium, that only receive 500% more damage. Thank you for your time o/
  12. Hello, you can do in src/map/pc.cpp (Don't forget recompile) Search: if(sd->bl.prev == NULL || pc_isdead(sd)) return; and add below: if(sd->status.base_level >= 99) base_exp = 0; Tested and works fine. Original Topic.
  13. You can do this in src/map/status.cpp and search: // Strip skills, need to divest something or it fails. case SC_STRIPWEAPON: if (sd && !(flag&SCSTART_LOADED)) { // Apply sc anyway if loading saved sc_data short i; opt_flag = 0; // Reuse to check success condition. if(sd->bonus.unstripable_equip&EQP_WEAPON) return 0; i = sd->equip_index[EQI_HAND_L]; if (i>=0 && sd->inventory_data[i] && sd->inventory_data[i]->type == IT_WEAPON) { opt_flag|=1; pc_unequipitem(sd,i,3); // Left-hand weapon } i = sd->equip_index[EQI_HAND_R]; if (i>=0 && sd->inventory_data[i] && sd->inventory_data[i]->type == IT_WEAPON) { opt_flag|=2; pc_unequipitem(sd,i,3); } if (!opt_flag) return 0; } if (tick == 1) return 1; // Minimal duration: Only strip without causing the SC break; case SC_STRIPSHIELD: if( val2 == 1 ) val2 = 0; // GX effect. Do not take shield off.. else if (sd && !(flag&SCSTART_LOADED)) { short i; if(sd->bonus.unstripable_equip&EQP_SHIELD) return 0; i = sd->equip_index[EQI_HAND_L]; if ( i < 0 || !sd->inventory_data[i] || sd->inventory_data[i]->type != IT_ARMOR ) return 0; pc_unequipitem(sd,i,3); } if (tick == 1) return 1; // Minimal duration: Only strip without causing the SC break; case SC_STRIPARMOR: if (sd && !(flag&SCSTART_LOADED)) { short i; if(sd->bonus.unstripable_equip&EQP_ARMOR) return 0; i = sd->equip_index[EQI_ARMOR]; if ( i < 0 || !sd->inventory_data[i] ) return 0; pc_unequipitem(sd,i,3); } if (tick == 1) return 1; // Minimal duration: Only strip without causing the SC break; case SC_STRIPHELM: if (sd && !(flag&SCSTART_LOADED)) { short i; if(sd->bonus.unstripable_equip&EQP_HELM) return 0; i = sd->equip_index[EQI_HEAD_TOP]; if ( i < 0 || !sd->inventory_data[i] ) return 0; pc_unequipitem(sd,i,3); } if (tick == 1) return 1; // Minimal duration: Only strip without causing the SC break; And replace with this: // Strip skills, need to divest something or it fails. case SC_STRIPWEAPON: if (sd && !(flag&SCSTART_LOADED)) { // Apply sc anyway if loading saved sc_data short i; opt_flag = 0; // Reuse to check success condition. if(sd->bonus.unstripable_equip&EQP_WEAPON) return 0; i = sd->equip_index[EQI_HAND_L]; if (i>=0 && sd->inventory_data[i] && sd->inventory_data[i]->type == IT_WEAPON) { pc_unequipitem(sd,i,3); // Left-hand weapon } i = sd->equip_index[EQI_HAND_R]; if (i>=0 && sd->inventory_data[i] && sd->inventory_data[i]->type == IT_WEAPON) { pc_unequipitem(sd,i,3); } } if (tick == 1) return 1; // Minimal duration: Only strip without causing the SC break; case SC_STRIPSHIELD: if (sd && !(flag&SCSTART_LOADED)) { short i; opt_flag = 0; // Reuse to check success condition. if(sd->bonus.unstripable_equip&EQP_SHIELD) return 0; i = sd->equip_index[EQI_HAND_L]; if (i>=0 && sd->inventory_data[i] && sd->inventory_data[i]->type == IT_ARMOR) { pc_unequipitem(sd,i,3); } } if (tick == 1) return 1; // Minimal duration: Only strip without causing the SC break; case SC_STRIPARMOR: if (sd && !(flag&SCSTART_LOADED)) { short i; opt_flag = 0; // Reuse to check success condition. if(sd->bonus.unstripable_equip&EQP_ARMOR) return 0; i = sd->equip_index[EQI_ARMOR]; if (i>=0 && sd->inventory_data[i] && sd->inventory_data[i]->type == IT_ARMOR) { pc_unequipitem(sd,i,3); } } if (tick == 1) return 1; // Minimal duration: Only strip without causing the SC break; case SC_STRIPHELM: if (sd && !(flag&SCSTART_LOADED)) { short i; opt_flag = 0; // Reuse to check success condition. if(sd->bonus.unstripable_equip&EQP_HELM) return 0; i = sd->equip_index[EQI_HEAD_TOP]; if (i>=0 && sd->inventory_data[i] && sd->inventory_data[i]->type == IT_ARMOR) { pc_unequipitem(sd,i,3); } } if (tick == 1) return 1; // Minimal duration: Only strip without causing the SC break; Tested and works fine
  14. Olá, você pode retirar essa condição em src/map/skill.cpp e procura a linha: status_change_clear_buffs(target, SCCB_BUFFS | SCCB_CHEM_PROTECT); e remove "SCCB_CHEM_PROTECT" status_change_clear_buffs(target, SCCB_BUFFS); Não se esqueça de recompilar seu server.
  15. Search src/config/renewal.hpp and comment with // (don't forget recompile). //#define RENEWAL //#define RENEWAL_CAST //#define RENEWAL_DROP //#define RENEWAL_EXP //#define RENEWAL_LVDMG //#define RENEWAL_ASPD //#define RENEWAL_STAT
  16. You can do manually looking in: db/(pre-re or re)/mob_db.txt db/(pre-re or re)/item_bluebox.txt db/(pre-re or re)/item_giftbox.txt db/(pre-re or re)/item_violetbox.txt db/(pre-re or re)/item_db.txt npc/anything with shops
  17. Test in another map and write @disguise 1874 if you keep giving an error, it's because you do not have the sprite of Beelzebub in your kRO. Probably, they had already answered you above. Maybe it's that you do not have updated your kRO. I recommend you download this: Or download RSU updater: http://nn.ai4rei.net/dev/rsu/
  18. src/char/char.cpp and search: !(start_job == JOB_SUMMONER && (charserv_config.allowed_job_flag&2))) Change (charserv_config.allowed_job_flag&2))) to (charserv_config.allowed_job_flag&1))) !(start_job == JOB_SUMMONER && (charserv_config.allowed_job_flag&1))) Don't forget recompile your server.
  19. db/import/skill_db.txt and paste: 80,9,8,2,3,0x20,1:1:1:1:1:2:2:2:2:2:2,10,3:4:5:6:7:8:9:10:11:12,yes,0,0x2000,5,magic,0,0x1, WZ_FIREPILLAR,Fire Pillar src/map/skill.cpp Find this line: case WZ_FIREPILLAR: if( map_getcell(src->m, x, y, CELL_CHKLANDPROTECTOR) ) return NULL; if((flag&1)!=0) limit=1000; val1=skill_lv+2; break; And comment below case WZ_FIREPILLAR: //if( map_getcell(src->m, x, y, CELL_CHKLANDPROTECTOR) ) //return NULL; if((flag&1)!=0) limit=1000; val1=skill_lv+2; break; Search this: //It deletes everything except traps and barriers if ((!(skill_get_inf2(unit->group->skill_id)&(INF2_TRAP)) && !(skill_get_inf3(unit->group->skill_id)&(INF3_NOLP))) || unit->group->skill_id == WZ_FIREPILLAR || unit->group->skill_id == GN_HELLS_PLANT) { if (skill_get_unit_flag(unit->group->skill_id)&UF_RANGEDSINGLEUNIT) { if (unit->val2&UF_RANGEDSINGLEUNIT) skill_delunitgroup(unit->group); } else skill_delunit(unit); return 1; } break; and remove: unit->group->skill_id == WZ_FIREPILLAR || //It deletes everything except traps and barriers if ((!(skill_get_inf2(unit->group->skill_id)&(INF2_TRAP)) && !(skill_get_inf3(unit->group->skill_id)&(INF3_NOLP))) || unit->group->skill_id == GN_HELLS_PLANT) { if (skill_get_unit_flag(unit->group->skill_id)&UF_RANGEDSINGLEUNIT) { if (unit->val2&UF_RANGEDSINGLEUNIT) skill_delunitgroup(unit->group); } else skill_delunit(unit); return 1; } break; Then recompile your server, i've tested by myself. Hope it helps.
  20. I tested custom BGM and seems works fine. Maybe you put the song name with the extension, playBGMall "bio5.mp3"; and should be playBGMall "bio5";
  21. You had an extra TAB in prontera,147,170,4 and you miss , in "Poison Bottle to Item Ticket" C_4; and should be "Poison Bottle to item Ticket",C_4; C_OW you miss put : Btw, i recommend you use switch(select in menu tab, is more easy to use and less tedious. I made an example script to help you: prontera,150,171,4 script Item Trader 622,{ disable_items; disable_command; mes "[^711872Trader^000000]"; mes "Hello hello Hello!"; switch(select("Item Ticket to Yggdrasil Berry:Item Ticket to Poison Bottle:Yggdrasil Berry to Item Ticket:Poison Bottle to Item Ticket:- Close.")) { case 1: if (checkweight(607,100) == 0 ) goto C_OW; if(countitem(7284)<1) goto C_NI; delitem 7284,1; getitem 607,100; mes "[^711872Trader^000000]"; mes "[There you go!]"; close; case 2: if (checkweight(678,30) == 0 ) goto L_OW; if(countitem(7284)<1) goto C_NI; delitem 7284,1; getitem 678,300; next; mes "[^711872Trader^000000]"; mes "[There you go!]"; close; case 3: next; if(countitem(607)<100) goto C_NI; delitem 607,100; getitem 7284,1; mes "[^711872Trader^000000]"; mes "[There you go!]"; close; case 4: next; if(countitem(678)<30) goto C_NI; delitem 678,30; getitem 7284,1; mes "[^711872Trader^000000]"; mes "[There you go!]"; close; case 5: next; mes "[^711872Trader^000000]"; mes "See ya!"; close; C_OW: next; mes "[^711872Trader^000000]"; mes "Sorry you're overweight"; close; C_NI: next; mes "[^711872Trader^000000]"; mes "[You don't have the items]"; close; } } I recommend you use disable_items; and disable_command; to prevent exploits. hope it helped you.
  22. https://github.com/rathena/rathena/pull/3548
×
×
  • Create New...

Important Information

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