Sign in to follow this  
Moooooon-Aisha

[SHOWCASE] OppaiDragon's Fun Collections

Recommended Posts

FCUZcZy.png

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 by Moooooon-Aisha
  • Upvote 2

Share this post


Link to post
Share on other sites

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
  • Like 1

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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 ^_^

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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 by Moooooon-Aisha

Share this post


Link to post
Share on other sites

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.

  • Upvote 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this