-
Posts
98 -
Joined
-
Last visited
-
Days Won
11
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Keitenai
-
Hello, A lot of rAthena users preferred to use text database, and I am one of these users since it is so much easier to trace | modify | compare. I've been trying to find a workaround to enable rAthena to still read text version of item database, but frustratingly I don't have the knowledge & capability to do so. I really hope that there would be someone out there who can help in making rAthena be able to read text version of item db. Please hit like if you are like me who prefer to use text version item db. Thank you!
-
Currently, only those with gepard shield can get mac address of a player. Aside from gepard, there's no other option that i know of.
-
Keitenai Delay System ( Speed Hack Protection )
Keitenai replied to Keitenai's topic in Source Releases
I made a major clean-up on the code ? I've reduced the 5057 lines down to 633 in unit.cpp here's how it looks now -
Keitenai @resist command ( checking resistance values )
Keitenai replied to Keitenai's topic in Source Releases
Strong Shield gives -20 from Elements while thara frog card gives +30 resistance from Race These are 2 different types, and you can see that very clearly using @resist ? -
Keitenai Delay System ( Speed Hack Protection )
Keitenai replied to Keitenai's topic in Source Releases
Thanks for pointing out these issues. The uploaded patch has been fixed. ?? -
Is the "OnPCLoadMapEvent" really THAT impactful on performance? If so, why?
Keitenai replied to INREM's question in Source Support
The latest rAthena git already have that. But it's yaml ? -
Help with KOE Auto reward, reward script not working
Keitenai replied to BabaVoss's question in Scripting Support
So many errors in this script. * SQL `guild_member` table doesn't have `account_id` * "getarraysize(.holderprize)" you should not use item ID as array size, ItemID is way too big for this * same with the "getarraysize(.defenderprize)" and "getarraysize(.bothprize)" * freeloop - you don't need to activate freeloop if you use the correct size for getarraysize since max guild member is only 50 (by default). * getitem - this function only requires 2 values ( getitem item ID, Amount; ). Making "getitem .bothprize[.@k], .bothprize[.@k+1], .@aid[.@j];" is too much. -
Keitenai @resist command ( checking resistance values )
Keitenai replied to Keitenai's topic in Source Releases
I've uploaded a new and highly improved updated patch. ? Enjoy guys! -
Next will be : 0x10000000 0x20000000 0x40000000 0x80000000
- 1 reply
-
- 1
-
-
any bady know how to give ashes every floor in endless tower
Keitenai replied to y00z's question in Scripting Support
Find this inside the Endless Tower script : function script F_Tower_Warp { set .@level, getarg(0); set .@map$, getarg(1); switch(.@level) { case 2: warp .@map$,136,354; break; case 3: warp .@map$,224,354; break; case 4: warp .@map$,310,354; break; case 5: warp .@map$,395,354; break; case 6: warp .@map$,52,270; break; case 7: warp .@map$,136,270; break; case 8: warp .@map$,224,270; break; case 9: warp .@map$,310,270; break; case 10: warp .@map$,395,270; break; case 11: warp .@map$,52,183; break; case 12: warp .@map$,136,183; break; case 13: warp .@map$,224,183; break; case 14: warp .@map$,310,183; break; case 15: warp .@map$,395,183; break; case 16: warp .@map$,52,99; break; case 17: warp .@map$,136,99; break; case 18: warp .@map$,224,99; break; case 19: warp .@map$,310,99; break; case 20: warp .@map$,395,99; break; case 21: warp .@map$,52,12; break; case 22: warp .@map$,136,12; break; case 23: warp .@map$,224,12; break; case 24: warp .@map$,310,12; break; case 25: warp .@map$,395,12; break; case 27: warp .@map$,136,354; break; case 28: warp .@map$,224,354; break; case 29: warp .@map$,310,354; break; case 30: warp .@map$,395,354; break; case 31: warp .@map$,52,270; break; case 32: warp .@map$,136,270; break; case 33: warp .@map$,224,270; break; case 34: warp .@map$,310,270; break; case 35: warp .@map$,395,270; break; case 36: warp .@map$,52,183; break; case 37: warp .@map$,136,183; break; case 38: warp .@map$,224,183; break; case 39: warp .@map$,310,183; break; case 40: warp .@map$,395,183; break; case 41: warp .@map$,52,99; break; case 42: warp .@map$,136,99; break; case 43: warp .@map$,224,99; break; case 44: warp .@map$,310,99; break; case 45: warp .@map$,395,99; break; case 46: warp .@map$,52,12; break; case 47: warp .@map$,136,12; break; case 48: warp .@map$,224,12; break; case 49: warp .@map$,310,12; break; case 50: warp .@map$,395,12; break; case 52: warp .@map$,136,354; break; case 53: warp .@map$,224,354; break; case 54: warp .@map$,310,354; break; case 55: warp .@map$,395,354; break; case 56: warp .@map$,52,270; break; case 57: warp .@map$,136,270; break; case 58: warp .@map$,224,270; break; case 59: warp .@map$,310,270; break; case 60: warp .@map$,395,270; break; case 61: warp .@map$,52,183; break; case 62: warp .@map$,136,183; break; case 63: warp .@map$,224,183; break; case 64: warp .@map$,310,183; break; case 65: warp .@map$,395,183; break; case 66: warp .@map$,52,99; break; case 67: warp .@map$,136,99; break; case 68: warp .@map$,224,99; break; case 69: warp .@map$,310,99; break; case 70: warp .@map$,395,99; break; case 71: warp .@map$,52,12; break; case 72: warp .@map$,136,12; break; case 73: warp .@map$,224,12; break; case 74: warp .@map$,310,12; break; case 75: warp .@map$,395,12; break; case 77: warp .@map$,136,354; break; case 78: warp .@map$,224,354; break; case 79: warp .@map$,310,354; break; case 80: warp .@map$,395,354; break; case 81: warp .@map$,52,270; break; case 82: warp .@map$,136,270; break; case 83: warp .@map$,224,270; break; case 84: warp .@map$,310,270; break; case 85: warp .@map$,395,270; break; case 86: warp .@map$,52,183; break; case 87: warp .@map$,136,183; break; case 88: warp .@map$,224,183; break; case 89: warp .@map$,310,183; break; case 90: warp .@map$,395,183; break; case 91: warp .@map$,52,99; break; case 92: warp .@map$,136,99; break; case 93: warp .@map$,224,99; break; case 94: warp .@map$,310,99; break; case 95: warp .@map$,395,99; break; case 96: warp .@map$,52,12; break; case 97: warp .@map$,136,12; break; case 98: warp .@map$,224,12; break; case 99: warp .@map$,309,12; break; } return; } Add getitem below before return: function script F_Tower_Warp { set .@level, getarg(0); set .@map$, getarg(1); switch(.@level) { case 2: warp .@map$,136,354; break; case 3: warp .@map$,224,354; break; case 4: warp .@map$,310,354; break; case 5: warp .@map$,395,354; break; case 6: warp .@map$,52,270; break; case 7: warp .@map$,136,270; break; case 8: warp .@map$,224,270; break; case 9: warp .@map$,310,270; break; case 10: warp .@map$,395,270; break; case 11: warp .@map$,52,183; break; case 12: warp .@map$,136,183; break; case 13: warp .@map$,224,183; break; case 14: warp .@map$,310,183; break; case 15: warp .@map$,395,183; break; case 16: warp .@map$,52,99; break; case 17: warp .@map$,136,99; break; case 18: warp .@map$,224,99; break; case 19: warp .@map$,310,99; break; case 20: warp .@map$,395,99; break; case 21: warp .@map$,52,12; break; case 22: warp .@map$,136,12; break; case 23: warp .@map$,224,12; break; case 24: warp .@map$,310,12; break; case 25: warp .@map$,395,12; break; case 27: warp .@map$,136,354; break; case 28: warp .@map$,224,354; break; case 29: warp .@map$,310,354; break; case 30: warp .@map$,395,354; break; case 31: warp .@map$,52,270; break; case 32: warp .@map$,136,270; break; case 33: warp .@map$,224,270; break; case 34: warp .@map$,310,270; break; case 35: warp .@map$,395,270; break; case 36: warp .@map$,52,183; break; case 37: warp .@map$,136,183; break; case 38: warp .@map$,224,183; break; case 39: warp .@map$,310,183; break; case 40: warp .@map$,395,183; break; case 41: warp .@map$,52,99; break; case 42: warp .@map$,136,99; break; case 43: warp .@map$,224,99; break; case 44: warp .@map$,310,99; break; case 45: warp .@map$,395,99; break; case 46: warp .@map$,52,12; break; case 47: warp .@map$,136,12; break; case 48: warp .@map$,224,12; break; case 49: warp .@map$,310,12; break; case 50: warp .@map$,395,12; break; case 52: warp .@map$,136,354; break; case 53: warp .@map$,224,354; break; case 54: warp .@map$,310,354; break; case 55: warp .@map$,395,354; break; case 56: warp .@map$,52,270; break; case 57: warp .@map$,136,270; break; case 58: warp .@map$,224,270; break; case 59: warp .@map$,310,270; break; case 60: warp .@map$,395,270; break; case 61: warp .@map$,52,183; break; case 62: warp .@map$,136,183; break; case 63: warp .@map$,224,183; break; case 64: warp .@map$,310,183; break; case 65: warp .@map$,395,183; break; case 66: warp .@map$,52,99; break; case 67: warp .@map$,136,99; break; case 68: warp .@map$,224,99; break; case 69: warp .@map$,310,99; break; case 70: warp .@map$,395,99; break; case 71: warp .@map$,52,12; break; case 72: warp .@map$,136,12; break; case 73: warp .@map$,224,12; break; case 74: warp .@map$,310,12; break; case 75: warp .@map$,395,12; break; case 77: warp .@map$,136,354; break; case 78: warp .@map$,224,354; break; case 79: warp .@map$,310,354; break; case 80: warp .@map$,395,354; break; case 81: warp .@map$,52,270; break; case 82: warp .@map$,136,270; break; case 83: warp .@map$,224,270; break; case 84: warp .@map$,310,270; break; case 85: warp .@map$,395,270; break; case 86: warp .@map$,52,183; break; case 87: warp .@map$,136,183; break; case 88: warp .@map$,224,183; break; case 89: warp .@map$,310,183; break; case 90: warp .@map$,395,183; break; case 91: warp .@map$,52,99; break; case 92: warp .@map$,136,99; break; case 93: warp .@map$,224,99; break; case 94: warp .@map$,310,99; break; case 95: warp .@map$,395,99; break; case 96: warp .@map$,52,12; break; case 97: warp .@map$,136,12; break; case 98: warp .@map$,224,12; break; case 99: warp .@map$,309,12; break; } getitem 6000,1; //Dark_Ashes return; } -
Keitenai Delay System ( Speed Hack Protection )
Keitenai replied to Keitenai's topic in Source Releases
This bug has been long overdue for a fix. But better late than never right? ? I've uploaded an updated patch. This covers the fix for the said bug & is now compatible with rAthena git 97b5f3b -
LOL silly me! Thanks!
-
Try disabling the OFFICIAL_WALKPATH in src/config/core.hpp
-
Hello, How can i check unit skill on an area? EX: check deluge on area, or check firewall on area. Thanks!
-
Hello! So instead of requesting for src mod, i'd like to request anyone who already have done adding a custom mapflag and have time to share their complete tutorial on how to add custom mapflag in clear steps. Thanks!
-
in vending.cpp find this code: sprintf(message + strlen(message), "Total profit: %s x %d", "Zeny" ,(mailprofit -= mailprofit * (battle_config.vending_tax / 10000.))); change it to this: sprintf(message + strlen(message), "Total profit: %s x %d", "Zeny" ,(mailprofit -= mailprofit * (int)(battle_config.vending_tax / 10000.))); is my solution correct @Easycore ?
-
How to make RANDOM OPTION weapon effect with more than 1 random option?
Keitenai replied to rakuzas's question in Scripting Support
He's trying to say that "getitem3" can only give 1 random option.. He is asking on how to make "getitem3" to give 2 or more random options in one time. perhaps @Cydh can help coz i am curious too. -
the problem is in "if( countitem(909) < 100 );" & "if( countitem(909) < 200 );" & "if( countitem(909) < 300 );" you should remove the ";"
-
for Royal Guard's costume body sprite, rename ( grf\data\sprite\Àΰ£Á·\¸öÅë\³²\costume_1 ) it to ÆÈ¶óµò_³²_1 for male, while ( grf\data\sprite\Àΰ£Á·\¸öÅë\¿©\costume_1 ) ÆÈ¶óµò_¿©_1 for female sprite to be used by paladin.
-
yes but you need to rename the costume sprite files according to the job the body costume sprite is named for 3rd classes, therefore, you need to rename those to Tans jobs.
-
yes as long as you use the compatible client, and rename the costume sprite files according to the job that you will be adding it.
-
How can i restrict autotrade players from getting reward?
Keitenai replied to Nero's question in Script Requests
Check your whole script. i'm not getting your error upon testing. Try making a separate txt file for the "guild_vs1s2" script so that you can trace where exactly is your missing ")" -
How can i restrict autotrade players from getting reward?
Keitenai replied to Nero's question in Script Requests
try this @Nero: - script guild_vs1s2 -1,{ OnAgitEnd: callsub( L_reward,0, "guild_vs1" ); end; OnAgitEnd2: callsub( L_reward,1, "guild_vs1" ); end; L_reward: .@type = getarg( 0,0 ); .@map$ = getarg( 1,"" ); if ( .@type == 0) { // woe fe setarray .@item_master, 30206,2; setarray .@item_member, 30206,1; } else { // woe se setarray .@item_master, 30206,2; setarray .@item_member, 30206,1; } .@item_master_size = getarraysize( .@item_master ) - 1; .@item_member_size = getarraysize( .@item_member ) - 1; if ( .@map$ != "" ) { .@gid = getcastledata( .@map$,1 ); if ( .@gid > 0 ) { getguildmember .@gid,1; getguildmember .@gid,2; .@master_id = getcharid( 3, getguildmaster( .@gid ) ); while ( .@i < $@guildmembercount ) { .@x = 0; if ( isloggedin( $@guildmemberaid[.@i],$@guildmembercid[.@i] ) ) { if ( $@guildmemberaid[.@i] == .@master_id ) { while ( .@x < .@item_master_size ) { if(!checkvending(strcharinfo(0,$@guildmembercid[.@i]))) getitem .@item_master[.@x],.@item_master[.@x+1],$@guildmemberaid[.@i]; .@x += 2; } } else { while ( .@x < .@item_member_size ) { if(!checkvending(strcharinfo(0,$@guildmembercid[.@i]))) getitem .@item_member[.@x],.@item_member[.@x+1],$@guildmemberaid[.@i]; .@x += 2; } } } .@i++; } } } return; } -
in client folder: data\texture\scr_logo.bmp