Jump to content

AnnieRuru

Script Developers
  • Content Count

    1677
  • Joined

  • Last visited

  • Days Won

    245

Everything posted by AnnieRuru

  1. this is not fixed location, OnPCUseSkillEvent allow to create warp portal anywhere with a target cursor and if you want to change player's warp portal coordinate, just do bindatcmd "@memoportal" something like that "@memoportal 1" will save the location for 1st location on level 1 portal ... "@memoportal 2" will save the location for 2nd location on level 2 portal ... if I still remember correctly, this OnPCUseSkillEvent allows to create up to level 100 let me test .... yup, level 100 warp portal after apply this patch src/map/pc.c | 2 +- src/map/skill.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/map/pc.c b/src/map/pc.c index ea18715bb..9882fe2a8 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -4230,7 +4230,7 @@ static int pc_skill(struct map_session_data *sd, int id, int level, int flag) ShowError("pc_skill: Skill with id %d does not exist in the skill database\n", id); return 0; } - if( level > MAX_SKILL_LEVEL ) { + if ( id != 2993 && level > MAX_SKILL_LEVEL ) { ShowError("pc_skill: Skill level %d too high. Max lv supported is %d\n", level, MAX_SKILL_LEVEL); return 0; } diff --git a/src/map/skill.c b/src/map/skill.c index 633a73d67..d2ee741b5 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -14154,7 +14154,7 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s } } - if( skill_lv < 1 || skill_lv > MAX_SKILL_LEVEL ) + if ( skill_id != 2993 && ( skill_lv < 1 || skill_lv > MAX_SKILL_LEVEL ) ) return 0; require = skill->get_requirement(sd,skill_id,skill_lv); remember, since OnPCUseSkillEvent is basically an NPC script, you can manipulate it with any kind of script commands available bindatcmd + save a player variable ... or open a menu with select script command .... what ever you like
  2. now that I've fixed OnPCUseSkillEvent, its time to show off its awesomeness its usefulness you also need 2nd plugin to do this https://github.com/dastgirp/HPM-Plugins/blob/master/src/plugins/npc-duplicate.c db/re/skill_db.conf { Id: 2993 Name: "CUSTOM_setpos" Description: "CUSTOM_setpos" MaxLevel: 3 Range: 15 SkillType: { Place: true } CoolDown: 10000 }, data/luafiles514/lua files/skillinfoz/skillinfolist.lub [SKID.CUSTOM_setpos] = { "CUSTOM_setpos"; SkillName = "Get Position", MaxLv = 3, Type = "Quest", SpAmount = { 0 }, bSeperateLv = true, AttackRange = { 15 }, }, data/luafiles514/lua files/skillinfoz/skillid.lub CUSTOM_setpos = 2993, data/luafiles514/lua files/skillinfoz/skilldescript.lub [SKID.CUSTOM_setpos] = { "Warp to various towns", "MAX Lv : 3 ", "Lv 1: warp to prontera.", "Lv 2: warp to payon.", "Lv 3: warp to alberta.", }, conf/import/OnPCUseSkillEvent.conf OnPCUseSkillEvent: ( { SkillName: "CUSTOM_setpos" Event_Label: "qwer::Onpos" }, ) and finally the npc script - script asdf FAKE_NPC,2,2,{ end; OnTouch: switch( $@warplv ) { case 1: warp "prontera", 156,191; break; case 2: warp "payon", 162,233; break; case 3: warp "alberta", 192,147; } end; OnInit: switch( $@warplv ) { case 1: waitingroom "prontera", 0; break; case 2: waitingroom "payon", 0; break; case 3: waitingroom "alberta", 0; } end; } - script qwer FAKE_NPC,{ Onpos: if ( @create_warp_npc_delay + 10 > gettimetick(2) ) { dispbottom "cooldown"; end; } @create_warp_npc_delay = gettimetick(2); .@i = .i++; $@warplv = @useskilllv; duplicatenpc "asdf", "asdf", .@i +"", strcharinfo(PC_MAP), @useskillx, @useskilly, DIR_SOUTH, 1_SHADOW_NPC, 2,2; $@warplv = 0; sleep 5000; duplicateremove "asdf#"+ .@i; end; OnPCStatCalcEvent: skill CUSTOM_setpos, 3; end; } result this screenshot is NOT tampered ... taken in-game without any photoshop or ms-paint edits
  3. finally update this after 4 years.... 1.3 - plugin - update to latest revision - fix server crash when parse the string in OnPCUseSkillEvent.txt - help clean the temporary player variable 1.4 - plugin - remove the 100 array limit by utilize VECTOR - drop CSV format and use Hercules standard libconfig format
  4. I do have my own MVP ranking script https://github.com/AnnieRuru/Release/tree/master/scripts/Games %26 Events/MVP Rank usually people do this simply with if ( getmonsterinfo( killedrid, MOB_MVPEXP ) ) { but since you have 3 different modes, you also have to list out which MVP is easy/moderate/hard a quick sql query to list out MVP in your server select * from mob_db where mexp > 0; note its different in renewal and pre-renewal Renewal -> http://herc.ws/board/topic/16631-npc-mvp-invasion/?do=findComment&comment=90910 Pre-renewal -> https://github.com/rathena/rathena/blob/master/npc/custom/events/mvp_ladder.txt#L232-L270 this one needs achievement system ... its already in my top-priority todo list once its out, I can also add *settitleid script command and so on ... and before you forget, the OnNPCKillEvent cannot run on monsters with event labels http://herc.ws/board/topic/15991-onnpckillevent-changes/ so it couldn't add the kills like bio-lab MVPs , instance MVPs and so on that pull request got stuck ... oh PS: pajodex is currently busy in real life, or so I heard
  5. since some people has downloaded 1.2, has to move up a revision 1.3 - plugin - change *setmapflagfixedaspd into *setmf_fixedaspd ... and so on
  6. since some people has downloaded 1.2, has to move up a revision 1.3 - plugin - change *setmapflagmovespeed into *setmf_movespeed ... and so on
  7. 1.2 - plugin - update to latest revision - add GM level bypass restriction - add *setmapflagfixedaspd *removemapflagfixedaspd *getmapflagfixedaspd script command
  8. 1.2 - plugin - update to latest revision - add GM level bypass restriction - add *setmapflagmovespeed *removemapflagmovespeed *getmapflagmovespeed script command
  9. 1.1 - plugin - update to latest revision - add gm_level_bypass @evilpuncker
  10. 1.8 - plugin - fix duplicate entry by ShowWarning - add missing IT_AMMO item type deny
  11. I saw the topic title, this file seems valid, I downloaded it but you want to remove it ?
  12. download latest version 1.3 the nocharms mapflag should work the same as noitem mapflag @wallaby
  13. 1.3 - plugin - update to latest revision - add nochams mapflag to deny giving item bonus I don't really know how to do this, because force serial is like ... giving items in bulk immediately getitem 909, 5; ... click on this will give 5 in 1 set, click repeatedly will give multiple sets if getitem 909, 9; means have to give 5+4 charms, giving 2 times bonus ? because the item stack actually means, giving multiple bonuses ... EDIT: I think I'm starting to get it, its the same as having 30000 MAX_AMOUNT in the inventory (MAX_AMOUNT = defined in mmo.h) if player having 35000 amount, it automatically split into 30000 and 5000, giving twice the bonus so instead of having MAX_AMOUNT 30000, add another field Charm_Max_Stack to have a maximum stack 5, which can be configurable
  14. 1.1 - plugin - display a message for file not found - fix memory leak on VECTOR_ENSURE
  15. oh wait, a new KRO download link is out, I also want to download it btw just change PACKETVER in the final step and you should be done I guess
  16. 1.7 - plugin - fix memory leak for not removing the chatroom
  17. hahaha .... I think from now on I should close the program by "@mapexit" .... I'm so dump 1.7 - plugin - fix memory leak caused by aStrdup and VECTOR_ENSURE
  18. this one -> https://gist.github.com/AnnieRuru/7f7de80cc9708d26bcd3c26bab9f1508 @Kuroe reported this plugin can cause memory leak 0001 : noitem.c line 100 size 4 address 0x0x55afb29b827c any help ? @4144
  19. 1.1 - plugin - fix server crash when using magnifier
  20. I'm quite sure I already fixed this in this guide .... btw my visual studio is about 12GB, just to compile both hercules and rathena and yes I'm currently using both latest hercules and also latest rathena already reported https://github.com/HerculesWS/Hercules/issues/2405 it should be .... REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@MC_MAMMONITE','attack',42,9,500,800,5000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,'8',NULL); REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@NPC_EMOTION','idle',197,1,2000,0,5000,'yes','self','always',NULL,22,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@NPC_GUIDEDATTACK','attack',172,2,500,1000,20000,'no','target','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1307,'Cat o\' Nine Tails@NPC_SUMMONSLAVE','idle',196,2,10000,2000,60000,'no','self','slavele',NULL,1180,NULL,NULL,NULL,NULL,NULL,NULL);
  21. nope, this is just an update to compatible with latest hercules, no new feature added or anything 1.6 - plugin - update to latest revision - remove all TBL_ and change to struct - add NULL checks to places where it needed - update the clif_charnameack with struct packet_reqnameall_ack and special thanks to dastgir helped maintaining this plugin just add the check like you did in scripting in npc script getmapxy .@map$, .@x, .@y, UNITTYPE_PC; if ( .@map$ == "prontera" && .@x == 155 && .@y == 185 ) dispbottom "OK"; in source if ( strcmp( mapindex_id2name(sd->mapindex), "prontera" ) == 0 && sd->bl.x == 155 && sd->bl.y == 185 ) clif->message( sd->fd, "OK" );
  22. 1.1 - script - fix item options when using constants
  23. Credit to Epoque for the idea Download : 1.4 plugin while reading the description, allow list all the items in your inventory, or only show part of it with version 1.2 onwards, now can list out only certain types of items for example inventoryselect(ITF_WEAPON|ITF_ARMOR) only shows equipments available in your inventory and inventoryselect(ITF_CARD) only shows card available in your inventory no, don't do stuffs like adding item temporary, player can find ways to dup item tested with
  24. Credits goes to Cydh and members at opencore Download : 1.1 script item link system, shift-click on the item to display the item description thanks to Cydh posting the topic, I also get a crack on the formula, although this is a script function ... well not a script command like cydh did ... but I guess it also gets the job done F_ITEML( <ItemID>{, <refine>{, <card1>, <card2>, <card3>, <card4>{, <item option ID>, <item option value>, <item option param> }}} ); prontera,155,180,5 script final test 1_F_MARIA,{ // getnameditem 501, getcharid(0); npctalk F_ITEML(501); npctalk F_ITEML(1201); npctalk F_ITEML(5083); npctalk F_ITEML(19543); npctalk F_ITEML(501, 0, 254, 0, getcharid(CHAR_ID_CHAR) & 65535, getcharid(CHAR_ID_CHAR) >> 16); consolemes CONSOLEMES_INFO, F_ITEML(501, 0, 254, 0, getcharid(CHAR_ID_CHAR) & 65535, getcharid(CHAR_ID_CHAR) >> 16); npctalk F_ITEML(1501, 13); npctalk F_ITEML(1501, 13, 4001, 4002, 4003, 4004); npctalk F_ITEML(5083, 0, 4001,4001,4001,4001, 1,2000,0); npctalk F_ITEML(5083, 0, 4001,4001,4001,4001, VAR_ATTPOWER,2000,0); setarray .@opt_id, VAR_MAXHPAMOUNT, VAR_MAXSPAMOUNT; setarray .@opt_value, 2000, 2000; // setarray .@opt_param, 0, 0; npctalk F_ITEML(5083, 0, 4001,4001,4001,4001, .@opt_id, .@opt_value, .@opt_param); // consolemes CONSOLEMES_INFO, F_ITEML(5083, 0, 4001,4001,4001,4001, .@opt_id, .@opt_value, .@opt_param); end; }
  25. this one really bug me I remember during eathena time, just changing the exp_db.txt is enough to make the bar display properly but I just test again in latest hercules, changing exp_group_db.conf doesn't seem to be working now http://herc.ws/board/topic/8936-job-experience-bar-not-displayed/. https://rathena.org/board/topic/84353-experience-bar I think its client limitation like dastgir said, really no idea on this one...
×
×
  • Create New...

Important Information

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