Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

proc_type(s)

Newbie Spellweaver
Joined
Nov 12, 2016
Messages
17
Reaction score
1
I haven't seen any guide on this, so I did a bit of research.

proc_type is a set of flags packed to an integer. Here's an explanation of what each flag does

POSDESCRIPTION
0doesn't drop on death
1unable to drop
2unable to sell
3reserved for fashion, has no effect on other gear
4unable to trade
5unable to refine (?)
6bind on equip
7unknown (?)
8expires when leaving area
9used once picked up
10drops on death
11lost on log off
12can't repair
13unknown (?)
14unable to acc. stash

Packing flags:
(1 << POS1) | (1 << POS2) | ...

for example

(1 << 0) | (1 << 1) | (1 << 4) = 19 = doesn't drop on death, unable to drop, unable to trade

POS 7 and 13 seem to be unused. I haven't found any items using these flags.
POS 5 might be wrong, as refinability is also determined by other factors.
 
Joined
Jul 17, 2007
Messages
665
Reaction score
104
can you tell how this integer packing work?

its look like 2^0+2^1+2^4 = 1 + 2+ 16, maybe i have right but i curios about how its actually work and how can we figure out all proctype

i known only these
0 Free/Normal
1 Revival Scroll
8 Fashion ?
19 No drop, trade
64 Bind Equip
32791 Soulbound

[EDIT]
ok i got it, maybe something like this

00000000
1<<4 => 00001000 so shift 1 to 4th position => 0*2^0+0*2^1+0*2^2+0*2^3+1*2^4 => 2^4=>16


still i am curios to unknow properties


for proctype :
8193 its say "death protection" but also item unuseable, need fuel crystal for repair


32 for me let refine the item (tryed with weapon) - its 5 at you


16384 (14 at you) for me let put into account stash (in 1.4.2) maybe was added in newer version?
 
Last edited:
Joined
Jul 17, 2007
Messages
665
Reaction score
104
Let me add the 3, or proctype 8 is for flyer and for mounts aswell at least at flyer if you use proctype 0 it's say unable repair, with proctype 8 it is normal.
Genie+pet egg like Hercules is proctype 23, (genie with proctype 0 is dropable and trade/non trade state became senseless)
 
I are an engineer
Joined
Feb 28, 2009
Messages
498
Reaction score
398
In the source code, proc_type is an enum such as the below:

Code:
enum PROC_TYPE
{
	ITEM_PROC_TYPE_NOSELL		= 0x0001,  //无法卖给NPC
	ITEM_PROC_TYPE_NOMAIL  		= 0x0002,  //不可邮寄
	ITEM_PROC_TYPE_CASHITEM 	= 0x0004,  //是人民币物品
	ITEM_PROC_TYPE_TASKITEM 	= 0x0008,  //是任务物品
	ITEM_PROC_TYPE_BIND2		= 0x0010,  //装备即绑定的物品
	ITEM_PROC_TYPE_BIND		= 0x0020,  //是已经绑定的物品
	ITEM_PROC_TYPE_NO_DEPOSIT	= 0x0040,  //不可存放仓库
	ITEM_PROC_TYPE_NODESTROY	= 0x0080,  //不允许销毁
	ITEM_PROC_TYPE_AUTO_DEL		= 0x0100,  //离开特定区域删除  
	ITEM_PROC_TYPE_DROP 		= 0x0200,  //红名死亡时掉落
	ITEM_PROC_TYPE_PICKBIND		= 0x0400,  //拾取绑定
	ITEM_PROC_TYPE_NOAUCATION	= 0x0800,  //不可拍卖
};

The above is from actual source code from a non-disclosed Wanmei Angelica3D game.
 
Banned
Banned
Joined
Dec 17, 2011
Messages
470
Reaction score
245
As far as i tested it goes like this:
proc_type_1 = Doesn't drop on death
proc_type_2 = Unable to be discarded
proc_type_4 = Unable to be sold
proc_type_8 = Equipping bound
proc_type_16 = Unable to be traded
proc_type_32 = idk
proc_type_64 = Equipping bound.

128 and 256 = Expires when leaving area.

proc_type_512 = Used once picked up

proc_type_1024 = Drops upon death
proc_type_2048 = Lost when player logs off
proc_type_4096 = Can't Repair
8192 and = 32768 Unable to be put into Account Stash
 
I are an engineer
Joined
Feb 28, 2009
Messages
498
Reaction score
398
The following is from the Perfect World source code:

Code:
enum
{
	ITEM_PROC_TYPE_NODROP 	= 0x0001,	//死亡时不掉落
	ITEM_PROC_TYPE_NOTHROW	= 0x0002,	//无法扔在地上  down
	ITEM_PROC_TYPE_NOSELL	= 0x0004,	//无法卖给NPC   down
	ITEM_PROC_TYPE_CASHITEM	= 0x0008,	//人民币物品
	ITEM_PROC_TYPE_NOTRADE  = 0x0010,	//玩家间不能交易
	ITEM_PROC_TYPE_TASKITEM = 0x0020,	//是任务物品
	ITEM_PROC_TYPE_BIND2	= 0x0040,	//装备后即绑定的物品
	ITEM_PROC_TYPE_UNBIND	= 0x0080,	//是否可以解绑
	ITEM_PROC_TYPE_NO_SAVE	= 0x0100,	//离开场景时消失
	ITEM_PROC_TYPE_AUTO_USE	= 0x0200,	//自动使用
	ITEM_PROC_TYPE_DEATH_DROP= 0x0400,	//死亡掉落
	ITEM_PROC_TYPE_LEAVE_DROP= 0x0800,	//下线掉落
	ITEM_PROC_TYPE_UNREPAIRABLE = 0x1000,	//不可修理
	ITEM_PROC_TYPE_DAMAGED		= 0x2000,	//玩家pk被杀死后,物品损毁
	ITEM_PROC_TYPE_NOPUTIN_USERTRASH = 0x4000,	//不可放入帐号仓库物品
	ITEM_PROC_TYPE_BIND			= 0x8000,	//是已经绑定的物品
	ITEM_PROC_TYPE_CAN_WEBTRADE	= 0x10000,	//可以在寻宝网交易
	ITEM_PROC_TYPE_MALL			= 0x20000,	//从乾坤袋购买的物品,赠品除外

	ITEM_PROC_NO_BIND_MASK	=  ITEM_PROC_TYPE_NODROP | ITEM_PROC_TYPE_NOTHROW | ITEM_PROC_TYPE_NOSELL | ITEM_PROC_TYPE_NOTRADE,
	//是不能绑定的组合操作  策划要求必须同时具备所有条件 才不允许绑定,否则就可以绑定
};
 
Banned
Banned
Joined
Dec 17, 2011
Messages
470
Reaction score
245
ITEM_PROC_TYPE_NODROP = 1, //死亡时不掉落
ITEM_PROC_TYPE_NOTHROW = 2, //无法扔在地上 down
ITEM_PROC_TYPE_NOSELL = 4, //无法卖给NPC down
ITEM_PROC_TYPE_CASHITEM = 8, //人民币物品
ITEM_PROC_TYPE_NOTRADE = 16, //玩家间不能交易
ITEM_PROC_TYPE_TASKITEM = 32, //是任务物品
ITEM_PROC_TYPE_BIND2 = 64, //装备后即绑定的物品
ITEM_PROC_TYPE_UNBIND = 128, //是否可以解绑
ITEM_PROC_TYPE_NO_SAVE = 256, //离开场景时消失
ITEM_PROC_TYPE_AUTO_USE = 512, //自动使用
ITEM_PROC_TYPE_DEATH_DROP= 1024, //死亡掉落
ITEM_PROC_TYPE_LEAVE_DROP= 2048, //下线掉落
ITEM_PROC_TYPE_UNREPAIRABLE = 4096, //不可修理
ITEM_PROC_TYPE_DAMAGED = 8192, //玩家pk被杀死后,物品损毁
ITEM_PROC_TYPE_NOPUTIN_USERTRASH = 16384, //不可放入帐号仓库物品
ITEM_PROC_TYPE_BIND = 16384, //是已经绑定的物品
ITEM_PROC_TYPE_CAN_WEBTRADE = 65536, //可以在寻宝网交易
ITEM_PROC_TYPE_MALL = 131072, //从乾坤袋购买的物品,赠品除外

Exactly what i saide except - ITEM_PROC_TYPE_MALL
 
Shh, quiet, you might piss somebody off
Developer
Joined
Dec 23, 2011
Messages
1,797
Reaction score
2,161
The following is from the Perfect World source code:

Code:
enum
{
	ITEM_PROC_TYPE_NODROP 	= 0x0001,	//死亡时不掉落
	ITEM_PROC_TYPE_NOTHROW	= 0x0002,	//无法扔在地上  down
	ITEM_PROC_TYPE_NOSELL	= 0x0004,	//无法卖给NPC   down
	ITEM_PROC_TYPE_CASHITEM	= 0x0008,	//人民币物品
	ITEM_PROC_TYPE_NOTRADE  = 0x0010,	//玩家间不能交易
	ITEM_PROC_TYPE_TASKITEM = 0x0020,	//是任务物品
	ITEM_PROC_TYPE_BIND2	= 0x0040,	//装备后即绑定的物品
	ITEM_PROC_TYPE_UNBIND	= 0x0080,	//是否可以解绑
	ITEM_PROC_TYPE_NO_SAVE	= 0x0100,	//离开场景时消失
	ITEM_PROC_TYPE_AUTO_USE	= 0x0200,	//自动使用
	ITEM_PROC_TYPE_DEATH_DROP= 0x0400,	//死亡掉落
	ITEM_PROC_TYPE_LEAVE_DROP= 0x0800,	//下线掉落
	ITEM_PROC_TYPE_UNREPAIRABLE = 0x1000,	//不可修理
	ITEM_PROC_TYPE_DAMAGED		= 0x2000,	//玩家pk被杀死后,物品损毁
	ITEM_PROC_TYPE_NOPUTIN_USERTRASH = 0x4000,	//不可放入帐号仓库物品
	ITEM_PROC_TYPE_BIND			= 0x8000,	//是已经绑定的物品
	ITEM_PROC_TYPE_CAN_WEBTRADE	= 0x10000,	//可以在寻宝网交易
	ITEM_PROC_TYPE_MALL			= 0x20000,	//从乾坤袋购买的物品,赠品除外

	ITEM_PROC_NO_BIND_MASK	=  ITEM_PROC_TYPE_NODROP | ITEM_PROC_TYPE_NOTHROW | ITEM_PROC_TYPE_NOSELL | ITEM_PROC_TYPE_NOTRADE,
	//是不能绑定的组合操作  策划要求必须同时具备所有条件 才不允许绑定,否则就可以绑定
};

this doenst seems updated with latest proctypes.
 
Banned
Banned
Joined
Dec 3, 2010
Messages
1,581
Reaction score
619
The following is from the Perfect World source code:

Code:
enum
{
	ITEM_PROC_TYPE_NODROP 	= 0x0001,	//死亡时不掉落
	ITEM_PROC_TYPE_NOTHROW	= 0x0002,	//无法扔在地上  down
	ITEM_PROC_TYPE_NOSELL	= 0x0004,	//无法卖给NPC   down
	ITEM_PROC_TYPE_CASHITEM	= 0x0008,	//人民币物品
	ITEM_PROC_TYPE_NOTRADE  = 0x0010,	//玩家间不能交易
	ITEM_PROC_TYPE_TASKITEM = 0x0020,	//是任务物品
	ITEM_PROC_TYPE_BIND2	= 0x0040,	//装备后即绑定的物品
	ITEM_PROC_TYPE_UNBIND	= 0x0080,	//是否可以解绑
	ITEM_PROC_TYPE_NO_SAVE	= 0x0100,	//离开场景时消失
	ITEM_PROC_TYPE_AUTO_USE	= 0x0200,	//自动使用
	ITEM_PROC_TYPE_DEATH_DROP= 0x0400,	//死亡掉落
	ITEM_PROC_TYPE_LEAVE_DROP= 0x0800,	//下线掉落
	ITEM_PROC_TYPE_UNREPAIRABLE = 0x1000,	//不可修理
	ITEM_PROC_TYPE_DAMAGED		= 0x2000,	//玩家pk被杀死后,物品损毁
	ITEM_PROC_TYPE_NOPUTIN_USERTRASH = 0x4000,	//不可放入帐号仓库物品
	ITEM_PROC_TYPE_BIND			= 0x8000,	//是已经绑定的物品
	ITEM_PROC_TYPE_CAN_WEBTRADE	= 0x10000,	//可以在寻宝网交易
	ITEM_PROC_TYPE_MALL			= 0x20000,	//从乾坤袋购买的物品,赠品除外

	ITEM_PROC_NO_BIND_MASK	=  ITEM_PROC_TYPE_NODROP | ITEM_PROC_TYPE_NOTHROW | ITEM_PROC_TYPE_NOSELL | ITEM_PROC_TYPE_NOTRADE,
	//是不能绑定的组合操作  策划要求必须同时具备所有条件 才不允许绑定,否则就可以绑定
};

confirmed. valid
 
Back
Top