Ergebnis 1 bis 3 von 3

Baum-Darstellung

  1. #1
    Wiederbelebt Avatar von Cystasy
    Registriert seit
    08.05.2015
    Beiträge
    685

    Standard Achievements + Spielzeit Hax0rn [STEAM]

    Ihr wolltet schon immer Spielzeit in Steam sammeln ohne das entsprechende Spiel im Hintergrund offen zu haben?
    Oder wolltet alle Achievements ohne was dafür tun zu müssen? Well.. jetzt könnt ihr es. Mit Javascript

    (Gut..auch mit anderen Sprachen die Support für Greenworks haben..)


    Da das ganze hier aber ein Tutorial werden soll, fangen wir mal an.. was benötigen wir?

    Wir benötigen:

    - Node Webkit (NW.js - https://github.com/nwjs/nw.js/)
    - Steamworks SDK ( https://partner.steamgames.com/home )
    - Greenworks Plugin für NW.js ( https://github.com/greenheartgames/greenworks )
    - Am besten natürlich Kenntnisse in Javascript oder sonstigen Sprachen

    So, nachdem wir das Greenworks Plugin in unser Node-Webkit eingebunden haben (steam_appid.txt nicht vergessen!) können wir auch schon loslegen.
    Für dieses Tutorial werden wir eine "One Button Hack" App basteln mit der man mit einem Klick instant alle Achievements freischaltet.
    Es wäre auch möglich spezifische freizuschalten, aber das bekommt jeder denke ich mal von selbst hin

    Zunächst einmal müssen wir die Greenworks Engine / API Initialisieren.. das tun wir mit folgendem Befehl:

    Code:
    var greenworks = require('./greenworks.js');
    greenworks.initAPI();
    Nachdem dies gemacht wurde, müssen wir natürlich wissen welche Achievements unser Spiel besitzt.
    Hierfür besitzen wir eine nette Funktion die uns die Achievement Namen als Array ausgibt.

    Code:
    var achievements = greenworks.getAchievementNames();
    Anzumerken ist hierbei das diese Namen anders lauten als die Bezeichnungen der Achievements auf der Steam Seite des entsprechenden Games.
    Würden wir die Achievement Namen der Steam Webseite nutzen, würde einfach garnichts geschehen.
    Jetzt wollen wir aber loslegen.. wir aktivieren uns alle Achievements!

    Zum freischalten eines Achievements gibt es eine nette Funktion..


    Code:
    greenworks.activateAchievement(achievement_string, succes_callback, error_callback);
    Im ersten Parameter dieser Funktion müssen wir angeben welches Achievement wir freischalten möchten - dafür benötigen wir den Internen Name dieses Achievements.
    Erinnert ihr euch? Diesen haben wir oben uns schon geholt. Und Theoretisch.. ja Theoretisch sollten wir nun in einer For-Schleife doch dieses Array mit den Namen durchrattern können!
    Testen wir das ganze mal ..

    Code:
    function GetAchievements()
    {
     var achievements = greenworks.getAchievementNames();
     for(var x=0;x<achievements.length;x++)
     {
      greenworks.activateAchievement(achievements[x], function(){}, function(){});
     } 
    }
    Wir starten also unser Node-Webkit Programm... aktivieren unsere GetAchievements(); Funktion und.. BÄM... Steam zeigt es uns.. wir sind Ultra Leet Haxx0rs!
    Denn jetzt sind alle Achievements von unserem Lieblingsspiel freigeschalten Hach.. wir sind doch voll die Babos ey!

    Aber halt.. jetzt wo wir alle Achievements haben und auf unser geschafftes blicken bemerken wir ein Ungutes Gefühl in der Bauchregion..was könnte das nur sein?
    Es nennt sich Reue.. wir haben nämlich ein total schlechtes Gewissen weil wir uns die Achievements alle ercheatet haben
    Was tun in dieser Situation? Genau.. wir setzen alle Achievements wieder zurück.. dann haben wir wieder ein ruhiges Gewissen und können Nachts wieder schlafen ohne das uns Steam Nachts in unseren Träumen terrorisiert ;_;!

    Let's Go.. Selbes Spielchen wie zum freischalten

    Code:
    unction ResetAchievements()
    {
     var achievements = greenworks.getAchievementNames();
     for(var x=0;x<achievements.length;x++)
     {
      greenworks.clearAchievement(achievements[x], function(){} ,function(){});
     }
    }
    Und Zack.. wir sind die ganzen ercheateten Achievements wieder los und haben wieder ein Reines Gewissen
    Hoffendlich Wir stehen aber total auf GROßE Zahlen!! Wir möchten gerne.. wir möchten Spielzeit. VIEL SPIELZEIT!
    Und da Spielzeit automatisch hochtickt während wir Ingame sind, können wir dank unseres Programmes auch Spielzeit sammeln.
    Hierfür müssen wir lediglich die Initialisierung wie oben beschrieben machen und danach das Programm laufen lassen.
    Steam denkt daraufhin das eigendliche Spiel würde ausgeführt.. in wirklichkeit läuft aber unser Node-Webkit Programm und sammelt fleißig Spielzeit.
    Und wofür das ganze? Nunja.. wer steht nicht auf große Zahlen?

    Anyway.. Auch wenn es sehr kurz war, und mehr ein Aufzeigen von einer Möglichkeit.. ich hoffe es war ein bisschen unterhaltsam und man hat ein bisschen was gelernt.. zumindestens ein bisschen

    p.s: Idee zum ganzen ist entstanden da auf EPVP ein Typ einen "Steam Spielzeit Farmer" verkauft hat.. und da dachte ich mir das ich mal zeige wie sowas Technisch funktioniert + wie man noch zusätzlich Achievements freischaltet.. ganz ohne Geld auszugeben für dieses Tool aus EPVP.


    grüße
    Geändert von Cystasy (05.04.2016 um 00:58 Uhr)

Ähnliche Themen

  1. 7 Tage kostenlose World of Warcraft Spielzeit
    Von Crackpot im Forum 4-Free
    Antworten: 3
    Letzter Beitrag: 05.03.2012, 07:36
  2. Cod 6 stürzt nach 1 Std. Spielzeit ab
    Von lyrex ## im Forum Games
    Antworten: 23
    Letzter Beitrag: 20.12.2010, 21:28
  3. Antworten: 10
    Letzter Beitrag: 19.07.2010, 12:43

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •