Jump to content

[Showcase] OppaiDragon's Fun Collections


Moooooon-Aisha

Recommended Posts


  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  116
  • Reputation:   18
  • Joined:  09/08/17
  • Last Seen:  

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($@support_staff == 1){
					next;
					mes "[ Support Staff ]";
					mes "I am already active.";
					close;
				}
				mes "[ Support Staff ]";
				mes "I am now active.";
				$@support_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($@support_staff == 0){
					next;
					mes "[ Support Staff ]";
					mes "I am already deactivated.";
					close;
				}
				mes "[ Support Staff ]";
				mes "I am now deactivated.";
				$@support_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($@support_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 .@message$;
			if(getstrlen(.@message$) < 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"+.@message$+"^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 "+.@message$;
			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";	
	$@support_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(.@i = 0; .@i < getarraysize(.blacklist); .@i++)
			mes "--- "+getitemname(.blacklist[.@i])+" ["+.blacklist[.@i]+" ]";
		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(.@i = 0; .@i < getarraysize(@sold_nameid); .@i++){
		.@item = @sold_nameid[.@i];
		for(.@x = 0; .@x < getarraysize(.blacklist); .@x++){
			if(.@item == .blacklist[.@x]){
				@sold_nameid[.@i] = 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(.@i = 0; .@i < getarraysize(@sold_nameid); .@i++){
		if(getiteminfo(@sold_nameid[.@i],2) == 5){
			switch(getiteminfo(@sold_nameid[.@i],13)){
				case 1:
					.@ori_get += 1;
					break;
				case 2:
					.@ori_get += 3;
					break;
				case 3:
					.@ori_get += 4;
					break;
				case 4:
					.@ori_get += rand(5,10);
					break;
			}
		}
	}
	for(.@i = 0; .@i < getarraysize(@sold_nameid); .@i++){
		if(getiteminfo(@sold_nameid[.@i],2) == 4)
			switch(getiteminfo(@sold_nameid[.@i],5)){
				case 256: //upper hg
					.@elu_get += rand(5,7);
					break;
				case 512: //middle hg
					.@elu_get += rand(5,7);
					break;
				case 1: //lower hg
					.@elu_get += rand(5,7);
					break;
				case 16: //armor
					.@elu_get += rand(3,5);
					break;
				case 32: //shield
					.@elu_get += rand(3,5);
					break;
				case 4: //garment
					.@elu_get += rand(3,5);
					break;
				case 64: //footgear
					.@elu_get += rand(3,5);
					break;
				case 136: //accessory
					.@elu_get += rand(3,5);
					break;
				case 768: //upper/mid hg
					.@elu_get += rand(5,7);
					break;
				case 513: //mid/lower hg
					.@elu_get += rand(5,7);
					break;
				case 769: //upper/mid/lower hg
					.@elu_get += rand(5,7);
					break;
				default:
					.@elu_get += rand(3,5);
					break;
			}
	}
	for(.@i = 0; .@i < getarraysize(@sold_nameid); .@i++)
		if(@sold_nameid[.@i] != 0)
			mes "^ff0000"+getitemname(@sold_nameid[.@i])+"^000000 x ^0000ff1^000000";
	mes "-----------------------------------";
	mes "^0055FF"+.@ori_get+"^000000 Oridecon(s) ";
	mes "^0055FF"+.@elu_get+"^000000 Elunium(s) ";
	mes "-----------------------------------";
	next;
	if(.@ori_get == 0 && .@elu_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(.@i = 0; .@i < getarraysize(@sold_nameid); .@i++)
		delitem @sold_nameid[.@i],1;
	getitem 984,.@ori_get;
	getitem 985,.@elu_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 Mael
Same format for all titles
  • Upvote 2
  • Like 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  107
  • Topics Per Day:  0.02
  • Content Count:  770
  • Reputation:   69
  • Joined:  02/10/12
  • Last Seen:  

nice collection.. really interesting about auto reward on MVP weekly reward ?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  116
  • Reputation:   18
  • Joined:  09/08/17
  • Last Seen:  

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


  • Group:  Members
  • Topic Count:  78
  • Topics Per Day:  0.03
  • Content Count:  431
  • Reputation:   164
  • Joined:  12/12/17
  • Last Seen:  

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.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  737
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

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 ^_^

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  116
  • Reputation:   18
  • Joined:  09/08/17
  • Last Seen:  

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.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  116
  • Reputation:   18
  • Joined:  09/08/17
  • Last Seen:  

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

  • 1 month later...

  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  116
  • Reputation:   18
  • Joined:  09/08/17
  • Last Seen:  

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
Link to comment
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.

×
×
  • Create New...