Jump to content
  • 0
xlaws27

costume converter npc with item restriction!!!

Question

the ITEMBOUND items became tradable when i converted them into a costume then restore them back.

 

can you help me ? i have no knowledge scripting.

 

but i think the solution is countitem so that it won't let the player to use the costume clown if he/she has an <itemid> in his inventory.

 

 

//===== Hercules Script ======================================//= Headgear to Costume converter >> Costume to Headgear converter//===== By: ==================================================//= Rebel, Zephyrus [rAthena]//= Mhalicot [Hercules]//===== Current Version: =====================================//= 1.1//===== Compatible With: =====================================//= Hercules//===== Description: =========================================//= Allows a user to convert the equipped headgear //	(on Top, Mid or Low) into a costume item. //	It will remove any card and refine of the Item.//= Allows a user to restore the equipped costume headgear //	(on Top, Mid or Low) into its original form. //	It will not return any card or refine of the item.//===== Additional Comments: =================================//= 1.0 Initial script [All of this script are credit to//	Rebel, Zephyrus of [rAthena] and revised by [Mhalicot]//	to make it compatible in Hercules.]//= 1.1 Denied if Headgear is rental, has refine,//	or has card[Mhalicot]//	Note: You must apply the patch in order to use this script//============================================================-	script	Costume Clown	-1,{	mes "[Clown]";	mes "Here you can convert your headgears into a Costume Headgear or restore to its Original form.";	switch(select("I want to convert.:I want to restore.:No thanks.")) {	case 1:			next;			mes "[Clown]";			mes "Please, select what to convert.";			mes "Remember, cards and refine will be removed.";			next;				setarray .@Position$[1],"Top","Mid","Low";				setarray .@Position[1],     1,    9,   10;				set .@Menu$,"";			for( set .@i, 1; .@i < 5; set .@i, .@i + 1 )			{				if( getequipisequiped(.@Position[.@i]) )				set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]";				set .@Menu$, .@Menu$ + ":";			}			set .@Part, .@Position[ select(.@Menu$) ];			set .@id, getequipid(.@Part);			set .@ref, getequiprefinerycnt(.@Part);			if( !getequipisequiped(.@Part) )			{				mes "[Clown]";				mes "Your not wearing anything there...";				close;			}			mes "[Clown]";			mes "You want to Costume your " + getitemname(getequipid(.@Part)) + "?";			next;			if( select("Yes, proceed:No, I am sorry.") == 2 )			{				mes "[Clown]";				mes "Need some time to think about it, huh?";				mes "Alright, I can understand.";				close;			}			for(set .@i,0; .@i<4; set .@i,.@i+1)				set .@slot[.@i], getequipcardid(.@Part,.@i);			if (.@slot[0]>4000 && .@slot[0]<5000) { // If it has card don't convert				mes "[Clown]";				mes "A card? Here?!";				mes "As I said before, I don't convert headgear with cards.";				emotion e_hmm;				close;			}			getinventorylist;			for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1)				if (@inventorylist_expire[.@i] != 0 && @inventorylist_equip[.@i] != 0) { // If rental don't convert				mes "[Clown]";				mes "Sorry, I don't convert a rental headgear!";				emotion e_hmm;				close;				}				if (.@ref > 0) { // If refine don't convert				mes "[Clown]";				mes "Sorry please keep in mind.";				mes "I don't convert headgear with refine.";				emotion e_hmm;				close;				}			if (!countitem(.@id)) { 				mes "[Clown]";				mes "Where is "+getitemname(@id)+"...?";				npctalk "You're a snoozy cheater!";				logmes "CHEATER: Tried to sign an item not having it: "+getitemname(@id);				emotion e_wah;				close;			}			costume .@Part; // Convert the Headgear			mes "[Clown]";			mes "Done, enjoy your costume headgear.";			close;	case 2:			next;			mes "Please, select what to restore.";			mes "Remember, I will only restore it back without refine and cards.";			next;				setarray .@Position$[1],"Top","Mid","Low";				setarray .@Position[1],     13,    12,   11;				set .@Menu$,"";			for( set .@i, 1; .@i < 5; set .@i, .@i + 1 )			{				if( getequipisequiped(.@Position[.@i]) )				set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]";				set .@Menu$, .@Menu$ + ":";			}			set .@Part, .@Position[ select(.@Menu$) ];			if( !getequipisequiped(.@Part) )			{				mes "[Clown]";				mes "Your not wearing anything there...";				close;			}			mes "[Clown]";			mes "You want to restore your " + getitemname(getequipid(.@Part)) + "?";			next;			if( select("Yes, proceed:No, I am sorry.") == 2 )			{				mes "[Clown]";				mes "Need some time to think about it, huh?";				mes "Alright, I can understand.";				close;			}			a = getequipid(.@Part);						delitem a,1;			getitem a,1;						mes "[Clown]";			mes "Done, enjoy your restored headgear.";			close;	case 3:		mes "[Clown]";		mes "Very well. Return at once if you seek my services.";		close;	}}// --------------------------------------------------------------------------// Use duplicates to put your npc on different cities// --------------------------------------------------------------------------mellina,120,75,4	duplicate(Costume Clown)	Costume Clown#1	4_M_PIERROT

 

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

you can use checkbound script command for it

 

add this and change the array of .@Blacklist to your own ids

// Headgear Blacklistsetarray .@Blacklist, 2201, 2202, 2203;for (.@c = 0; .@c < getarraysize(.@Blacklist); ++.@c) {	if ( .@Blacklist[.@c] == .@id && checkbound(.@Blacklist[.@c]) ) {		mes "You can't convert bound item.";		close;	}}

after

set .@Part, .@Position[ select(.@Menu$) ];set .@id, getequipid(.@Part);

Share this post


Link to post
Share on other sites
  • 0

 

you can use checkbound script command for it

 

add this and change the array of .@Blacklist to your own ids

// Headgear Blacklistsetarray .@Blacklist, 2201, 2202, 2203;for (.@c = 0; .@c < getarraysize(.@Blacklist); ++.@c) {	if ( .@Blacklist[.@c] == .@id && checkbound(.@Blacklist[.@c]) ) {		mes "You can't convert bound item.";		close;	}}

after

set .@Part, .@Position[ select(.@Menu$) ];set .@id, getequipid(.@Part);

thank you!!!

Edited by xlaws27

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
Answer this question...

×   Pasted as rich text.   Restore formatting

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

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.