Jump to content

Jhedzkie

Members
  • Posts

    298
  • Joined

  • Last visited

Everything posted by Jhedzkie

  1. care to share how you made it work? im pretty interested in it.
  2. i thought the whole function is the one that tells the client that the upgrade has failed. ;p i really am a noob. XD anyway, mine's w/o the said line, yet works cool. however, dont you guys think that its a bit like cheating because its already WS_WEAPONREFINE? i mean isn't WS_WEAPONREFINE meant to upgrade weaps a little bit easier perhaps? opinions varies tho. yeah, i think its in clif.c right around this part. if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].refine < skilllv && sd->status.inventory[i].identify && (wlv=itemdb_wlv(sd->status.inventory[i].nameid)) >=1 && checks if refine < skilllv where ur skilllv probably is max possible lv. 10. i guess multiply it by 2? so that if its max lv 10, x2, it will check if item refinery is less than 20. (i might be wrong tho)
  3. um, i dont really get this part if(sd->sc.data[sC_SPROTECT]) { status_change_end(&sd->bl, SC_SPROTECT, INVALID_TIMER); clif_refine(sd->fd,1,i,sd->status.inventory[i].refine); // what's this line for? clif_displaymessage(sd->fd,"[ SProtect is no longer in effect ]"); } maybe this part? not sure tho. || item->refine >= 10 // if it's no longer refineable change 10 to 20.
  4. where's that part lol? are you sure you are using the latest revision of rAthena?
  5. you need to create the icon, and add the icon itself to the client that you are using. i just asked somebody from eAthena to mod the client for me but its a long time ago and i forgot the my account already. =/ it should work for you. i used the same thing and it worked for me. you just really might missout something. EDIT: change sc_start SC_SPROTECT,10000000,0; to sc_start SC_SPROTECT,1,0; 10000000 kinda makes no sense for me. my whole item script goes like this. 22007,Scroll_of_Upgrade_Protection,Scroll of Upgrade Protection,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_UPGRADE_PROTECTION,1,0; },{},{} and is working as intended.
  6. you might want to share yours if you had the better src mod.
  7. oh. hm. that's quite really a lot of work. great job anyway.
  8. wow. that's a lot of work tho. mine goes like this... //this part is inside the BUILDIN_FUNC(failedrefitem) if (num > 0 && num <= ARRAYLENGTH(equip)) i=pc_checkequip(sd,equip[num-1]); if(i >= 0) { + if(sc->data[sC_UPGRADE_PROTECTION]) // mine's called SC_UPGRADE_PROTECTION anyway. + { + status_change_end(bl, SC_UPGRADE_PROTECTION, INVALID_TIMER); + clif_displaymessage(sd->fd, msg_txt(720)); // conf/msg_athena.conf | 720: Scroll of Upgrade Protection has been used. + } + else + { /* here goes the script that is originally after the if statement. the one that breaks the item and logs it afterwards. */ +} and you dont even have to modify the refiner anymore. it is supposed to be triggered right after a failed attempt, cancels the SC effect, (as well as the status icon, that doesnt work anymore) and displays the message at the bottom of the screen telling, the scroll has been used etc. btw, my script is more than a year ago, when im really a noob in C language, (since i only know java) i just tried to edit it error by error, and i really dont know if i made leaks, overflows whatsoever. im still a noob in C since i dont really read about it, plus, i dont really know what the variables in rAthena are, and what are they for, such as bl, sd, fd and the likes. i did it just by copy pasting and a little trial and error.
  9. try to check your script.c again, (if you have an updated src that is) it is just the next function to failedrefitem.. that's for failed upgrades not to break item (vanish item) but just to downgrade it. like from +17 down to +16. as for the client-side modification, as ive said, you need to incorporate a new status icon to the client, the icon is a 16x16 targa, that needs to be put on the effects folder, after that, you need to add some entries to the lua files as well. ( data\lua files\stateicon\efstids.lua;stateiconinfo.lua) but, then again, its not working anymore for clients 2011-11+
  10. i dont want to be rude or something, but i just want to share that i have a similar src mod with that (i tried to code last year for 3ceam. since +20 refine came out, so i need to find a way to somewhat prevent players hearts from breaking when they fail upgrade +19 to +20 lol, but it is not working pretty well). it also has support for custom status icon previously, but somewhat clients 2011-11- and later cant be hacked to display custom status icons. im a src mod noob and i really appreciate your work. it saved me a lot. and oh right, you might want to add it also to the new function.. BUILDIN_FUNC(downrefitem)
  11. did tried adding the @refresh before posting it, but im thinking that there might be another work around for it. and oh, curlys not really a big deal. it makes scripts more readable for me. @kadze, that paste is almost similar from the script from where i extracted mine from. its good but i modded mine for mechanics. to choose whether to have a cart or to have to have a mado. and as ive said, my script is working pretty well except that the Job_Mechanic and Job_Mechanic_T, whenever they are getting a CART, they get the cart, but gets STUCK (IMMOBILE) as well. EDIT: hah. fixed it already. thanks guys. end; should have been close;
  12. mado's working for me no sweat, the cart rental's the one who's messing with me a bit.
  13. im trying to create a one-click rental npc for all classes. i've been working on this for an hour now, almost everything's working pretty well except for the cart rental for mechanics. after getting the cart, my char (mechanic) will be stuck, and will not be able to move unless when i use @refresh or @go 0. anyway, here's my code. prontera,142,186,3 script Universal Rental Npc 418,{ if( (BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) ) { if((Class == Job_Mechanic || Class == Job_Mechanic_T) ) { if(checkcart() == 1) goto getMado; else { switch(select("Cart","Mado")) { case 1: { goto getCart; } break; case 2: { goto getMado; } break; } } } goto getCart; } if( (BaseJob != Job_Archer && BaseClass == Job_Archer) && checkfalcon() == 0 && getskilllv("HT_FALCON") > 0 ) { setfalcon; end; } if ( (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) && checkriding() == 0 && getskilllv("RK_DRAGONTRAINING") > 0 ) { setdragon; end; } if ( (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight || Class == Job_Crusader || Class == Job_Paladin || Job_Baby_Crusader || Class == Job_Royal_Guard || Class == Job_Royal_Guard_T || Class == Job_Baby_Guard) && checkriding() == 0 && getskilllv("KN_RIDING") > 0 ) { setriding; end; } getCart: { if(checkcart() == 0 && getskilllv("MC_PUSHCART") > 0) { setcart; end; } } getMado: { if(checkriding() == 0 && getskilllv("NC_MADOLICENCE") > 0) { setmadogear; end; } } } any hint on how i could fix this would be a great help. thanks.
  14. it is either your google isn't working or your head is not working. but i doubt that google is not working. its working good for me.
  15. um, i've been trying to comeup with a diffed client, but any client dated newer than 2011-03-15aRagexeRE.exe seems not to work for me. it always give me an unknown packet error on map server everytime i try to use any client other than 2011-03-15a. and yes, i know how to change packet version on mmo.h that would correspond to the client that im using, i also have updated packet_db entries, and i do also have my packet version set to 28 on my clientinfo.xml inside my grf. and ofcourse, i do recompile everytime. i'm using the latest rAthena svn, updated everyday if i see new changelogs. any fix to these unknown packet errors? somehow made 2012-04-10 to work. thanks to this. a setback however is that it is not displaying my custom item sprites. (headgears, etc.) and texts are not translated to english. =/
  16. greetings. i just like to ask. how can i add special effects to my custom skill? i pretty much did the skill by copy-pasting existing skill damage calculations. now for example, i have my custom skill called 'Focus Blast' and i want it to have the effect of Rune Knight's 'Enchant Blade' skill when 'Focus Blast' is used to an enemy. any hint on how to do this would help me a lot. Thanks.
  17. the khara system description provided in the link you gave is not quite what the present khara system RO:LotS have (in terms of interface, to say the least). that might be the khara system of the OBT, somehow a little bit different from what it is now. Khara system of present RO2:LotS is simply like a quest, collect some item [0/3], kill some mob with this name [0/12] with corresponding zeny reward (since zeny in RO2:LotS makes a huge role as the currency) and some Titles (similar to achievement system) from some definite khara quest. implementing it ro1 might be a bit challenging task, however may play out good to low~medium rate servers where stats basically are low, and zeny speaks volumes to server-wide transactions.
  18. RO2:LotS' Khara system. (May be related to the Achievement System *with title*)
  19. regarding installers, you can always use an installer creator program such as ClickTeam's Install Creator.
  20. assuming you already know the format how to start an npc, here's the sample code. (if not, you might want to read about scripting before you proceed. you might not want to count on anybody here to feed you what you would always need.) map_name,123,123,4<tab>script<tab>NameOfNpc<tab>826,{ mes "[NameOfNpc]"; mes ""; next; if(countitem(909) > 99 && countitem(910) > 99) { mes "[NameOfNpc]"; mes "Trade your jellopies and garlets for an oridecon?"; switch(select("Yes","No")) { case 1: delitem 909, 100; delitem 910, 100; getitem 984, 1; next; mes "-trade success-"; close; break; case 2: mes "-trade cancelled-"; close; break; } } else // if(!countitem(909) > 99 && !countitem(910) > 99) { mes "[NameOfNpc]"; mes "Please do come back if you gather the items..."; close; } } that one's for the full npc. if you want a one-click-npc, this one's for you. map_name,123,123,4<tab>script<tab>NameOfNpc<tab>826,{ if(countitem(909) > 99 && countitem(910) > 99) { delitem 909, 100; delitem 910, 100; getitem 984, 1; Emotion e_no1; end; } else // if(!countitem(909) > 99 && !countitem(910) > 99) { Emotion e_swt; end; } } * please do correct me if there is something wrong with my coding.
  21. maybe because kRO does updates first? maybe because when there's something new in all of RO, kRO is the source of it?
  22. You need to define the function. Just put the following line void clif_status_change_single(struct block_list *dst, struct block_list *bl, int type, int flag, unsigned int tick, int val1, int val2, int val3); in your clif.h, above #endif /* _CLIF_H_ */ cool. it's working good. but, won't there be any status icon for this one? like, for when knight mounts peco, there's a status icon indicating that it's mounting a peco, falcon for hunter/sniper. and, i noticed that the warlock's kyuubi ride is windwalking. it's a bit elevated from the floor, is it some sort of error or is it just how it is? ;p
  23. ya its recommended but you can remove it i do lots of people here's RE Clients i removed load lua before lub because of some reasons and removing doesn't do any bad side effects i suggest you try it first nothing will happen unless you try it xD yeah thanks mate. it's working cool now.
  24. yeah, i got 2011-01-12 lub files, and tried to remove the load lua first, and it worked just fine. however, it seems like load lua first is recommended on weediff, wont it make any side effects or something?
  25. so, i just have to remove load lua before lub. and what is the correlation between the .exe and .lub files used? which one should be newer? the .lub?
×
×
  • Create New...