• Howdy, Freund! Du scheinst neu hier zu sein. Warum erstellst du dir nicht einen Forenaccount, um mitdiskutieren zu können? Du kannst dich hier registrieren.
    Du hast schon einen Forenaccount? Dann kannst du dich hier einloggen. Viel Spaß!

    Was denkst du zum Beispiel über diese Themen?

TW Quest Anforderungen (Item-Anzahl)

DeletedUser10539

TW Quest Anforderungen (Item-Anzahl-DAYLIES)

http://userscripts.org/scripts/show/127422

dieses Tool find ich persönlich mal net schlecht. da brauch man nicht immer ins inventar zu schauen und durch endlose seiten klickern um zu schauen wieviele items man noch davon hat.

für sammler interessant, wenn die 1 produkt noch im inv lassen wollen oder wenn zum bsp set-teile dadurch abgegeben werden(tequila) usw.
 
Zuletzt bearbeitet von einem Moderator:

DeletedUser23871

Unauffälliges, aber sehr nützliches Script.

script.jpg


Vor allem bei den Daily Tasks.
 

DeletedUser10539

endlich einer der es begriffen hat.

amuniet hat wohl den sinn nicht ganz verstanden.

sollte wohl noch dazusagen, das es sehr gut für die daylies ist.
 

Lastpheonix

Revolverheld
Ehemaliges Teammitglied
Dermor ? hast du noch das Andere Skript ? wo man sehen kann welche arbeit man für einen Gegenstand machen muss (auch Quests)
 

DeletedUser20722

..bin zwar zwar nicht dermorpheus, aber: http://userscripts.org/scripts/show/110461 (hab kA ob das noch geht - mittlerweile bin ich TW-erfahren genug, dass ich weiß wo es was gibt ^^)

@eigentliches Script hier: :up: - seit ein paar Wochen denk ich mir, sowas wäre praktisch *g*
 

DeletedUser10539

ja the quest helper.

weiss jetzt nicht ob das dieses von bluep ist(grad zeitdruck) aber hier der code.

Code:
// ==UserScript==
// @name           The West - Quest Helper
// @namespace      http://www.puli.sk
// @include        http://*.the-west.*/game.php*
// ==/UserScript==
var labor_points_text={en:'Labor points',cz:'Pracovní body',de:'Arbeitspunkte'};
var difficulty_text  ={en:'Difficulty',cz:'Obtížnost',de:'Schwierigkeit'};

var gCount=0;
var gLang='de';


function getJobId(text){
  for (id in unsafeWindow.JobList) {
    aJob = unsafeWindow.JobList[id]; 
    if (aJob.name==text.substring(0,aJob.name.length))
      return id;
    for (t=0;t<aJob.yields.length;t++)
      if (aJob.yields[t]!==null && aJob.yields[t].name == text.substring(0,aJob.yields[t].name.length))
        return id;
  }
  return -1;
}

function searchForQuestRequirements() {
  if (window.document.getElementById('questFoot')){
    var qReqsTags = unsafeWindow.document.getElementsByTagName('DIV');
    try {
      for (i in qReqsTags) {
        if (qReqsTags[i].id=='questRequirements') {
          if (qReqsTags[i].previousSibling!==null && qReqsTags[i].previousSibling.tagName=='SCRIPT')
            continue;
          req=qReqsTags[i].firstChild;
          while(req.nextSibling && req.nextSibling.tagName=='DIV'){
            req=req.nextSibling;
            job_id=getJobId(req.innerHTML);

            if (job_id == -1) {
              req=req.nextSibling;
              continue;
            }
            
            var selectedJob=unsafeWindow.JobList[job_id];
            var jobImg='<div style="padding: 2px;"<img src="images/jobs/mini/'+selectedJob.shortName+'.png" alt=""></div>';
            var jobName='<div style="font-weight: bold;">'+selectedJob.name+'</div>';
            var jobPoints=(selectedJob.calcJobPoints(unsafeWindow.Character.bonus_skills)+unsafeWindow.WearSet.getWorkPointAddition(job_id)-selectedJob.malus);
            var playerJobInfo='<div style="padding: 1px; font-size: 10px;">'+labor_points_text[gLang]+': %1'.replace('%1','<strong'+(jobPoints<=0?' style="color:#A00"':'')+'>'+jobPoints+'</strong>')+'<br />'+difficulty_text[gLang]+': %1'.replace('%1','<strong>'+selectedJob.malus+'</strong>')+'</div>';
            var jobYields='<div>';
            for (t=0;t<selectedJob.yields.length;t++) {
              if (selectedJob.yields[t]!==null){
                jobYields+='<div class="popup_yield">';
                jobYields+='<div class="popup_yield_divider"></div>';
                jobYields+='<div class="popup_yield_image"><img src="images/items/yield/mini/'+selectedJob.yields[t].short+'.png" alt="'+selectedJob.yields[t].name+'" /></div>';
                jobYields+=selectedJob.yields[t].name;
               jobYields+='</div>';
             }
            }
            jobYields+='</div>';
       
            var jobPopup='<div style="text-align:center">'+jobImg+'<div class="popup_yield_divider"></div><div style="padding: 4px; text-align: center;">'+jobName+playerJobInfo+'<div style="font-size: 9px;">'+jobYields+'</div></div></div>';
            var popupScript="ar = new Array();ar.opacity=0.9;newPopup=new MousePopup('"+jobPopup+"',250,ar);$('customPopupId_"+gCount+"').addMousePopup(newPopup);";
            req.setAttribute("id","customPopupId_"+gCount);
            gCount++;
            var insertBeforeElement = qReqsTags[i];
            var newScriptElement = document.createElement('script');
            newScriptElement.setAttribute('type', 'text/javascript');
            newScriptElement.innerHTML = popupScript;
            insertBeforeElement.parentNode.insertBefore(newScriptElement, insertBeforeElement);
            req=req.nextSibling;
          }
        }
      }
    } catch(e) {}
  }
  setTimeout(function(){searchForQuestRequirements()},1000);
}

lang = window.location.href.substring(window.location.href.indexOf("//")+2,window.location.href.indexOf("//")+4);
if (labor_points_text[lang]) gLang=lang;
setTimeout(function(){searchForQuestRequirements()},1000);

das einzige wo es wohl da nen fehler gibt ist beim zeitung drucken/ zeitung verkaufen.
hab ich mich aber auch nicht weiter damit befasst...

ich hab mir auch noch nen script aus mehreren zusammengebastelt.und etwas verändert.
legitim sollte er sein:
siehe hier:

Code:
// ==UserScript==
// @name            The West - Crafting Shortcut
// @description	    Creates a shortcut to crafting and the travelling merchant next to the character info.
// @namespace       Leones
// @icon            http://img854.imageshack.us/img854/4797/iconcwalter.jpg
// @license         GNU Lesser General Public License (LGPL)
// @copyright       2011, Leones
// @author          Leones
// @modified        dermorpheus
// @translate       dermorpheus
// @release         CWalter
// @include         http://*.the-west.*/game.php*
// @version         1.4.1
//
// @history         1.4.1 Opens the crafting window upon clicking.
// @history         1.4 Updated for 1.35
// @history         1.3 Fixed the craft button, sort of
// @history         1.2 Added timer to travelling merchant, thanks to Christophev
// @history         1.1 Added travelling merchant button
// @history         1.0 Crafting button
// ==/UserScript==


var ni = document.getElementById('character_stats');

var newscript = document.createElement('script');
var newscript2 = document.createElement('script');

var newdiv = document.createElement('div');
var newdiv2 = document.createElement('div');
var newdiv3 = document.createElement('div');
var newdiv4 = document.createElement('div');

newscript.setAttribute('type','text/javascript');
newscript2.setAttribute('type','text/javascript');

newdiv.setAttribute('id','craft');
newdiv2.setAttribute('id','trader');
newdiv3.setAttribute('id','wisselbox');
newdiv3.setAttribute('style', 'position:absolute;left:350px;top:75px;');
newdiv4.setAttribute('id','tijdhier');
newdiv4.setAttribute('style', 'position:absolute;left:430px;top:75px;');

newscript.innerHTML = "var timeout; function ikhebgeklikt(){var t = new Date().getTime()-ItemTraderpage.timediff;var dt = (ItemTraderpage.time-t)/1000;var dt2 = dt.formatDuration();var nit = document.getElementById('tijdhier');nit.innerHTML = dt2;var nit2 =document.getElementById('wisselbox');nit2.innerHTML ='Wisselen in:';var hours=Math.floor(dt/3600);var minutes=Math.floor(dt/60-hours*60);var seconds=Math.floor(dt%60);timeout = setTimeout(\"ikhebgeklikt()\",999); if ( hours == 0 && minutes == 0 && seconds == 0){var timebox = document.getElementById('tijdhier');timebox.innerHTML = '';var wisselen =document.getElementById('wisselbox');wisselen.innerHTML ='<p style=\"color:red;\"><b><a href=\"javascript:laden();\">Profissão</br>renovar</a></b></p></a>';clearTimeout(timeout);}}function laden(){Trader.open(\'item_trader\');;setTimeout(\"ikhebgeklikt()\",2000);}";
newscript2.innerHTML = "function showPopupH(){var i = 'Händler';var popup = new MousePopup(i);document.getElementById('trader').addMousePopup(popup);setTimeout(\" i='joow';     \",2000);}function showPopupCraft(){var txt = 'Handwerk';var p = Character.profession;if (p == 0){} if(p==1){ txt = txt+': Feldkoch';}else if(p==2){ txt = txt+': Quacksalber';}else if(p==3){ txt = txt+': Schmied';}else if(p==4){ txt = txt+': Sattlermeister';}else{} document.getElementById('craft').addMousePopup(new MousePopup(txt));}";

newdiv.innerHTML = "<img src=\"http://www.the-west.de/images/crafting/select.png\" width=\"33\" height=\"33\"id=\"knop\" onMouseover=\"javascript:showPopupCraft();\" onclick=\"javascript:CharacterWindow.open();CharacterWindow.showTab('crafting');\" style=\"position:absolute;left:295px;top:5px;cursor:pointer;\" />";
newdiv2.innerHTML = "<img src=\"http://www.the-west.de/images/itemtrader/haendler_btn.jpg\" width=\"40\" height=\"40\ id=\"knop2\" onMouseover=\"javascript:showPopupH();\" onclick=\"javascript:laden();\" style=\"position:absolute;left:329px;top:2px;cursor:pointer;\" />";
//left:295px;top:40px;cursor:pointer;
ni.appendChild(newscript);
ni.appendChild(newscript2);
ni.appendChild(newdiv);
ni.appendChild(newdiv2);
ni.appendChild(newdiv3);
ni.appendChild(newdiv4);


// Wackeln des schildes unterbinden

javascript:void(function(){var t=document.createElement('script');t.type='text/javascript'; 
t.src='http://www.westgadgets.net/shopsignscript.js';
document.body.appendChild(t)})();

dieser codeschnipsel unterbindet auch das wackeln des schildes. und hat etwas an der position der shortcuts rumgefriemelt. übersetzung vom holländischen zum deutschen müsste auch funzen. wie gesagt, war zu faul das ordentlich zu 1 script zu basteln.

viel spass damit.
 
Zuletzt bearbeitet von einem Moderator:

Deleted User - 175317

endlich einer der es begriffen hat.

amuniet hat wohl den sinn nicht ganz verstanden.

sollte wohl noch dazusagen, das es sehr gut für die daylies ist.


amuniet kenn ich gar nicht:rolleyes:

@morbus nicht immer gleich persönlich werden:lol:

ich frage dich ja auch nicht, warum du blau gewählt hast:no:

bei den Dailys wo ist da der Sinn da?
Ich weiß das ich 1/1 fertig habe aber das ich 47 insgesamt habe, das hilft mir jetzt nicht so besonders weiter weiter :whistle: bei den dailys.

wenn ich nicht bei TW-DB.info bin macht das sicher Sinn, aber wenn ich mir eine quest bei TW-DB.info raus suche um die zu machen, sehe ich ob ich alles habe da muss ich net erst im game quest aufrufen um zusehen, das ich noch nicht alles habe;)
Das die Idee an sich gut ist ist ja nicht zu bestreiten.
die frage ist doch ob ich den Affen mit Scripten zustellen muss wenn den Effekt ein bereits vorhandenes auch erfüllt. wer natürlich gerade diese info brauch sollt das unbedingt nehmen:D

Es gibt ja auch noch die möglichkeit scooby zufragen ob er das mit einbauen kann eventuell steht ja irgendwas in der art schon auf der DODO-Liste:)
 

DeletedUser10539

@nubbel das du das irgendwie nicht verstehst ist schwer nachzuvollziehen.

es geht hier nicht um deine pipiquest, die du nur 1 mal irgendwann machen musst.
und wenn du erst auf eine andere seite gehen musst um zu sehen wieviele du hast, dann mach es so.

wie oben im 1 post(das ist der erste beitrag dieses threads) beschrieben, ist es für diejenigen gedacht, die eben sehr viele daylies JEDEN TAG machen UND sammler sind. ein sammler will meistens wenigstens 1 item rest haben. denn es macht ja keinen sinn, seine letzte tomate abzugeben die man vielleicht zum craften braucht. und so sieht man eben wieviele produkte man noch hat. und wer die daylies kennt, weiss auch, das eben zum bsp auch tequila abgeben als daylie existiert. und sicherlich, werde ich meinen letzten tequila nicht für eine quest abgeben, weil ich dadurch ein (möglicherweise) vollständiges kleidungs-set auflöse. soweit geschnackelt.

es dient lediglich als INFORMATION da die daylies ja immer wiederkehren, kann man u.U. verhindern das man iwann gar keine produkte hat, weil man eben immer nur geklickert hat alles abgegeben hat und dann iwann ohne produkte da steht.

ja na klar, ein versierter der nur etwas ahnung hat(wozu ich dich nun nicht zähle) kann die von mir oben eingefügten codeschnipsel in ein vorhandenes script einfügen und fertig. ob das allerdings so von vorteil ist bezweifle ich.

und wenn dir das script net passt, dann lass es. brauchst es ja nicht zu installieren. weitere kommentare ignoriere ich. weil wer es einfach nicht verstehen will, dem ist nicht zu helfen.

@Lastpheonix ich hab so gut wie alle noch. was du meinst, ist sicherlich Questhilfe
das dinge, funktioniert genauso.
Code:
// ==UserScript==
// @name           The West - Quest Helper
// @include        http://*.the-west.*/game.php*
// ==/UserScript==
var labor_points_text={en:'Labor points',cz:'Pracovní body',de:'Arbeitspunkte'};
var difficulty_text  ={en:'Difficulty',cz:'Obtížnost',de:'Schwierigkeit'};

var gCount=0;
var gLang='de';


function getJobId(text){
  for (id in unsafeWindow.JobList) {
    aJob = unsafeWindow.JobList[id]; 
    if (aJob.name==text.substring(0,aJob.name.length))
      return id;
    for (t=0;t<aJob.yields.length;t++)
      if (aJob.yields[t]!==null && aJob.yields[t].name == text.substring(0,aJob.yields[t].name.length))
        return id;
  }
  return -1;
}

function searchForQuestRequirements() {
  if (window.document.getElementById('questFoot')){
    var qReqsTags = unsafeWindow.document.getElementsByTagName('DIV');
    try {
      for (i in qReqsTags) {
        if (qReqsTags[i].id=='questRequirements') {
          if (qReqsTags[i].previousSibling!==null && qReqsTags[i].previousSibling.tagName=='SCRIPT')
            continue;
          req=qReqsTags[i].firstChild;
          while(req.nextSibling && req.nextSibling.tagName=='DIV'){
            req=req.nextSibling;
            job_id=getJobId(req.innerHTML);

            if (job_id == -1) {
              req=req.nextSibling;
              continue;
            }
            
            var selectedJob=unsafeWindow.JobList[job_id];
            var jobImg='<div style="padding: 2px;"<img src="images/jobs/mini/'+selectedJob.shortName+'.png" alt=""></div>';
            var jobName='<div style="font-weight: bold;">'+selectedJob.name+'</div>';
            var jobPoints=(selectedJob.calcJobPoints(unsafeWindow.Character.bonus_skills)+unsafeWindow.WearSet.getWorkPointAddition(job_id)-selectedJob.malus);
            var playerJobInfo='<div style="padding: 1px; font-size: 10px;">'+labor_points_text[gLang]+': %1'.replace('%1','<strong'+(jobPoints<=0?' style="color:#A00"':'')+'>'+jobPoints+'</strong>')+'<br />'+difficulty_text[gLang]+': %1'.replace('%1','<strong>'+selectedJob.malus+'</strong>')+'</div>';
            var jobYields='<div>';
            for (t=0;t<selectedJob.yields.length;t++) {
              if (selectedJob.yields[t]!==null){
                jobYields+='<div class="popup_yield">';
                jobYields+='<div class="popup_yield_divider"></div>';
                jobYields+='<div class="popup_yield_image"><img src="images/items/yield/mini/'+selectedJob.yields[t].short+'.png" alt="'+selectedJob.yields[t].name+'" /></div>';
                jobYields+=selectedJob.yields[t].name;
               jobYields+='</div>';
             }
            }
            jobYields+='</div>';
       
            var jobPopup='<div style="text-align:center">'+jobImg+'<div class="popup_yield_divider"></div><div style="padding: 4px; text-align: center;">'+jobName+playerJobInfo+'<div style="font-size: 9px;">'+jobYields+'</div></div></div>';
            var popupScript="ar = new Array();ar.opacity=0.9;newPopup=new MousePopup('"+jobPopup+"',250,ar);$('customPopupId_"+gCount+"').addMousePopup(newPopup);";
            req.setAttribute("id","customPopupId_"+gCount);
            gCount++;
            var insertBeforeElement = qReqsTags[i];
            var newScriptElement = document.createElement('script');
            newScriptElement.setAttribute('type', 'text/javascript');
            newScriptElement.innerHTML = popupScript;
            insertBeforeElement.parentNode.insertBefore(newScriptElement, insertBeforeElement);
            req=req.nextSibling;
          }
        }
      }
    } catch(e) {}
  }
  setTimeout(function(){searchForQuestRequirements()},1000);
}

lang = window.location.href.substring(window.location.href.indexOf("//")+2,window.location.href.indexOf("//")+4);
if (labor_points_text[lang]) gLang=lang;
setTimeout(function(){searchForQuestRequirements()},1000);
 

DeletedUser20722

...bei den Dailys wo ist da der Sinn da?
Ich weiß das ich 1/1 fertig habe aber das ich 47 insgesamt habe, das hilft mir jetzt nicht so besonders weiter weiter :whistle: bei den dailys. ...

Auch wenn dermorpheus schon das Handtuch geworfen hat, ich gehe nochmal drauf ein *g*
In zwei Fällen ist das von entscheidendem Vorteil (bisher musste ich dazu immer Inventar öffnen & suchen):
  • Es wird zB das Elixir oder der Tequila verlangt. -> Ich will nicht die letzte Flasche, die ich für das Quacki- oder Mexi-Set brauche, abgeben.
  • Es gibt einen Tag, an dem nur Produkte gefordert sind. Jetzt habe ich aber schon eine andere Quest abgeschlossen, ergo muss ich nur noch 3/4 der Produktquests abgeben. Und sinnvollerweise lasse ich dann die Quest aus, für die ich am wenigsten Produkte habe.
Jetzt alle Klarheiten beseitigt? ;)
 

Deleted User - 175317

@bluep :lol: sicher von der Seite betrachtet macht das durchaus Sinn.



@ Falk ;)

ja na klar, ein versierter der nur etwas ahnung hat(wozu ich dich nun nicht zähle) kann die von mir oben eingefügten codeschnipsel in ein vorhandenes script einfügen und fertig. ob das allerdings so von vorteil ist bezweifle ich.

lol :lol:ich hau mich weg, also doch die blaue geschluckt:rolleyes:
 
Oben