Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/28/17 in all areas

  1. Achievement System As of Git Hash: 7f5411d, rAthena now supports the Achievement System! Thanks to @Luxuri, @Nova, @Lemongrass, and @Tokei for their help with information and implementation! Thanks to all the users who helped test the PR and report issues on the feature! Basic Information Requires client 2015-05-13 and higher. Includes Title System which is integrated into the Achievement System. Rewards are given through the RODEX System. Added new atcommand reloadachievementdb. Added new script commands achievementinfo, achievementadd, achievementremove, achievementcomplete, and achievementexists. TODO Confirm Achievement Level EXP 8-20. Confirm Old Money Pocket Zeny amount. Figure out how AG_CHATTING, AG_EAT, AG_HEAR, and AG_SEE work on official servers.
    7 points
  2. This is the part of the code that's the problem: struct instance_db *db = instance_searchname_db(name); nullpo_retr(-1, db); The name you pass into instance_create is not being found in the instance database. EDIT: Looking further into this, the entry in instance_db.txt is incorrect. The correct format is: // ID,Name,LimitTime,IdleTimeOut,EnterMap,EnterX,EnterY,Map2,Map3,...,Map255
    2 points
  3. Special credits to: Sir Patskie, Sir Arrzzae Work best with "ITEM BOUND PRIZE" Because I found my self the script is going to be very useful for everybody, I tweak this script. If this kind of doing in rathena is illegal please delete this post. //////////////////////////////////////////////////////////////////////// //--------------------------------------------------------------------// // PROMOTIONAL CODES // // AUTHOR: LIL TROLL//COLDFIRE // //--------------------------------------------------------------------// // RATHENA SCRIPT // //--------------------------------------------------------------------// // // //--------------------------------------------------------------------// // FEATURES: (Modified Promotional Code by sir Patskie) // // // // #1 5`Degree of Abuse-Protection(+ItemBound = 6) // // - IP,ACCOUNT,COUNTLIMIT,DOUBLECHECK,MIX // // #2 Code can be deleted/detected by gm. // // #3 Friendly User Interface. // // #4 Very easy to configure. // // #5 Code auto delete at certain variable setup(limit pool). // // #6 GM can view codes when claiming. // // #7 GM can set limitation of usage of the codes. // // #8 Automatically delete any codes that set to desirable // // pool limit by gm claimed by players. // // #9 GM can set random code with random item! // // #10 GM toggle(when claiming the code, restriction) included. // //--------------------------------------------------------------------// //////////////////////////////////////////////////////////////////////// ​[spoiler=From topic:]http://rathena.org/board/topic/86986-promotionial-codes-script/ [spoiler=Tweak parts:]I tweaked Promotional Code script: #1 Improve how code can be deleted/detected by gm. #2 Improve Interface(Now more easier to delete config, etc.) #3 Dialogues fix. #4 Knows accurately if a code exist when creating new one. #5 GM can view codes when claiming. See features above for full information regarding the script. [spoiler=I modify the script below:]/* DROP TABLE IF EXISTS `reward_codes`; CREATE TABLE IF NOT EXISTS `reward_codes` ( `code` VARCHAR(10) NOT NULL DEFAULT '', `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0', `item_name` VARCHAR(45) NOT NULL DEFAULT '', `amount` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0', `time_created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' PRIMARY KEY (`code`) ) ENGINE = MYISAM; DROP TABLE IF EXISTS `rewardlogs`; CREATE TABLE `rewardlogs` ( `account_id` INT( 10 ) NOT NULL, `code` VARCHAR( 10 ) NOT NULL, `redeem_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE = MyISAM; */ - script promoclaim -1,{ OnInit: bindatcmd "claim",strnpcinfo(3)+"::OnClaim"; bindatcmd "code",strnpcinfo(3)+"::OnEditCode"; end; OnClaim: // if ( getgmlevel() ) end; mes "^FF0000 Enter a new promotional code."; input .@pc$; close2; query_sql "SELECT `nameid`, `amount` FROM `reward_codes` WHERE `code` = '" + escape_sql(.@pc$) + "'", .@item, .@amt; if ( !.@item ) dispbottom "Either invalid code or the code is already claimed by other people"; else { getitem .@item, .@amt; dispbottom "Promotional code successfully redeemed."; query_sql "DELETE FROM `reward_codes` WHERE `code` = '" + escape_sql(.@pc$) + "'"; query_logsql "INSERT INTO `rewardlogs` VALUES ( '" + getcharid(3) + "', '" + escape_sql(.@pc$) + "', NOW() )"; } end; OnEditCode: if ( getgmlevel() < 99 ) end; set .@choice$, "Setup a new promotional code:View existing codes:Delete exisiting codes:Cancel"; setarray .@length, 4,10; // , switch ( select( .@choice$ ) ) { case 1: input .@pcode$; if ( getstrlen( .@pcode$ ) < .@length[0] || getstrlen( .@pcode$ ) > .@length[1] ) { dispbottom "Codes must not be less than " +.@length[0]+ " and must be greater than " +.@length[1]+ "."; end; } mes "You have entered ^FF0000"+.@pcode$+"^000000 as the code."; mes "Are you sure?"; if ( select("Yes:No, thanks") - 1 ) end; query_sql "SELECT `code` FROM `reward_codes` WHERE `code` = '" + escape_sql(.@pcode$) + "'", .@pcode_exists; if ( .@pcode_exists ) { dispbottom "Sorry, that code already exist."; end; } mes "Please set a reward for the players who has entered the code."; input .@reward; next; if ( !.@reward || getitemname(.@reward) == "null" ) { dispbottom "Sorry, that is an invalid item id."; end; } set .@iname$, getitemname(.@reward); mes "Item number ^FF0000"+.@reward+"^000000"; mes "is equivalent to ^FF0000"+.@iname$+"^000000."; mes "Are you sure?"; next; if ( select("Yes:No, thanks") - 1 ) end; mes "How many ^FF0000"+.@iname$+"^000000.?"; input .@amount; next; if ( !.@amount ) { dispbottom "Sorry, that is an invalid amount number."; end; } mes "Are you sure?"; next; if ( select("Yes:No, thanks") - 1 ) end; query_sql "INSERT INTO `reward_codes` VALUES ( '" + escape_sql(.@pcode$) + "', '" + .@reward + "', '" + escape_sql(.@iname$) + "', '" + .@amount + "', NOW() )"; dispbottom "Done creating code!"; break; case 2: set .@nb, query_sql("SELECT code, item_name, amount FROM `reward_codes` ORDER BY time_created DESC LIMIT 20", .@code$, .@nid$, .@amount); if ( !.@nb ) { dispbottom "No exisiting codes."; end; } dispbottom "============================================="; dispbottom "============== EXISITING CODES =============="; dispbottom "============================================="; for(set .@i,0; .@i < .@nb; set .@i,.@i+1) dispbottom ""+.@code$[.@i]+" ( Reward: "+.@amount[.@i]+" "+.@nid$[.@i]+" ) "; dispbottom "============================================="; break; case 3: input .@dcode$; query_sql "SELECT `code` FROM `reward_codes` WHERE `code` = '" + escape_sql(.@dcode$) + "'", .@dcode_exists; if ( !.@dcode_exists ) { dispbottom "Promotional code not found."; end; } mes "Would you like to delete that code?"; next; if ( select("Yes:No, thanks") - 1 ) end; query_sql "DELETE FROM `reward_codes` WHERE `code` = '" + escape_sql(.@dcode$) + "'"; break; case 4: close; break; default: break; } end; } [spoiler=To do:]- NPC Configurations, like only generate code, not others like items,amount,limit. + Code length configuration for random generation.(Done but I wont release it yet.) Figuring out how to autopaste the code from your text box! (If its possible) Figuring out how to claim using "@claim <insertcodehere>" Adding promotional code referal_system. Adding gm can mail codes. Player can main codes also. Adding lots of stuff if i think of new idea. [spoiler=Screenie:]I know I can do better than this but am really tired atm.. [spoiler=Change logs:]v.1: Initial release. v.1.2: Re-write and improve totally the whole script! Added only generate code. v.1.2.1: Uploaded a quick fix, credits to shadowolf and ude for pinpointing some bugs from post #23,#25. v.1.2.2: Improved delete function, change "OnInit" setup vars "$@" to ".", added GM Toggle in setup(claim restriction), improved few dialogues. v.1.2.3: Fix case detection problem on queries. All codes(random,manually generated,claim) will be automatically converted to uppercase. [spoiler=Special notes:][spoiler=The setup:]Just dont forget to fix your settings found on OnInit, at the meantime, I wont release the rand code generator that I used in the script, because it might cause some error on your server, the generator here can only produce 10 strings, and used a basic formula on it. If you wanted to make more than 10strings just add this one "+.@s$[rand(0,35)]+" its very easy! Dont forget to add the sql-thingy! [spoiler=Script is SQL based:]The script variable usage is in SQL(Almost all). Please help me improve this script. If you found bugs or errors please pinpoint it to me so that I can actually fix that fast. Before releasing it to your server, please configure it right and check out what this script does. Please do suggest improvements, additional features, etc. to make the script more diverse and fresh. Also if you knew a way how to do my To Do List, can you help me on that part?(Grab form other post, very very lazy XD.) A little thanks or appreciation of my work will pump-up my motivation to much improve the whole script. Thanks and have fun using the script! ****** I made this script using this svn(http://sourceforge.net/p/rathena/svn/17482/). ****** For those who are using older svn and having an error regarding close button not appearing properly just change where the line part where error appears "end;" to "close;" Smexy update will be finish soon! [spoiler=Update(WIP) Screenie:] Mailing of Code enabled. Referral system: -GM can set pool count of referral. -GM can set prize for every refered new player. -Cannot refer player with same IP/Account. -Changes @claim to @promo: Promo Menu: - Claim Codes - Refered by friend, Claim Reward. - Refer - Referring Menu(will appear when you pick refer over claim). Easy Deletion of all code. Random Auto Generate of code now support 5-15 chars. Added Referral Ladder. P.S. Hope I do have enough time to finish this fast, lots of work to do. New to do list added. Hope someone can help me. promotional_codes_v.1.2.txt promotional_codes_v.1.2.1.txt promotional_codes_v.1.2.2.txt promo_codes_v.1.2.3.txt
    1 point
  4. File Name: itemoption File Submitter: keitenai File Submitted: 21 Nov 2016 File Category: Utilities Content Author: keitenai @ command itemoption Script Information: This script allows you to apply random option on a selected equipped item. The Option types can be found in const.txt : LINK!! The Value is the rate of the option type effect. eg: `10` = 10% bonus attack Index location is the Option Slot location. 0 = First item option slot 1 = Second item option slot 2 = Third item option slot 3 = Fourth item option slot 4 = Fifth item option slot NOTE that you will not see the Option type's description (Client Side) if the Option Slots are not filled by sequence (missed a slot). With this i added a security check that if you missed/jump an index slot, the script will automatically fix it for you. @ itemoption makes it easier to apply random option in your item quite easily. Compatible with : rAthena 633a642 Download : itemoption.txt Hope you find this useful itemoption.txt
    1 point
  5. Scripting Core Released Script Pending Script Upload: 【SHOWCASE】DotA Style Monster Behavior (Monster Controller) 【SHOWCASE】ARCUS SYSTEM A communication device to provide feature below: Calling npc from distance Mailing System Hook GPS System Hook (Navigation Npc, Player) Magic Support More feature developing... Arcus System Spoiler: (Old)
    1 point
  6. Version 2.2.0

    36910 downloads

    Third Job Costumes + New Classes The Correction With the advent of jRO releasing new Job Costumes, and also, the new classes from the Taekwon branch, many of server owners want to replace the vanilla sprites or even, implement the bodystyle system. But, there's a catch! Originally jRO, and now, even kRO spriters, have made it completely off of the default pattern of palette. In a classic example, you can notice the pattern of the RO palettes. What matters is the position of the colours, as an example, for all jobs, the white-ish tones will be always on the same row, so we can use it to create custom palettes. See how it works: But jRO didn't follow the classic pattern, making it incompatible with custom palettes (@Kamishi ones included). So, I edited frame by frame of each job sprite, of each gender, mounted or not, correcting them, converting them in a way so many of the previously created palettes will work. This package includes: Alternate Outfits: Alternate Royal Guard M/F + Gryffon Battlemount + Lion Mount Alternate Ranger M/F + Warg Battlemount + Ostrich Mount Alternate Minstrel/Wanderer + Ostrich Mount Alternate ArchBishop M/F + Alpaca Mount Alternate Warlock M/F + Fox Mount Alternate Mechanic M/F + Savage Mount Alternate Genetic M/F + Savage Mount Alternate Guillotine Cross M/F + Hyena Mount Alternate Shadow Chaser M/F + Hyena Mount Alternate Sorcerer M/F + Fox Mount Alternate Sura M/F + Alpaca Mount Alternate Rune Knight M/F + Dragon Battlemount + Lion Mount New Classes Star Emperor M/F + Wolf Mount Soul Reaper M/F + Wolf Mount As requested by @Emistry, I also added an extra, making it more compatible to default palettes: Kagerou/Oboro + Frog Mount Following the another @Emistry's request, all files are now already on GRFs. The previous version had no Cashmount palette included, this one fixes the issue. Only the already released costumes are supported at this moment. The Rune Knight seems to be the last of them, it's over a year from the first release! As a final part of the package, I'm including Classic Palettes for all Alternate Costumes. Enjoy the final product!
    Free
    1 point
  7. An event-driven plugin system is planned.
    1 point
  8. Am I the only one who gets sad when people are no longer active playing ragnarok online?
    1 point
×
×
  • Create New...