Advertisement
akbare

stylist with control pallete

Nov 4th, 2021
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.33 KB | None | 0 0
  1. //===== rAthena Script =======================================
  2. //= Stylist
  3. //===== By: ==================================================
  4. //= Euphy
  5. //===== Current Version: =====================================
  6. //= 1.1
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= Changes your hair style, hair color, and cloth color.
  11. //===== Additional Comments: =================================
  12. //= 1.0 Initial script.
  13. //= 1.1 Switched to 'getbattleflag', credits to Saithis. [Euphy]
  14. //============================================================
  15.  
  16. payon,173,147,4 script Stylist#custom_stylist 122,{
  17. if(getlook(LOOK_BODY2) == 1) {
  18. mes "Saat ini kamu memakai Costume JRO";
  19. mes "Berikut adalah pilihan warna yang dapat kamu gunakan";
  20.  
  21. .@choose = select( "~ Hair Style", "~ Hair Color", "~ Cloth Color" );
  22. .@part = .look[.@choose];
  23. .@i = .@revert = getlook( .@part );
  24. while ( true ) {
  25. setlook .@part, .@i;
  26. dispbottom "This is style #"+ .@i +".";
  27. .@next = .@i +1;
  28. for ( .@j = 0; .@j < .blacklistsize[.@part]; ++.@j )
  29. if ( .@next == getd(".blacklist"+ .@part +"["+ .@j +"]") )
  30. ++.@next;
  31. if ( .@next > .maxstyles[.@part] )
  32. .@next = 0;
  33. .@previous = .@i -1;
  34. for ( .@j = .blacklistsize[.@part] -1; .@j >= 0; --.@j )
  35. if ( .@previous == getd(".blacklist"+ .@part +"["+ .@j +"]") )
  36. --.@previous;
  37. if ( .@previous < 0 )
  38. .@previous = .maxstyles[.@part];
  39. switch ( select( " ~ Next (^0055FF"+ .@next +"^000000)", " ~ Previous (^0055FF"+ .@previous +"^000000)", " ~ Jump to...", " ~ Revert to original (^0055FF"+ .@revert +"^000000)" ) ) {
  40. case 1: .@i = .@next; break;
  41. case 2: .@i = .@previous; break;
  42. case 3:
  43. dispbottom "Choose a style between 1 - "+ .maxstyles[.@part] +".";
  44. input .@i, 0, .maxstyles[.@part];
  45. break;
  46. case 4: .@i = .@revert;
  47. }
  48. }
  49. }
  50. if(getlook(LOOK_BODY2) == 2) {
  51. mes "Saat ini kamu memakai Costume 4th";
  52. mes "Berikut adalah pilihan warna yang dapat kamu gunakan";
  53.  
  54. .@choose = select( "~ Hair Style", "~ Hair Color", "~ Cloth Color" );
  55. .@part = .look[.@choose];
  56. .@i = .@revert = getlook( .@part );
  57. while ( true ) {
  58. setlook .@part, .@i;
  59. dispbottom "This is style #"+ .@i +".";
  60. .@next = .@i +1;
  61. for ( .@j = 0; .@j < .blacklistsize4th[.@part]; ++.@j )
  62. if ( .@next == getd(".blacklist4th"+ .@part +"["+ .@j +"]") )
  63. ++.@next;
  64. if ( .@next > .maxstyles4th[.@part] )
  65. .@next = 0;
  66. .@previous = .@i -1;
  67. for ( .@j = .blacklistsize4th[.@part] -1; .@j >= 0; --.@j )
  68. if ( .@previous == getd(".blacklist4th"+ .@part +"["+ .@j +"]") )
  69. --.@previous;
  70. if ( .@previous < 0 )
  71. .@previous = .maxstyles4th[.@part];
  72. switch ( select( " ~ Next (^0055FF"+ .@next +"^000000)", " ~ Previous (^0055FF"+ .@previous +"^000000)", " ~ Jump to...", " ~ Revert to original (^0055FF"+ .@revert +"^000000)" ) ) {
  73. case 1: .@i = .@next; break;
  74. case 2: .@i = .@previous; break;
  75. case 3:
  76. dispbottom "Choose a style between 1 - "+ .maxstyles4th[.@part] +".";
  77. input .@i, 0, .maxstyles4th[.@part];
  78. break;
  79. case 4: .@i = .@revert;
  80. }
  81. }
  82. }
  83. else{
  84. setarray .@Styles[1],
  85. getbattleflag("max_cloth_color"),
  86. getbattleflag("max_hair_style"),
  87. getbattleflag("max_hair_color");
  88. }
  89. setarray .@Look[1],
  90. LOOK_CLOTHES_COLOR,
  91. LOOK_HAIR,
  92. LOOK_HAIR_COLOR;
  93. set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color");
  94. set .@Revert, getlook(.@Look[.@s]);
  95. set .@Style,1;
  96. while(1) {
  97. setlook .@Look[.@s], .@Style;
  98. message strcharinfo(0),"This is style #"+.@Style+".";
  99. set .@menu$, " ~ Next (^0055FF"+((.@Style!=.@Styles[.@s])?.@Style+1:1)+"^000000): ~ Previous (^0055FF"+((.@Style!=1)?.@Style-1:.@Styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";
  100. switch(select(.@menu$)) {
  101. case 1:
  102. set .@Style, ((.@Style != .@Styles[.@s]) ? .@Style+1 : 1);
  103. break;
  104. case 2:
  105. set .@Style, ((.@Style != 1) ? .@Style-1 : .@Styles[.@s]);
  106. break;
  107. case 3:
  108. message strcharinfo(0),"Choose a style between 1 - "+.@Styles[.@s]+".";
  109. input .@Style,0,.@Styles[.@s];
  110. if (!.@Style)
  111. set .@Style, rand(1,.@Styles[.@s]);
  112. break;
  113. case 4:
  114. set .@Style, .@Revert;
  115. setlook .@Look[.@s], .@Revert;
  116. break;
  117. }
  118. }
  119. OnInit:
  120. // setarray getd(".blacklist"+ LOOK_HAIR), 0; // ID that skip for hair styles
  121. // setarray getd(".blacklist"+ LOOK_HAIR_COLOR), 2,4,6,8,10,12; // ID that skip for hair color
  122. // setarray getd(".blacklist"+ LOOK_CLOTHES_COLOR), 3,6,9,12,15,18; // ID that skip for cloth color
  123. // you don't want the normal deny, you want a long range deny ? then make a long long array XD
  124. // setarray getd(".blacklist"+ LOOK_CLOTHES_COLOR),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500;
  125.  
  126. .maxstyles[LOOK_HAIR] = 27;
  127. .maxstyles[LOOK_HAIR_COLOR] = 230;
  128. .maxstyles[LOOK_CLOTHES_COLOR] = 3;
  129.  
  130. .maxstyles4th[LOOK_HAIR] = 27;
  131. .maxstyles4th[LOOK_HAIR_COLOR] = 230;
  132. .maxstyles4th[LOOK_CLOTHES_COLOR] = 3;
  133. setarray getd(".blacklist4th"+ LOOK_CLOTHES_COLOR), 1; // ID that skip for cloth color
  134. setarray .look[1], LOOK_HAIR, LOOK_HAIR_COLOR, LOOK_CLOTHES_COLOR;
  135. .blacklistsize4th[LOOK_CLOTHES_COLOR] = getarraysize( getd(".blacklist4th"+ LOOK_CLOTHES_COLOR) );
  136. end;
  137.  
  138.  
  139. setarray .look[1], LOOK_HAIR, LOOK_HAIR_COLOR, LOOK_CLOTHES_COLOR;
  140. .blacklistsize[LOOK_HAIR] = getarraysize( getd(".blacklist"+ LOOK_HAIR) );
  141. .blacklistsize[LOOK_HAIR_COLOR] = getarraysize( getd(".blacklist"+ LOOK_HAIR_COLOR) );
  142. .blacklistsize[LOOK_CLOTHES_COLOR] = getarraysize( getd(".blacklist"+ LOOK_CLOTHES_COLOR) );
  143. end;
  144. }
  145.  
  146.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement