Guest User

Untitled

a guest
Aug 20th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.22 KB | None | 0 0
  1. ///draw_text_bb_ext_black(x,y,string,sep,w)
  2.  
  3. //set up main variables
  4. var dcolor=draw_get_color(),color=dcolor,alpha=1,font=fnt_chat,_strAdd="";
  5. var _x=0,_y=0;
  6. var _str=argument[2];
  7. draw_set_halign(fa_left)
  8.  
  9.  
  10. //set the default values - based on the ds_map
  11. textSpeed=ds_map_find_value(defaultMap,"textSpeed")
  12. color=string_to_color(ds_map_find_value(defaultMap,"textColor"))
  13. font=asset_get_index(ds_map_find_value(defaultMap,"textFont"))
  14. alpha=ds_map_find_value(defaultMap,"textAlpha")
  15.  
  16.  
  17. textWaveA=ds_map_find_value(defaultMap,"textWaveA")
  18. textWaveF=ds_map_find_value(defaultMap,"textWaveF")
  19. textWaveO=ds_map_find_value(defaultMap,"textWaveO")
  20. textShakeX=ds_map_find_value(defaultMap,"textShakeX")
  21. textShakeY=ds_map_find_value(defaultMap,"textShakeY")
  22. textShake=ds_map_find_value(defaultMap,"textShake")
  23. textHSV=ds_map_find_value(defaultMap,"textHSV")
  24.  
  25.  
  26.  
  27. var i=0;
  28. _x=0 _y=0
  29. _str=argument[2];
  30. while(string_length(_str)>0){
  31. var draw=true;
  32.  
  33. //Search for starting bracket
  34. if string_copy(_str,1,1)=="["{
  35.  
  36. if string_count("=",string_copy(_str,1,string_pos("]",_str)))!=0{
  37. switch(string_copy(_str,2,string_pos("=",_str)-2)){
  38.  
  39. case "color":
  40. color=string_to_color(string_copy(_str,string_pos("=",_str)+1,
  41. string_pos("]",_str)-string_pos("=",_str)-1))
  42. break;
  43.  
  44. case "alpha":
  45. alpha=real(string_copy(_str,string_pos("=",_str)+1,
  46. string_pos("]",_str)-string_pos("=",_str)-1))
  47. break;
  48.  
  49. case "font":
  50. font=asset_get_index(string_copy(_str,string_pos("=",_str)+1,
  51. string_pos("]",_str)-string_pos("=",_str)-1))
  52. break;
  53.  
  54. case "speed":
  55. textSpeed=real(string_copy(_str,string_pos("=",_str)+1,
  56. string_pos("]",_str)-string_pos("=",_str)-1))
  57. break;
  58.  
  59. case "waveA":
  60. textWaveA=real(string_copy(_str,string_pos("=",_str)+1,
  61. string_pos("]",_str)-string_pos("=",_str)-1))
  62. break;
  63. case "waveF":
  64. textWaveF=real(string_copy(_str,string_pos("=",_str)+1,
  65. string_pos("]",_str)-string_pos("=",_str)-1))
  66. break;
  67. case "waveO":
  68. textWaveO=real(string_copy(_str,string_pos("=",_str)+1,
  69. string_pos("]",_str)-string_pos("=",_str)-1))
  70. break;
  71.  
  72. case "shake":
  73. textShake=real(string_copy(_str,string_pos("=",_str)+1,
  74. string_pos("]",_str)-string_pos("=",_str)-1))
  75. break;
  76. case "shakeX":
  77. textShakeX=real(string_copy(_str,string_pos("=",_str)+1,
  78. string_pos("]",_str)-string_pos("=",_str)-1))
  79. break;
  80. case "shakeY":
  81. textShakeY=real(string_copy(_str,string_pos("=",_str)+1,
  82. string_pos("]",_str)-string_pos("=",_str)-1))
  83. break;
  84.  
  85. case "hsv":
  86. textHSV=real(string_copy(_str,string_pos("=",_str)+1,
  87. string_pos("]",_str)-string_pos("=",_str)-1))
  88. break;
  89.  
  90. case "var":
  91. _var=string_copy(_str,string_pos("=",_str)+1,
  92. string_pos("]",_str)-string_pos("=",_str)-1)
  93.  
  94. if ds_map_exists(chatMap,_var){
  95. _strAdd+=string(chatMap[? _var]);
  96. }
  97. break;
  98.  
  99. }
  100. _str=string_delete(_str,1,string_pos("]",_str)) draw=false
  101. _str=" "+_strAdd+_str
  102. _strAdd=""
  103.  
  104. }else{
  105. //end tags
  106. switch(string_copy(_str,2,string_pos("]",_str)-2)){
  107. case "/color": color=ds_map_find_value(defaultMap,"textColor") break;
  108. case "/alpha": alpha=ds_map_find_value(defaultMap,"textAlpha") break;
  109. case "/font": font=asset_get_index(ds_map_find_value(defaultMap,"textFont")) break;
  110. case "/speed": textSpeed=ds_map_find_value(defaultMap,"textSpeed") break;
  111. case "/waveA": textWaveA=ds_map_find_value(defaultMap,"textWaveA") break;
  112. case "/waveF": textWaveF=ds_map_find_value(defaultMap,"textWaveF") break;
  113. case "/waveO": textWaveO=ds_map_find_value(defaultMap,"textWaveO") break;
  114. case "/shake": textShake=ds_map_find_value(defaultMap,"textShake") break;
  115. case "/shakeX": textShakeX=ds_map_find_value(defaultMap,"textShakeX") break;
  116. case "/shakeY": textShakeY=ds_map_find_value(defaultMap,"textShakeY") break;
  117. case "/hsv": textHSV=ds_map_find_value(defaultMap,"textHSV") break;
  118. }
  119. _str=string_delete(_str,1,string_pos("]",_str)-1) draw=false
  120. }
  121. }
  122.  
  123.  
  124. //Draws the line!
  125. if draw==true{
  126. draw_set_font(font)
  127. //
  128. draw_set_alpha(alpha)
  129. var _s=string_copy(_str,1,1);
  130.  
  131. textHSV1+=textHSV
  132. random_set_seed(_time)
  133. var _yy=dsin((_time*textWaveF)+(textWaveO*i))*textWaveA;
  134. var _xx=random_range(-(textShakeX+textShake),textShakeX+textShake);
  135. _yy+=random_range(-(textShakeX+textShake),textShakeX+textShake);
  136. randomize()
  137.  
  138. //Check for new lines
  139. //if string_pos(" ",_str)==0{
  140. if _x+string_width(_s)>(argument[4]/2){
  141. __i++ _x=0
  142. _y+=argument[3]
  143. }
  144. if _s=="#" || _s==chr(13){
  145. __i++ _x=0
  146. _y+=argument[3]
  147. }
  148.  
  149. draw_text(argument[0]+_x+_xx,argument[1]+_y+_yy,_s)
  150. _x+=string_width(_s)
  151. }
  152.  
  153. i++;
  154. _str=string_delete(_str,1,1)
  155. }
  156.  
  157.  
  158. textHSV=0
  159. textWaveA=0
  160. textWaveF=0
  161. textWaveO=0
  162. textShakeX=0
  163. textShakeY=0
  164. textShake=0
Add Comment
Please, Sign In to add comment