-
Content Count
821 -
Joined
-
Last visited
-
Days Won
43
Posts posted by Aeromesi
-
-
[Add-On] Recent | Favorite Warps (Euphy's Warper)
[Add-On] Recent | Favorite Warps (Euphy's Warper)
What exactly is the Recent and Favorite addition to Euphy's Warper?
It's exactly what it sounds like.
- You can choose from 5 Most Recent locations you have Warped to.
-
You can choose to [save] or [select] your Favorite Warps.
-
Your Favorite Warps are saved by saving your Most Current Recent Warps list.
It's a straight sample from our Public Github in "..npc/custom/warper.txt" (Just so you know what to copy and paste if you have warper.txt enabled.)
Enjoy Hercules!
-
Submitter
-
Submitted10/19/16
-
Category
- You can choose from 5 Most Recent locations you have Warped to.
-
I'm pretty sure the RO client has a filter to enable/disable No Swearing. Probably through using a differ
-
From my beliefs I don't think adding a couple more ticks to saving account/game progression will reduce lag, might have to talk to host provider. is your hercules up to date?
-
Well the way it was before was a very custom approach to handling the item/mobs (I found it kind of hard). We're now going into a libconfig format change to our files to standardize how everything is... or something like that, I know I'm close to the answer.
Maybe problem with converting rA -> Herc stuff? I could understand at that point but we're just updating to a more standardized reading of the files -
Edit the OnTimer labels if you want it to every 3 hours.
OnTimer10800000: // 3 hours
How about the cashpoint to coin reward? Thanks!
Well in your PM I told you about that, here's the randomized maps you wanted (and for anyone else) just add the maps in the array and the x/y coordinates Satan should spawn on.
// Created by Aeromesi - script SatanMorroc#Inv -1,{ OnInit: .points = 100; // Points to give the player upon killing Morocc. .points_name$ = "#CASHPOINTS"; // Variable name for points .MobID = 1916; .MobAM = 1; setarray .maps$[1],"morocc","prontera","geffen"; setarray .mapsx[1],158,150,180; setarray .mapsy[1],92,150,150; initnpctimer; end; OnTimer360000: // 1 hour OnSpawnMorocc: if ( !$@Invaded ) { .mapsize = getarraysize(.maps$); .mapselect = rand(.mapsize); announce "Satan has invaded "+.maps$[.mapselect]+"! Head there at once to stop him!",bc_all; $@Invaded++; monster .maps$[.mapselect],.mapsx[.mapselect],.mapsy[.mapselect],""+strmobinfo(1,.MobID)+"",1916,1,strnpcinfo(0)+"::OnSatanDead"; end; } else if ( $@Invaded ) { end; } OnSatanDead: announce "Congratulations to "+strcharinfo(0)+" for sending Satan back into the Dimensional Vortex...",bc_all; setd .points_name$, getd(.points_name$) + .points; dispbottom "You now have "+#CASHPOINTS+" Cash Points!"; sleep 4000; announce "Be warned... Satan will be back again.",bc_all; $@Invaded = 0; initnpctimer; end; }
-
Figured it out.
All you need to do is the following:
Edit $@MaxDup to the TOTAL amount of duplicated NPCS + the original NPC is, so if we have 1 in prontera, 1 in geffen, 1 in izlude, it would be 3.
Added '@fireloc' command so you can view the locations of your fires. Get rid of the 99 requirement so players can use the command if need be.
Version 1.0 : Without Healing feature
prontera,151,159,4 script Firewood#1 89,{ for ( .n = 1; .n <= $@MaxDups; .n++ ) { if ( strnpcinfo(0) == "Firewood#"+.n+"" && $@Lit[.n] == 0) { callsub OnStartFire; end; } else if ( strnpcinfo(0) == "Firewood#"+.n+"" && $@Lit[.n] == 1) { callsub OnEndFire; end; } } OnStartFire: mes "[Fire]"; switch(select("Light firewood","Exit")) { case 1: if ( countitem(7035) >= 1 ) { delitem 7035, 1; mes "Matchstick consumed. Lighting fire."; $@Lit[.n] = 1; donpcevent strnpcinfo(0)+"::OnEnableFire"; close; } else mes "Firewood needs 1 Matchstick to be lit."; close; case 2: mes "Fire was not lit."; close; } OnEndFire: switch(select("Put out firewood","Exit")) { case 1: $@Lit[.n] = 0; dispbottom "You put out the fire."; donpcevent strnpcinfo(0)+"::OnDisableFire"; close; case 2: close; } OnEnableFire: initnpctimer; end; OnDisableFire: stopnpctimer; end; OnTimer500: specialeffect 25; initnpctimer; end; OnAtFireLoc: for ( .@i = 1; .@i <= 3; .@i++ ) { mes ""+$@FireMap$[.@i]+","+$@FireX[.@i]+","+$@FireY[.@i]+"."; } close; OnInit: // Change this to how many duplicate fire's you make. $@MaxDups = 3; // Command '@fireloc' to view the locations of your fires. // For players to use this command, just get rid of the 99 requirement below. bindatcmd "fireloc",strnpcinfo(0)+"::OnAtFireLoc",99; for ( .@i = 1; .@i <= $@MaxDups; .@i++ ) { getmapxy .@mapname$[.@i],.@mapx[.@i],.@mapy[.@i], 1, "Firewood#"+.@i+""; // debugmes "NPC Firewood#"+.@i+": "+.@mapname$[.@i]+","+.@mapx[.@i]+","+.@mapy[.@i]+"."; $@FireMap$[.@i] = .@mapname$[.@i]; $@FireX[.@i] = .@mapx[.@i]; $@FireY[.@i] = .@mapy[.@i]; } end; }
All I need to do now is add the feature for the healing..., maybe a refine system similar to Blade and Souls near a fire higher success chance? So many ideas
Here's the new version.
Supports the top post but with the following now:
Heals at 3 second rate 5% for HP/SP
MUST be sitting down in order heal your HP/SP or to burn the fire out.
NOTE: Once you activate the fire, walk away and come back to it, it adds the timer on the 6x6 cell radius to your character. Could be a way for you to "leave" to go tell your friends about your campfire! xDVersion 2.0 : With Healing feature
prontera,151,159,4 script Firewood#1 89,6,6,{ for ( .n = 1; .n <= $@MaxDups; .n++ ) { if ( strnpcinfo(0) == "Firewood#"+.n+"" && $@Lit[.n] == 0) { callsub OnStartFire; end; } else if ( strnpcinfo(0) == "Firewood#"+.n+"" && $@Lit[.n] == 1) { callsub OnEndFire; end; } } OnStartFire: mes "[Firewood]"; switch(select("Light firewood","Exit")) { case 1: if ( countitem(7035) >= 1 ) { delitem 7035, 1; mes "Matchstick consumed. Lighting fire."; $@Lit[.n] = 1; donpcevent strnpcinfo(0)+"::OnEnableFire"; close; } else mes "Firewood needs 1 Matchstick to be lit."; close; case 2: mes "Fire was not lit."; close; } OnEndFire: mes "[Firewood]"; if ($@Lit[.n] && !issit() ) { mes "Please proceed to sitting down to heal your HP/SP or to put out the fire."; close; } switch(select("Put out firewood","Exit")) { case 1: $@Lit[.n] = 0; dispbottom "You put out the fire."; donpcevent strnpcinfo(0)+"::OnDisableFire"; close; case 2: close; } OnEnableFire: initnpctimer; end; OnDisableFire: stopnpctimer; end; OnTimer500: specialeffect 25; initnpctimer; end; OnAtFireLoc: for ( .@i = 1; .@i <= 3; .@i++ ) { mes ""+$@FireMap$[.@i]+","+$@FireX[.@i]+","+$@FireY[.@i]+"."; } close; OnInit: $@MaxRange = 6; // Change this to how many duplicate fire's you make. $@MaxDups = 3; // Command '@fireloc' to view the locations of your fires. // For players to use this command, just get rid of the 99 requirement below. bindatcmd "fireloc",strnpcinfo(0)+"::OnAtFireLoc",99; for ( .@i = 1; .@i <= $@MaxDups; .@i++ ) { getmapxy .@mapname$[.@i],.@mapx[.@i],.@mapy[.@i], 1, "Firewood#"+.@i+""; $@FireMap$[.@i] = .@mapname$[.@i]; $@FireX[.@i] = .@mapx[.@i]; $@FireY[.@i] = .@mapy[.@i]; } end; OnTouch: while ( $@Lit[.n] || !$@Lit[.n] ) { for ( .n = 1; .n <= $@MaxDups; .n++ ) { if ( strnpcinfo(0) == "Firewood#"+.n+"" && $@Lit[.n] == 0) { callsub OnCheckFail; end; } else if ( strnpcinfo(0) == "Firewood#"+.n+"" && $@Lit[.n] == 1) { callsub OnCheckSuccess; end; } } } OnCheckFail: end; OnCheckSuccess: if ( Hp == MaxHp && Sp == MaxSp ) { end; } if ( !issit() ) { addtimer 3000,strnpcinfo(0)+"::OnTouch"; end; } percentheal 5,5; // 5% HP / 5% SP healing addtimer 3000,strnpcinfo(0)+"::OnTouch"; if ( Hp == MaxHp && Sp == MaxSp ) { dispbottom "Health fully recovered."; end; } end; }
-
So update.. I was able to get mapxy coordinates. Let's see how this pans out
-
-
To make it more interesting, we can also make it heal players faster (or heal more) who are sitting in the 6x6 area.Checks whether lit or not, consumes (1) Matchstick. A good idea I thought about is while its lit get the area around the fire, maybe 6x6, and any players that are near the bonfire will regenerate SP/HP relatively quickly? Just my idea behind the fires.
Lol my fishing script requires the player to be sitting in order to use the feature.
I'll do that let's see how this turns out I'll post the new one underneath this post.
If they want the fires to be all over the world of ragnarok I wonder how I will be able to get the mapxy coordinates of the duplicated npc... Hmmm making 1 of the fires with the feature might be easy but for a lot of them I might have to pull something different (Dastgir update your duplicatenpc command... xD)!
-
Here you go.
prontera,151,159,4 script Firewood 89,{ mes "[Fire]"; if ( !.lit ) { switch(select("Light firewood","Exit")) { case 1: if ( countitem(7035) >= 1 ) { delitem 7035, 1; mes "Matchstick consumed. Lighting fire."; .lit = 1; donpcevent ("Firewood")+"::OnEnableFire"; close; } else mes "Firewood needs 1 Matchstick to be lit."; close; case 2: mes "Fire was not lit."; close; } } else if ( .lit ) switch(select("Put out firewood","Exit")) { case 1: .lit= 0; dispbottom "You put out the fire."; stopnpctimer; close; case 2: close; } OnEnableFire: initnpctimer; end; OnTimer500: specialeffect 25; initnpctimer; end; }
Checks whether lit or not, consumes (1) Matchstick. A good idea I thought about is while its lit get the area around the fire, maybe 6x6, and any players that are near the bonfire will regenerate SP/HP relatively quickly? Just my idea behind the fires.Juan Meissner reacted to this -
This is kind of outdated it's a guide for eAthena.
-
Possible idea: add an option to view when the event will start from mr.pluckins?
-
-
Another cool script from aeromesi
Test it out and tell me what you think.
-
Not sure if it's possible through scripting but don't listen to me. Never looked into this area before.
-
File Name: [Auto-Event] Pluckin' a Chicken
File Submitter: Aeromesi
File Submitted: 12 Oct 2016
File Category: Events & Games
[Auto Event] Pluckin' a Chicken
What exactly is this event Pluckin' a Chicken?
Well...
Details:
// Automated Event
- Winner gets double the amount of cash points based on how many they clicked/plucked.
- If any players are in the 11x11 square they will be moved somewhere safe to participate in the event.
- Player who wins, gets item, Zeny, and Double Cash Points based on how many clicks they did to win.
-
Randomized each time, one time you could have to pluck the chicken 100 times, or 350 times, never know.
-
Players who lose STILL WIN! When the event is disabled go to Pluckins (wherever you put him)and he will exchange your Plucks on the Chicken you got for the exact same amount of Cash Points.
- If the next hour goes and no one has completed the Pluckin' a Chicken event, it won't start again until it's finished.
-
1 hour timer, once you start your server, in 1 hour the event will begin, once completed, another hour and the event will start.
- When WoE FE:SE is in session ( agitcheck / agitcheck2 ) the event will not start, to prevent too much going on at once.
Enjoy Hercules ^^
Click here to download this file
Forgot to mention, based on x amount of clicks a player gets, the speed eventually increases on Mr.Pluckins in a set of 5. Will include that in an update as well as an announcement that he's getting "heated" causing him to move faster. Enjoy for now. =)
- Winner gets double the amount of cash points based on how many they clicked/plucked.
-
Edit the OnTimer labels if you want it to every 3 hours.
OnTimer10800000: // 3 hours
-
you could have problem probably load a timer for specific time for player who enter map to fight satan morocc. How will you attach that event of being nuked to every player?
-
Probably didn't load the SQL table?
I tested the script and it seems fine to me, I'm not even using a fully updated Hercules either. -
File Name: [Auto-Event] Satan Morocc Invasion
File Submitter: Aeromesi
File Submitted: 10 Oct 2016
File Category: Events & Games
[Auto-Event] Satan Morocc Invasion
Based on a request by Will Su.
Satan Morocc invades every hour, if the players haven't killed Satan Morocc in that timeframe by the next hour he won't spawn again. Player who kills Satan Morocc gets Cash Points (change to whatever currency you use or simply switch to item like Coin)
Enjoy
-
Just a little sleep counter after clicking on the item. I believe .75 of a second
-
-
Very very cool Jman. This is an awesome tool I hope you complete it. Keep going!!
-
If you have any valid resource of playing the whole instance, with map info (supplied maps this instance is on) or replay data, I could probably help create the instance.
[Custom Instance] Fiery Fairy Forest
in Event & Game Releases
Posted
It's because you failed to add the maps to your servers map_cache. Did you also add the map_index and maps.conf?