Grimfiend Posted January 19, 2017 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 12 Reputation: 1 Joined: 01/11/17 Last Seen: January 4, 2024 Share Posted January 19, 2017 (edited) Hello, I would like to know if there is any variable that detects when the person equips some equipment. I would like to use this variable to refine equipment when equipping anywhere in the server. Example: 2220,Hat,Hat,4,1000,,200,,2,,0,0xFFFFFFFF,63,2,256,,0,1,16,{},{ atcommand "@refine 256 20"; },{} 2301,Cotton_Shirt,Cotton Shirt,4,10,,100,,10,,0,0xFFFFFFFF,63,2,16,,0,1,0,{},{ atcommand "@refine 16 20"; },{} 1201,Knife,Knife,5,50,,400,17,,1,3,0x3E9F7EEF,63,2,2,1,1,1,1,{},{ atcommand "@refine 2 20"; },{} 2101,Guard,Guard,4,500,,300,,20,,0,0xFFFFFFFF,63,2,32,,0,1,1,{},{ atcommand "@refine 32 20"; },{} I want something like that, but without writing this all times. Edited January 19, 2017 by Griemfiend Quote Link to comment Share on other sites More sharing options...
0 Grimfiend Posted January 21, 2017 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 12 Reputation: 1 Joined: 01/11/17 Last Seen: January 4, 2024 Author Share Posted January 21, 2017 Ok, I already solved it, thanks for try help me, I made some modifications in the source so that OnEquip_Script worked in npc. Quote Link to comment Share on other sites More sharing options...
0 Skorm Posted January 20, 2017 Group: Forum Moderator Topic Count: 33 Topics Per Day: 0.01 Content Count: 1282 Reputation: 393 Joined: 02/03/12 Last Seen: April 11 Share Posted January 20, 2017 (edited) 17 hours ago, Griemfiend said: I want something like that, but without writing this all times. Not that I know of... I've never tried OnEquip_Script inside of a npc script but I don't see how that would even work. That being said there is an alternative. I'm just going to post the two methods I worked out feel free to use either although they are both untested. Simple: - script set_script_npc -1,{ for( .@a = 0; .@a < .len; .@a++ ) setitemscript .item_ids[.@a], "{ atcommand \"@refine "+getiteminfo( .item_ids[.@a], 5 )+" 20\"; }", 1; end; OnInit: setarray .item_ids, 2220, 2301, 1201, 2101; .len = getarraysize( .item_ids ); } Convoluted: - script set_script_npc -1,{ for( .@a = 0; .@a < .len; .@a++ ) { .@equip_loc = getiteminfo( .item_ids[.@a], 5 ); for( .@b = 0; pow( 2, .@b ) <= .@equip_loc; .@b++ ) if( .@equip_loc & pow( 2, .@b ) ) { setitemscript .item_ids[.@a], "{ callfunc(\"on_eq_refiner\","+.script_equip_slot[.@a]+"); }", 1; break; } } end; OnInit: setarray .item_ids, 2220, 2301, 1201, 2101; setarray .script_equip_slot, EQI_HEAD_LOW, EQI_HAND_R, EQI_ACC_R, EQI_ARMOR, EQI_HAND_L, EQI_SHOES, EQI_ACC_L, EQI_HEAD_TOP, EQI_HEAD_MID, EQI_COSTUME_HEAD_TOP, EQI_COSTUME_HEAD_MID, EQI_COSTUME_HEAD_LOW, EQI_COSTUME_GARMENT, 0, EQI_AMMO, EQI_SHADOW_ARMOR, EQI_SHADOW_WEAPON, EQI_SHADOW_SHIELD, EQI_SHADOW_SHOES, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L; .len = getarraysize( .item_ids ); } function script on_eq_refiner { .@refine = getequiprefinerycnt( getarg(0) ); if( .@refine < 20 ) successrefitem getarg(0), 20 - .@refine; return; } Edited January 20, 2017 by Skorm 1 Quote Link to comment Share on other sites More sharing options...
Question
Grimfiend
Hello, I would like to know if there is any variable that detects when the person equips some equipment.
I would like to use this variable to refine equipment when equipping anywhere in the server.
Example:
I want something like that, but without writing this all times.
Edited by GriemfiendLink to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.