Jump to content
  • 0

Question

Posted

good day masters can i request a card exchanger NPC

 

this how the npc works

 

- players need to collect atleast 15 pcs Blank card (6187)

- the npc will count if the player / players have atleast 15 pcs blank card

- and exchange it to a random cards

- 100% for normal cards

-30% for mini boss cards

- and 1 % for mvp cards

 

and get a announcement if the players get card from this npc

 

thank you so much

 

2 answers to this question

Recommended Posts

  • 0
Posted (edited)
18 hours ago, Questune09 said:

good day masters can i request a card exchanger NPC

 

this how the npc works

 

- players need to collect atleast 15 pcs Blank card (6187)

- the npc will count if the player / players have atleast 15 pcs blank card

- and exchange it to a random cards

- 100% for normal cards

-30% for mini boss cards

- and 1 % for mvp cards

 

and get a announcement if the players get card from this npc

 

thank you so much

 

 
 
 
 
 

Hi, sorry for the late respond, i was trying to work your request this morning however my boss call me at work so i couldn't finished it :D
So here's the friendly script u can use, easy to manage please see OnInit:
 

prontera,155,184,4	script	Card Trader	871,{

		mes .n$;
		mes rand(2) ? "How may i help you today?" : "Take a look maybe you can check something interesting?";
		next;
		.@i = select("- Information:- Exchange Item:- Cancel");
		switch(.@i) {
		case 1: 
			mes .n$;
			mes "Normal Cards Rate: 100%";
			mes "Mini-Boss Cards Rate: 30%";
			mes "MvP Cards Rate: 1%";
			close;
		case 2:
		if ( countitem(.itemRequired) < 15 ) {// Blank Card
			mes .n$;
			mes "I'm sorry you don't have the ^0000FF"+ getitemname(.itemRequired) +"^000000 to exchanged.";
			mes "Please come back to me if you have it already.";
			close;
		}
		mes .n$;
		mes "Would you like to exchange your ^0000FF"+ getitemname(.itemRequired) +"^000000?";
		next;
		progressbar "0x11CC99",1;
		set .@size, getarraysize( .reward );
		for( set .@i, 1; .@i < .@size; .@i += 2 ) {
			.@percent[.@i] = .@total + .reward[.@i];
			.@total += .reward[.@i];
		}
		.@r = rand( .@total +1 );
		for( set .@i, 1; .@i < .@size; .@i += 2 )
			if( .@percent[.@i] > .@r )
				break;
			getitem .reward[ .@i-1 ], 1;
			delitem .itemRequired,15; // Blank Card
			announce "Player, "+ strcharinfo(0) +" recieved "+ getitemname(.reward[ .@i-1 ]) +" (1).",0;
			end;
		case 3:
			mes .n$;
			mes "Come back anytime you want.";
			close;
		}
	
OnInit:
	.n$ = "[ Card Trader ]";// NPC Name
	.itemRequired = 6187; 	// Blank Card
	setarray .reward, // <item_id>,<chances rate%>;
		// Normal Cards: 100%
		4001,100,	// Poring Card
		4002,100,	// Fabre Card

		// Mini Boss Cards: 30%
		4174,30,	// Deviling Card
		4054,30,	// Angeling Card

		// MvP Cards: 1%
		4399,1,		// Thanatos Card
		4302,1;		// Tao Gunka Card
		end;
	}

RAW Link: http://immortalsro.com/rAScripts/card_trader.txt

Tested ingame.

Edited by Kaze
  • Upvote 1

Join the conversation

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

Guest
Answer this question...

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