Jump to content

Bin4ry

Members
  • Posts

    782
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Bin4ry

  1. You would have to wait that diff patch release and it affect ALL PLAYERS, not sure if source edit on clif.c can fake player's chat as Announce Color, GM Color, Dispbottom Color.
  2. Bin4ry

    Data Question

    IT DEFINITELY HAS TO BE DONE WITH PATCHERS or you plan to gives updated custom GRF download link to your player after every update?
  3. Well. Truth to tell is the script is super incomplete, I have no clue after attach party member and warp lol then I stopped.
  4. Yeah I was "TRYING" but end up skipped it. It was out of my scripting skill. But the instance idea was definitely good.
  5. Why do you copy sample PCRE script into disguise? Let me tell me what this do: Lquote41: switch(rand(6)) { case 0: npctalk "Very interesting"; break; case 1: npctalk "I am not sure I understand you fully"; break; case 2: npctalk "What does that suggest to you?"; break; case 3: npctalk "Please continue"; break; case 4: npctalk "Go on"; break; case 5: npctalk "Do you feel strongly about discussing such things?"; break; } ...... defpattern 1, "([^:]+).*)", "Lquote41"; Which mean listen no whatever, and try random from 1 to 6 and execute the randomized case. The disguise event should work properly without any edit.
  6. Bin4ry

    Data Question

    Why not a custom GRF? If you insist to patch custom data into data.grf you can use patcher like Thor Patcher (Fast repack, Neoncube will takes hour to repack whole data.grf)
  7. function script MVPSummon { mes "Select one:"; next; set .@m, select(.smenu$) - 1; } else { close2; atcommand "@spawn " + .mobid[.@m] + " " + .mobam[.@m]; end; } OnInit: // Spawn ID setarray .mobid[0],1511,1647,1785,1630,1039,1874,1272,1719,1046,1389,1112,1115,1418,1871,1252,1768,1086,1885,1649,1651,1832,1492,1734,1251,1779,1688,1646,1373,1147,1059,1150,1087,1190,1038,1157,1159,1623,1650,1583,1708,1312,1751,1648,1658; // Spawn amount setarray .mobam[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; set .smenu$,""; for(set .@s,0; .@s < getarraysize(.mobid); set .@s,.@s + 1) { // Skips an Monster if it does not exist in the db if (getmonsterinfo(.mobid[.@s],0) == "" || getmonsterinfo(.mobid[.@s],0) == "null") { debugmes .n$ + ": Mob ID " + .mobid[.@s] + " is not a valid ID."; deletearray .mobid[.@s],1; deletearray .mobam[.@s],1; deletearray .mobze[.@s],1; continue; } // else adding it to the menu set .smenu$,.smenu$ + "- "+getmonsterinfo(.mobid[.@s],0) + ( (.mobid[.@s+1] == 0)?"":":"); } end; } For item_db, add an usable item and change item script to: callfunc "MVPSummon"; P/S: The script is ripped from Rikimaru so credits goes to him.
  8. Yea I was trying to do it but not sure how but in source you only assign 1 icon per SC and it doesn't care the value (Element). StatusIconChangeTable[sC_ENCHANTARMS] = SI_ENCHANTARMS; StatusIconChangeTable[sC_ARMOR_ELEMENT] = SI_ARMOR_ELEMENT; StatusIconChangeTable[sC_ARMOR_RESIST] = SI_ARMOR_RESIST; Edit: Not sure if like this would work or not. StatusIconChangeTable[sC_ENCHANTARMS] |= SI_ENCHANTARMS_NEUTRAL|SI_ENCHANTARMS_WATER|SI_ENCHANTARMS_EARTH|SI_ENCHANTARMS_FIRE|SI_ENCHANTARMS_WIND|SI_ENCHANTARMS_POISON|SI_ENCHANTARMS_HOLY|SI_ENCHANTARMS_DARK|SI_ENCHANTARMS_SPIRIT|SI_ENCHANTARMS_UNDEAD; Then independent .tga naming with ENCHANTARMS_WATER, ENCHANTARMS_EARTH and so on?
  9. @^ Thanks. Btw, that 캐시갑옷속성부여.tga looks great and very suitable for Undead Scroll and Resist Potions. Edit: 스트라이킹.tga looks good for Cursed Water too!
  10. Bin4ry

    Cap Damage

    Open battle.c go to line 888 and add: if ( battle_getcurrentskill(src) == SN_FALCONASSAULT && damage > 80000 ) damage = 80000; Not sure if its work tho, if not you can change Falcon Assault damage formula at line 4126. case HT_BLITZBEAT: case SN_FALCONASSAULT: //Blitz-beat Damage. if(!sd || (skill = pc_checkskill(sd,HT_STEELCROW)) <= 0) skill=0; md.damage=(sstatus->dex/10+sstatus->int_/2+skill*3+40)*2; if(mflag > 1) //Autocasted Blitz. nk|=NK_SPLASHSPLIT; if (skill_num == SN_FALCONASSAULT) { //Div fix of Blitzbeat skill = skill_get_num(HT_BLITZBEAT, 5); damage_div_fix(md.damage, skill); //Falcon Assault Modifier md.damage=md.damage*(150+70*skill_lv)/100; } break;
  11. You have to state the problem, why does it need to be fixed? P/S: That note sounds very rude indeed.
  12. Lol how come I can use, alright let's try this: case LK_PARRYING: case MS_PARRYING: if(!(sc && sc->data[sC_SPIRIT] && sc->data[sC_SPIRIT]->val2 == SL_KNIGHT)) { clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0); break; } clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); break; Sorry for keeping you error
  13. Idea is given, why not try to write on your own? Use atcmd "adjgroup 1 " + strcharinfo; for those whose account is locked in label OnPCLoginEvent.
  14. So it is basically a copy of every hat in item_type of costume? Should be posted in database release then.
  15. 2012-05-15a definitely. Edit: Yes, loading01.jpg, loading02.jpg so on..
  16. Not sure why mine works then, it's jpeg.
  17. Aren't load screens are loaded from clientinfo.xml? I have 05-15a and it still loads from clientinfo.xml and /data/texture/À¯ÀúÀÎÅÍÆäÀ̽º/
  18. Oh dang, did you add entry into /db/const.txt?
  19. Then I think you need define a sc_number to sc_itemscript2 in status.h, it must have been skipping to sc_max and which will returns to stone curse as 0. You can try SC_ITEMSCRIPT2 = 544,
  20. Open up status.c, find StatusChangeFlagTable[sC_ITEMSCRIPT] |= SCB_ALL; Add below StatusChangeFlagTable[sC_ITEMSCRIPT2] |= SCB_ALL; Find if( sc->count && sc->data[sC_ITEMSCRIPT] ) { struct item_data *data = itemdb_exists(sc->data[sC_ITEMSCRIPT]->val1); if( data && data->script ) run_script(data->script,0,sd->bl.id,0); } Add below if( sc->count && sc->data[sC_ITEMSCRIPT2] ) { struct item_data *data = itemdb_exists(sc->data[sC_ITEMSCRIPT2]->val1); if( data && data->script ) run_script(data->script,0,sd->bl.id,0); } For status.h, find #ifdef RENEWAL SC_EXTREMITYFIST2, #endif Add below SC_ITEMSCRIPT2, Then use sc_start sc_itemscript2 instead for 2nd sc
  21. LOL. Didn't realize I was so stupid to add that check in battle.c Go to skill.c, find and remove: case LK_PARRYING: case MS_PARRYING: Find these line: clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); break; Now add this below: case LK_PARRYING: case MS_PARRYING: if( !(sc && sc->data[sC_SPIRIT]) ) { // SC_SPIRIT Check clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0); return 0; } clif_skill_nodamage(src,bl,skillid,skilllv, sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); break; Well, I tested it myself now. It works.
  22. File Name: Extra Status Icons File Submitter: darristan File Submitted: 19 Oct 2012 File Category: Textures Content Author: darristan Extra Status Icons for Cursed Water, Elemental Resist Potions and Undead Scrolls. For more info: http://rathena.org/board/topic/72715-unofficial-extra-status-icons/ Click here to download this file
  23. Yeah that's my guess too, but I'm not sure why it wouldn't bring up custom icons so I have to define those location with stateiconimginfo.lua. Edit: Those are my custom icons
  24. Oh, I don't know anything about Kanji. I'm a chinese actually (Malaysia is multicultural country), and these words are Chinese Well, the Armor Element didn't have any state icons so I just simply drew one and add in. I actually only do this for Cursed Water haha.
×
×
  • Create New...