Jump to content

Tupac

Members
  • Posts

    101
  • Joined

  • Last visited

Posts posted by Tupac

  1. Ola galera, estou tentando traduzir o mob_db_re, porém são muitas linhas levaria uma eternidade, existe algum script que formate o mob_db_re.sql do brathena ou do cronus para o do rathena ?

    Tentei editar no notepadd++ porém os formatos são diferente de db.

  2. 19 hours ago, AnnieRuru said:
    
    prontera,150,185,5	script	test	1_F_MARIA,{
    	if ( !isequipped(2589) && !isequipped(2576) )
    		dispbottom "go away";
    	end;
    }

     

    thx

    Script edited:

    //===== rAthena Script ======================================= 
    //= Ticket Refiner
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.1
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= [Official Conversion]
    //= Refiner that uses +5~9/+11 refine tickets to refine
    //= equipment with no chance of failure.
    //= NOTE: This NPC is currently disabled on official servers.
    //===== Additional Comments: =================================
    //= 1.0 First version. [Euphy]
    //= 1.1 Do not refine above ticket level. [Euphy]
    //============================================================
    
    // Main NPC :: safety_Ref_NPC
    //============================================================
    prontera,147,162,5	script	Refinador	4_M_05,{
    	disable_items;
    	if (countitem(6238) || countitem(6228) || countitem(6229) || countitem(6230) || countitem(6231) || countitem(6456))
    		set .@bWeaponUp,1;
    	if (countitem(6239) || countitem(6232) || countitem(6233) || countitem(6234) || countitem(6235) || countitem(6457))
    		set .@bArmorUp,1;
    	if (!.@bWeaponUp && !.@bArmorUp) {
    		mes "[Refinador]";
    		mes "Hello!";
    		mes "What's up?";
    		mes "I'm a specialist";
    		mes "for refining items,";
    		mes "but I don't work anymore.";
    		next;
    		switch(select("I'll go on my way.:Hmm... this makes me curious.")) {
    		case 1:
    			mes "[Refinador]";
    			mes "Take care, adventurer.";
    			close;
    		case 2:
    			mes "[Refinador]";
    			mes "Actully, I sometimes provide refine services for adventurers with a ^006400Refine Ticket^000000...";
    			mes "Bye bye~!";
    			close;
    		}
    	}
    	emotion ET_SURPRISE;
    	mes "[Refinador]";
    	mes "Greetings!";
    	mes "I can refine an item up to the ^006400same level as your ticket^000000.";
    	mes "You don't have to worry! There's no chance of breaking your item.";
    	next;
    	if(select("I'll come back later.:Refine item with ticket.") == 1) {
    		mes "[Refinador]";
    		mes "Okay.";
    		mes "You can come again later.";
    		close;
    	}
    	mes "[Refinador]";
    	mes "Which equipment would you like to refine?";
    	next;
    	setarray .@position$[1],"Robe";
    	setarray .@indices[1],  EQI_GARMENT;
    	for(set .@i,1; .@i<=1; set .@i,.@i+1)
    		set .@menu$, .@menu$+((getequipisequiped(.@indices[.@i]))?getequipname(.@indices[.@i]):.@position$[.@i]+"- [Empty]")+":";
    	set .@part, .@indices[ select(.@menu$) ];
    	if (!getequipisequiped(.@part)) {
    		mes "[Refinador]";
    		mes "You have to equip the item you want to refine.";
    		close;
    	}
    	if (!getequipisenableref(.@part)) {
    		emotion ET_OTL;
    		mes "[Refinador]";
    		mes "Oh, I'm sorry.";
    		mes "This item is impossible to refine.";
    		close;
    	}
    	switch(getequipweaponlv(.@part)) {
    	default:
    	case 0:
    		setarray .@tickets[0],6232;
    		setarray .@levels[0],9;
    		set .@type$,"Armor";
    		set .@check,.@bArmorUp;
    		break;
    	case 1:
    	case 2:
    	case 3:
    	case 4:
    		setarray .@tickets[0],6228;
    		setarray .@levels[0],9;
    		set .@type$,"Weapon";
    		set .@check,.@bWeaponUp;
    		break;
    	}
    	if (!.@check) {
    		emotion ET_THINK;
    		mes "[Refinador]";
    		mes "If you want to refine this ^006400"+.@type$+"^000000, please come along with ^006400"+.@type$+" Refine Ticket^000000.";
    		mes "See you later!";
    		close;
    	}
    	mes "[Refinador]";
    	mes "Please choose which ^006400"+.@type$+" Refine Ticket^000000 you want to use.";
    	next;
    	set .@menu$,"";
    	for(set .@i,0; .@i<getarraysize(.@tickets); set .@i,.@i+1)
    		set .@menu$, .@menu$+getitemname(.@tickets[.@i])+":";
    	set .@select, select(.@menu$)-1;
    	set .@ticket_lv, .@levels[.@select];
    	set .@ticket_id, .@tickets[.@select];
    	if ( !isequipped(2589) && !isequipped(2576) ) {
    	dispbottom "go away";
    	end;
    	}
    	if (countitem(.@ticket_id) == 0) {
    		emotion ET_QUESTION;
    		mes "[Refinador]";
    		mes getitemname(.@ticket_id)+" is not in your inventory. Did you put it in your storage?";
    		mes "Please check again.";
    		mes "See you later!";
    		close;
    	}
    	if (getequiprefinerycnt(.@part) >= .@ticket_lv) {
    		emotion ET_PROFUSELY_SWEAT;
    		mes "[Refinador]";
    		mes "^8B4513This item is already refined as much as your deed.^000000";
    		mes "Please come along with an item refined less than your ticket.";
    		close;
    	}
    	mes "[Refinador]";
    	mes "I'm going to refine ^006400"+getequipname(.@part)+"^8B4513 up to the +"+.@ticket_lv+" level^000000 with ^006400"+getitemname(.@ticket_id)+"^000000.";
    	mes "May I proceed?";
    	next;
    	if(select("No.:Yes.") == 1) {
    		emotion ET_THINK;
    		mes "[Refinador]";
    		mes "Oh, you changed your mind.";
    		mes "Ok.";
    		mes "You can come back later.";
    		close;
    	}
    	mes "[Refinador]";
    	mes "Great.";
    	mes "As you wish!";
    	mes "I have my own special way to refine...";
    	mes ".......ka boom!";
    	specialeffect EF_SUI_EXPLOSION;
    	if (countitem(.@ticket_id))
    		delitem .@ticket_id,1;
    	else {
    		next;
    		mes "Error!";
    		mes "Please report this.";
    		close;
    	}
    	successrefitem .@part, .@ticket_lv - getequiprefinerycnt(.@part);
    	next;
    	emotion ET_DELIGHT;
    	mes "[Refinador]";
    	mes "Alright, here it is~";
    	mes "Well, ^0000FF"+strcharinfo(0)+"^000000!";
    	mes "Congratulations on your shining "+.@type$+".";
    	mes "You look GREAT!";
    	mes "Farewell~!";
    	close;
    }

     

    • Love 1
  3. 18 hours ago, AnnieRuru said:
    
    set .slot$, "2966|2968"; //Items that can be slotted.

    change into

    
    set .slot$, "2966|2967|2968|2969"; //Items that can be slotted.

    although some in-game testing, it seems it actually only allow to enchant non-slot equipments
    because 2967 and 2969 are slot items

    To be continue

    "Acessory1-[Empty]"

    "Acessory2-[Empty]"

    for all items

  4. Help, edit script:

    //===== rAthena Script ======================================= 
    //= Ticket Refiner
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.1
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= [Official Conversion]
    //= Refiner that uses +5~9/+11 refine tickets to refine
    //= equipment with no chance of failure.
    //= NOTE: This NPC is currently disabled on official servers.
    //===== Additional Comments: =================================
    //= 1.0 First version. [Euphy]
    //= 1.1 Do not refine above ticket level. [Euphy]
    //============================================================
    
    // Main NPC :: safety_Ref_NPC
    //============================================================
    prontera,147,162,5	script	Refinador	4_M_05,{
    	disable_items;
    	if (countitem(6238) || countitem(6228) || countitem(6229) || countitem(6230) || countitem(6231) || countitem(6456))
    		set .@bWeaponUp,1;
    	if (countitem(6239) || countitem(6232) || countitem(6233) || countitem(6234) || countitem(6235) || countitem(6457))
    		set .@bArmorUp,1;
    	if (!.@bWeaponUp && !.@bArmorUp) {
    		mes "[Refinador]";
    		mes "Hello!";
    		mes "What's up?";
    		mes "I'm a specialist";
    		mes "for refining items,";
    		mes "but I don't work anymore.";
    		next;
    		switch(select("I'll go on my way.:Hmm... this makes me curious.")) {
    		case 1:
    			mes "[Refinador]";
    			mes "Take care, adventurer.";
    			close;
    		case 2:
    			mes "[Refinador]";
    			mes "Actully, I sometimes provide refine services for adventurers with a ^006400Refine Ticket^000000...";
    			mes "Bye bye~!";
    			close;
    		}
    	}
    	emotion ET_SURPRISE;
    	mes "[Refinador]";
    	mes "Greetings!";
    	mes "I can refine an item up to the ^006400same level as your ticket^000000.";
    	mes "You don't have to worry! There's no chance of breaking your item.";
    	next;
    	if(select("I'll come back later.:Refine item with ticket.") == 1) {
    		mes "[Refinador]";
    		mes "Okay.";
    		mes "You can come again later.";
    		close;
    	}
    	mes "[Refinador]";
    	mes "Which equipment would you like to refine?";
    	next;
    	setarray .@position$[1],"Robe";
    	setarray .@indices[1],  EQI_GARMENT;
    	for(set .@i,1; .@i<=1; set .@i,.@i+1)
    		set .@menu$, .@menu$+((getequipisequiped(.@indices[.@i]))?getequipname(.@indices[.@i]):.@position$[.@i]+"- [Empty]")+":";
    	set .@part, .@indices[ select(.@menu$) ];
    	if (!getequipisequiped(.@part)) {
    		mes "[Refinador]";
    		mes "You have to equip the item you want to refine.";
    		close;
    	}
    	if (!getequipisenableref(.@part)) {
    		emotion ET_OTL;
    		mes "[Refinador]";
    		mes "Oh, I'm sorry.";
    		mes "This item is impossible to refine.";
    		close;
    	}
    	switch(getequipweaponlv(.@part)) {
    	default:
    	case 0:
    		setarray .@tickets[0],6232;
    		setarray .@levels[0],9;
    		set .@type$,"Armor";
    		set .@check,.@bArmorUp;
    		break;
    	case 1:
    	case 2:
    	case 3:
    	case 4:
    		setarray .@tickets[0],6228;
    		setarray .@levels[0],9;
    		set .@type$,"Weapon";
    		set .@check,.@bWeaponUp;
    		break;
    	}
    	if (!.@check) {
    		emotion ET_THINK;
    		mes "[Refinador]";
    		mes "If you want to refine this ^006400"+.@type$+"^000000, please come along with ^006400"+.@type$+" Refine Ticket^000000.";
    		mes "See you later!";
    		close;
    	}
    	mes "[Refinador]";
    	mes "Please choose which ^006400"+.@type$+" Refine Ticket^000000 you want to use.";
    	next;
    	set .@menu$,"";
    	for(set .@i,0; .@i<getarraysize(.@tickets); set .@i,.@i+1)
    		set .@menu$, .@menu$+getitemname(.@tickets[.@i])+":";
    	set .@select, select(.@menu$)-1;
    	set .@ticket_lv, .@levels[.@select];
    	set .@ticket_id, .@tickets[.@select];
    	if (countitem(.@ticket_id) == 0) {
    		emotion ET_QUESTION;
    		mes "[Refinador]";
    		mes getitemname(.@ticket_id)+" is not in your inventory. Did you put it in your storage?";
    		mes "Please check again.";
    		mes "See you later!";
    		close;
    	}
    	if (getequiprefinerycnt(.@part) >= .@ticket_lv) {
    		emotion ET_PROFUSELY_SWEAT;
    		mes "[Refinador]";
    		mes "^8B4513This item is already refined as much as your deed.^000000";
    		mes "Please come along with an item refined less than your ticket.";
    		close;
    	}
    	mes "[Refinador]";
    	mes "I'm going to refine ^006400"+getequipname(.@part)+"^8B4513 up to the +"+.@ticket_lv+" level^000000 with ^006400"+getitemname(.@ticket_id)+"^000000.";
    	mes "May I proceed?";
    	next;
    	if(select("No.:Yes.") == 1) {
    		emotion ET_THINK;
    		mes "[Refinador]";
    		mes "Oh, you changed your mind.";
    		mes "Ok.";
    		mes "You can come back later.";
    		close;
    	}
    	mes "[Refinador]";
    	mes "Great.";
    	mes "As you wish!";
    	mes "I have my own special way to refine...";
    	mes ".......ka boom!";
    	specialeffect EF_SUI_EXPLOSION;
    	if (countitem(.@ticket_id))
    		delitem .@ticket_id,1;
    	else {
    		next;
    		mes "Error!";
    		mes "Please report this.";
    		close;
    	}
    	successrefitem .@part, .@ticket_lv - getequiprefinerycnt(.@part);
    	next;
    	emotion ET_DELIGHT;
    	mes "[Refinador]";
    	mes "Alright, here it is~";
    	mes "Well, ^0000FF"+strcharinfo(0)+"^000000!";
    	mes "Congratulations on your shining "+.@type$+".";
    	mes "You look GREAT!";
    	mes "Farewell~!";
    	close;
    }

    for refine only ids 2589 and 2576

  5. 21 minutes ago, utofaery said:

    This method is easier comparing to recompiling lolz.  comparing to editing database .txt all around

    and this method is fully changable to event script's need easily..(on the fly changes)

     

    Sorry for the broken previous script but this script tested working in current rathena version.

    Put this part inside your npc files.

    
    function	script	F_RBox	{
    
    	// change Item ID here
    	setarray @i1[0],607,608; // Common Items 
    	setarray @i2[0],512,513; // Rare Items
    	setarray @i3[0],514,515; // Super Rare Items
    
    	set @i1rand,rand( getarraysize(@i1) ); // Randomize Common Items; just change max amount if you add items
    	set @i2rand,rand( getarraysize(@i2) ); // Randomize Rare Items; just change max amount if you add items
    	set @i3rand,rand( getarraysize(@i3) ); //Randomize Super Rare Items; just change max amount if you add items
    
    	.chance = rand(100);
    
    		// Super Rare Item 1%
    		if (.chance == 1) {
    			getitem @i[@i3rand],1;
    			announce "["+strcharinfo(0)+"] won a ["+getitemname(@i3[@i3rand])+"] from the Super Rare Box.",0;
    			end;
    		} 
    
    		// Rare Item 10%
    		else if (.chance <= 11 && .chance >= 1){
    			getitem @i[@i2rand],1;
    			announce "["+strcharinfo(0)+"] won a ["+getitemname(@i2[@i2rand])+"] from the Rare Item Box.",0;
    			end;
    		} 
    
    		// Common Items
    		else {
    			getitem @i1[@i1rand],1;
    	end; }
    }

    Note : above script is to be inside any .txt which are loaded in your npc folder

    https://www.google.com/search?q=rathena+adding+npc+script&amp;oq=rathena+adding+npc+script&amp;aqs=chrome..69i57j69i60l3.4790j0j1&amp;sourceid=chrome&amp;ie=UTF-8

     

    Put this line in you Item Script.

    callfunc("F_RBox");

    https://github.com/rathena/rathena/wiki/Adding-a-Script

    example:

    617,Old_Violet_Box,Old Purple Box,2,10000,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc ( "F_RBox" ) ; },{},{}

    https://github.com/rathena/rathena/wiki/Custom-Items

     

     

     

    Error to gain super rare and rare.

    [Error]: buildin_getitem: Nonexistant item 0 requested.
    [Debug]: Source (NPC): FAKE_NPC (invisible/not on a map)

     

  6. Script: 

    //v 1.2
    prontera,139,164,4	script	Goldberg#0	878,{
    function ordinal_suffix;
    function f_itm_menu;
    set .npc$, "["+strnpcinfo(1)+"]"; //NPC Name
    set .mode, atoi(strnpcinfo(2));
    
    	if(!.mode) {
    		mes .npc$;
    		mes "Hello there!";
    		mes "I can enchant or remove enchantments";
    		mes "from your 2012 RWC accessory items!"; next;
    	} else if(.mode<3) {
    		mes .npc$;
    		mes "Hello there!";
    		mes "I can add a slot to your RWC";
    		mes "2012 accessory items!";
    		mes "^FF0000Any enchantments over the first";
    		mes	"slot will be lost in the process!^000000"; next;
    	} else {
    		mes .npc$;
    		mes "Hello there!";
    		mes "I can slot or enchant your RWC";
    		mes "2012 accessory items!";
    		mes "^FF0000Any enchantments over the first";
    		mes	"slot will be lost in the process!^000000"; next;
    	}
    		switch(select(((.mode)?"Chamber Accessory"+((.mode>1)?":Enchant:Remove Enchantments":""):"Enchant:Remove Enchantments")+":Cancel")) {
    			case 1:
    				if(!.mode) {
    					mes .npc$;
    					mes "Which RWC Accessory item would you like to enchant?"; next;
    					f_itm_menu();
    					goto L_Slots;
    				} else {
    					mes .npc$;
    					mes "Which RWC Accessory do you want me to slot?"; next;
    					f_itm_menu();
    					break;
    				}
    			case 2:
    				if(!.mode) {
    					mes .npc$;
    					mes "Select the RWC Accessory you would like me to remove the enchantments from."; next;
    					f_itm_menu();
    					goto L_RMV;
    				} else if (.mode>1) {
    					mes .npc$;
    					mes "Which RWC Accessory item would you like to enchant?"; next;
    					f_itm_menu();
    					goto L_Slots;
    				}
    			case 3:
    				if (.mode>1) {
    					mes .npc$;
    					mes "Select the RWC Accessory you would like me to remove the enchantments from."; next;
    					f_itm_menu();
    					goto L_RMV;
    				}
    			case 4:
    				goto L_Exit;
    		}
    	
    	if(!compare(.slot$,""+@eq_id)) {
    		mes .npc$;
    		mes "That item cannot be slotted.";
    		close;
    	}
    	while(.@i++<=4)
    		setd(".@o_crd"+.@i, getequipcardid(@eq_loc,.@i-1));
    	mes .npc$;
    	mes "Are you sure you wish to continue?";
    	mes "^FF0000There is a "+.pert+"% chance that";
    	mes "the slotting process will fail and";
    	mes "your item will break.^000000"; next;
    	if(select("Yes:No")&2) goto L_Exit;
    	if(rand(100)>=.pert) {
    		delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4;
    		getitem2 (@eq_id+1), 1, 1, @eq_rf, 0, 0, .@o_crd2, .@o_crd3, .@o_crd4;
    		misceffect 101;
    		sleep2 1300;
    		misceffect .efet;
    		mes .npc$;
    		mes "Perfection!!";
    		emotion ET_BEST1,0;
    		equip @eq_id;
    	} else {
    		delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4;
    		misceffect 101;
    		sleep2 1300;
    		misceffect .afet;
    		mes .npc$;
    		mes "The metal was too weak and the drill went right through... I'm Sorry!";
    		emotion ET_CRY1,0;
    	}
    	close;
    	
    L_Slots:
    	set .@menu$, ""; set .@a, 0;
    	while(set(.@a,.@a+1)<=4) {
    		setd(".@o_crd"+.@a, getequipcardid(@eq_loc,.@a-1));
    		if(getequipcardid(@eq_loc,.@a-1))
    			set .@menu$, .@menu$+ ordinal_suffix(.@a)+" Slot - [^a92435"+getitemname(getequipcardid(@eq_loc,.@a-1))+"^000000]:";
    		else if(getitemslots(@eq_id)-.@a>=0)
    			set .@menu$, .@menu$+ ordinal_suffix(.@a)+" Slot - [Chambered]:";
    		else
    			set .@menu$, .@menu$+ ordinal_suffix(.@a)+" Slot - [^30ad25"+((getd(".@crd"+.@a))?"^800080"+getd(".@typ"+.@a+"$"):"Empty")+"^000000]:";
    	} set .@menu$, .@menu$+"[^0000FFEnchant!^000000]";
    
    	mes .npc$;
    	mes "Select a slot.";
    	mes "Choose '^0000FFEnchant^000000' when you're done!";	next;
    	set .@menu, select(.@menu$)-1;
    	if(getequipcardid(@eq_loc,.@menu)&&getitemslots(@eq_id)-(.@menu+1)<0) {
    		if(.remv) {
    			mes .npc$;
    			mes "Would you like me to remove this enchantment?"; next;
    			if(select("Yes:No")&2) goto L_Exit;
    			delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4;
    			setd(".@o_crd"+(.@menu+1), 0);
    			getitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4;
    			equip @eq_id;
    			goto L_Slots;
    		} else {
    			mes .npc$;
    			mes "Sorry I can't do anything with this slot without a "+getitemname(.cure)+"."; next;
    			goto L_Slots;
    		}
    	} else if(getitemslots(@eq_id)-(.@menu+1)>=0) {
    		mes .npc$;
    		mes "I cannot do anything with Chambered slots!"; next;
    		goto L_Slots;
    	}
    	
    	if((.@menu+1)>4) {
    		if(!(.@crd1+.@crd2+.@crd3+.@crd4)) {
    			mes .npc$;
    			mes "You haven't done anything!";
    			next;
    			goto L_Slots;
    		}
    		mes .npc$;
    		mes "Are you sure you wish to continue?";
    		mes "^FF0000There is a "+.perc+"% chance that";
    		mes "the enchantment will fail and";
    		mes "your item will break.^000000"; next;
    		if(select("Yes:No")&2) goto L_Exit;
    		if(rand(100)>=.perc) {
    			delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4;
    			getitem2 @eq_id, 1, 1, @eq_rf, 0, .@crd1, .@crd2, .@crd3, .@crd4;
    			misceffect 101;
    			sleep2 1300;
    			misceffect .efet;
    			mes .npc$;
    			mes "Wow, that's one strong item!";
    			equip @eq_id;
    		} else {
    			delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4;
    			misceffect 101;
    			sleep2 1300;
    			misceffect .afet;
    			mes .npc$;
    			mes "I'm sorry, the item wasn't able to support the enchantment and broke!";
    		}
    		close;
    	}
    	
    	set(.@g$,"");
    	if(@eq_id!=2966&&.@menu>1&&@eq_id!=2967) {
    		set(.@g$,"1");
    	} else if(.@menu>1) set(.@g$,"0");
    	
    	select(getd(".menu"+.@g$+(.@menu+1)+"$"));
    	set .itm,	((.@menu==1&&@menu>.t_len)?.itm04[rand(getarraysize(.itm04))]:4700+(((@menu-1)*10)+rand(.limi)));
    	setd(".@crd"+(.@menu+1),getd(".itm"+.@g$+((.@menu>1)?@menu+"["+rand(getarraysize(getd(".itm"+.@g$+@menu)))+"]":"")));
    	setd(".@typ"+(.@menu+1)+"$",getd(".ary"+.@g$+(.@menu+1)+"$["+(@menu-1)+"]"));
    	goto L_Slots;
    	
    L_RMV:
    	if(!countitem(.cure)) {
    		mes .npc$;
    		mes "I'm sorry but you need at least one "+getitemname(.cure)+" before we may continue.";
    		close;
    	}
    	while(.@i++<=4)
    		setd(".@o_crd"+.@i, getequipcardid(@eq_loc,.@i-1));
    	if(!((getitemslots(@eq_id)?0:.@o_crd1)+.@o_crd2+.@o_crd3+.@o_crd4)) {
    		mes .npc$;
    		mes "There isn't anything I can remove on that accessory.";
    		close;
    	}
    	mes .npc$;
    	mes "Are you sure that you want to remove your enchantments?";
    	mes "^FF0000This option won't effect your chambered card slot.^000000"; next;
    	if(select("Yes:No")&2) goto L_Exit;
    	misceffect 103;
    	delitem(.cure,1);
    	delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4;
    	getitem2 @eq_id, 1, 1, @eq_rf, 0, (getitemslots(@eq_id)?.@o_crd1:0), 0, 0, 0;
    	mes .npc$;
    	mes "Your enchantments where removed!";
    	close;
    	
    L_Exit:
    	mes .npc$;
    	mes .message$[rand(getarraysize(.message$))];
    	close;
    	
    	function	ordinal_suffix	{
    		set(.@i,getarg(0));
    		set(.@j,.@i%10);
    		if (.@j == 1 && .@i != 11)
    			return .@i + "st";
    		if (.@j == 2 && .@i != 12)
    			return .@i + "nd";
    		if (.@j == 3 && .@i != 13)
    			return .@i + "rd";
    		return .@i + "th";
    	}
    
    	function	f_itm_menu	{	
    		while(set(.@a,.@a+1)<=.e_len) {
    			if(compare(.e_itl$[.@a-1],""+getequipid(.e_loc[.@a-1])))
    				set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.e_loc[.@a-1]))+"^000000]:";
    			else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:";
    		}
    		set @menu, select(.@menu$)-1;
    		set @eq_loc, .e_loc[@menu];
    		set @eq_id, getequipid(@eq_loc);
    		set @eq_rf, getequiprefinerycnt(@eq_loc);
    		
    		if(!compare(.e_itm$,""+@eq_id )) {
    			mes .npc$;
    			mes "Sorry I don't recognize that equipment.";
    			close;
    		}
    	} return;
    	
    //NPC Constants
    	OnInit:
    		//=-=-=-=-=-=-=Configuration=-=-=-=-=-=-=
    		set      .perc  ,    25; //enchantment fail percent
    		set      .pert  ,    50; //slotting fail percent
    		set      .efet  ,    154; //Success Effect Number
    		set      .afet  ,    155; //Fail Effect Number
    		set      .remv  ,    0; //Allows the NPC to remove enchantments without Item. (1=On/0=Off)
    		set      .cure  ,    6665; //Item used to remove enchantments
    		set      .limi  ,    3; //Limit for status orb enchantments.
    		setarray .message$,     //List of random closing messages.
    			"Maybe next time then.",
    			"Alright, thanks anyway!",
    			"Alright maybe next time then.",
    			"Uhm, ok- See you around then.",
    			"Wise choice, although you'll probably"+
    			"never get anywhere with that attitude.";
    			
    		set .slot$, "2966|2968"; //Items that can be slotted.
    		
    		setarray .ary1$, "Strength(STR)", "Intelligence(INT)", "Dexterity(DEX)", "Agility(AGI)", "Vitality(VIT)", "Luck(LUK)";
    		copyarray .ary2$[0],.ary1$[0],128;
    		set .t_len, getarraysize(.ary2$);
    		set .ary2$[.t_len], "Health Points";
    
    		setarray .ary03$, "Fighting Spirit", "Physical Attack Percent(ATK%)", "Maximum Health Points(MHP%)", "Health Points";
    		setarray .itm01  ,	4811, 4810, 4809; //Fighting Spirit
    		setarray .itm02  ,	4819, 4766, 4767; //ATK(%)
    		setarray .itm03  ,	4861, 4862, 4867; //MHP
    		setarray .itm04  ,	4795, 4796, 4797; //HP
    		copyarray .ary04$[0],.ary03$[0],128;
    
    		setarray .ary13$, "Magic Attack Percent(MATK%)", "Casting Rate & Damage(Spell)", "Special Points(SP)";
    		setarray .itm11  ,	4760, 4761, 4806; //MATK(%)
    		setarray .itm12  ,	4815, 4814, 4813; //Spell
    		setarray .itm13  ,	4870, 4800, 4871; //SP
    		copyarray .ary14$[0],.ary13$[0],128;
    
    		setarray .eqp$  ,    "Accessory1", "Accessory2"; //Menu3
    		set      .e_len ,    getarraysize(.eqp$);
    		setarray .e_itl$,    "2966|2967|2968|2969",
    		                     "2966|2967|2968|2969"; //Equip Items
    		setarray .e_loc ,    7, 8; //Equip Locations
    		set      .e_itm$,    implode(.e_itl$,",");
    		set      .menu1$,    implode(.ary1$,":");
    		set      .menu2$,    .menu1$+":"+.ary03$[3];
    		set      .menu03$,   implode(.ary03$,":");
    		set      .menu04$,   .menu03$;
    		set      .menu13$,   implode(.ary13$,":");
    		set      .menu14$,   .menu13$;
    		//=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-=
    }
    
    prontera,147,61,5	duplicate(Goldberg#0)	Driller#1	87
    
    prontera,147,63,5	duplicate(Goldberg#0)	Goldentheifberg#3	87
    Quote

     

    no recognize RWC 

    items id: 2966,2967,2968,2969

    2el5qno.jpg

  7. On 2/10/2019 at 7:03 PM, utofaery said:

    I did answer your question in another topic by giving you suggestion already,

    This is the two line in the script to change item id and item chances if you need further help post here.
        setarray    .itemId ,     502, 678, 607 ,608 ,2101 ,1505 ,609;// Item List
        setarray    .iRates,    15, 16, 17, 18, 19, 20, 21; // seperated item rates or chances to get which item is higher than other item in the array

    Not work, no gain items.

  8. function	script	visualbox	{
    	.@item = F_Rand(17041,17037,17043,17039,17038,17042,13999,12922,13996,7715,12103,674,28370,6239,6238,7712,7711,18849,2980,6235,6231,6439,6438,16771,12623,6380,6423,12208,12902,);
    
    	getitem .@item, 1;
    	announce "["+strcharinfo(0)+"] Ganhou: ["+getitemname( .@item )+"("+.@item+")] da caixa visual.",0;
    	return;
    	}

    Change chance items

    Ids     

    1% =  6438,6239,6439

     

     

  9. 38 minutes ago, utofaery said:

    Question to this topic questions:

    1. Is this show case??? without any details or anything?

    2.  I wonder if you can type any word on the description on your topic at any how??

    3.  Is this a guessing game where we guess what you problems is and you give the winner cash prizes ??

     

    File location for edit

     

  10. function	script	visualbox	{
    	.@item = F_Rand(19500,19501,19502,19503,19504,19505,19506,19507,19508,19509,19510,19511,19512,19513,19514,19515,19516,19517,19518,19519,19520,19521,19522,19523,19524,19525,19526,19527,19528,19529,19530,19531,19532,19533,19534,19535,19536,19537,19538,19539,19540,19541,19542,19543,19544,19545,19546,19547,19548,19549,19550,19551,19552,19553,19554,19555,19556,19557,19558,19559,19560,19561,19562,19563,19564,19565,19566,19567,19568,19569,19570,19571,19572,19573,19574,19575,19576,19577,19578,19579,19580,19581,19582,19583,19584,19585,19586,19587,19588,19589,19590,19591,19592,19593,19594,19595,19596,19597,19598,19599,19600,19601,19602,19603,19604,19605,19606,19607,19608,19609,19610,19611,19612,19613,19614,19615,19616,19617,19618,19619,19620,19621,19622,19623,19624,19625,19627,19628,19629,19630,19631,19632,19633,19634,19635,19636,19637,19638,19639,19640,19641,19642,19643,19644,19645,19646,19647,19648,19649,19650,19651,19652,19653,19654,19655,19656,19657,19658,19659,19660,19661,19662,19663,19664,19665,19666,19667,19668,19669,19670,19671,19672,19673,19674,19675,19676,19677,19678,19679,19680,19681,19682,19683,19684,19685,19686,19687,19688,19689,19690,19691,19692,19693,19694,19695,19696,19697,19698,19699,19700,19701,19702,19703,19704,19705,19706,19707,19708,19709,19710,19711,19712,19713,19714,19715,19716,19717,19718,19719,19720,19721,19722,19723,19724,19725,19726,19727,19728,19729,19730,19731,19732,19733,19734,19735,19736,19737,19738,19739,19741,19740,19742,19743,19744,19745,19746,19747,19748,19749,19750,19751,19752,19753,19754,19755,19756,19757,19758,19759,19760,19761,19762,19763,19764,19765,19767,19766,19768,19769,19770,19771,19772,19773,19774,19775,19776,19777,19778,19779,19780,19781,19782,19783,19784,19785,19786,19787,19788,19789,19790,19791,19792,19793,19794,19795,19796,19797,19798,19799,19800,19801,19802,19803,19804,19805,19806,19807,19808,19809,19810,19811,19812,19813,19814,19815,19816,19817,19818,19819,19820,19821,19822,19823,19824,19825,19826,19827,19828,19829,19830,19831,19832,19833,19834,19835,19836,19837,19838,19839,19840,19841,19842,19843,19844,19845,19846,19847,19848,19849,19850,19851,19852,19853,19854,19855,19856,19857,19858,19859,19860,19861,19862,19863,19864,19865,19866,19867,19868,19869,19870,19871,19872,19873,19874,19875,19876,19877,19878,19879,19880,19881,19882,19883,19884,19885,19886,19887,19888,19889,19890,19891,19892,19893,19894,19895,19896,19897,19898,19899,19900,19901,19902,19903,19904,19905,19906,19907,19908,19909,19910,19911,19912,19913,19914,19915,19916,19917,19918,19919,19920,19921,19922,19923,19924,19925,19926,19927,19928,19929,19930,19931,19932,19934,19935,19936,19937,19938,19939,19940,19941,19942,19943,19944,19945,19946,19947,19949,19950,19951,19952,19953,19954,19955,19956,19957,19958,19959,19960,19961,19962,19963,19964,19965,19966,19967,19968,19969,19970,19971,19972,19973,19974,19975,19976,19977,19978,19979,19980,19981,19982,19983,19984,19985,19986,19987,19988,19989,19990,19991,19992,19993,19994,19996,19997,19998,19999,20000,20001,20002,20003,20004,20005,20006,20007,20008,20009,20010,20011,20012,20013,20014,20015,20016,20017,20018,20019,20020,20021,20022,20023,20024,20025,20026,20027,20028,20029,20030,20031,20032,20033,20034,20035,20036,20037,20038,20039,20040,20041,20042,20043,20044,20045,20046,20047,20048,20049,20050,20051,20052,20053,20054,20055,20056,20057,20058,20059,20060,20061,20062,20063,20064,20065,20066,20067,20068,20069,20070,20071,20073,20074,20075,20076,20077,20078,20079,20080,20081,20082,20083,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20094,20095,20096,20097,20098,20099,20100,20101,20102,20103,20104,20105,20106,20107,20108,20109,20110,20111,20112,20113,20114,20115,20116,20117,20118,20119,20120,20121,20122,20123,20124,20125,20126,20127,20128,20129,20130,20131,20132,20133,20134,20135,20136,20137,20138,20139,20140,20141,20142,20143,20144,20145,20146,20147,20148,20149,20150,20151,20152,20153,20154,20155,20156,20157,20158,20159,20160,20161,20162,20163,20164,20165,20166,20167,20168,20169,20170,20171,20172,20173,20174,20175,20176,20177,20178,20179,20180,20181,20182,20183,20184,20185,20186,20187,20188,20189,20190,20191,20192,20193,20194,20195,20196,20197,20198,20199,20200,20201,20202,20203,20204,20205,20206,20207,20208,20209,20210,20211,20212,20213,20214,20215,20216,20217,20218,20219,20220,20221,20222,20223,20224,20225,20226,20227,20228,20229,20230,20231,20232,20233,20234,20235,20236,20237,20238,20239,20240,20241,20242,20243,20244,20245,20246,20247,20248,20249,20250,20251,20252,20253,20254,20255,20256,20257,20258,20259,20260,20262,20263,20264,20265,20266,20267,20268,20269,20270,20271,20272,20273,20274,20277,20278,20279,20280,20281,20282,20283,20284,20285,20286,20287,20288,20291,20292,20293,20294,20295,20296,20297,20298,20299,20300,20301,20302,20303,20304,20307,20311,20312,20313,20314,20315,20316,20317,20318,20319,20320,20321,20322,20323,20324,20325,20326,20327,20328,20329,20330,20331,20332,20333,20334,20335,20338,20339,20340,20341,20342,20345,20346,20347,20348,20349,20350,20351,20352,20353,20354,20355,20356,20357,20358,20359,20360,20361,20362,20363,20364,20365,20366,20367,20368,20369,20370,20371,20372,20373,20374,20375,20376,20377,20378,20379,20380,20381,20382,20383,20384,20386,20392,20393,20394,20396,20397,20398,20399,20400,20401,20402,20403,20404,20405,20406,20407,20408,20409,20416,20417,20418,20419,20420,20421,20422,20423,20424,20425,20426,20427,20428,20429,20430,20431,20432,20433,20434,20435,20436,20437,20438,20439,20440,20441,20442,20446,20447,20448,20449,20450,20451,20452,20455,20456,20458,20457,20459,20460,20461,20462,20463,20464,20465,20466,20467,20468,20470,20476,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20492,20495,20496,20497,20498,20499,20500,20502,20504,20506,20507,20508,20509,20510,20511,20512,20514,20515,20516,20517,20530,20533);
    
    	getitem .@item, 1;
    	announce "["+strcharinfo(0)+"] has just obtained a ["+getitemname( .@item )+"] from a Custom Box.",0;
    	return;
    	}

    Announce item name and id

  11. Galera estou com este script:

    //===== rAthena Script =======================================
    //= Malangdo Costume Enchant
    //===== Changelogs: ==========================================
    //= 1.0 First version. [Slyx]
    //= 1.1 Enable overlapping enchant (need confirmation). [Slyx]
    //= 1.2 Optimized and add new costumes
    //============================================================
    
    prontera,156,196,5	script	Aver De Dosh	505,{
    	disable_items;
    	mes "[Aver De Dosh]";
    	mes "Hello and welcome to Costume Enchant Shop.";
    	mes "My name is Aver De Dosh and I am here to enchant your costume headgears.";
    	next;
    	mes "[Aver De Dosh]";
    	mes "Bring me the required enchant stones and the selected costume headgears so that I can complete the upgrade for you!";
    	next;
    	switch (select ("Apply Ability", "End Conversation")) {
    	case 1:
    		mes "[Aver De Dosh]";
    		mes "What part of costume headgear do you want to strengthen?";
    		next;
    		switch (select ("Costume Upper Headgear", "Costume Middle Headgear", "Costume Lower Headgear")) {
    			case 1:	
    				.@equip_id = getequipid(EQI_COSTUME_HEAD_TOP);
    				
    				switch (.@equip_id) {
    				case 19597:		case 19602:		case 19608:
    				case 19654:		case 19677:		case 19712:
    				case 19721:		case 19840:		case 19876:
    				case 19884:		case 19907:		case 19915:
    				case 20007:		case 20008:		case 20009:
    				case 20011:		case 20012:		case 20018:
    				case 20036:		case 20038:		case 20113:
    				case 20160:		case 20227:		case 20266:
    				case 20273:		case 20278:		case 20377:
    				case 20398:		case 20317:		case 20449:
    				case 20450:		case 20451:		case 20491:
    				case 20495:		case 20496:		case 20498:
    				case 20499:		case 31027:		case 31028:
    				case 31040:		case 31041:		case 31042:
    				case 31043:		case 31044:		case 31045:
    				case 31046:		case 31048:		case 31062:
    				case 31068:		case 31092:		case 31123:
    				case 31160:		case 31163:		case 31165:
    				case 31166:		case 31182:		case 31185:
    				case 31188:		case 31190:		case 31119:
    				case 31392:		case 31394:		case 31396:
    				case 31397:		case 31405:		case 31448:
    				case 31573:		case 31560:		case 31562:
    				case 31564:		case 31565:
    				break;
    				case -1:
    					mes "[Aver De Dosh]";
    					mes "Are you wearing the item?";
    					close;				
    				default:
    					mes "[Aver De Dosh]";
    					mes "This is not the right costume upper headgear.";
    					close;
    				}	
    
    				.@equip_name$ = getequipname(EQI_COSTUME_HEAD_TOP);
    				
    				setarray .@card[0], 
    					getequipcardid(EQI_COSTUME_HEAD_TOP,0), 
    					getequipcardid(EQI_COSTUME_HEAD_TOP,1), 
    					getequipcardid(EQI_COSTUME_HEAD_TOP,2), 
    					getequipcardid(EQI_COSTUME_HEAD_TOP,3);
    				
    				setarray .@stone[0],
    					6636, //str +1					
    					6637, //int +1
    					6638, //agi +1
    					6639, //dex +1
    					6640, //vit +1
    					6641, //luk +1
    					6716, //crit +1
    					6790, //largesize +1%
    					6791, //medsize +1%
    					6792, //smallsize +1%
    					6943, //atk +1%
    					6944, //matk +1%
    					25000, //spdrain +1%
    					25068; //aspd +1
    					
    				setarray .@enchant[0], 
    					4700, //str +1
    					4710, //int +1
    					4730, //agi +1
    					4720, //dex +1
    					4740, //vit +1
    					4750, //luk +1
    					4926, //crit +1
    					4936, //largesize +1%
    					4937, //medsize +1%
    					4938, //smallsize +1%
    					4882, //atk +1%
    					4883, //matk +1%
    					4993, //spdrain +1%
    					4807; //aspd +1
    					
    				setarray .@enchant_list$[0],
    					"STR Stone",
    					"INT Stone",
    					"AGI Stone",
    					"DEX Stone",
    					"VIT Stone",
    					"LUK Stone",
    					"CRIT Stone",
    					"Big Stone",
    					"Medium Stone",
    					"Small Stone",
    					"ATK Stone",
    					"MATK Stone",
    					"SP Absorption Stone",
    					"ASPD Stone"; 
    					
    				mes "[Aver De Dosh]";
    				mes "Wow~ This ^0000FF"+getitemname (.@equip_id)+"^000000 looks perfect on you!!!";
    				mes "What kind of stone do you want to use for the upgrade?";
    				next;
    				for (.@a = 0; .@a < getarraysize(.@enchant_list$); ++.@a)
    					.@menu$ += .@enchant_list$[.@a] + " " + "(" + countitem(.@stone[.@a]) + " " + "Left" + ")" + ":";
    				.@type = select (.@menu$) - 1;
    				
    				mes "^FF0000[WARNING]^000000";
    				mes "------------------------";
    				mes "^FF0000I am going to implement the special effect of "+getitemname (.@stone[.@type])+" on your costume upper headgear.^000000";
    				mes "------------------------";
    				mes "^FF0000This upgrade has a success rate of 50%.^000000";
    				mes "------------------------";
    				mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000";
    				mes "------------------------";
    				mes "^FF0000Any previous ability on this costume will be removed upon success.^000000";
    				mes "------------------------";		
    				mes "^FF0000Are you sure about enchanting this costume?^000000";
    				next;
    				if (select( "Yes", "No" ) == 2) 
    					close;
    					
    				if (countitem(.@stone[.@type]) < 1) {
    					mes "[Aver De Dosh]";
    					mes "You do not have adequate quantity of ^0000FF"+getitemname (.@stone[.@type])+".^000000";
    					close;
    				}
    						
    				//Need confirmation:Enchants can be overlapped?
    			/*	if (.@card[0] > 0) {
    					mes "[Aver De Dosh]";
    					mes "Your ^0000FF"+getitemname (.@equip_id)+"^000000 is already enchanted.";
    					close;
    				}	*/					
    					
    				delitem	.@stone[.@type],1;
    				if (rand (1,100) < 50) {
    					mes "[Aver De Dosh]";
    					mes "Oh No!!! I failed to enchant it!!";
    					mes "Better luck next time!!";
    					close;
    				} 
    				else {
    					delequip EQI_COSTUME_HEAD_TOP;	
    					getitem2 .@equip_id,1,1,0,0,.@enchant[.@type],.@card[1],.@card[2],.@card[3];
    					mes "[Aver De Dosh]";
    					mes "Wow....Elegance!!";
    					mes "This is perfect...Wow..";
    					close;
    				} 
    											
    			case 2:
    				.@equip_id = getequipid(EQI_COSTUME_HEAD_MID);
    				
    				switch (.@equip_id) {
    				case 19603:		case 20005:		case 20010:
    				case 20145:		case 20146:		case 20147:
    				case 20149:		case 20314:		case 20318:
    				case 20430:		case 31047:		case 31120:
    				case 31122:		case 31146:		case 31167:
    				case 31168:		case 31183:		case 31184:
    				case 31186:		case 31187:		case 31391:
    				case 31398:		case 31399:		case 20246:
    				case 31449:		case 31463:		case 31561:
    				case 31563:		case 31574:		
    				break;
    				case -1:
    					mes "[Aver De Dosh]";
    					mes "Are you wearing the item?";
    					close;				
    				default:
    					mes "[Aver De Dosh]";
    					mes "This is not the right costume middle headgear.";
    					close;
    				}				
    
    				.@equip_name$ = getequipname(EQI_COSTUME_HEAD_MID);
    				
    				setarray .@card[0], 
    					getequipcardid(EQI_COSTUME_HEAD_MID,0), 
    					getequipcardid(EQI_COSTUME_HEAD_MID,1), 
    					getequipcardid(EQI_COSTUME_HEAD_MID,2), 
    					getequipcardid(EQI_COSTUME_HEAD_MID,3);
    				
    				setarray .@stone[0],				
    					6945, //str +1					
    					6946, //int +1
    					6947, //agi +1
    					6948, //dex +1
    					6949, //vit +1
    					6950, //luk +1
    					6642, //atk +1%
    					6643, //matk +1%
    					6717, //hp +50
    					6742, //recoverhp +10 10s
    					6743, //maxhp +1%
    					6744; //maxsp +1%
    					
    				setarray .@enchant[0], 
    					4700, //str +1
    					4710, //int +1
    					4730, //agi +1
    					4720, //dex +1
    					4740, //vit +1
    					4750, //luk +1
    					4882, //atk +1%
    					4883, //matk +1%
    					4927, //hp +50
    					4931, //recoverhp +10 10s
    					4861, //maxhp +1%
    					4929; //maxsp +1%
    					
    				setarray .@enchant_list$[0],
    					"STR Stone",
    					"INT Stone",
    					"AGI Stone",
    					"DEX Stone",
    					"VIT Stone",
    					"LUK Stone",
    					"ATK Stone",
    					"MATK Stone",
    					"HP+50 Stone",
    					"Recovery Stone",
    					"HP+1% Stone",
    					"SP+1% Stone";
    					
    				mes "[Aver De Dosh]";
    				mes "Wow~ This ^0000FF"+getitemname (.@equip_id)+"^000000 looks perfect on you!!!";
    				mes "What kind of stone do you want to use for the upgrade?";
    				next;
    				for (.@a = 0; .@a < getarraysize(.@enchant_list$); ++.@a)
    					.@menu$ += .@enchant_list$[.@a] + " " + "(" + countitem(.@stone[.@a]) + " " + "Left" + ")" + ":";
    				.@type = select (.@menu$) - 1;
    				
    				mes "^FF0000[WARNING]^000000";
    				mes "------------------------";
    				mes "^FF0000I am going to implement the special effect of "+getitemname (.@stone[.@type])+" on your costume middle headgear.^000000";
    				mes "------------------------";
    				mes "^FF0000This upgrade has a success rate of 50%.^000000";
    				mes "------------------------";
    				mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000";
    				mes "------------------------";
    				mes "^FF0000Any previous ability on this costume will be removed upon success.^000000";
    				mes "------------------------";		
    				mes "^FF0000Are you sure about enchanting this costume?^000000";
    				next;
    		
    				if (select( "Yes", "No" ) == 2) 
    					close;		
    						
    				if (countitem(.@stone[.@type]) < 1) {
    					mes "[Aver De Dosh]";
    					mes "You do not have adequate quantity of ^0000FF"+getitemname (.@stone[.@type])+".^000000";
    					close;
    				}
    					
    			//Need confirmation:Enchants can be overlapped?
    			/*	if (.@card[1] > 0) {
    					mes "[Aver De Dosh]";
    					mes "Your ^0000FF"+getitemname (.@equip_id)+"^000000 is already enchanted.";
    					close;
    				}	*/				
     					
    				delitem	.@stone[.@type],1;
    				if (rand (1,100) < 50) {
    					mes "[Aver De Dosh]";
    					mes "Oh No!!! I failed to enchant it!!";
    					mes "Better luck next time!!";
    					close;
    				}
    				else {
    					delequip EQI_COSTUME_HEAD_MID;	
    					getitem2 .@equip_id,1,1,0,0,.@card[0],.@enchant[.@type],.@card[2],.@card[3];
    					mes "[Aver De Dosh]";
    					mes "Wow....Elegance!!";
    					mes "This is perfect...Wow..";
    					close;
    				}
    		
    			case 3:				
    				.@equip_id = getequipid(EQI_COSTUME_HEAD_LOW);
    				
    				switch (.@equip_id) {
    			  /*case 5914:*/	case 19513:		case 19514:
    				case 19552:		case 19553:		case 19584:
    				case 19604:		case 19636:		case 19764:
    				case 19783:		case 19785:		case 19952:
    				case 20034:		case 20071:		case 20132:
    				case 20285:		case 20315:		case 20363:
    				case 20370:		case 20405:		case 20407:
    				case 20497:		case 31029:		case 31055:
    				case 31087:		case 31121:		case 31162:
    				case 31164:		case 31181:		case 31189:
    				case 31393:		case 31395:		case 31399:
    				case 31438:		case 31453:		case 31572:
    				case 31575:		case 31559:		case 31566:
    				break;
    				case -1:
    					mes "[Aver De Dosh]";
    					mes "Are you wearing the item?";
    					close;						
    				default:
    					mes "[Aver De Dosh]";
    					mes "This is not the right costume lower headgear.";
    					close;
    				}
    		
    				.@equip_name$ = getequipname(EQI_COSTUME_HEAD_LOW);
    				
    				setarray .@card[0], 
    					getequipcardid(EQI_COSTUME_HEAD_LOW,0), 
    					getequipcardid(EQI_COSTUME_HEAD_LOW,1), 
    					getequipcardid(EQI_COSTUME_HEAD_LOW,2), 
    					getequipcardid(EQI_COSTUME_HEAD_LOW,3);
    				
    				setarray .@stone[0],				
    					6644, //hit +1					
    					6645, //flee +1
    					6718, //sp +10
    					6951; //hp +1%
    					
    				setarray .@enchant[0], 
    					4884, //hit +1
    					4859, //flee +1
    					4928, //sp +10
    					4861; //hp +1%
    				
    				setarray .@enchant_list$[0],
    					"HIT Stone",
    					"FLEE Stone",
    					"SP+10 Stone",
    					"HP+1% Stone";
    		
    				mes "[Aver De Dosh]";
    				mes "Wow~ This ^0000FF"+getitemname (.@equip_id)+"^000000 looks perfect on you!!!";
    				mes "What kind of stone do you want to use for the upgrade?";
    				next;
    				for (.@a = 0; .@a < getarraysize(.@enchant_list$); ++.@a)
    					.@menu$ += .@enchant_list$[.@a] + " " + "(" + countitem(.@stone[.@a]) + " " + "Left" + ")" + ":";
    				.@type = select (.@menu$) - 1;
    				
    
    				mes "^FF0000[WARNING]^000000";
    				mes "------------------------";
    				mes "^FF0000I am going to implement the special effect of "+getitemname (.@stone[.@type])+" on your costume lower headgear.^000000";
    				mes "------------------------";
    				mes "^FF0000This upgrade has a success rate of 50%.^000000";
    				mes "------------------------";
    				mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000";
    				mes "------------------------";
    				mes "^FF0000Any previous ability on this costume will be removed upon success.^000000";
    				mes "------------------------";		
    				mes "^FF0000Are you sure about enchanting this costume?^000000";
    				next;
    		
    				if (select( "Yes", "No" ) == 2) 
    					close;	
    
    				if (countitem(.@stone[.@type]) < 1) {
    					mes "[Aver De Dosh]";
    					mes "You do not have adequate quantity of ^0000FF"+getitemname (.@stone[.@type])+".^000000";
    					close;
    				}	
    					
    				//Need confirmation:Enchants can be overlapped?
    			/*	if (.@card[2] > 0) {
    					mes "[Aver De Dosh]";
    					mes "Your ^0000FF"+getitemname (.@equip_id)+"^000000 is already enchanted.";
    					close;
    				}	*/					
    				
    				delitem	.@stone[.@type],1;
    				if (rand (1,100) < 50) {
    					mes "[Aver De Dosh]";
    					mes "Oh No!!! I failed to enchant it!!";
    					mes "Better luck next time!!";
    					close;
    				} 
    				else {
    					delequip EQI_COSTUME_HEAD_LOW;	
    					getitem2 .@equip_id,1,1,0,0,.@card[0],.@card[1],.@enchant[.@type],.@card[3];
    					mes "[Aver De Dosh]";
    					mes "Wow....Elegance!!";
    					mes "This is perfect...Wow..";
    					close;
    				}					
    			}
    	
    	case 2:
    		mes "[Aver De Dosh]";
    		mes "Alright, come again when you have changed your mind.";
    		close;
    	}
    }	
    
    
    mal_in01,20,107,2	script	Lace La Zard	614,{
    	disable_items;
    	mes "[Lace La Zard]";
    	mes "Welcome to Fashion Stone!!";
    	mes "My name is Lace La Zard who will make your 'Power Shoulder' dream come true.";
    	next;
    	mes "[Lace La Zard]";
    	mes "Bring your Costume Garment and Garment Stone, I will complete the perfect upgrade for you!";
    	mes "I found this formula while working on my own humble body upgrading.";
    	next;
    	switch (select ("Apply Ability", "End Conversation")) {
    	case 1:
    		.@equip_id = getequipid(EQI_COSTUME_GARMENT);
    		
    		switch (.@equip_id) {
    		case 20500:		case 20502:		case 20504:
    		case 20507:		case 20509:		case 20510:
    		case 20511:		case 20512:		case 20516:
    		case 20600:		case 20727:		case 20730:
    		case 20737:		case 20746:		case 20761:
    		case 20762:		case 20763:		case 20764:
    		break;
    		case -1:
    			mes "[Lace La Zard]";
    			mes "Are you wearing the item?";
    			close;				
    		default:
    			mes "[Lace La Zard]";
    			mes "I am sorry. Please wear the proper costume garment.";
    			close;
    		}
    		
    		.@equip_name$ = getequipname(EQI_COSTUME_GARMENT);
    		
    		.@refine = getequiprefinerycnt(EQI_COSTUME_GARMENT);
    		
    		setarray .@card[0], 
    			getequipcardid(EQI_COSTUME_GARMENT,0), 
    			getequipcardid(EQI_COSTUME_GARMENT,1), 
    			getequipcardid(EQI_COSTUME_GARMENT,2), 
    			getequipcardid(EQI_COSTUME_GARMENT,3);
    		
    		setarray .@stone[0],
    			6908, //aspd +1
    			6963, //hpdrain 1%
    			6964; //spdrain 1%
    		
    		setarray .@enchant[0],
    			4807, //aspd +1
    			4992, //hpdrain 1%
    			4993; //spdrain 1% 
    			
    		setarray .@enchant_list$[0],
    			"ASPD Stone",
    			"HP Absorption Stone",
    			"SP Absorption Stone";			
    	
    		mes "[Lace La Zard]";
    		mes "Wow ^0000FF" + .@equip_name$ + "!!!^000000. You got some sense there don't you?";
    		mes "Great!!! I'm fully ready for this upgrade.";
    		next;
    		for (.@a = 0; .@a < getarraysize(.@enchant_list$); ++.@a)
    			.@menu$ += .@enchant_list$[.@a] + " " + "(" + countitem(.@stone[.@a]) + " " + "Left" + ")" + ":";
    		.@type = select (.@menu$) - 1;
    				
    		mes "^FF0000[WARNING]^000000";
    		mes "------------------------";
    		mes "^FF0000I am going to implement the special effect of "+getitemname (.@stone[.@type])+" on your costume garment.^000000";
    		mes "------------------------";
    		mes "^FF0000This upgrade has a success rate of 50%.^000000";
    		mes "------------------------";
    		mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000";
    		mes "------------------------";
    		mes "^FF0000Any previous ability on this costume will be removed upon success.^000000";
    		mes "------------------------";		
    		mes "^FF0000Are you sure about enchanting this costume?^000000";
    		next;
    		
    		if (select( "Yes", "No" ) == 2) 
    			close;	
    			
    		if (countitem (.@stone[.@type]) < 1) {
    			mes "[Lace La Zard]";
    			mes "You do not have adequate quantity of ^0000FF"+getitemname (.@stone[.@type])+".^000000";
    			close;
    		}
    			
    		//Need confirmation:Enchants can be overlapped?
    	/* 	if (.@card[0] > 1) {
    			mes "[Lace La Zard]";
    			mes "This costume garment already enchanted. I cannot upgrade it any further.";
    			close;
    		}	*/	
    		
    		delitem	.@stone[.@type],1;
    		if (rand (1,100) < 50) {
    			mes "[Lace La Zard]";
    			mes "Oh No!!! I failed to enchant it!!";
    			mes "Better luck next time!!";
    			close;
    		} 
    		else {
    			delequip EQI_COSTUME_GARMENT;	
    			getitem2 .@equip_id,1,1,.@refine,0,.@enchant[.@type],.@card[1],.@card[2],.@card[3];
    			mes "[Lace La Zard]";
    			mes "Beautiful!!!";
    			mes "Did I really made this by myself??!!";
    			close;
    		}
    	
    	case 2:
    		mes "[Lace La Zard]";
    		mes "Please come back when you are ready for this great offer!";
    		close;
    	}
    }			

    Gostaria que ele pedisse o item id 7711 e viesse um encantamento randomico.

    Como aplico rand e set e set amount

×
×
  • Create New...