Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1.  
  2. - script recolor_headgear -1,{
  3. function recolor_list;
  4.  
  5. OnInit:
  6. bindatcmd "hgcolor",strnpcinfo(3)+"::OnRecolor";
  7.  
  8. setarray .loc,
  9. EQI_HEAD_TOP,
  10. EQI_HEAD_MID,
  11. EQI_HEAD_LOW;
  12. .loc_size = getarraysize( .loc );
  13.  
  14. // Recolor( <original>,<color1>,...,<colorX> );
  15. recolor_list( 5172,30057,30074,30134 );
  16. end;
  17.  
  18.  
  19. function recolor_list {
  20. .@arg_count = getargcount();
  21.  
  22. if ( .@arg_count >= 2 ) {
  23. for ( .@i = 0; .@i < .@arg_count; .@i++ )
  24. .@array[.@i] = getarg( .@i );
  25.  
  26. copyarray getd( ".recolor_"+.@array[0] ),.@array,.@arg_count;
  27. }
  28. return;
  29. }
  30.  
  31. OnRecolor:
  32. for ( .@i = 0; .@i < .loc_size; .@i++ ) {
  33. .@item_id = getequipid( .loc[.@i] );
  34. if ( .@item_id != - 1 ) {
  35. .@array_size = getarraysize( getd( ".recolor_"+.@item_id ) );
  36. .@menu$ = .@menu$ + ( ( .@array_size )? "^00FF00":"^FF0000" );
  37. .@menu$ = .@menu$ + getitemname( .@item_id );
  38. .@count++;
  39. }
  40. .@menu$ = .@menu$ + ":";
  41. }
  42. if ( !.@count ) {
  43. mes "You doesnt wear any Recolor-able Headgear.";
  44. }
  45. else {
  46. .@loc = select ( .@menu$ ) - 1;
  47. .@item_id = getequipid( .loc[.@loc] );
  48. .@array_size = getarraysize( getd( ".recolor_"+.@item_id ) );
  49. if ( !.@array_size ) {
  50. mes "This headgear doesnt have Recolor option.";
  51. }
  52. else {
  53. copyarray .@array,getd( ".recolor_"+.@item_id ),.@array_size;
  54. for ( .@i = 0; .@i < .@array_size; .@i++ ) {
  55. if ( .@item_id != .@array[.@i] ) {
  56. .@color_menu$ = .@color_menu$ + getitemname( .@array[.@i] );
  57. }
  58. .@color_menu$ = .@color_menu$ + ":";
  59. }
  60. .@color = select( .@color_menu$ ) - 1;
  61. .@refine = getequiprefinerycnt( .loc[.@loc] );
  62. for ( .@i = 0; .@i < 4; .@i++ )
  63. .@card[.@i] = getequipcardid( .loc[.@loc],.@i );
  64. delequip .loc[.@loc];
  65. getitem2 .@array[.@color],1,1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
  66. equip .@array[.@color];
  67. }
  68. }
  69. close;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement