Moooooon-Aisha Posted November 13, 2019 Share Posted November 13, 2019 (edited) These are a showcase of some stuff I have created in my test server. From time to time I will also give back to the community with free releases every now and then. Please note that these showcases,releases and entries do not translate in me being a decent coder. I merely enjoy coding for RO in general. With that said, enjoy and hopefully you find the contents within, inspiring. Personalized MvP Ranker - 100% Working Weekly Ranking All Time Ranking Personal MvP Kill Tracker Weekly Ranking Rewards Exclusive Top 3 Rank Title Titles reset on a weekly basis as well (Sunday) Spoiler Midgard Adventurer Association - 100% Working Tier-based quests Tier-based shop Tier-based rewards Tier-based titles Repeatable quests for Adventurer XP grinding Item Collection quest required to rank up Spoiler Personalized WoE Ranker - Discontinued until further notice Weekly Ranking Monthly Ranking All Time Ranking Break Record Repair Barricade Record Kill Record Exclusive Top 3 Rank Title Record (Breaker, Killer, Repairer) Titles reset on a monthly basis as well (First day of the month) Video Preview [ Will edit soon ] Freebies Section Support NPC Let's you control when players can use @request Allows staff members announce to players that they are either Available now, or Unavailable Spoiler // ------------------------------------------------------------------------------------------- // // ------------------------------------- Aisha ----------------------------------------------- // // :: Do not redistribute without permission // // ------------------------------------------------------------------------------------------- // // :: Support NPC // // :: v1.0 - Initial Release // - script Support Staff -1,{ end; OnRequest: if(getgmlevel() >= 10){ mes "[ Support Staff ]"; mes "Do you wish to activate the NPC?"; switch(select("Activate:Deactivate")){ case 1: if([email protected]_staff == 1){ next; mes "[ Support Staff ]"; mes "I am already active."; close; } mes "[ Support Staff ]"; mes "I am now active."; [email protected]_staff = 1; announce "[ Support Staff ]: "+strcharinfo(0)+" has activated our Support Staff NPC. You may now contact our Staff Members.",0; close; case 2: if([email protected]_staff == 0){ next; mes "[ Support Staff ]"; mes "I am already deactivated."; close; } mes "[ Support Staff ]"; mes "I am now deactivated."; [email protected]_staff = 0; announce "[ Support Staff ]: "+strcharinfo(0)+" has deactivated our Support Staff NPC. Please wait until the next Staff Member is available.",0; close; } } if(gettimetick(2) < #HelpDelay){ mes "[ Support Staff ]"; mes "I'm sorry, you can only send a request once per 5 minutes. Please try again later."; close; } switch([email protected]_staff){ case 0: mes "[ Support Staff ]"; mes "I'm sorry, no Staff Member is currently available. Please try again later."; close; case 1: mes "[ Support Staff ]"; mes "Hello, I am a representative of our Staff Members, some are online right now and can cater to your problems, do you wish to contact them now?"; menu "Yes, please.",-; OnTryAgain: next; mes "[ Support Staff ]"; mes "Please input your question on the box, I will deliver it to our Staff Member."; input [email protected]$; if(getstrlen([email protected]$) < 5){ next; mes "[ Support Staff ]"; mes "I'm sorry, however I have detected that you only meant to spam. Please input a longer message."; goto OnTryAgain; } next; mes "[ Support Staff ]"; mes "Just to review, you wish to contact the Staff Member for the following reason:"; mes "------------------------------"; mes "^ff0000"[email protected]$+"^000000"; menu "Yes, correct.",-,"No, let me try again",OnTryAgain; next; mes "[ Support Staff ]"; mes "I will contact them now~"; set #HelpDelay,gettimetick(2)+300; atcommand "@request "[email protected]$; dispbottom "Your message has been sent, please wait for our Staff to contact you."; message strcharinfo(0),"Please wait 5 minutes before sending another request."; close; } OnInit: bindatcmd "request",strnpcinfo(3)+"::OnRequest"; [email protected]_staff = 0; end; } King of Poring (King of Emperium) - Discontinued until further notice 4 teams duke it out in a PvP Arena Win conditions are: Be the last team standing OR obliterating the poor poring at the middle of everything Each corner has their Healer and Buffer NPC, providing most buffs to the players prior to the match When the round begins, Healer and Buffer NPC will disappear, along side the invisible barriers Time limit of 15 minutes is in play, if it exceeds 15 minutes, players with the most surviving members will win Rewards will be distributed to all participants, winners will have their own special reward Spoiler Coming soon Equipment / Weapon Disassembly - Non-extended version Disassembles equipment / weapons to produce Elunium/Oridecon respectively Shields, Headgears and Accessories are treated as "Equipment/Armor" Items listed in the OnInit file are considered as black listed Spoiler // ------------------------------------------------------------------------------------------- // // ------------------------------------- Aisha ----------------------------------------------- // // :: Do not redistribute without permission // // ------------------------------------------------------------------------------------------- // // :: Disassembler NPC // // :: v1.0 - Initial Release // prontera,151,176,5 script Disassembler#1 123,{ if(select(" > ^FF0000Information^000000: > ^009BFFDisassemble^000000") == 1) { mes "[ ^9d3ad3Disassembler^000000 ]"; mes "You can obtain resources back when you disassemble items."; mes "We have a list of restricted items."; next; mes "[ ^9d3ad3Disassembler^000000 ]"; mes "^ff0000Weapons^000000"; for([email protected] = 0; [email protected] < getarraysize(.blacklist); [email protected]++) mes "--- "+getitemname(.blacklist[[email protected]])+" ["+.blacklist[[email protected]]+" ]"; close; } deletearray @sold_nameid[0],getarraysize(@sold_nameid); callshop "dis_shop",2; npcshopattach "dis_shop"; end; OnSellItem: mes "[ ^9d3ad3Disassembler^000000 ]"; mes "-----------------------------------"; mes "Equipment list:"; for([email protected] = 0; [email protected] < getarraysize(@sold_nameid); [email protected]++){ [email protected] = @sold_nameid[[email protected]]; for([email protected] = 0; [email protected] < getarraysize(.blacklist); [email protected]++){ if([email protected] == .blacklist[[email protected]]){ @sold_nameid[[email protected]] = 0; /* clear; mes "-----------------------------------"; mes "[ ^9d3ad3Disassembler^000000 ]"; mes "You are trying to disassemble a restricted item."; mes "Please do not disassemble these items."; mes "-----------------------------------"; close; */ } } } for([email protected] = 0; [email protected] < getarraysize(@sold_nameid); [email protected]++){ if(getiteminfo(@sold_nameid[[email protected]],2) == 5){ switch(getiteminfo(@sold_nameid[[email protected]],13)){ case 1: [email protected]_get += 1; break; case 2: [email protected]_get += 3; break; case 3: [email protected]_get += 4; break; case 4: [email protected]_get += rand(5,10); break; } } } for([email protected] = 0; [email protected] < getarraysize(@sold_nameid); [email protected]++){ if(getiteminfo(@sold_nameid[[email protected]],2) == 4) switch(getiteminfo(@sold_nameid[[email protected]],5)){ case 256: //upper hg [email protected]_get += rand(5,7); break; case 512: //middle hg [email protected]_get += rand(5,7); break; case 1: //lower hg [email protected]_get += rand(5,7); break; case 16: //armor [email protected]_get += rand(3,5); break; case 32: //shield [email protected]_get += rand(3,5); break; case 4: //garment [email protected]_get += rand(3,5); break; case 64: //footgear [email protected]_get += rand(3,5); break; case 136: //accessory [email protected]_get += rand(3,5); break; case 768: //upper/mid hg [email protected]_get += rand(5,7); break; case 513: //mid/lower hg [email protected]_get += rand(5,7); break; case 769: //upper/mid/lower hg [email protected]_get += rand(5,7); break; default: [email protected]_get += rand(3,5); break; } } for([email protected] = 0; [email protected] < getarraysize(@sold_nameid); [email protected]++) if(@sold_nameid[[email protected]] != 0) mes "^ff0000"+getitemname(@sold_nameid[[email protected]])+"^000000 x ^0000ff1^000000"; mes "-----------------------------------"; mes "^0055FF"[email protected]_get+"^000000 Oridecon(s) "; mes "^0055FF"[email protected]_get+"^000000 Elunium(s) "; mes "-----------------------------------"; next; if([email protected]_get == 0 && [email protected]_get == 0) end; if(select(" > ^0055FFDisassemble^000000: > ^777777Cancel^000000") == 2) { mes "[ ^9d3ad3Disassembler^000000 ]"; mes "-----------------------------------"; mes "Alright, I've returned your items to your inventory."; mes "Come to me again if you changed your mind."; mes "-----------------------------------"; close; } for([email protected] = 0; [email protected] < getarraysize(@sold_nameid); [email protected]++) delitem @sold_nameid[[email protected]],1; getitem 984,[email protected]_get; getitem 985,[email protected]_get; mes "-----------------------------------"; mes "[ ^9d3ad3Disassembler^000000 ]"; mes "All done!"; mes "Here's your resources!"; mes "Bring me stuff you don't need so you can disassemble them!"; mes "-----------------------------------"; close; end; OnInit: setarray .blacklist, 1201,2301,2401,2501,2607,2101; end; } - shop dis_shop -1,512:-1 More will be coming soon, stay tuned. Edited January 12, 2022 by Mael Same format for all titles 2 1 Quote Link to comment Share on other sites More sharing options...
LearningRO Posted November 14, 2019 Share Posted November 14, 2019 nice collection.. really interesting about auto reward on MVP weekly reward Quote Link to comment Share on other sites More sharing options...
Moooooon-Aisha Posted November 14, 2019 Author Share Posted November 14, 2019 Update: I will be releasing the Greed Hoarder script for free later this week or the next (all bugs fixed) If you have bought the Greed Hoarder script, feel free to DM me for a refund Work in Progress Equipment/Weapon Disassembly (this will be a free release when I finish it) Mainly for changing how refining works in official RO to widely extend end-game potential Costume Evolution Upgrading your costumes' rarity, granting it additional stats in the process 1 Quote Link to comment Share on other sites More sharing options...
pajodex Posted November 14, 2019 Share Posted November 14, 2019 20 minutes ago, Moooooon-Aisha said: Equipment/Weapon Disassembly (this will be a free release when I finish it) Mainly for changing how refining works in official RO to widely extend end-game potential Looking forward to this project. Quote Link to comment Share on other sites More sharing options...
Bringer Posted November 14, 2019 Share Posted November 14, 2019 22 hours ago, Moooooon-Aisha said: Personalized WoE Ranker - WIP Weekly Ranking Monthly Ranking All Time Ranking Break Record Repair Barricade Record Kill Record Exclusive Top 3 Rank Title Record (Breaker, Killer, Repairer) Titles reset on a monthly basis as well (First day of the month) Video Preview [ Will edit soon ] Longest Def ^_^ Quote Link to comment Share on other sites More sharing options...
Moooooon-Aisha Posted November 14, 2019 Author Share Posted November 14, 2019 2 hours ago, Bringer said: Longest Def ^_^ I might add it later on, will definitely be on a to do list. Currently not that familiar with database manipulation, but it should be very possible to do so. Quote Link to comment Share on other sites More sharing options...
Moooooon-Aisha Posted November 16, 2019 Author Share Posted November 16, 2019 (edited) Update: Added Disassembler NPC Note: This does not include any of the changes I am doing on refining itself, this NPC is just enabling you to dismantle any equipment (unless blacklisted) and turn them into other stuff. EDIT: Bug has been found. Will update later with a fix. EDIT 2: Bug has been fixed. Fixed version is now available. Edited November 16, 2019 by Moooooon-Aisha Quote Link to comment Share on other sites More sharing options...
Moooooon-Aisha Posted January 9, 2020 Author Share Posted January 9, 2020 I will soon post a new Disassembler NPC, which should be much cleaner and easier to control. Haven't been posting alot due to a project of mine. 1 Quote Link to comment Share on other sites More sharing options...