WBB_Connect Anleitung
Version 1, für WBB_Connect 2.0
Im Folgenden findest du eine kleine Anleitung, wie WBB_Connect richtig benutzt wird. Viele verwenden es völlig falsch, und ausreichende Anleitungen habe ich bisher noch nicht gefunden.
Zudem enthält diese Anleitung eine genaue Beschreibung wie Fehler gefunden werden können.
Teil 1: Installation und Benutzung
Dieser Teil der Anleitung bezieht sich auf die korrekte Installation des WBB_Connects. Des Weiteren werde ich kurz auf das Scripting eingehen.
Diese Anleitung ist unterteilt in 5 Kapitel:
- Der Download und das Entpacken
- Die Installation der WBB_Connect API
- Die Installation des Filterscripts
- Die Integration in das Script
- Die richtige Verwendung der Funktionen
-
Download und Entpacken
Gehe auf den offiziellen Thread des WBB_Connects und lade dir das Gesamte Paket herunter. Du erhälst ein gepackes Archiv, welches zu mit dem Programm Winrar entpacken kannst. Nach dem Entpacken erhälst du 2 Ordner, eine Zip Datei, und eine PHP Datei. Die Zip Datei darf nicht entpackt werden!
-
Installation der API
Im WBB_Connect zu verwenden musst du die API auf dem Webspace installieren auf dem sich dein Forum befindet. In dem vorherigem Schritt hast du das Archiv extrahiert und eine .zip Datei und eine .php Datei erhalten. Nun öffnest du dein FTP Programm (Ich bin ein Fan von Filezilla) und navigierst zu dem Hauptordner deines Burning Boards. Dort lädst du die Dateien "wbb_connect.zip" und "wbb_connect_install.php" hoch. Nach dem Hochladen öffnest du deinen Browser und gibst den Pfad zu deinem Forum ein. Als Datei gibst du "wbb_connect_install.php" an. Somit sieht der Link z.B. so aus: "www.deine-domain.de/forum/wbb_connect_install.php". Es kommt ein Installations-Manager welcher ungefähr so aussieht:
Dort folgst du den Anweisungen, bis das letzte Fenster kommt, und die Installation vollständig ist. Dieser Moment ist sehr wichtig, da dir dort der Authentifikationsschlüssel angezeigt wird. Diesen musst du dir auf jeden Fall notieren!
Nur mit diesem Authentifikationsschlüssel kann das WBB_Connect genutzt werden! Gehe also doppelt sicher, dass du den Key richtig kopiert / notiert hast.
-
Installation des Filterscripts
In dem extrahiertem Ordner "filterscript" befindet sich die "wbb_connect.amx". Diese musst du in deinem Server in den filterscripts Ordner kopieren. Dann öffnest du die server.cfg und schreibst wbb_connect an erster Stelle zu den Filterscripts.
-
Integration in das Script
WBB_Connect wurde nun komplett installiert, nun muss es nur noch dem Script hinzugefügt werden. Dafür kopierst du die "wbb_connect.inc" Include aus dem Ordner "include" in den Include Ordner deiner IDE. Bei Pawno heißt dieser Ordner "include" und befindet sich in dem Verzeichnes der Anwendung. Um die Include dem Script hinzuzufügen schreibst du diese Zeile nach ganz oben in dein Script:#include <wbb_connect>Nun fehlen nur noch die Callbacks. Dafür musst du nur die folgenden Zeilen in dein Script einfügen:public WBB_GotPostUser ( Index , Username[ ] ) {
return 1;
}public WBB_GotThreadStarter ( Index , Username[ ] ) {
return 1;
}public WBB_GotUserActivationCode ( Index , ActivationCode[ ] ) {
return 1;
}public WBB_GotUserActivationState ( Index , State ) {
return 1;
}public WBB_GotUserAge ( Index , Age ) {
return 1;
}public WBB_GotUserFriendState ( Index , State ) {
return 1;
}public WBB_GotUserGroupState ( Index , State ) {
return 1;
}public WBB_GotUserID ( Index , UserID ) {
return 1;
}public WBB_GotUserOnlineState ( Index , State ) {
return 1;
}public WBB_GotUserPasswordCheckState ( Index , State ) {
return 1;
}public WBB_GotUserTitle ( Index , Title[ ] ) {
return 1;
}public WBB_GotUserValidState ( Index , State ) {
return 1;
}public WBB_OnInitialize ( State ) {
return 1;
}public WBB_PostAdded ( Index ) {
return 1;
}public WBB_PostDeleted ( Index ) {
return 1;
}public WBB_PostEdited ( Index ) {
return 1;
}public WBB_PostTrashed ( Index ) {
return 1;
}public WBB_ThreadAdded ( Index , ThreadID ) {
return 1;
}public WBB_ThreadDeleted ( Index ) {
return 1;
}public WBB_ThreadSticked ( Index ) {
return 1;
}public WBB_ThreadUnsticked ( Index ) {
return 1;
}public WBB_UserAdded ( Index ) {
return 1;
}public WBB_UserAvatarDisabled ( Index ) {
return 1;
}public WBB_UserAvatarEnabled ( Index ) {
return 1;
}public WBB_UserBanned ( Index ) {
return 1;
}public WBB_UserDisabled ( Index ) {
return 1;
}public WBB_UserEnabled ( Index ) {
return 1;
}public WBB_UserRemovedFromGroup ( Index ) {
return 1;
}public WBB_UserSettedToGroup ( Index ) {
return 1;
}public WBB_UserSignaturDisabled ( Index ) {
return 1;
}public WBB_UserSignaturEnabled ( Index ) {
return 1;
}public WBB_UserUnbanned ( Index ) {
return 1;
}Diese Callbacks werden immer Aufgerufen, nachdem eine Funktion des WBB_Connects ausgeführt wurde. Die Callbacks enthalten die "Antworten" der Funktionen. -
Verwendung der Funktionen
Nun kann der gesamte Umfang des WBB_Connects genutzt werden. Doch bevor die Funktionen im Script ausgeführt werden können muss das Filterscript Initialisiert werden.
Die Funktion WBB_Initialize ( Adress[ ] , AuthKey[ ] ) ist dafür zuständig. Also kopierst du diese Funktion unter OnGameModeInit und setzt die entsprechenden Parameter ein. "Adress" ist der Pfad indem sich dein Forum befindet, und "AuthKey" ist der Authentifikationsschlüssel, den du dir bei der Installation der API notiert hast.
Somit sieht OnGameModeInit Beispielweise so aus:
public OnGameModeInit()
{
WBB_Initialize("www.deine-domain.de/forum/", "d22123e6ec0e541e6300");
UsePlayerPedAnims();
ManualVehicleEngineAndLights();Um nun zu Testen ob die Verbindung erfolgreich war, prüfen wir das in dem Callback WBB_OnInitialize. Wenn die Variable "State" 1 ist, so war die Initialisierung erfolgreich, und alle Funktionen können uneingeschränkt genutzt werden. Überprüfen können wir das z.B. so:
public WBB_OnInitialize(State)
{
if(State)
{
print("WBB_Connect: Initialisierung erfolgreich!");
}
else
{
print("WBB_Connect: Fehler bei Initialisierung");
SendRconCommand("exit");
}
return 1;
}
Grundlegend gilt:Die Funktionen des WBB_Connects geben keine Informationen zurück! Bei dem Aufruf des jeweiligen Callbacks sind die Informationen enthalten!
Wenn du Funktionen spezifisch für z.B. einen Spieler aufrufen möchtest, kannst du die playerid den Funktionen als optionalen Index mitgeben. Die playerid ist dann im Callback als Variable "Index" vorhanden. So sind flüssige Abläufe realisierbar.
Hier ein Beispiel, indem für einen Spieler geprüft wird, ob er einen Forumaccount hat:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp("/forumcheck", cmdtext, false))
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
WBB_IsValidUser(Name, playerid);
return 1;
}
}
public WBB_GotUserValidState(Index, State)
{
if(State)
{
SendClientMessage(Index, 0xFFFFFF, "Du besitzt einen Forumaccount!");
}
else
{
SendClientMessage(Index, 0xFFFFFF, "Du besitzt leider keinen Forumaccount!");
}
return 1;
}
Teil 2: WBB_Connect Fehler aufspüren
Manchmal kann es sein, dass das WBB_Connect einfach nicht funktionieren will. Dann werden dir vom WBB_Connect Fehlercodes angezeigt, die du höchstwahrscheinlich nicht verstehst.
Für diese Fälle gibt es den WBB_Connect Helper.
Programm Benutzung
Lade dir den WBB_Connect Helper herunter, und befolge diese leichte Schritt für Schritt Anleitung:
- Starte das Programm
- Gib den Pfad zum Forum ein. Diese muss dem Pfad im Script identisch sein!
- Gib den Authentifikationsschlüssel ein, den du dir nach der API Installation notiert hast
- Wähle eine der vorgegebenen Operationen aus
- Klicke auf "Abschicken"
Auswertung der Ergebnisse
In der Konsole unten werden dir nun die einzelnen Schritte angezeigt.
Zu jedem Schritt gibt dir das Programm eine kleine Auswertung.
In diesem Bild kann man durch die Konsole schnell den unscheinbaren Fehler finden:
Sollte eine Operation weitere Parameter brauchen, so erscheint eine kleine Box, bei der du aufgefordert wirst, diese einzugeben:
Return 0 bedeutet immer, dass eine Funktion erfolgreich ausgeführt wurde, und der Status 0 = negativ ist.
Bei return 1 ist dies das selbe, nur dass der Status 1 = positiv ist:
Die Antwort in der Konsole ist nicht selbsterklärend?
Das kann ein paar Gründe haben, denn nicht alle Fehlermeldungen sind im WBB_Connect Helper implementiert. Deshalb werde ich hier eine Liste mit "komischen", bzw. unlesbaren Fehlercodes erstellen.
Diese wird sich mit der Zeit füllen. Falls dein Fehler nicht hier steht, poste ihn in diesem Thread (oder in diesen ), und ich werde dir helfen.
Mögliche nicht selbsterklärende Fehler:
-
Es wird ein sehr langer Quellcode angezeigt
Das liegt daran, dass der HTTP Request von deinem Server umgeleitet wird. Du solltest den absoluten Pfad benutzen, und ggf. .htaccess Dateien überprüfen. -
Halbe Rückgabe, z.B. "6 at ":
Ein interner API Fehler. Poste deinen kompletten Ablauf in diesem Thread, damit dir geholfen werden kann.
Ich hoffe ich konnte euch hiermit den Einstieg in die Verwendung von WBB_Connect vermitteln.
Feedback und weitere Rückmeldungen sind natürlich gerne gesehen
Bei schlechter Ausdrucksweise, Fehlern oder sonstigem bitte einfach kurz Bescheid sagen. Ich habe das Nachts - etwas übermüdet - geschrieben.
Alle Codes wurden direkt in den Browser getippt und nicht getestet!