[Pasek] Notatkowanie wiosek z raportów

DeletedUser59095

Guest
Świetna robota :D Plemiona potrzebowały czegoś takiego od dawna :D

Tylko jedno ale - stara zawartość notatki się kasuje. Czy jesteś w stanie coś z tym zrobić?
 

DeletedUser

Guest
Gdy obrońcą jest 'brak gracza' to skrypt się wysypuje próbując odczytać nazwę gracza obrońcy i porównać z nazwą użytkownika.
 

DeletedUser17701

Guest
Działa gdy jesteśmy obrońcą ? Bo mi coś nie bardzo
 

fesh

Miecznik
Wynik reakcji
39
Działające skrypty. Proszę o dodanie do skryptoteki

Kod:
javascript: if("report"!==game_data.screen||null==window.location.href.match("view"))UI.InfoMessage("Wejdź w raport i uruchom skrypt!",2e3,"error");else try
{var tekst="";if($("table#attack_info_def")[0].rows[0].cells[1].getElementsByTagName("a")[0].innerHTML==game_data.player.name)
{for(var tekst="Zanotowano atak z tej wioski z dnia [b]"+$("table#attack_info_att")[0].parentNode.parentNode.parentNode.rows[1].cells[1].innerHTML.replace(/\s\s+/g,"").split("<")[0]+"[/b]",cowyslal=$("table#attack_info_att_units")[0].rows[1],coubite=$("table#attack_info_att_units")[0].rows[2],zostalo=new Array,x=1;x<10;){var a=cowyslal.cells[x].innerHTML,b=coubite.cells[x].innerHTML;zostalo[x]=parseInt(a)-parseInt(b),x++}tekst+="\n[spoiler=Zostało][unit]spear[/unit] "+zostalo[1]+"\n[unit]sword[/unit] "+zostalo[2]+"\n[unit]axe[/unit] "+zostalo[3]+"\n[unit]spy[/unit] "+zostalo[4]+"\n[unit]light[/unit] "+zostalo[5]+"\n[unit]heavy[/unit] "+zostalo[6]+"\n[unit]ram[/unit] "+zostalo[7]+"\n[unit]catapult[/unit] "+zostalo[8]+"\n[unit]snob[/unit] "+zostalo[9]+"[/spoiler]",tekst+="[spoiler=Wysłał][unit]spear[/unit] "+cowyslal.cells[1].innerHTML+"\n[unit]sword[/unit] "+cowyslal.cells[2].innerHTML+"\n[unit]axe[/unit] "+cowyslal.cells[3].innerHTML+"\n[unit]spy[/unit] "+cowyslal.cells[4].innerHTML+"\n[unit]light[/unit] "+cowyslal.cells[5].innerHTML+"\n[unit]heavy[/unit] "+cowyslal.cells[6].innerHTML+"\n[unit]ram[/unit] "+cowyslal.cells[7].innerHTML+"\n[unit]catapult[/unit] "+cowyslal.cells[8].innerHTML+"\n[unit]snob[/unit] "+cowyslal.cells[9].innerHTML+"[/spoiler]",tekst+="\n[i]Power3d by Fesh";var wioska=$("table#attack_info_att")[0].rows[1].cells[1].getElementsByTagName("span")[0].getAttribute("data-id")}else
{var poziom=0;try
{for(var rows=document.getElementById("attack_spy_buildings_left").getElementsByTagName("tr"),i=1;i<rows.length;i++)rows[i].innerHTML.indexOf("Kościół")>-1&&(poziom=rows[i].cells[1].innerHTML)}catch(a){poziom=0}Number(poziom)>0&&(tekst+="[b]KOŚCIÓŁ POZIOM "+poziom+"[/b]\n"),tekst+="Raport z ataku z dnia [b]"+$("table#attack_info_def")[0].parentNode.parentNode.parentNode.rows[1].cells[1].innerHTML.replace(/\s\s+/g,"").split("<")[0]+"[/b]";var wioska=$("table#attack_info_def")[0].rows[1].cells[1].getElementsByTagName("span")[0].getAttribute("data-id");tekst+="\n"+$("#report_export_code")[0].innerHTML,tekst+="\n[i]Power3d by Fesh"}TribalWars.post("info_village",
{ajaxaction:"edit_notes",id:wioska},
{note:tekst}),UI.InfoMessage("Raport dodany do notatek",2e3,"success")}catch(a){}

Kod:
javascript: if("report"!==game_data.screen||null==window.location.href.match("view"))UI.InfoMessage("Wejdź w raport i uruchom skrypt!",2e3,"error");else try{var tekst="";if($("table#attack_info_att")[0].rows[0].cells[1].getElementsByTagName("a")[0].innerHTML==game_data.player.name){var poziom=0;try{for(var rows=document.getElementById("attack_spy_buildings_left").getElementsByTagName("tr"),i=1;i<rows.length;i++)rows[i].innerHTML.indexOf("Kościół")>-1&&(poziom=rows[i].cells[1].innerHTML)}catch(a){poziom=0}Number(poziom)>0&&(tekst+="[b]KOŚCIÓŁ POZIOM "+poziom+"[/b]\n"),tekst+="Raport z ataku z dnia [b]"+$("table#attack_info_def")[0].parentNode.parentNode.parentNode.rows[1].cells[1].innerHTML.replace(/\s\s+/g,"").split("<")[0]+"[/b]";var wioska=$("table#attack_info_def")[0].rows[1].cells[1].getElementsByTagName("span")[0].getAttribute("data-id");tekst+="\n"+$("#report_export_code")[0].innerHTML,tekst+="\n[i]Power3d by Fesh"}else{for(var tekst="Zanotowano atak z tej wioski z dnia [b]"+$("table#attack_info_def")[0].parentNode.parentNode.parentNode.rows[1].cells[1].innerHTML.replace(/\s\s+/g,"").split("<")[0]+"[/b]",cowyslal=$("table#attack_info_att_units")[0].rows[1],coubite=$("table#attack_info_att_units")[0].rows[2],zostalo=new Array,x=1;x<13;){var a=cowyslal.cells[x].innerHTML,b=coubite.cells[x].innerHTML;zostalo[x]=parseInt(a)-parseInt(b),x++}tekst+="\n[spoiler=Zostało][unit]spear[/unit] "+zostalo[1]+"\n[unit]sword[/unit] "+zostalo[2]+"\n[unit]axe[/unit] "+zostalo[3]+"\n[unit]archer[/unit] "+zostalo[4]+"\n[unit]spy[/unit] "+zostalo[5]+"\n[unit]light[/unit] "+zostalo[6]+"\n[unit]marcher[/unit] "+zostalo[7]+"\n[unit]heavy[/unit] "+zostalo[8]+"\n[unit]ram[/unit] "+zostalo[9]+"\n[unit]catapult[/unit] "+zostalo[10]+"\n[unit]knight[/unit] "+zostalo[11]+"\n[unit]snob[/unit] "+zostalo[12]+"[/spoiler]",tekst+="[spoiler=Wysłał][unit]spear[/unit] "+cowyslal.cells[1].innerHTML+"\n[unit]sword[/unit] "+cowyslal.cells[2].innerHTML+"\n[unit]axe[/unit] "+cowyslal.cells[3].innerHTML+"\n[unit]archer[/unit] "+cowyslal.cells[4].innerHTML+"\n[unit]spy[/unit] "+cowyslal.cells[5].innerHTML+"\n[unit]light[/unit] "+cowyslal.cells[6].innerHTML+"\n[unit]marcher[/unit] "+cowyslal.cells[7].innerHTML+"\n[unit]heavy[/unit] "+cowyslal.cells[8].innerHTML+"\n[unit]ram[/unit] "+cowyslal.cells[9].innerHTML+"\n[unit]catapult[/unit] "+cowyslal.cells[10].innerHTML+"\n[unit]knight[/unit] "+cowyslal.cells[11].innerHTML+"\n[unit]snob[/unit] "+cowyslal.cells[12].innerHTML+"[/spoiler]",tekst+="\n[i]Power3d by Fesh";var wioska=$("table#attack_info_att")[0].rows[1].cells[1].getElementsByTagName("span")[0].getAttribute("data-id")}TribalWars.post("info_village",{ajaxaction:"edit_notes",id:wioska},{note:tekst}),UI.InfoMessage("Raport dodany do notatek",2e3,"success")}catch(a){}
 

DeletedUser

Guest
@Bielmen, czy faktycznie jest sens rozbijać tą samą funkcjonalność w zależności od ustawień świata?

PS. Też mnie trochę martwi fakt, że skrypt nie działa dla obrońcy, z tego powodu zacząłem pisać swoją wersję, ale niestety jest niedokończona (brak czasu, pomysłu na domknięcie wszystkich funkcjonalności, chciałem aby też w nazwę spoilera została wrzucana jakaś krótka informacja na temat wioski, np. wioska off/deff). W każdym razie część kodu, który już napisałem jest dostępny pod https://github.com/RNabla/Tribalwars/blob/master/HermitowskieNotatki.js , więc jakbyś chciał skorzystać to śmiało. Jakbyś chciał więcej informacji to zapraszam na PW
 

fesh

Miecznik
Wynik reakcji
39
@Hermitowski Z jakiegoś nieznanego mi powodu wersja dla światów z rycerzem nie działa poprawnie na świecie klasycznym, ale tylko w przypadku gdy się bronimy. Prawdopodobnie chodzi o ilość wykonań którejś pętli. Skrypt przerabiałem na szybko dzisiaj rano i chciałem podzielić się wynikami z resztą graczy. Jeśli obejdę ten problem to przedstawię wersję działającą na każdym świecie. Podobny problem pojawia się również w innym skrypcie @howcio712 który sumuje wojska w udostępnionych komendach. Na światach bez rycerzy i łuczników dochodzi do momentu w którym szuka w komendach łuczników, ale ponieważ ich nie znajduje to wyrzuca błąd w oknie w którym zlicza i nie sumuje pozostałych wojsk poprawnie.
 

DeletedUser

Guest
dodatkowo występujące jednostki na świecie możesz sprawdzić od razu (bez potrzeby pobierania configu) za pomocą game_data.units
 
Do góry