[Release] Shop System ala Offi

  • Ihr kennt sicherlich das Shop System von Offi, das wenn man ein Item kauft und Online ist, dieses dann direkt Ingame bekommt.

    Dies funktioniert natürlich mit der OnBuyingInfo funktion, nun werdet ihr sagen, das diese eh buggy ist und ihr diese darum gelöscht habt.

    Ich werde euch zeigen, wie ihr da ein Passwort reinhaut, das es sicher wird und ihr es mit dem Shop System von Teachery benutzen könnt.

    Als erstes öffnen wir die Source und gehen zur OnBuyingInfo funktion im WorldServer.

    Das Rot makierte wäre euer Passwort, womit ihr das ganze absichert.
    Wenn ein User versucht sich ein Item mit der Funktion zu erstellen und das PW falsch ist, dann wird daraus nichts und er wird gelogged.

    Ich hab auch eine sicherung eingebaut, dass wenn das Inventar voll ist, man alles per Post zugeschickt bekommt, dies geht dann auch ohne relog.

    Dies war der Part im Source, zur anmerkung, das PW, was ihr da auswählt, muss exakt 24 stellen lang sein.

    Kommen wir dann zum Part im Shop von Teacher.
    Dazu öffnet ihr die functions.php, welche sich im inc ordner normalerweise befinden sollte und sucht nach:

    PHP
    function giftItem($itemid, $itemname, $itemcount, $player_to)

    Ihr ändert die ganze funktion dann in das hier:

    Dort findet ihr dann auch das PW, welches auch genau 24 stellen lang sein muss und genau das selbe wie im source sein muss.
    Den Port 29000 solltet ihr am besten in iwas anderes ändern (auch im source)

    Nun suchen wir nach der funktion:

    PHP
    function sendItem($itemid, $itemname, $itemcount)

    Und ändern das ganze in:

    Dort findet ihr dann auch das PW, welches auch genau 24 stellen lang sein muss und genau das selbe wie im source sein muss.
    Den Port 29000 solltet ihr am besten in iwas anderes ändern (auch im source)

    =================

    Und nun habt ihr das Shop system so bearbeitet, das man Items einkaufen kann und sich nicht mehr dafür ausloggen/reloggen muss.

    Edit: Den Port 29000, oder was ihr da nehmt, müsst ihr nicht nach außen freigeben, da php ServerSided ist und es so funktioniert.

    Credits: Sedrika

  • irgendwie legt der mir die sachen nicht ins inventar ohne relogg habe alles richtig gemacht oder geht das nur mit dem ingame shop und nicht von der page zum game ? ^^

  • Let me fix this code for you :Psmiley:
    You need to return of the password is invalid.
    or else its still exploitable :)
    So
    if( bi2.szBxaid == CheckPw )
    {
    //Do shit
    }
    else
    {
    return;//We dont want to do anything if we have a wrong password.
    }

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!