Jump to content

pajodex

Members
  • Posts

    436
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by pajodex

  1. It means your map is not listed in your mapache/server files. Make sure your map is listed in trunk/db/map_index.db and mapcache. I think you are trying to make a custom endless tower. You just cant edit the name of the map. The map 'should' exsist.
  2. I just wanna ask, does this code duplicates an npc? <map>,<x>,<y>,<pos><TAB>duplicate(<NPCs name source>)<TAB><DUPLICATENPCNAME>#<UNIQUE IDENTIFIER><TAB><SPRITE> alberta,25,240,6 duplicate(Healer) Healer#alb 909 Well, if it is in a script command, maybe do a: *disablenpc "<NPC object name>"; *enablenpc "<NPC object name>"; *unloadnpc "<NPC object name>"; // This command will fully unload a NPC object and all of it's duplicates. *doevent "<NPC object name>::<event label>"; or just search what you need here: https://github.com/rathena/rathena/blob/master/doc/script_commands.txt
  3. Yeah but basing on that code, it only adjusts the "success rate". I wanted to alter the "break rate" and make the success rate as is. As I read the code: I guess it breaks when it won't refine but nothing says about the breaking rate chances
  4. Thanks @Haziel that's good to know. I guess to lower the break chance is almost impossible to set.
  5. That is causing That is caused by faulty sprites. Just look for another one. Both spr and act.
  6. Change from iteminfo.lub to iteminfo.lua** Let me elaborate, select all recommended diff, there will be pop ups. Make sure when you reach that part, rename the default "iteminfo.lub" to "iteminfo.lua"
  7. Hi, How can I lower the chances of breaking the item when using Weapon Refine by whitesmith. void skill_weaponrefine(struct map_session_data *sd, int idx) { nullpo_retv(sd); if (idx >= 0 && idx < MAX_INVENTORY) { struct item *item; struct item_data *ditem = sd->inventory_data[idx]; item = &sd->inventory.u.items_inventory[idx]; if(item->nameid > 0 && ditem->type == IT_WEAPON) { int i = 0, per; unsigned short material[5] = { 0, ITEMID_PHRACON, ITEMID_EMVERETARCON, ITEMID_ORIDECON, ITEMID_ORIDECON }; if( ditem->flag.no_refine ) { // if the item isn't refinable clif_skill_fail(sd,sd->menuskill_id,USESKILL_FAIL_LEVEL,0); return; } if( item->refine >= sd->menuskill_val || item->refine >= 10 ) { clif_upgrademessage(sd->fd, 2, item->nameid); return; } if( (i = pc_search_inventory(sd, material [ditem->wlv])) < 0 ) { clif_upgrademessage(sd->fd, 3, material[ditem->wlv]); return; } per = status_get_refine_chance(static_cast<refine_type>(ditem->wlv), (int)item->refine, false); if( sd->class_&JOBL_THIRD ) per += 15; else per += (((signed int)sd->status.job_level)-50)/2; //Updated per the new kro descriptions. [Skotlex] pc_delitem(sd, i, 1, 0, 0, LOG_TYPE_OTHER); if (per > rnd() % 100) { int ep=0; log_pick_pc(sd, LOG_TYPE_OTHER, -1, item); item->refine++; log_pick_pc(sd, LOG_TYPE_OTHER, 1, item); if(item->equip) { ep = item->equip; pc_unequipitem(sd,idx,3); } clif_delitem(sd,idx,1,3); clif_upgrademessage(sd->fd, 0, item->nameid); clif_inventorylist(sd); clif_refine(sd->fd,0,idx,item->refine); achievement_update_objective(sd, AG_REFINE_SUCCESS, 2, ditem->wlv, item->refine); if (ep) pc_equipitem(sd,idx,ep); clif_misceffect(&sd->bl,3); if(item->refine == 10 && item->card[0] == CARD0_FORGE && (int)MakeDWord(item->card[2],item->card[3]) == sd->status.char_id) { // Fame point system [DracoRPG] switch(ditem->wlv){ case 1: pc_addfame(sd, battle_config.fame_refine_lv1); // Success to refine to +10 a lv1 weapon you forged = +1 fame point break; case 2: pc_addfame(sd, battle_config.fame_refine_lv2); // Success to refine to +10 a lv2 weapon you forged = +25 fame point break; case 3: pc_addfame(sd, battle_config.fame_refine_lv3); // Success to refine to +10 a lv3 weapon you forged = +1000 fame point break; } } } else { item->refine = 0; if(item->equip) pc_unequipitem(sd,idx,3); clif_upgrademessage(sd->fd, 1, item->nameid); clif_refine(sd->fd,1,idx,item->refine); achievement_update_objective(sd, AG_REFINE_FAIL, 1, 1); pc_delitem(sd,idx,1,0,2, LOG_TYPE_OTHER); clif_misceffect(&sd->bl,2); clif_emotion(&sd->bl, ET_HUK); } } } } Thanks
  8. I think it's somewhere at battleconf/party.txt I'm not at home yet so I can't check it my self.
  9. This is probably client - related. I have not done it though.
  10. Hi, I tried to do this at skill.cpp: I edited the 'sC' typos and everything but it gave me a lot of errors. maybe someone can help me make backsliding/relocate/jump skills will be disabled when under close confine to prevent escaping. Thanks
  11. That's one last thing I would like to hear. I guess there is no way. hahaha. Sorry for being lazy.
  12. Hi, Is there any ways to make ALL books in DB will have +10 to all stats? Aside from manually adding "bonus bAllstats, 10;" at item db?
  13. You can always merge custom maps to your main grf once you dont encounter any problems with it. The method I advised you was just to prevent any unnecessary re-do of your client files which is really a hassle. You can now pin point which map is causing the error, once you do, try to look for another source of it. Most probably you were missing a file or two for sure
  14. 1. Check your data.ini if it is reading your main grf properly, it will look something like this: [Data] 0=extras.grf // add some sub grf 1=costumes.grf // add some sub grf 2=main.grf // here is your main grf 3=rdata.grf 4=data.grf Client will read the grf located at 0 then 1 then etc.. 2. --- 3. --- 4. go setup a new server (clean) without any mods. try opening your current client, if error still occurs, its most probably the map it self has the problem or it is not being read at all. My advise to you is, when you put something new in your client, especially when merging to the main grf. make sure you make a separate grf first before merging to your main grf. If your PC's storage will allow you to store more, better yet, make back ups from time to time.
  15. 1. did you add the map inside a grf? maybe you forgot to add the grf in data.ini? Just stating one of most common mistake. 2. check if the map has complete files. check also your data/texture/.. folder for other map files. 3. check if the map it self is not corrupted. 4. get a clean svn and check if your client can run without custom map. (just to make sure if the problem really the map
  16. Hi, How can I make Turn Undead damage to demi-humans? No instant kill but just damages them then adds SC_CURSE for 10% chance? skill.cpp case PR_TURNUNDEAD: { struct status_data *tstatus = status_get_status_data(target); if (!battle_check_undead(tstatus->race, tstatus->def_ele)) return USESKILL_FAIL_MAX; } break; Thanks in advance
  17. This is crazy but I've messed it up quite a bit.. /hehe Here is how I did it now @party_id = getcharid(1); getpartymember .@party_id,1; getpartymember .@party_id,2; for( set .@i, 0; .@i < $@partymembercount; set .@i,.@i+1 ){ if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){ attachrid $@partymemberaid[.@i]; //your stuffs here if (attachrid(.@teamA1[0])) { //attachrid .@teamA1[0]; if(getcharid(1)) { party_delmember(); sleep2 1; } party_create md5(gettimetick(2)+"A"); sleep2 1; .PID[1] = getcharid(1); detachrid; } if (attachrid(.@teamA2[0])) { //attachrid .@teamA2[0]; if(getcharid(1)) { party_delmember(); sleep2 1; } party_create md5(gettimetick(2)+"B"); sleep2 1; .PID[2] = getcharid(1); detachrid; } for(.@i = 1; .@i < .@num; .@i++) { if (attachrid(.@teamA1[.@i])) { //attachrid .@teamA1[.@i]; if(getcharid(1)) { party_delmember(); sleep2 1; } party_addmember .PID[1],getcharid(0); detachrid; } if (attachrid(.@teamA2[.@i])) { //attachrid .@teamA2[.@i]; if(getcharid(1)) { party_delmember(); sleep2 1; } party_addmember .PID[2],getcharid(0); detachrid; } } end; // your stuff here } } Still getting [Error]: buildin_getcharid: fatal error ! player not attached! [Debug]: Function: getcharid (1 parameter): [Debug]: Data: number value=1 [Debug]: Source (NPC): MD at prontera (150,174) Sorry for really annoying rAthena x_x
  18. I tried using sleep2 but it gives me error in console. something like "buildin_func_sleep2 bla bla cannot attach bla bla"
  19. That "Your stuffs here" part should my recent edit go? Or the unedited one? Sorry, I kinda learn things the hard way.
  20. I dunno if I'm doing it right. This is how I did it: if (attachrid(.@teamA1[0])) { attachrid .@teamA1[0]; if(getcharid(1)) { party_delmember(); sleep 1; } party_create md5(gettimetick(2)+"A"); sleep 1; .PID[1] = getcharid(1); detachrid; } if (attachrid(.@teamA2[0])) { attachrid .@teamA2[0]; if(getcharid(1)) { party_delmember(); sleep 1; } party_create md5(gettimetick(2)+"B"); sleep 1; .PID[2] = getcharid(1); detachrid; } for(.@i = 1; .@i < .@num; .@i++) { if (attachrid(.@teamA1[0])) { attachrid .@teamA1[.@i]; if(getcharid(1)) { party_delmember(); sleep 1; } party_addmember .PID[1],getcharid(0); detachrid; } if (attachrid(.@teamA2[0])) { attachrid .@teamA2[.@i]; if(getcharid(1)) { party_delmember(); sleep 1; } party_addmember .PID[2],getcharid(0); detachrid; } but I'm getting this in console: [Error]: script:run_script_main: infinity loop ! [Debug]: Source (NPC): Mushroom Defense at prontera (150,174) Sorry for bugging you
  21. Sorry, I'm just new to this complex scripting (at least for me) but where do I put that?
  22. Doesn't this part check if he's offline? attachrid .@teamA2[.@i];
  23. Post some screenshots / console errors to provide more info?
  24. Hi, Sorry I cant post the full script but I think the main problem is this part if(getcharid(1)) { party_delmember(); sleep 1; } party_create md5(gettimetick(2)+"A"); sleep 1; .PID[1] = getcharid(1); detachrid; attachrid .@teamA2[0]; if(getcharid(1)) { party_delmember(); sleep 1; } party_create md5(gettimetick(2)+"B"); sleep 1; .PID[2] = getcharid(1); detachrid; for(.@i = 1; .@i < .@num; .@i++) { attachrid .@teamA1[.@i]; if(getcharid(1)) { party_delmember(); sleep 1; } party_addmember .PID[1],getcharid(0); detachrid; attachrid .@teamA2[.@i]; if(getcharid(1)) { party_delmember(); sleep 1; } party_addmember .PID[2],getcharid(0); detachrid; } I'm having this error in console: [Error]: buildin_getcharid: fatal error ! player not attached! [Debug]: Function: getcharid (1 parameter): [Debug]: Data: number value=1 [Debug]: Source (NPC): MD at prontera (150,174)
  25. Hi, I have successfully edited the Def and Mdef to my desired setting. However, I'm encountering problem with regards with Atk Calculation. After compiling (no errors), the Atk1 still remains at '416' on a str and dex of 230. (see attached photos) status.cpp (before) // Atk stat = (status_get_homstr(bl) + status_get_homdex(bl)) / 5; status->rhw.atk = cap_value(stat, 1, SHRT_MAX); status.cpp (after) // Atk stat = (status_get_homstr(bl) + status_get_homdex(bl)) * 500000; // testing only status->rhw.atk = cap_value(stat, 1, SHRT_MAX); No matter how much I screw with this formula, nothing has changed Pic below is the default formula for Atk, Def, and Mdef After editing Atk, Def, and Mdef: I hope someone can help Thanks~
×
×
  • Create New...