Jump to content
  • 0

Refiner Position


Question

Posted (edited)

all seems to be working correctly now except is when refining weapons Right hand any idea?

instead it always read the Lower Equipment

        set @b,5-select(""+getequipname(EQI_HAND_R)+":"+(getiteminfo(EQI_HAND_L,2)==4?getequipname(EQI_HAND_L):""));
        _check(@b);
    }else{
        set @b,select(getequipname(EQI_HEAD_TOP)+":"+getequipname(EQI_ARMOR)+":"+getequipname(EQI_GARMENT)+":"+getequipname(EQI_SHOES)+":"+(getiteminfo(EQI_HAND_L,2)==4?"":getequipname(EQI_HAND_L)));
        deletearray .@way[0],128;
        setarray .@way[1],6,7,3,2,8;

 

Edited by Mael
Use codebox

4 answers to this question

Recommended Posts

  • 0
Posted
EQI_COMPOUND_ON (-1)      - Item slot that calls this script (In context of item script) - exclusive to getequipid
EQI_ACC_L (0)             - Accessory 1
EQI_ACC_R (1)             - Accessory 2
EQI_SHOES (2)             - Footgear (shoes, boots)
EQI_GARMENT (3)           - Garment (mufflers, hoods, manteaux)
EQI_HEAD_LOW (4)          - Lower Headgear (beards, some masks)
EQI_HEAD_MID (5)          - Middle Headgear (masks, glasses)
EQI_HEAD_TOP (6)          - Upper Headgear
EQI_ARMOR (7)             - Armor (jackets, robes)
EQI_HAND_L (8)            - Left hand (weapons, shields)
EQI_HAND_R (9)            - Right hand (weapons)
EQI_COSTUME_HEAD_TOP (10) - Upper Costume Headgear
EQI_COSTUME_HEAD_MID (11) - Middle Costume Headgear
EQI_COSTUME_HEAD_LOW (12) - Lower Costume Headgear
EQI_COSTUME_GARMENT (13)  - Costume Garment
EQI_AMMO (14)    		  - Arrow/Ammunition
EQI_SHADOW_ARMOR (15)     - Shadow Armor
EQI_SHADOW_WEAPON (16)    - Shadow Weapon
EQI_SHADOW_SHIELD (17)    - Shadow Shield
EQI_SHADOW_SHOES (18)     - Shadow Shoes
EQI_SHADOW_ACC_R (19)     - Shadow Accessory 2
EQI_SHADOW_ACC_L (20)     - Shadow Accessory 1

your values are outdated

  • 0
Posted
@b = callsub(L_RefinePart, EQI_HAND_R, EQI_HAND_L);
// @b = callsub(L_RefinePart, EQI_HEAD_TOP, EQI_ARMOR, EQI_GARMENT, EQI_SHOES, EQI_HAND_L);
_check(@b);
...
...
...
L_RefinePart:
	.@getargcount = getargcount();
	
	.@menu$ = "";
	for (.@i = 0; .@i < .@getargcount; .@i++) {
		.@part = getarg(.@i, 0);
		.@item_id = getequipid(.@part);
		if (.@item_id != -1) {
			.@menu$ = .@menu$ + getitemname(.@item_id);
		}
		.@menu$ = .@menu$ + ":";
	}
	.@part = select(.@menu$) - 1;
	return getarg(.@part);

with so limited info, I guess you are just trying to fix the value stored in the @b variable.

either you are using old emulator or old npc script, you should fix that.

  • 0
Posted

okay found the raw script. sorry for that.

prontera,184,177,5	script	Refine Master	851,{
	function	_check	{
		if(getequiprefinerycnt(getarg(0)))
		{
			next;
			mes "Your equip refine level should be 0.";
			close;
		}
		if(!getequipisenableref(getarg(0)))
		{
			next;
			mes "I can't refine this.";
			close;
		}
		return;
	}
	mes "I'll make your item refined up to same level with your Ticket you have.";
	mes "You don't have to worry! There's no chance to break your item.";
	set @c,select("+5 Weapon Deed",
	"+6 Weapon Deed",
	"+7 Weapon Deed",
	"+8 Weapon Deed",
	"+9 Weapon Deed",
	"+10 Weapon Deed",
	"+11 Weapon Deed",
	"+12 Weapon Deed",
	"+5 Armor Deed",
	"+6 Armor Deed",
	"+7 Armor Deed",
	"+8 Armor Deed",
	"+9 Armor Deed",
	"+10 Armor Deed",
	"+11 Armor Deed",
	"+12 Armor Deed");
	set @deed_item_id,8000+@c;
	//set @deed_item_id,7037;
	if(!countitem(@deed_item_id))
	{
		next;
		mes "You don't have '"+getitemname(@deed_item_id)+"'";
		close;
	}
	if(0<@c&&@c<9)
	{
		set @b,5-select(""+getequipname(EQI_HAND_R)+":"+(getiteminfo(EQI_HAND_L,2)==4?getequipname(EQI_HAND_L):""));
		_check(@b);
	}else{
		set @b,select(getequipname(EQI_HEAD_TOP)+":"+getequipname(EQI_ARMOR)+":"+getequipname(EQI_GARMENT)+":"+getequipname(EQI_SHOES)+":"+(getiteminfo(EQI_HAND_L,2)==4?"":getequipname(EQI_HAND_L)));
		deletearray .@way[0],128;
		setarray .@way[1],1,2,5,6,3;
		set @b,.@way[@b];
		_check(@b);
	}
	next;
	setarray .@ref[0],12,5,6,7,8,9,10,11;
	set @r,.@ref[@c%8];
	mes "I'm going to refine";
	mes ""+getequipname(@b)+"";
	mes "up to "+@r+" level with";
	mes ""+getitemname(@deed_item_id)+"";
	mes "may I go on this job?";
	if(select("No","Yes")==2)
	{
		if(!countitem(@deed_item_id))
		{
			next;
			mes "You don't have '"+getitemname(@deed_item_id)+"'";
			close;
		}
		_check(@b);
		for(set .@i,0;.@i<@r;set .@i,.@i+1)
			successrefitem @b;
		mes "Done";
		delitem @deed_item_id,1;
	}
	set @c,0;
	set @b,0;
	set @r,0;
	set @deed_item_id,0;
	close;
}

 

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