Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 06/23/18 in all areas

  1. 2 points
    Emistry

    Campfire to regenerate HP/SP

    Hi Habilis, this is my attempts.. https://pastebin.com/fksPdpFQ Feel free to comment -- EDIT Updated the campfire: - slowly decrease the effectiveness of healing rate and area range every 10 seconds. - may use item like wooden block, tree root, to prolong the campfire duration, or increase healing rate and area range too. v1.1
  2. 1 point

    Version 1.0.0

    606 downloads

    Originally: There is a nice contribution from meko on that subject, Menhir (Big rock that possesses magical powers and able to restore Health and Energy of Seekers resting/meditating nearby) Thanks, meko! But, I thought to myself, well, that is wonderful, but why not make it portable? The Idea: An element of role play, a way to add functionality to the item 7035 - Matchstick, To light a Campfire. A Campfire is a portable temporary regeneration NPC. OW, and it is configurable ;). Campfire to restore / regenerate HP & SP. When you sit by the Campfire, you start feeling the warmth and the comfort, thus your HP & SP begin to regenerate. Mechanics : A phosphorus tipped stick that can be used to start a fire. (Now Indeed ) When you use the item Matchstick in your inventory, it will spawn a duplicate of the NPC called Campfire. This will help you when you are in the field, farming, grinding, starting a Campfire will help you rest. - You need to sit close to the Campfire (3 cells ) to feel the warmth. - Anyone can sit by your Campfire and rest. - Campfire lasts 2-3 minutes. - Need to sit for at least some time to begin feeling the warmth and comfort. - you cannot start a fire within 5 cells of another NPC - If you use a match one more time, old Campfire disappears and a new one appears. I think it will add an element of roleplay and romanticism to the gameplay. Installation : To be able to use this script you need a plugin npc-duplicate.c https://github.com/dastgirp/HPM-Plugins/blob/master/src/plugins/npc-duplicate.c Install & enable this plugin This script uses a relatively new NPC sprite at the moment of writing this release. 4_BONFIRE Therefore, you may have to edit the Hercules source to allow for this new NPC To the /db/constants.conf add this line: 4_BONFIRE: 10252 In the /src/map/npc.h change this line: #define MAX_NPC_CLASS2_END 10800 This will allow for way more NPCs Save and recompile Hercules. In the client, you may not have this NPC But luckily for you, I've included with this release a data.zip archive containing the NPC sprite and the sound of striking a matchstick. Just add it to your GRF or data folder if you use data folder. In the client, Lua Files make sure you have this NPC sprite LuaFiles514/Lua Files/Datainfo/NPCIdentity.lub JT_4_BONFIRE = 10252, LuaFiles514/Lua Files/Datainfo/jobName.lub [jobtbl.JT_4_BONFIRE] = "4_bonfire", In the /db/re/item_db.conf or /db/pre-re/item_db.conf find Id: 7035 and add these 3 attributes Type: 2 Delay: 3000 Script: <" callfunc("F_CreateCFDup"); "> Configuration: It is a configurable script All of the parameters are explicitly commented for a better understanding of the rules .refillHP_rate = 15; // number of HP to give every refill .refillSP_rate = 5; // number of SP to give every refill .refill_distance = 3; // max distance from fire HP/SP regeneration will work .camp_fire_delay = 5; // Skip how many ticks before feel warm ;) .refill_timer = 300; // wait rand(X) ms before refil Feel free to adjust to your server needs .@nofire_distance = 5; // How far from other NPCs allowed to make fire. .@fire_duration = 1000 * 60 * 3;// 3 minutes (How long will the Campfire last, in ms)
  3. 1 point
    nana

    [w0w] Sample Music Project

    wowwww looks so amazing and fun ^^/
  4. 1 point
    Habilis

    Campfire to regenerate HP/SP

    Here is the pre-releae version. anyone, who feel like it, can contribute! prt_fild08,138,364,0 script Camp Fire#CF 4_BONFIRE,{ end; OnRefill: getmapxy(.@map$, .@x, .@y, UNITTYPE_PC); getmapxy(.@npc_map$, .@npc_x, .@npc_y, UNITTYPE_NPC); if (.@map$ != .@npc_map$ || distance(.@npc_x, .@npc_y, .@x, .@y) > .refill_distance || !(issit())) { @camp_fire_regen = 0; @camp_fire_tick = 0; end; } if(@camp_fire_regen == 1) { heal(.refillHP_rate, .refillSP_rate); } else { if(@camp_fire_tick >= .camp_fire_delay) { @camp_fire_regen = 1; @camp_fire_tick = 0; dispbottom("You are feeling warm and cozy."); } else { @camp_fire_tick++; } } end; OnTimer500: getmapxy(.@npc_map$, .@npc_x, .@npc_y, UNITTYPE_NPC); .@count = getunits(BL_PC, .@units[0], false, .@npc_map$, (.@npc_x - .refill_distance), (.@npc_y - .refill_distance), (.@npc_x + .refill_distance), (.@npc_y + .refill_distance)); for (.@i = 0; .@i < .@count; ++.@i) { addtimer(rand(.refill_timer), strnpcinfo(NPC_NAME) + "::OnRefill", .@units[.@i]); } initnpctimer(); end; OnRemoveDup: deltimer(strnpcinfo(NPC_NAME) + "::OnRefill"); stopnpctimer(); duplicateremove(strnpcinfo(NPC_NAME)); end; OnInit: .refillHP_rate = 15; // number of HP to give every refill .refillSP_rate = 5; // number of SP to give every refill .refill_distance = 3; // max distance from fire HP/SP regeneration will work .camp_fire_delay = 5; // Skip how many ticks before feel warm ;) .refill_timer = 300; // wait rand(X) ms before refil initnpctimer(); } function script F_CreateCFDup { .@nofire_distance = 5; // How far from other NPCs allowed to make fire. .@fire_duration = 60000; //180000; // 3 minutes (How long will the Camp fire last) .@curr_char_id = getarg(0); attachrid(.@curr_char_id); getmapxy(.@mapname$, .@mapx, .@mapy, UNITTYPE_PC); if(getmapxy(.@dupe_mapname$, .@dupe_mapx, .@dupe_mapy, UNITTYPE_NPC, sprintf("Camp Fire#CF_%d",.@curr_char_id)) == 0) { deltimer(sprintf("Camp Fire#CF_%d::OnRemoveDup", .@curr_char_id)); duplicateremove(sprintf("Camp Fire#CF_%d", .@curr_char_id)); } if(getunits(BL_NPC, .@units[0], false, .@mapname$, (.@mapx - .@nofire_distance),(.@mapy - .@nofire_distance), (.@mapx + .@nofire_distance), (.@mapy + .@nofire_distance)) > 0) { dispbottom("A fire cannot be started here."); } else { soundeffect ("strike-matchstick.wav",0); duplicatenpc("Camp Fire#CF", "Camp Fire", sprintf("CF_%d", .@curr_char_id), .@mapname$, .@mapx, .@mapy, 0); addtimer(.@fire_duration, sprintf("Camp Fire#CF_%d::OnRemoveDup", .@curr_char_id)); } return(); } Here is in the intem_db.conf { Id: 7035 AegisName: "Matchstick" Name: "Matchstick" Type: 2 Buy: 100 Weight: 10 BuyingStore: true Delay: 15000 Script: <" callfunc("F_CreateCFDup", getcharid(CHAR_ID_CHAR)); "> }, There is still some work to be done.
  5. 1 point
    AnnieRuru

    How to apply a diff file

    getting tired of people keep sending me personal message -> how do I apply your koe patch after about 6 PMs or so I getting really fed up, only then I realize there is no guide to properly teach members how to apply a diff file, so here I make one for you guys First step A lot of people download hercules in .zip format. This is WRONG. instead, follow the proper guide and use tortoisegit (if you are using windows) to download your server This is the proper guide on how to install hercules Question: but I am using rathena, not hercules Answer: just change the link into rathena ones https://github.com/rathena/rathena/wiki/Install-on-Windows Second step after you get your proper server, the first thing you have to do is get rid of your current one this is the painful process, because you did not follow the guide but on the up side, you can always update your server every week just by Git pull which already mentioned in that installation topic guide Question: but every time I Git pull, it always ask to resolve conflicts Answer: that's the reason hercules community stop providing patch file and transition towards plugin system you should always keep your server up to date with the latest revision as we always add new features and bug fix nobody on the board like to give support on old emulator Question: but rathena doesn't have plugin system Answer: yes rathena doesn't support right now, but will be soon in the near future. rathena already slowly transition towards C++ format Third Step now you have a .diff file, download the file somewhere, right click on it then point the link towards your hercules installation folder Apply Patch Serial... Review/apply single patch... if either option doesn't work, try the other Disclaimer: I am windows user, so I never use Linux or Centos whatever, so this guide is purely meant for those keep bombard my PM box over and over
  6. 1 point
    w0wZukuBg

    Adel's Sprite Showcase

    very Very VERY Awesome work especially the New Year's collection ... I can't imagine how to celebrate without these cute <3 P.S> but I'm not a fan of wings, sorry =C
  7. 1 point
    Adel

    Adel's Sprite Showcase

    Wing Sprites
  8. 1 point
  9. 1 point
×
×
  • Create New...

Important Information

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