Ir para conteúdo
Fórum CódigoFonte.net

Igo

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Igo

  • Data de Nascimento 11/28/1987

Profile Information

  • Location
    Fim do Mundo
  • Gender
    Male

Contact Methods

  1. //script do conversor (function(){ var doc = document; var console = unsafeWindow.console; function $(id) { return(doc.getElementById(id)); } function xp1(x, p) { var r = doc.evaluate(x, p, null, 9, null).singleNodeValue; return(r); } function xp(x, p) { var r = doc.evaluate(x, p, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); var len = r.snapshotLength; var ar = new Array(len); for(var i=0; i<len; i++) { ar[i] = r.snapshotItem(i); } return(ar); } function __tf(template, name) { for(var elName in template) { if (template.hasOwnProperty(elName)) { var p = template[elName]; if (elName == name) return(p); if (p.children) { var q = __tf(p.children, name); if (q) return(q); } } } return(null); } function dc(template, parent) { // { thead: { el:null, attrs:{}, children: {} } } for(var elName in template) { if (template.hasOwnProperty(elName)) { var p = template[elName]; p.el = doc.createElement(p.tag); if (parent) parent.appendChild(p.el); if (p.attrs) { for(var atName in p.attrs) { if (p.attrs.hasOwnProperty(atName)) { var atValue = p.attrs[atName]; if (atName == "text") p.el.textContent = atValue; else if (atName == "html") p.el.innerHTML = atValue; else p.el.setAttribute(atName, atValue); } } } if (p.children) { dc(p.children, p.el); } } } template.find = function(name) { return(__tf(template, name)); }; return(template); } function repeat(c, n) { var s = ""; for(var i=0; i<n; i++) s += c; return(s); } function padLeft(s, len, c) { c = c || " "; s = s.toString(); if (s.length < len) s = repeat(c, len - s.length) + s; return(s); } function padRight(s, len, c) { c = c || " "; s = s.toString(); if (s.length < len) s += repeat(c, len - s.length); return(s); } function convertDuelReport(div) { var duelo = {}; duelo.desafiador = 0; teste = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[1]', div).innerHTML; teste = teste.substr(teste.lastIndexOf("<br>")+4); if (teste.substr(0,8) == "<strong>") duelo.desafiador = 1; else duelo.desafiador = 2; duelo.p1 = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[1]', div).innerHTML; inicio_j1 = duelo.p1.indexOf(");\">"); duelo.p1 = duelo.p1.substr(inicio_j1+4); fim_j1 = duelo.p1.indexOf("<"); duelo.p1 = duelo.p1.substr(0,fim_j1); duelo.n1 = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[1]', div).innerHTML; inicio_n1 = duelo.n1.indexOf("<br>"); duelo.n1 = duelo.n1.substr(inicio_n1+8); fim_n1 = duelo.n1.indexOf("<"); duelo.n1 = duelo.n1.substring(0,fim_n1); if(duelo.desafiador == 2){ duelo.nd1 = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[1]', div).innerHTML; inicio_nd1 = duelo.nd1.lastIndexOf("<br>"); duelo.nd1 = duelo.nd1.substr(inicio_nd1+8); fim_nd1 = duelo.nd1.indexOf(" "); duelo.nd1 = duelo.nd1.substring(0,fim_nd1); }else if (duelo.desafiador == 1){ duelo.nd1 = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[1]', div).innerHTML; inicio_nd1 = duelo.nd1.indexOf("<br>"); duelo.nd1 = duelo.nd1.substr(inicio_nd1+8); inicio_nd1 = duelo.nd1.indexOf("<br>"); duelo.nd1 = duelo.nd1.substr(inicio_nd1+8); fim_nd1 = duelo.nd1.indexOf(" "); duelo.nd1 = duelo.nd1.substring(0,fim_nd1); } duelo.loc = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[3]', div).innerHTML; inicio_local = duelo.loc.indexOf("<h4>"); duelo.loc = duelo.loc.substr(inicio_local+4); duelo.loc = duelo.loc.substr(0,duelo.loc.indexOf("</h4>")); tmp = duelo.loc; duelo.loc = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[3]', div).innerHTML; inicio_local = duelo.loc.lastIndexOf(">"); duelo.loc = duelo.loc.substr(inicio_local+5); duelo.loc = duelo.loc.substring(0,duelo.loc.indexOf(" ")-1); tmp2 = duelo.loc; duelo.loc = tmp + ": " + tmp2; duelo.p2 = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[5]', div).innerHTML; inicio_j2 = duelo.p2.indexOf(");\">"); duelo.p2 = duelo.p2.substr(inicio_j2+4); fim_j2 = duelo.p2.indexOf("<"); duelo.p2 = duelo.p2.substr(0,fim_j2); duelo.n2 = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[5]', div).innerHTML; inicio_n2 = duelo.n2.indexOf("<br>"); duelo.n2 = duelo.n2.substr(inicio_n2+8); fim_n2 = duelo.n2.indexOf("<"); duelo.n2 = duelo.n2.substring(0,fim_n2); if(duelo.desafiador == 1){ duelo.nd2 = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[5]', div).innerHTML; inicio_nd2 = duelo.nd2.lastIndexOf("<br>"); duelo.nd2 = duelo.nd2.substr(inicio_nd2+8); fim_nd2 = duelo.nd2.indexOf(" "); duelo.nd2 = duelo.nd2.substring(0,fim_nd2); }else if(duelo.desafiador == 2){ duelo.nd2 = xp1('./table/tbody/tr[2]/td[2]/div/div/table[1]/tbody/tr/td[5]', div).innerHTML; inicio_nd2 = duelo.nd2.indexOf("<br>"); duelo.nd2 = duelo.nd2.substr(inicio_nd2+8); inicio_nd2 = duelo.nd2.indexOf("<br>"); duelo.nd2 = duelo.nd2.substr(inicio_nd2+8); fim_nd2 = duelo.nd2.indexOf(" "); duelo.nd2 = duelo.nd2.substring(0,fim_nd2); } duelo.hitsBody = xp1('./table/tbody/tr[2]/td[2]/div/div/table[2]/tbody', div).innerHTML; danos = duelo.hitsBody.substr(duelo.hitsBody.lastIndexOf("<tr>")); danos = danos.substr(danos.indexOf("bold;\">")+7); dano_j2 = danos.substr(0,danos.indexOf("</span>"))+": "; danos = danos.substr(danos.indexOf("bold;\">")+7); dano_j2 += danos.substr(0,danos.indexOf("</span>")); danos = danos.substr(danos.indexOf("bold;\">")+7); dano_j1 = danos.substr(0,danos.indexOf("</span>"))+": "; danos = danos.substr(danos.indexOf("bold;\">")+7); dano_j1 += danos.substr(0,danos.indexOf("</span>")); duelo.final = xp1('./table/tbody/tr[2]/td[2]/div/div/h4', div).innerHTML; var espacos = 25; var code = "[ code]\n"; code += "+-------------------------------------------------------+\n"; code += "| " + padRight(duelo.loc, 53) + " |\n"; code += "+-------------------------------------------------------+\n"; code += "| " + padLeft(duelo.p1, espacos) + " | " + padRight(duelo.p2, espacos) + " |\n"; code += "| " + padLeft(duelo.n1, espacos) + " | " + padRight(duelo.n2, espacos) + " |\n"; code += "| " + padLeft(duelo.nd1, espacos) + " | " + padRight(duelo.nd2, espacos) + " |\n"; code += "+---------------------------+---------------------------+\n"; code += "| " + padRight(duelo.p1 + ": " + dano_j2, 53) + " |\n"; code += "| " + padRight(duelo.p2 + ": " + dano_j1, 53) + " |\n"; code += "+-------------------------------------------------------+\n"; code += "[ /code]\n\n"; code += duelo.final; alert(code); } function hookReport(div) { var titleRow = xp1('./table/tbody/tr[2]/td[2]/div/table/tbody/tr', div); if (!titleRow) return; if (titleRow.textContent.match(/Duelo:/)){ }else if (titleRow.textContent.match(/Duel:/)){ }else{ return; } var t = dc({ "th": { tag: "th", children: { "btn": { tag: "button", attrs: { text: "Converter", title: "Botao Converter" } } } } }); titleRow.appendChild(t["th"].el); t.find("btn").el.addEventListener("click", function() { convertDuelReport(div); }, false); } // // Start up // var loc = doc.location; var o_show = unsafeWindow.AjaxWindow.setJSHTML; var f = function(div, content) { if (!div) return; var ret = o_show(div, content); hookReport(div); return(ret); }; for(var o in o_show) { f[o] = o_show[o]; } unsafeWindow.AjaxWindow.setJSHTML = f; })(); É este código que não funciona quando o ficheiro é chamado do servidor, no entanto (como disse anteriormente) se este código for executado de um ficheiro no nosso computador ele funciona. O código cria um determinado botão numa determinada janela (AJAX) do jogo. (Obs: O script não foi feito por mim, eu apenas fui dando uns retoques para funcionar no servidor PT do jogo, alem e que alterei o output final do script)
  2. Não devo ter-me explicado bem. O ficheiro JavaScript adiciona umas certas funções ao dito jogo. Novos menus, etc... Apenas uma parte do código não é executado quando o ficheiro é acedido através do servidor, no entanto corre tudo bem quando é acedido localmente.
  3. Igo

    Problema com JavaScript

    Boas Noites, Recentemente tenho estado a fazer um script para um browser game (O Script é legal :P) O ficheiro JS corre com a ajuda do GreaseMonkey, sendo o problema o seguinte: Quando eu tenho o código completo no meu pc, ou seja, quando eu vou ao GM e faço editar o código e ele aparece todo, o script funciona completamente. No entanto visto que eu vou actualizando o script inúmeras vezes, achei por bem, fazer o upload do meu ficheiro JS para o meu servidor online deixando o script que todos os jogadores terão apenas a redireccionar para o ficheiro JS hostado no meu servidor, assim eu actualizo o script e todos os jogadores terão o script actualizado sem ter que instalar novas versões. O problema é que quando eu tento usar o redireccionamento existe uma parte do script que deixa de funcionar, simplesmente o botão em causa deixa de funcionar =\ Se precisarem de mais alguma informação é só dizer ;) Cumps, Igo
  4. Igo

    Apresentação

    Boas, Descobri este fórum pesquisando no Google e estou a gostar muito do que por aqui encontro. Ultimamente tenho me aventurado pela programação na web, se bem que não sou grande craque no assunto :P mas com o tempo irei aprendendo mais e melhor ;) Parabéns pela excelente comunidade que aqui têm. Cumps, Igo
×
×
  • Criar Novo...