Adam
-
Content Count
66 -
Joined
-
Last visited
Reputation Activity
-
Adam reacted to anacondaq in how to disable mail system?
The easy protection against this "dupe", it's make check before giving item, it's easy, and like that it must be.
Example:
if (Zeny >= .@coin_num * .coin_cost) {set .@tmp_zeny, Zeny - .@coin_num * .coin_cost;if (.@tmp_zeny >= .@coin_num * .coin_cost) {set Zeny, Zeny - .@coin_num *.coin_cost; getitem .itemID,.@coin_num;}}
But there, if know some guy, who was send packets to the server. And some packets he just block by firewall. But it was in 2012.
Now it do not work, really dunno why, did't test it.
-
Adam reacted to anacondaq in how to disable mail system?
not really mail bugged. Mail system -> opens a door to send some items/zeny when you busy at bugged NPC.
How usually people dupe (and i was dupe too...):
find a bad code exchanger something to anything. this code must not check in the last part of the script parameters before giving some item.
Example:
mes "Hi i will change your zeny for coins";mes "how many you need?";input .@coins_count;if (Zeny < .@coins_count * .price_value) end;getitem .coinID,.@coins_count;..open mail..set Zeny,Zeny - .@coins_count * .price_value;
And many many other exaples like that doing exploits. First of all, "@storage", @guildstorage, openmail it's just a "backdoor" to send some item before "checks".
But in past, (200*-2012) this system was bugged and by sending some packets, you can crash the server, and make a buffer overflow money, or extra items by wrong checks, etc.
Example # 2
mes "bla bla";input .@coin_num;......if ( Zeny > .@coin_num * .coin_cost )....EXPLOIT opencart/storage/guildstoarge/etc and send to another account items & zeny etc.NEXT;mes "Congradulations you get coin! bla blba ~~";mes "And you get bug!";set Zeny,Zeny-.@coin_num * .coin_cost;getitem .coin_id,.@coin_num;end; -
-
Adam reacted to AnnieRuru in (Guild) Antagonism System
isn't the plugin is just below the code ?
and there is no need to read the sql table, its not like this stuff is run when the player is offline
to actually hit the player, both the source and target has to be online, so just use guild->check_alliance with enemy flag to read them
make the script shorter a bit
src/map/battle.c | 6 ++++++ 1 file changed, 6 insertions(+)diff --git a/src/map/battle.c b/src/map/battle.cindex 24f39a3..52b24ec 100644--- a/src/map/battle.c+++ b/src/map/battle.c@@ -6020,6 +6020,12 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f if( (s_bl = battle->get_master(src)) == NULL ) s_bl = src; + if ( s_bl->type == BL_PC && t_bl->type == BL_PC ) {+ TBL_PC *sd = BL_CAST( BL_PC, s_bl );+ if ( guild->check_alliance( sd->status.guild_id, ((TBL_PC*)t_bl)->status.guild_id, 1 ) && !map->list[sd->bl.m].flag.town && !map->list[sd->bl.m].flag.nowarpto )+ return 1;+ }+ if ( s_bl->type == BL_PC ) { switch( t_bl->type ) { case BL_MOB: // Source => PC, Target => MOB http://upaste.me/28fd11097df8e9a10
you know ... I start to think that lilith's faction system can actually be release entirely with plugins ..
-
Adam reacted to ossi0110 in Preview of my New Client Package
Hello hercules
Im working on a New Client atm , and here you can see a few Preview pics of it , the New client 2014-01-15 Ragexe with new world Map Support.
Atm im working on the Translation of the new Lub files, when all is done i will upload a new package for it
Special Thanks to
Yommy
Neo
for helping me
New World Map Main Page with Dungeon Names (Translation Done)
New Airship Route Display (Translation Done)
Dungeon Browsing over Navigation Interface ( Translation 30% Done)
Extended Map Interface for Episodes ( Translation done)
-
Adam reacted to AnnieRuru in shuffle algorithm - Commited into Github
I really need a topic for this shuffle algorithm or I have to keep press the search button non-stop
what is Shuffle Algorithm ?
- it generate a set of numbers in random order that the numbers are not repeated
Wiki -> http://en.wikipedia.org/wiki/Fisher–Yates_shuffle
This script is no longer necessary,
use the one inside Global Function
Commit Link
Credit to @Haru
Pull #872
-
Adam reacted to AnnieRuru in Need this script applied to the party, not only the killer in the party
- script custom_drop -1,{OnNPCKillEvent: if ( !getcharid(1) ) { if ( checkidle() > 10 ) // 10 seconds end; if ( rand(4000) < 25 ) // .@rand_gc_drop ... 25/4000 = 1/160 getitem 512,1; if ( rand(2000) < 5 ) // .@rand_sc_drop .... 5/2000 = 1/400 getitem 513,1; if ( rand(1000) < 1 ) // .@rand_gc_drop .... 1/1000 getitem 511,1; } else { .@map$ = strcharinfo(3); // added a map check getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid $@partymemberaid[.@i]; if ( strcharinfo(3) != .@map$ || checkidle() > 10 ) continue; if ( rand(4000) < 25 ) // .@rand_gc_drop ... 25/4000 = 1/160 getitem 512,1; if ( rand(2000) < 5 ) // .@rand_sc_drop .... 5/2000 = 1/400 getitem 513,1; if ( rand(1000) < 1 ) // .@rand_gc_drop .... 1/1000 getitem 511,1; } } } end;} -
-
-
Adam reacted to AnnieRuru in An item behaves like @autoloot
- script kdjshfksfj -1,{OnInit: bindatcmd "autoloot", strnpcinfo(0)+"::OnReqItem"; bindatcmd "alootid", strnpcinfo(0)+"::OnReqItem"; bindatcmd "autolootitem", strnpcinfo(0)+"::OnReqItem"; bindatcmd "autoloottype", strnpcinfo(0)+"::OnReqItem"; end;OnReqItem: .@itemid = Red_Potion; // require item if ( !countitem( .@itemid ) ) { message strcharinfo(0), "You must have "+ getitemname( .@itemid ) +" to use "+ .@atcmd_command$; end; } if ( .@atcmd_numparameters ) atcommand .@atcmd_command$ +" "+ implode( .@atcmd_parameters$, " " ); else atcommand .@atcmd_command$; end;}why not just use bindatcmd and overwrite those autoloot stuffsso you can rentitem with an expire tick, then while the player having the items, they can use autoloot
http://herc.ws/wiki/Timers_%28Scripting%29#AttachNPCTimer1. attachnpctimer is a npc type timer that is attached to the npc
2. addtimer is a player type timer that is attached to the player
they are different
3. sleep type timer ... my favorite
4. static timer ... gettimetick(2)
-
Adam reacted to evilpuncker in Custom Headgear (H) which gives SL_Spirit
{ Id: example AegisName: "example" Name: "example" Type: example Buy: example Weight: example Loc: example Script: <" example "> OnEquipScript: <" doevent "item_soullink::OnSoulLink"; "> OnUnequipScript: <" sc_end SC_SOULLINK; "> }, -
Adam reacted to AnnieRuru in Custom Headgear (H) which gives SL_Spirit
https://github.com/rathena/rathena/blob/master/db/const.txt#L1304
rathena's SC_SPIRIT in hercules is SC_SOULLINK
https://github.com/HerculesWS/Hercules/blob/master/db/const.txt#L876
you'll get stoned if used your script
and also, that's outdated technique
http://upaste.me/f02211100e4c8f24d
-
Adam reacted to evilpuncker in Custom Headgear (H) which gives SL_Spirit
@edit
use the below version
-
Adam reacted to Alexandria in [Showcase] Thor Gold Skin Patcher
This is a skin for the Thor Patcher.
It was created using Photosho CS 6 and using html 5 plus css3.
The youtube box will play the video automatically so you can play the music that you would like to add. Such as, video news about your server, conquests, etc. Also there is a box for facebook.
It includes:
> PSD file is available if you want to add or edit it.
> The config.ini file has the right code for this skin.
The size is 1100x500px.
Thor_Patcher2.6.1.66.rar
-
Adam reacted to Mumbles in Pawn Shop
Utility: Pawn Shop
As per themon's request: http://herc.ws/board/topic/2373-new-shop-npc-idea-pawn-shop/
Description:
Allows players to exchange items in their inventory for a percentage of its "fair market value (FMV)".
By default, the formula to determine the FMV is approximately one-third of the item's "buy" price (as if you were purchasing it from an NPC), multiplied by its refine rate* (if it's equipment).
Items "pawned" through this script are available to be reclaimed if the loan (plus interest) are repaid in full within seven days. If a loan expires, the item pawned will be claimed by the NPC and "sold"; the original owner will no longer be able to retrieve it.
Loan rates, interest rates, loan days, and the refine bonus trigger can be modified within the configuration settings under the 'OnInit' label. Please take care to NOT modify the leap year formula under this label.
*The refine multiplier calculates the number of UNSAFE refines, then adds it to the loan total. For example, a Sword with the refine rate of 10 (which has a safety cap of seven) has a multiplier of three; so, if the "Buy" price is 100z, the default loan would be 33z. Multiply that by three, and you get a 99z refine bonus in addition to the original 33z, for a grand total of 132z. Interest is added AFTER the final loan price is determined, so at a rate of 10 percent, it would cost approximately 145z to reclaim the Sword.
Download:
https://github.com/datmumbles/Scripts/raw/master/util/pawnshop.txt
-
Adam reacted to Mhalicot in Costume System
File Name: Costume System
File Submitter: Mhalicot
File Submitted: 12 Oct 2013
File Category: Utility
~ Originally script by Rebel, Zephyrus [rAthena],
~ I don't own this script I'd revised it to make it compatible with Hercules.
~ [Original Topic] http://goo.gl/YU1Z7o
~ 100% compatible in (revision 137*)
Download contains: Costume System.diff and costume.txt
Click here to download this file
-
Adam reacted to AnnieRuru in Emperium Breaker ladder
being asked too much in script request section, so better just release one
script
emp_breaker_ladder_1.0.txt
patch ... no need recompile ...
http://upaste.me/0b1d4993914f05487
what this script do ?
hmm ... just display the top players who has broke emperium ..
-
Adam reacted to AnnieRuru in [ Req ] Npc Reward Player online
oh
edited
http://upaste.me/54511096937d17482
players being jailed has SC_JAILED status, so no need to use sec_pri
-
Adam reacted to keough in [Showcase] Runeterra Kingdom
A New World of Runeterra has rise! All maps cities and fields are here except dungeons and the other fields in the world map image. it is expanding and growing! so watch out for more updates!
Create your own stories! make a change in a new gameplay of Ragnarok Online
For those who want to have this new world PM me to get the license of the world map.
Video of Runeterra Kingdom
World Map
Thank you and God Bless!
-
Adam reacted to AnnieRuru in Need this script applied to the party, not only the killer in the party
Patskie's script uses Scenario #1
for Scenario #2, its even easier
- script custom_drop -1,{OnNPCKillEvent: if ( !getcharid(1) ) { if ( rand(4000) < 25 ) // .@rand_gc_drop ... 25/4000 = 1/160 getitem 512,1; if ( rand(2000) < 5 ) // .@rand_sc_drop .... 5/2000 = 1/400 getitem 513,1; if ( rand(1000) < 1 ) // .@rand_gc_drop .... 1/1000 getitem 511,1; } else { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { if ( rand(4000) < 25 ) // .@rand_gc_drop ... 25/4000 = 1/160 getitem 512,1, $@partymemberaid[.@i]; if ( rand(2000) < 5 ) // .@rand_sc_drop .... 5/2000 = 1/400 getitem 513,1, $@partymemberaid[.@i]; if ( rand(1000) < 1 ) // .@rand_gc_drop .... 1/1000 getitem 511,1, $@partymemberaid[.@i]; } } } end;} -
Adam reacted to Patskie in Need this script applied to the party, not only the killer in the party
- script custom_drop -1,{ OnNPCKillEvent: // Global Monster Kill Rewards set .@rand_gc_drop, rand(1,4000); if (.@rand_gc_drop <= 25) { if ( !getcharid( 1 ) ) getitem 512, 1; else { getpartymember getcharid( 1 ), 1; getpartymember getcharid( 1 ), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) { if ( attachrid( $@partymemberaid[ .@i ] ) ) getitem 512, 1; } } } } set .@rand_sc_drop, rand(1,2000); if (.@rand_sc_drop <= 5) { if ( !getcharid( 1 ) ) getitem 513, 1; else { getpartymember getcharid( 1 ), 1; getpartymember getcharid( 1 ), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) { if ( attachrid( $@partymemberaid[ .@i ] ) ) getitem 513, 1; } } } } set .@rand_bc_drop, rand(1,1000); if (.@rand_bc_drop <= 1) { if ( !getcharid( 1 ) ) getitem 511, 1; else { getpartymember getcharid( 1 ), 1; getpartymember getcharid( 1 ), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[ .@i ], $@partymembercid[ .@i ] ) ) { if ( attachrid( $@partymemberaid[ .@i ] ) ) getitem 511, 1; } } } } end;} -
Adam reacted to Angelmelody in Teleport skill stuck on level 2
I think your directory path is wrong
ro-rootdataluafiles514lua filesskillinfoz
-
Adam reacted to AnnieRuru in Guild Alliance Chat -> @ally
Download:
plugin <-- for those who knows how to install plugin
patch <-- for those who thinks plugin is pain
I don't think there's anything special about this mod
yes it is, I sooo feels stupid now
hercules already have #ally chat
-
Adam reacted to AnnieRuru in Force warp back upon death
I still think that's a bug
because there is a workaround for this ... detachrid
prontera,156,189,5 script Raid 100,{ dispbottom "Aww...You hit the wrong one! Try again next time!"; .@aid = getcharid(3); detachrid; unitkill .@aid;// sleep 2000; if ( !attachrid(.@aid) ) end; warp "prontera",156,184; end;}in the source code it says ... if ( sd->st->state ) ... so if detachrid, then sd is not read, thus it work -
Adam reacted to Tepoo in Correct Pneuma Effect Update
Since aeons of time, the client doesnt update when the pneuma effect is canceled.
this happens and is very annoying for example when you are leveling at Kasas and they are making Ganbantein.
also its annoying when someone places landprotector on the point where you placed your pneuma. the pneuma effect is canceled, but the animation is still there.
is there any possible way to call the client correctly that he should stop the animation?
if so, i think it would be a nice upgrade.