Advertisement
Dudugz-Contistente

Untitled

Nov 29th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.01 KB | None | 0 0
  1. var layers = {};
  2. var currentLayer = 0;
  3. var currentSelected = -1;
  4.  
  5. $.fn.enterKey = function (fnc) {
  6. return this.each(function () {
  7. $(this).keypress(function (ev) {
  8. var keycode = (ev.keyCode ? ev.keyCode : ev.which);
  9. if (keycode == '13') {
  10. fnc.call(this, ev);
  11. }
  12. })
  13. })
  14. }
  15.  
  16. $(document).ready(function(){
  17. var out = $("#out");
  18. out.append("Bem-vindo ao Lua Editeur TFM.");
  19. $('#add-image').click(function(){
  20. var imageUrl = $('#url-input').val().replace(' ','');
  21. $('#url-input').css('box-shadow', '');
  22. if (imageUrl.length == 0) {
  23. $('#url-input').css('box-shadow', '0px 0px 2px 1px #FF0000');
  24. }
  25. else {
  26. newImage(imageUrl);
  27. $('#url-input').val('');
  28. }
  29. });
  30. $('#duplicate').click(function(){
  31. var imageUrl = $('img[tfmimg='+currentSelected+']').attr('src');
  32. var coord = $('img[tfmimg='+currentSelected+']').offset();
  33. var offset = $("#map-area").offset();
  34. var x = parseInt(coord.left)-parseInt(offset.left);
  35. var y = parseInt(coord.top)-parseInt(offset.top)
  36. newImage(imageUrl, true, x, y);
  37. });
  38. $('#delete').click(function(){
  39. var imageLayer = parseInt($('img[tfmimg='+currentSelected+']').css('z-index'));
  40. $('img[tfmimg='+currentSelected+']').attr('deleted', '1');
  41. $('img[tfmimg='+currentSelected+']').css('visibility', 'hidden');
  42. for (i = imageLayer+1; i <= Object.keys(layers).length; ++i){
  43. var z = $(layers[i]).css('z-index');
  44. if (isNaN(z)){
  45. }
  46. else {
  47. $(layers[i]).css('z-index', z-1);
  48. };
  49. currentSelected = i;
  50. };
  51. updateProperties('img[tfmimg='+currentSelected+']');
  52. $('img[tfmimg='+currentSelected+']').addClass('active');
  53. });
  54. $('#get-xml').click(function(){
  55. generateXml();
  56. });
  57. $('#image-z').change(function() {
  58. var newLayer = parseInt($(this).val());
  59. $(this).val(newLayer);
  60. var success = changeImageLayer('img[tfmimg='+currentSelected+']', newLayer);
  61. updateProperties('img[tfmimg='+currentSelected+']');
  62. });
  63. $('#image-x').change(function() {
  64. var x = $(this).val();
  65. var offset = $("#map-area").offset();
  66. $('img[tfmimg='+currentSelected+']').offset({left: parseInt(x)+parseInt(offset.left)});
  67. updateProperties('img[tfmimg='+currentSelected+']');
  68. });
  69. $('#image-y').change(function() {
  70. var y = $(this).val();
  71. var offset = $("#map-area").offset();
  72. $('img[tfmimg='+currentSelected+']').offset({top: parseInt(y)+parseInt(offset.top)});
  73. updateProperties('img[tfmimg='+currentSelected+']');
  74. });
  75. $(document).on('click', 'img[tfmimg]', function(){
  76. $('img[tfmimg='+currentSelected+']').removeClass('active');
  77. $(this).addClass('active');
  78. currentSelected = $(this).attr('tfmimg');
  79. updateProperties(this);
  80. })
  81. $(document).keydown(function(event) {
  82. var tag = event.target.tagName.toLowerCase();
  83. if (tag == 'input' || tag == 'textarea'){
  84. return
  85. };
  86. if (currentSelected > -1){
  87. var key = event.which;
  88. var offset = $("#map-area").offset();
  89. var y = parseInt($('#image-y').val());
  90. var x = parseInt($('#image-x').val());
  91. if (key == 39){
  92. // right
  93. $('img[tfmimg='+currentSelected+']').offset({left: (x+1)+parseInt(offset.left)});
  94. }
  95. else if (key == 37){
  96. // left
  97. $('img[tfmimg='+currentSelected+']').offset({left: (x-1)+parseInt(offset.left)});
  98. }
  99. else if (key == 38){
  100. // up
  101. $('img[tfmimg='+currentSelected+']').offset({top: (y-1)+parseInt(offset.top)});
  102. }
  103. else if (key == 40){
  104. // down
  105. $('img[tfmimg='+currentSelected+']').offset({top: (y+1)+parseInt(offset.top)});
  106. };
  107. updateProperties('img[tfmimg='+currentSelected+']');
  108. }
  109. });
  110. });
  111.  
  112. function newImage(imageUrl, duplicate, x, y){
  113. currentLayer += 1;
  114. $('#map-area').append('<img tfmimg="'+currentLayer+'" class="image-object" src="'+imageUrl+'" />')
  115. var newElement = $('#map-area').find('img[tfmimg='+currentLayer+']')[0];
  116. var offset = $("#map-area").offset();
  117. if (duplicate){
  118. $(newElement).offset({top: y, left: offset.left+x+40});
  119. }
  120. else {
  121. $(newElement).offset({top: offset.top+100, left: offset.left+400});
  122. }
  123. $(newElement).css('z-index', currentLayer);
  124. $(newElement).draggable({
  125. container: '#area',
  126. start: function(){
  127. $('img[tfmimg='+currentSelected+']').removeClass('active');
  128. $(this).addClass('active');
  129. currentSelected = $(this).attr('tfmimg');
  130. },
  131. drag: function(){
  132. updateProperties(this);
  133. },
  134. });
  135. layers[currentLayer] = 'img[tfmimg='+currentLayer+']';
  136. };
  137.  
  138. function updateProperties(image){
  139. var coord = $(image).offset();
  140. var width = $(image).width();
  141. var height = $(image).height();
  142. var offset = $("#map-area").offset();
  143. $("#image-dimensions").val(width+"x"+height);
  144. $("#image-x").val(parseInt(coord.left)-parseInt(offset.left));
  145. $("#image-y").val(parseInt(coord.top)-parseInt(offset.top));
  146. $("#image-z").val(parseInt($(image).css('z-index')));
  147. }
  148.  
  149. function generateXml(){
  150. var out = $("#out");
  151. var offset = $("#map-area").offset();
  152. var tag = "";
  153. out.append("<p align='center'><font color='#ffcc00'>Script:</font></p>");
  154. var currentLayer = {};
  155. $('img[tfmimg]').each(function(){
  156. var attr = $(this).attr('deleted');
  157. var position = $(this).offset();
  158. var src = $(this).attr('src').replace('http://transformice.com/images/','');
  159. var z = parseInt($(this).css('z-index'));
  160. var x = parseInt(position.left)-parseInt(offset.left);
  161. var y = parseInt(position.top)-parseInt(offset.top);
  162. if (attr != '1') {
  163. out.append("tfm.exec.addImage("+src+", "&1", "+x+", "+y+", 'nome do jogador') ");
  164. }
  165. else {
  166.  
  167. }
  168. });
  169. var len = Object.keys(currentLayer).length;
  170. for (i in currentLayer){
  171. tag += currentLayer[len];
  172. len -= 1;
  173. }
  174. }
  175.  
  176. function changeImageLayer(image, layer){
  177. var layer = parseInt(layer);
  178. var oldlayer = parseInt($(image).css('z-index'));
  179. if (!(typeof layers[layer] === 'undefined')){
  180. $(layers[layer]).css('z-index', oldlayer);
  181. layers[oldlayer] = layers[layer];
  182. layers[layer] = image;
  183. }
  184. else {
  185. $('#image-z').val(oldlayer);
  186. }
  187. $(image).css('z-index', layer);
  188. updateProperties(image);
  189. return true;
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement