Beiträge von r0b

    Um die Präsentationen wirst kaum herum kommen. Falls du im Beruf Fachinformatiker für Systemintegration, andere Mitarbeiter über ein Programm schulen sollst, müsstest du ja theoretisch auch eine Präsentation halten.
    Eventuell ist zu sagen, dass man wirklich viel Mathe benötigt, vielleicht jetzt nicht bei Scripten oder so, sonder eher wie der Computer funktioniert an sich.


    Als wäre das Startmenü soooooo wichtig, dass ihr lieber auf Performance verzichtet, als sich daran gewöhnen zu müssen, dass das Startmenü nun den VOLLEN Bildschirm ausfüllt und nicht mehr nur die Ecke. Sogar sooo wichtig, dass ihr nicht mal wisst, dass das mit kleinen Tools mit ca. 8MB Größe hinzugefügt werden kann.


    Das Startmenü fand ich schon immer beschissen. Nur weil es wieder was neues ist, dass es weg ist stellen sich alle quer so auf die Art "Was neues?!? NEIN ICH WILL NICHT, ICH HATE OBWOHL ICH´S NIE PROBIERT HAB!" xDDDD


    Probier es doch erst mal aus, kannst es ja Probeweise auf eine extra Partition installieren :)


    Wer sagt, dass ich es noch nie ausprobiert habe? Ich habe derzeit Win8 und ich finde das Kachelsystem bei TowerPC, Laptops usw.. einfach nicht ideal. Für mich würde das Kachelsystem Sinn machen, wenn ich etwa ein Gerät mit Touch habe.

    Guten Tag,


    hiermit suche ich eine WBB 3 Lizenz, die ich für die WBB3 Pluginentwicklung benötige.
    Der Preis sollte so um die 25 Euro liegen. Bezahlt werden kann via PayPal, Banküberweißung und PaySafeCard


    Gruß
    Dragonas
    ______
    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.

    Heute will ich euch zeigen, wie man mit WBB_Connect ein Login und Registersystem baut.


    Was braucht man:

    • Woltlab Burning Board Forum
    • WBB_Connect-Paket (Auf Forum installiert und Filterscripts bzw. Include in PAWN bzw. SA:MP Server eingebunden)
    • PAWNO
    • geringe PAWN-Kenntnisse


    Ihr solltet euer Skript schon erstmal soweit haben, dass es sich mit WBB überhaupt verbindet, wer da Schwierigkeiten hat, kann sich via PN melden.
    Dann mal los.


    1. Der Spieler loggt sich ein, zunächst wird überprüft ob ein Forumaccount vorhanden ist.
    public OnPlayerRequestClass(playerid, classid){
    WBB_IsValidUser(SpielerName(playerid);
    return 1;
    }

    Mit der Funktion WBB_IsValidUser("Name des Spielers"); fragt ihr ab ob ein gültiger Forumaccount besteht, das Ergebnis bekommt ihr im Callback ausgegeben. GetPlayerName sollte jedem bekannt sein.



    public WBB_GotUserValidState ( Index , State) {
    if( State == true)
    {
    ShowPlayerDialog( Index, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login","Bitte gib dein Passwort ein, um dich anzumelden.", "Anmelden","Abbrechen");
    }
    else
    {
    ShowPlayerDialog( Index, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Kein Account vorhanden!","Du hast noch keinen Account.\n Bitte melde dich an, um einen Spielaccount zu bekommen!","Ok","Abbrechen");
    }
    return 1;
    }
    Unter public WBB_GotUserValidState wird ausgegeben, ob der Spieler einen Forumaccount hat bzw. ob er überhaupt einen Account hat. Der Parameter "state" gibt die Werte 0(= false) und 1(=true) zurück. Sollte der Wert 1 bzw. true zurückgeben werden, so öffnen wir mit der Funktion ShowPlayerDialog eine DialogBox wo eine Passworteingabe zum Login erforderlich ist.
    Wird der Wert 0 zurückgegeben, so wird eine DialogBox zum registrieren geöffnet.



    2. Der Spieler besitzt einen Account und loggt sich nun ein.
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_LOGIN)
    {
    if(response)
    {
    WBB_CheckUserPassword(SpielerName(playerid),inputtext);

    }
    else
    {
    SendClientMessage(playerid,0xFF3200FF,"Du hast den Loginprozess abgebrochen!");
    Kick(playerid);
    }
    }
    Hier werden die Dialoge verarbeitet. Sollte der Spieler bei den Buttons vom LoginDialog auf Login gedrückt haben so wird mit der Funktion WBB_CheckUserPassword("Name des Spielers","Dialogboxeintrag"); überprüft ob das Passwort stimmt, dies wird im untenstehenden public wiedergegeben. Sollte er auf abbrechen drücken, so wird er vom Server gekickt.


    public WBB_GotUserPasswordCheckState ( Index , State )
    {
    if( State == true )
    {
    SendClientMessage( Index, GREEN, "Du hast dich erfolgreich angemeldet!");
    SpawnPlayer(Index);
    }
    else
    {
    SendClientMessage( Index, RED, "Falsches Passwort!");
    SendClientMessage( Index, RED, "Probier es nochmal neu.");
    ShowPlayerDialog( Index, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login","Bitte gib dein Passwort ein, um dich anzumelden.", "Anmelden","Abbrechen"); }
    return 1;}


    Unter public WBB_GotUserPasswordCheckState wird nun überprüft, ob das Passwort richtig oder falsch ist. State gibt wieder die Werte 0 und 1 wieder, welche für false oder true stehen. Sollte das Passwort richtig sein, so erhält der Spieler die Nachricht: "Du hast dich erfolgreich angemeldet" und wird gespawnt. Sollte das Passwort falsch sein, so wird erneut die LoginDialogBox geöffnet und der Prozess beginnt von neu.


    3. Der Spieler besitzt keinen Account und muss sich registrieren
    Der Server hat erkannt, dass der Spieler keinen Account besitzt und muss sich daher registrieren.
    Unter public OnDialogResponse
    if(dialogid == DIALOG_REGISTER)
    {
    if(response)
    {
    WBB_AddUser(SpielerName(playerid),"info@mail.de",inputtext,1); // Account wird angelegt. Parameter = 1. Name | 2. E-Mail | 3. Passwort.
    WBB_SetUserToGroup(SpielerName(playerid),3); // User wird der BenutzerGruppe hinzugefügt
    WBB_EnableUser(SpielerName(playerid)); //User wird aktiviert
    SendClientMessage(playerid, WHITE, "Du hast dich erfolgreich registriert");
    SpawnPlayer(playerid);
    }
    else
    {
    Kick(playerid);
    }
    }


    Mit den Funktionen WBB_AddUser();, WBB_SetUserToGroup(); und WBB_EnableUser wird zunächst der Forenaccount angelegt, danach wird dem Account die Benutzergruppe "3" hingzugefügt und zum Schluss wird der Account aktiviert.
    Und schon ist das Login und Registersystem fertig.


    Hier nochmal die Funktion SpielerName(playerid);
    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }



    Farben müsst ihr selber definieren.
    Bei Lob oder Kritik bin ich offen und ihr könnt sie gerne posten. Fragen bitte in den Thread stellen.


    Gruß
    Dragonas

    Ich finde jetzt noch mit DINI zu arbeiten nicht mehr so aktuell. MySQL ist einfacher und übersichtlicher.
    Aber trotzdem finde ich es gut, dass du mal eine Klasse geschriebene hast, mit der man DINI auslesen kann.


    Gruß
    Dragonas

    Halli Hallo,
    ich dachte mal, da ich mich noch nicht wirklich vorgestellt habe, dass ich einfach mal was Nettes schreibe.


    Mein Name ist Dominik bin 17 Jahre alt und komme aus Kassel. Derzeit besuche ich ein Berufliches Gymnasium mit dem Schwerpunkt Datenverarbeitungstechnik welcher auch gleichzeitig mein Leistungskurs ist.In meiner Freizeit betreibe ich Fitness, spiele Lacrosse (vielleicht kennt das jemand von American Pie oder so), gehe ins Kino, oder verbringe Zeit am PC und programmiere.



    Gruß
    Dragonas