FWItems

Voir des silhouettes personnalisées ainsi que des objets customs

当前为 2015-06-27 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name FWItems
  3. // @namespace InGame
  4. // @include http://www.dreadcast.net/Main
  5. // @version 0.14
  6. // @grant none
  7. // @author Odul
  8. // @description Voir des silhouettes personnalisées ainsi que des objets customs
  9. // ==/UserScript==
  10.  
  11. var silhouettesId = new Array();
  12. var silhouettesNom = new Array();
  13.  
  14. var itemsImg = new Array();
  15. var itemsNomsBase = new Array();
  16. var itemsNoms = new Array();
  17. var itemsDesc = new Array();
  18.  
  19. var eqNoms = new Array();
  20.  
  21. function initItems()
  22. {
  23. $('.case_objet').each(function () {
  24. var idItem = $(this).find('.infoBox_content div').last().text().substring(2);
  25. if(idItem != "")
  26. {
  27. if(itemsImg[idItem])
  28. {
  29. $(this).find('img').last().attr('src','http://bit.ly/'+itemsImg[idItem]);
  30. $(this).find('.conteneur_image img').attr('src','http://bit.ly/'+itemsImg[idItem]);
  31. }
  32. if(itemsNoms[idItem] && eqNoms[itemsNomsBase[idItem]])
  33. $(this).find('.infoBox_content .titreinfo').text(itemsNoms[idItem]+$(this).find('.infoBox_content .titreinfo').text().substring(eqNoms[itemsNomsBase[idItem]].length));
  34. if(itemsDesc[idItem])
  35. $(this).find('.infoBox_content .description').text(itemsDesc[idItem]);
  36. }
  37. });
  38. }
  39.  
  40. MenuInventaire.prototype.checkDeplacement = function(idDest) {
  41. var inventaire = this,
  42. currentDrag = this.currentDrag;
  43. if (currentDrag) {
  44. var idInit = currentDrag.parent().attr("id");
  45. if (idInit == idDest) $("#" + idInit + " .item").css({
  46. left: this.initPos.x,
  47. top: this.initPos.y
  48. });
  49. else if ("poubelleInventaire" == idDest) engine.validation("Voulez-vous vraiment jeter cet objet ?", "nav.getInventaire().deleteObjet('" + idInit + "', '" + currentDrag.attr("id") + "', '" + inventaire.initPos.x + "', '" + inventaire.initPos.y + "');", "$('#" + idInit + " .item').css({left: '" + this.initPos.x + "', top: '" + this.initPos.y + "'});");
  50. else if ("ciseauxInventaire" == idDest) this.diviseObjets();
  51. else if ("window_chat" == idDest) {
  52. var id_objet = currentDrag.attr("id").replace(/([0-9]+)_[0-9]+/g, "$1"),
  53. nom_objet = currentDrag.parent().find(".titreinfo").text();
  54. "Votre message..." == $("#" + idDest).find("input").val() ? $("#" + idDest).find("input").val("[objet_" + id_objet + "_" + nom_objet + "]").css("color", "black") : $("#" + idDest).find("input").val($("#" + idDest).find("input").val() + "[objet_" + id_objet + "_" + nom_objet + "]"), currentDrag.css({
  55. left: this.initPos.x,
  56. top: this.initPos.y
  57. })
  58. } else if ("customisation_0_1" == idDest) {
  59. if ($("#" + idInit).parents(".dataBox").length) return engine.displayLightInfo("Cet objet doit être sur vous."), $("#" + idInit + " .item").css({
  60. left: inventaire.initPos.x,
  61. top: inventaire.initPos.y
  62. }), !1;
  63. if (!$("#" + idInit + " .infoBox .technoinfo").length) return engine.displayLightInfo("Cet objet ne peut pas être amélioré."), $("#" + idInit + " .item").css({
  64. left: inventaire.initPos.x,
  65. top: inventaire.initPos.y
  66. }), !1;
  67. $("#" + idInit + " .item").css({
  68. left: inventaire.initPos.x,
  69. top: inventaire.initPos.y
  70. }), $("#" + idInit).addClass("gris").find(".item").addClass("objet_flou").draggable("disable"), reg = new RegExp("([0-9]*)_([34])", "g");
  71. var tav;
  72. (tab = $("#" + idInit + " .item").attr("id").split(reg)) && (3 == tab[2] ? $("#" + tab[1] + "_4").length && $("#" + tab[1] + "_4").addClass("objet_flou").draggable("disable").parent().addClass("gris") : $("#" + tab[1] + "_3").length && $("#" + tab[1] + "_3").addClass("objet_flou").draggable("disable").parent().addClass("gris")), engine.getCtlById("db_customisation").placeItem(currentDrag)
  73. } else if ("reparation_0_1" == idDest) {
  74. if ($("#" + idInit).parents(".dataBox").length) return engine.displayLightInfo("Cet objet doit être sur vous."), $("#" + idInit + " .item").css({
  75. left: inventaire.initPos.x,
  76. top: inventaire.initPos.y
  77. }), !1;
  78. if (!$("#" + idInit + " .infoBox .durabiliteinfo").length) return engine.displayLightInfo("Cet objet ne peut pas être réparé."), $("#" + idInit + " .item").css({
  79. left: inventaire.initPos.x,
  80. top: inventaire.initPos.y
  81. }), !1;
  82. $("#" + idInit + " .item").css({
  83. left: inventaire.initPos.x,
  84. top: inventaire.initPos.y
  85. }), $("#" + idInit).addClass("gris").find(".item").addClass("objet_flou").draggable("disable"), reg = new RegExp("([0-9]*)_([34])", "g");
  86. var tav;
  87. (tab = $("#" + idInit + " .item").attr("id").split(reg)) && (3 == tab[2] ? $("#" + tab[1] + "_4").length && $("#" + tab[1] + "_4").addClass("objet_flou").draggable("disable").parent().addClass("gris") : $("#" + tab[1] + "_3").length && $("#" + tab[1] + "_3").addClass("objet_flou").draggable("disable").parent().addClass("gris"));
  88. var idDB = $("#" + idDest).parents(".dataBox").attr("id");
  89. engine.getCtlById(idDB).placeItem(currentDrag, idInit)
  90. } else if (test = idDest.match(/meuble_[0-9]+/)) {
  91. $("#" + idInit + " .item").css({
  92. left: inventaire.initPos.x,
  93. top: inventaire.initPos.y
  94. });
  95. var infos = $("#" + idInit + " .item").attr("id").split(/_/g);
  96. $.post("Item/Clean/Neuvopack", {
  97. id_objet: infos[0]
  98. }, function(a) {
  99. if (xml_result(a, 8)) {
  100. var b = $(a).find("id_item").xml();
  101. $(".contenance_appareil_" + b).html("0"), engine.useAjaxReturn(a)
  102. }
  103. })
  104. } else {
  105. var reg = new RegExp("echange_.*", "g");
  106. if (idDest.match(reg)) {
  107. $("#" + idInit + " .item").css({
  108. left: inventaire.initPos.x,
  109. top: inventaire.initPos.y
  110. }), $("#" + idInit).addClass("gris").find(".item").addClass("objet_flou").draggable("disable"), reg = new RegExp("([0-9]*)_([34])", "g");
  111. var tab;
  112. (tab = $("#" + idInit + " .item").attr("id").split(reg)) && (3 == tab[2] ? $("#" + tab[1] + "_4").length && $("#" + tab[1] + "_4").addClass("objet_flou").draggable("disable").parent().addClass("gris") : $("#" + tab[1] + "_3").length && $("#" + tab[1] + "_3").addClass("objet_flou").draggable("disable").parent().addClass("gris"))
  113. }
  114. var defered = null;
  115. if ($("#" + idDest).parent(".meuble_inventaire").length) {
  116. var action = $("#" + idDest).parent(".meuble_inventaire").attr("data-action-meuble");
  117. if (26 == action) {
  118. var defered = $.Deferred(),
  119. nom_objet = currentDrag.parent().find(".titreinfo").text(),
  120. actions = {
  121. valider: function() {
  122. defered.resolve()
  123. },
  124. annuler: function() {
  125. defered.reject()
  126. }
  127. },
  128. formulaire = [{
  129. type: "text",
  130. id: "centrale_vente_prix",
  131. label: "Prix",
  132. postlabel: "Cr",
  133. direction: "right",
  134. value: 0
  135. }];
  136. if (idInit.match(/^meubleInventaire/g)) defered.reject();
  137. else {
  138. var lb = new LightBox(idDest, 1, "Mise en vente d'un objet", 'Vous allez mettre en vente l\'objet <span class="couleur4">' + nom_objet + "</span>.<br />Remplissez le formulaire ci-dessous :", actions, formulaire);
  139. lb.display()
  140. }
  141. }
  142. }
  143. var effectue_deplacement = function(custom_data) {
  144. $.post("./Item/Move", {
  145. item: idInit + "_" + currentDrag.attr("id"),
  146. box: idDest,
  147. custom_data: custom_data
  148. }, function(xml) {
  149. if (xml_result(xml)) {
  150. inventaire.binding[idInit] = !1, inventaire.binding[idDest] = !1, currentDrag.parents(".case_objet").removeClass("active"), currentDrag.parent().find(".typeinfo").text().match("Deck") && engine.closeDataBox("db_deck_" + currentDrag.parent().find(".info_objet").attr("id_item")), $(xml).find("callback").length && eval($(xml).find("callback").xml()), $(xml).find("reload").length && nav.getTravail().updateItemsToSell(), $(xml).find("achat").length && (currentDrag.parent().replaceWith($(xml).find("caseEntreprise").xml()), $("#zone_cases_achat .case_objet_vide_type_inv_vide").droppable() && $("#zone_cases_achat .case_objet_vide_type_inv_vide").droppable("destroy"), $("#zone_cases_achat .case_objet_vide_type_inv_vide").droppable({
  151. accept: ".objet_stock",
  152. activeClass: "case_main_hover",
  153. hoverClass: "case_main_drop",
  154. drop: function() {
  155. nav.getTravail().mise_en_vente($(this).attr("id"))
  156. }
  157. }), $("#contenance_item_" + $(xml).find("idIBConteneur").xml()).html(parseInt($("#contenance_item_" + $(xml).find("idIBConteneur").xml()).html()) + 1)), $(xml).find("pilules").length && Interface.setPilules($(xml).find("pilules").xml()), engine.useAjaxReturn(xml);
  158. var ctl = engine.getCtlById("db_combat");
  159. if (ctl && ctl.checkAttaqueDistance(3), $(xml).find("case_objet").length) {
  160. var tmp;
  161. $(xml).find("case_objet").each(function() {
  162. tmp = $(this).attr("id").split(/^numConteneur_([0-9]+)_([\-0-9]+)$/), tmp2 = $(this).attr("id").split(/^quantiteObjet_([0-9]+)_([0-9]+)$/), tmp.length > 1 ? $("#contenance_item_" + tmp[1]).html(parseInt($("#contenance_item_" + tmp[1]).html()) + parseInt(tmp[2])) : tmp2.length > 1 ? $(".quantite_" + tmp2[1]).html("x" + tmp2[2]) : inventaire.updateCaseObjet($(this))
  163. })
  164. }
  165. } else $("#" + idInit + " .item").css({
  166. left: inventaire.initPos.x,
  167. top: inventaire.initPos.y
  168. });
  169. ///// modif ici
  170. // var idItem = currentDrag.attr("id").substring(0,currentDrag.attr("id").indexOf('_'));
  171. //if(itemsImg[idItem])
  172. //{
  173. //$('#ib_itemBox_'+idItem).parent().find('img').last().attr('src','http://bit.ly/'+itemsImg[idItem]);
  174. //$('#ib_itemBox_'+idItem).parent().find('.conteneur_image img').attr('src','http://bit.ly/'+itemsImg[idItem]);
  175. //}
  176. //if(itemsNoms[idItem])
  177. // $(this).find('.infoBox_content .titreinfo').text(itemsNoms[idItem]+$(this).find('.infoBox_content .titreinfo').text().substring(eqNoms[itemsNomsBase[idItem]].length));
  178. // if(itemsDesc[idItem])
  179. // $(this).find('.infoBox_content .description').text(itemsDesc[idItem]);
  180. initItems();
  181. });
  182. };
  183. isset(defered) ? defered.then(function() {
  184. effectue_deplacement.call(inventaire, lb.formData())
  185. }, function() {
  186. $("#" + idInit + " .item").css({
  187. left: inventaire.initPos.x,
  188. top: inventaire.initPos.y
  189. })
  190. }) : effectue_deplacement.call()
  191. }
  192. }
  193. }
  194.  
  195. function loadArray()
  196. {
  197. $.ajax({
  198. type: 'GET',
  199. url: "http://docs.google.com/uc?export=download&id=0ByK4ISi_fO8uUFRjRnh1RWhILVU",
  200. async: true,
  201. jsonpCallback: 'jsonCallbackSilouhette0',
  202. contentType: "application/json",
  203. dataType: 'jsonp',
  204. success: function(json) {
  205. for (var i=0 ; i < json.personnage.length ; i++)
  206. {
  207. silhouettesId[json.personnage[i][0]] = json.personnage[i][1];
  208. if(json.personnage[i].length >= 3)
  209. silhouettesNom[(json.personnage[i][2]).toLowerCase()] = json.personnage[i][1];
  210. }
  211. var pseudo = $("#txt_pseudo").text().toLowerCase();
  212. if(silhouettesNom[pseudo])
  213. $('.personnage_image').css('background-image','url(http://bit.ly/'+silhouettesNom[pseudo]+')').css('background-position','0px 0px');
  214. },
  215. error: function(e) {
  216. console.log(e.message);
  217. }
  218. });
  219. $.ajax({
  220. type: 'GET',
  221. url: "http://docs.google.com/uc?export=download&id=0B5SS13RZj6nZdUJCWnFOeHNsQXc",
  222. async: false,
  223. jsonpCallback: 'jsonCallbackItems0',
  224. contentType: "application/json",
  225. dataType: 'jsonp',
  226. success: function(json) {
  227. for (var i=0 ; i < json.items.length ; i++)
  228. {
  229. itemsImg[json.items[i][0]] = json.items[i][1][0];
  230. itemsNomsBase[json.items[i][0]] = json.items[i][1][1];
  231. itemsNoms[json.items[i][0]] = json.items[i][1][2];
  232. itemsDesc[json.items[i][0]] = json.items[i][1][3];
  233. }
  234. eqNoms = json.eq;
  235. initItems();
  236. },
  237. error: function(e) {
  238. console.log(e.message);
  239. }
  240. });
  241. }
  242.  
  243. MenuInventaire.prototype.activeObjet = function(idObj) {
  244. if (this.binding[idObj] && $("#" + this.binding[idObj]).length) return $("#" + this.binding[idObj]).remove(), !0;
  245. var thecase;
  246. $(".case_objet").each(function() {
  247. $(this).find("#" + idObj).length && ($(this).find(".objetLoader").show(), thecase = $(this).attr("id"))
  248. }), $("#infoBox").hide(), clearTimeout($("#" + idObj).parent().data("timeout"));
  249. var inventaire = this,
  250. url = "Item/Activate",
  251. id_personnage = 0;
  252. (id_personnage = $("#" + idObj).parents(".conteneur").attr("alt")) && (url = "Interface/Steal/Item", engine.closeDataBox("db_steal_" + id_personnage)), $.post("./" + url, {
  253. id: idObj,
  254. id_personnage: id_personnage
  255. }, function(xml) {
  256. if ($("#" + thecase + " .objetLoader").hide(), engine.useAjaxReturn(xml), xml_result(xml))
  257. if ($(xml).find("content").length) {
  258. var html = $(xml).find("content").xml();
  259. if ($(html).hasClass("conteneur")) {
  260. var id = $(html).attr("id"),
  261. idPerso = $(html).attr("alt");
  262. inventaire.binding[idObj] = id;
  263. var mon_inventaire = !isset(idPerso);
  264. idPerso = idPerso ? ".perso_" + idPerso + " " : "", $(".zone_conteneurs_displayed" + idPerso).find("#" + id).length ? $(".zone_conteneurs_displayed" + idPerso).find("#" + id).remove() : ("none" == $("#zone_inventaire").css("display") && mon_inventaire && nav.ouvre_menu("inventaire"), mon_inventaire ? $("#zone_conteneurs_displayed").append(html) : $(".zone_conteneurs_displayed" + idPerso).append(html), $("#" + id).hide().css({
  265. left: "50%",
  266. marginLeft: -$("#" + id).width() / 2 + 105 - (mon_inventaire ? 0 : 20) + "px",
  267. top: $("#main_fight").length ? 20 : -$("#" + id).height() + "px"
  268. }).fadeIn("fast"), $(".zone_conteneurs_displayed" + idPerso + " .conteneur").draggable({
  269. cancel: ".case_objet"
  270. }), $("#" + id + " .case_objet").each(function() {
  271. inventaire.updateEffectsCaseObjet($(this), null, !0, mon_inventaire);
  272. ///modif ici
  273. var idItem = $(this).find('.infoBox_content div').last().text().substring(2);
  274. if(idItem != "")
  275. {
  276. if(itemsImg[idItem])
  277. {
  278. $(this).find('img').last().attr('src','http://bit.ly/'+itemsImg[idItem]);
  279. $(this).find('.conteneur_image img').attr('src','http://bit.ly/'+itemsImg[idItem]);
  280. }
  281. if(itemsNoms[idItem])
  282. $(this).find('.infoBox_content .titreinfo').text(itemsNoms[idItem]+$(this).find('.infoBox_content .titreinfo').text().substring(eqNoms[itemsNomsBase[idItem]].length));
  283. if(itemsDesc[idItem])
  284. $(this).find('.infoBox_content .description').text(itemsDesc[idItem]);
  285. }
  286. }))
  287. } else if ($(html).hasClass("dataBox")) {
  288. if (engine.displayDataBox(html) === !1) return !1;
  289. var id = $(html).attr("id");
  290. preload(id), ("db_map_1" == id || "db_map_2" == id) && evolution.unlock(5), $(xml).find("content").attr("update") && $("#" + id + " " + $(xml).find("content").attr("update")).load($(xml).find("content").attr("url")), $(xml).find("content").attr("controller") && engine.setCtl(id, eval("new " + $(xml).find("content").attr("controller") + "()"))
  291. }
  292. } else if ($(xml).find("case_objet").length) {
  293. var tmp;
  294. $(xml).find("case_objet").each(function() {
  295. tmp = $(this).attr("id").split(/^numConteneur_([0-9]+)_([\-0-9]+)$/), tmp2 = $(this).attr("id").split(/^chargeurArme_([0-9]+)_([0-9]+)$/), tmp3 = $(this).attr("id").split(/^quantiteObjet_([0-9]+)_([0-9]+)$/), tmp.length > 1 ? $("#contenance_item_" + tmp[1]).html(parseInt($("#contenance_item_" + tmp[1]).html()) + parseInt(tmp[2])) : tmp2.length > 1 ? $(".balles_munitions_" + tmp2[1]).html(tmp2[2]) : tmp3.length > 1 ? $(".quantite_" + tmp3[1]).html("x" + tmp3[2]) : inventaire.updateCaseObjet($(this)), $("#" + $(this).attr("id")).hasClass("linkBox_vide") && $("#" + $(this).attr("id")).removeClass("active");
  296. }), $(".active").each(function() {
  297. $(this).find("#" + idObj).length && $(this).removeClass("active")
  298. })
  299. } else $(xml).find("switch").length && $(".item_" + $(xml).find("switch").xml() + "_switch").toggleClass("hidden");
  300. else $(".active").each(function() {
  301. $(this).find("#" + idObj).length && $(this).removeClass("active")
  302. })
  303. })
  304. }
  305. Engine.prototype.displayDataBoxSave = Engine.prototype.displayDataBox;
  306. Engine.prototype.displayDataBox = function(html, update) {
  307. this.displayDataBoxSave(html, update);
  308. if($(html).attr('id').indexOf('db_fouille_meuble_')==0)
  309. {
  310. $("#"+$(html).attr('id')+" .case_objet").each(function() {
  311. var idItem = $(this).find('.infoBox_content div').last().text().substring(2);
  312. if(idItem != "")
  313. {
  314. if(itemsImg[idItem])
  315. {
  316. $(this).find('img').last().attr('src','http://bit.ly/'+itemsImg[idItem]);
  317. $(this).find('.conteneur_image img').attr('src','http://bit.ly/'+itemsImg[idItem]);
  318. }
  319. if(itemsNoms[idItem])
  320. $(this).find('.infoBox_content .titreinfo').text(itemsNoms[idItem]+$(this).find('.infoBox_content .titreinfo').text().substring(eqNoms[itemsNomsBase[idItem]].length));
  321. if(itemsDesc[idItem])
  322. $(this).find('.infoBox_content .description').text(itemsDesc[idItem]);
  323. }
  324. });
  325. }
  326. }
  327. Engine.prototype.openPersoBox = function (a, b) {
  328. var c = this;
  329. return $("#zone_infoBoxFixed #ib_persoBox_" + a).length ? ($("#zone_infoBoxFixed #ib_persoBox_" + a).remove(), !0) : void $.post("./Main/FixedBox/PersoBox", {
  330. id: a
  331. }, function (d) {
  332. if ("ERROR1" != d) {
  333. $("#zone_infoBoxFixed").prepend(d);
  334. var e = nav.getInventaire();
  335. $("#zone_infoBoxFixed #ib_persoBox_" + a + " .case_objet").each(function () {
  336. e.updateEffectsCaseObjet($(this));
  337. var idItem = $(this).find('.infoBox_content div').last().text().substring(2);
  338. if(idItem != "")
  339. {
  340. if(itemsImg[idItem])
  341. {
  342. $(this).find('img').last().attr('src','http://bit.ly/'+itemsImg[idItem]);
  343. $(this).find('.conteneur_image img').attr('src','http://bit.ly/'+itemsImg[idItem]);
  344. }
  345. if(itemsNoms[idItem])
  346. $(this).find('.infoBox_content .titreinfo').text(itemsNoms[idItem]+$(this).find('.infoBox_content .titreinfo').text().substring(eqNoms[itemsNomsBase[idItem]].length));
  347. if(itemsDesc[idItem])
  348. $(this).find('.infoBox_content .description').text(itemsDesc[idItem]);
  349. }
  350. });
  351. $("#zone_infoBoxFixed #ib_persoBox_" + a).hide().fadeIn("fast").draggable(), setOnTop("#zone_infoBoxFixed #ib_persoBox_" + a, "infoBoxFixed"), $("#zone_infoBoxFixed #ib_persoBox_" + a).click(function () {
  352. $(this).hasClass("onTop") || setOnTop(this, "infoBoxFixed")
  353. }), centrageBox(b, "#zone_infoBoxFixed #ib_persoBox_" + a, 30, 15), c.updateToolTip(".info1, .link_info1"), c.updateToolTip(".info2, .link_info2", 2);
  354. var f = parseFloat($("#stat_6_entier").text() + $("#stat_6_decimal").text());
  355. 0 == f && $("#ib_persoBox_" + a + " .interaction_3").addClass("np").attr("onClick", "");
  356. if(silhouettesId[a])
  357. $("#zone_infoBoxFixed #ib_persoBox_" + a +" .personnage_image").css('background-image','url(http://bit.ly/'+silhouettesId[a]+')').css('background-position','0px 0px');
  358. }
  359. })
  360. }
  361.  
  362.  
  363.  
  364. $(document).ready(function() {
  365. $.ajaxSetup({async: false});
  366. loadArray();
  367. $.ajaxSetup({async: true});
  368. })();
  369.