Jump to content

Recommended Posts

Posted (edited)

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
Posted

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
Posted
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.

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

Posted (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 by Moooooon-Aisha
  • 1 month later...

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...