Beiträge von |-|auke

    So in etwa:

    new Result[32];
    new HTTP_Status = SynchronizedHTTP("www.nicowiss.de", "email=nicowiss@xyz.de&benutzername=NicoWiss", Result, sizeof Result, HTTP_GET);
    if(HTTP_Status == 200)
    {
    printf("Erfolgreich! %s", Result);
    }
    else
    {
    printf("Fehler %d", HTTP_Status);
    }

    Atrox: richtig, aber das ist kein Problem, sondern genau das, was die Funktion machen soll. Ob der Server erreichbar ist kann man vorher mit der asynchronen Funktion testen oder den Timeout verringern.


    @NicoWiss: Du kannst alle Parameter mit einem & verbinden. Du kannst dir das in der neuen WBB_Connect include abgucken :)

    WBB_Connect 3.0


    WBB_Connect 3 ist die Neuentwicklung von WBB_Connect 2.0. Die Version 3 wurde wiedereinmal komplett neu geschrieben und um einiges verbessert.
    Zudem hat sich der Funktionsumfang mehr als verdoppelt! Mit nun mehr als 70 Funktionen lässt sich das Forum noch besser verwalten.


    WBB_Connect arbeitet nun nicht mehr mit Callbacks. Es kann wieder wie in den Versionen 1.X die Werte direkt zurückgeben! Trotzdem wird die WBB_Connect API im Forum verwendet um alle Abläufe WBB konform zu gestalten.
    Wird nun z.B. der Name einer Person geändert, so geschieht das sofort - Als würde es direkt im Browser gemacht werden.
    Weitere Gründe WBB_Connect 3.0 zu benutzen sind:

    • Es ist noch einfacher geworden. Nahezu jeder kann es ohne große Vorkenntnisse direkt ins Script einbauen und verwenden
    • Es ist nicht mehr anfällig für Fehler
    • Es ist nur noch eine Include, kein Filterscript mehr
    • Operationen werden bis zu 3x mal schneller ausgeführt!
    • Es ist WBB 3.1.7 & 3.1.8 kompatibel
    • Es arbeitet hauptsächlich mit IDs


    Funktionen

    • WBB_AddUserActivityPoints
      WBB_AddUserActivityPoints ( _:UserID , _:ActivityPoints )
      Gibt den Benutzer die angegebenen Aktivitätspunkte.
    • WBB_AddUserToGroup
      WBB_AddUserToGroup ( _:UserID , _:GroupID )
      Fügt dem Benutzer einer Gruppe hinzu.
    • WBB_BanUser
      WBB_BanUser ( _:UserID , _:Reason[ ] )
      Bannt den Benutzer.
    • WBB_CheckUserPassword
      WBB_CheckUserPassword ( _:UserID , _:Password[ ] )
      Prüft ob das angegebene Passwort das Passwort des Benutzers ist. Wenn ja gibt die Funktion true zurück. Sonst false.
    • WBB_CloseThread
      WBB_CloseThread ( _:ThreadID )
      Schließt einen Thread.
    • WBB_CreatePost
      WBB_CreatePost ( _:UserID , _:ThreadID , _:Subject[ ] , _:Text[ ] , bool:Disabled = false , bool:CloseThread = false , bool:MarkAsDone = false , bool:EnableSmilies = false , bool:EnableHTML = false , bool:EnableBBCodes = false , bool:ShowSignature = false )
      Erstellt einen Beitrag im angegebenen Thread im Namen des Benutzers.
      Die Funktion gibt bei Erfolg die ID des erstellten Beitrags zurück. Sonst 0.
    • WBB_CreateThread
      WBB_CreateThread ( _:UserID , _:BoardID , _:Prefix[ ] , _:Subject[ ] , _:Text[ ] , bool:IsImportant = false , bool:Closed = false , bool:Disabled = false , bool:CloseThread = false , bool:EnableSmilies = false , bool:EnableHTML = false , bool:EnableBBCodes = false , bool:ShowSignature = false )
      Erstellt ein Thema im angegebenen Board im Namen des Benutzers.
      Die Funktion gibt bei Erfolg die ID des erstellten Threads zurück. Sonst 0.
    • WBB_CreateUser
      WBB_CreateUser ( _:Name[ ] , _:Email[ ] , _:Password[ ] )
      Registriert einen neuen Benutzer. Der Benutzer muss anschließend nach der im Forum eingestellten Methode aktiviert werden.
      Ist der Name schon vorhanden, gibt die Funktion "USER_ALREADY_EXISTS" zurück. Ist die E-Mail Adresse vergeben gibt die Funktion "EMAIL_ALREADY_EXISTS" zurück.
    • WBB_DeletePost
      WBB_DeletePost ( _:PostID )
      Löscht den angegebenen Beitrag endgültig.
    • WBB_DeleteThread
      WBB_DeleteThread ( _:ThreadID )
      Löscht den angegebenen Thread endgültig.
    • WBB_DeleteUser
      WBB_DeleteUser ( _:UserID )
      Löscht den Benutzer endgültig.
    • WBB_DisablePost
      WBB_DisablePost ( _:PostID )
      Deaktiviert den Beitrag.
    • WBB_DisableThread
      WBB_DisableThread ( _:ThreadID )
      Deaktiviert den Thread.
    • WBB_DisableUserAvatar
      WBB_DisableUserAvatar ( _:UserID , _:Reason[ ] )
      Deaktiviert den Avatar des Benutzers mit Angabe eines Grundes.
    • WBB_DisableUserSignature
      WBB_DisableUserSignature ( _:UserID , _:Reason[ ] )
      Deaktiviert die Signatur des Benutzers mit Angabe eines Grundes.
    • WBB_EnablePost
      WBB_EnablePost ( _:PostID )
      Aktiviert einen Beitrag.
    • WBB_EnableThread
      WBB_EnableThread ( _:ThreadID )
      Aktiviert einen Thread.
    • WBB_EnableUserAvatar
      WBB_EnableUserAvatar ( _:UserID )
      Aktiviert den Avatar eines Benutzers.
    • WBB_EnableUserSignature
      WBB_EnableUserSignature ( _:UserID )
      Aktiviert die Signatur eines Benutzers.
    • WBB_GetNewestUser
      WBB_GetNewestUser ( )
      Gibt die Benutzer ID des neuesten Mitgliedes zurück.
    • WBB_GetOldUsername
      WBB_GetOldUsername ( _:UserID )
      Gibt den ehemaligen Benutzernamen des Benutzers zurück.
    • WBB_GetPostCreator
      WBB_GetPostCreator ( _:PostID )
      Gibt die Benutzer ID des Benutzers zurück, der diesen Beitrag erstellt hat.
    • WBB_GetProfileAge
      WBB_GetProfileAge ( _:UserID )
      Gibt das Alter des Forumprofils in Tagen zurück.
    • WBB_GetThreadCreator
      WBB_GetThreadCreator ( _:ThreadID )
      Gibt die Benutzer ID des Benutzers zurück, der diesen Thread erstellt hat.
    • WBB_GetUserAboutMe
      WBB_GetUserAboutMe ( _:UserID )
      Gibt die "Über mich" Beschreibung des Benutzers zurück.
    • WBB_GetUserActivationCode
      WBB_GetUserActivationCode ( _:UserID )
      Gibt den Aktivierungscode des Benutzers zurück.
    • WBB_GetUserActivityPoints
      WBB_GetUserActivityPoints ( _:UserID )
      Gibt die Aktivitätspunkte des Benutzers zurück.
    • WBB_GetUserAge
      WBB_GetUserAge ( _:UserID )
      Gibt das Alter des Benutzers in Jahren zurück.
    • WBB_GetUserAvatarDisableReason
      WBB_GetUserAvatarDisableReason ( _:UserID )
      Gibt den Grund für die Deaktivierung des Avatars des Benutzers zurück.
    • WBB_GetUserBanReason
      WBB_GetUserBanReason ( _:UserID )
      Gibt den Grund für das Sperren des Benutzers zurück.
    • WBB_GetUserBirthday
      WBB_GetUserBirthday ( _:UserID )
      Gibt den Geburtstag des Benutzers im folgenden Format zurück: "Jahr-Monat-Tag". Zum Beispiel: 1936-06-17
    • WBB_GetUserCustomOption
      WBB_GetUserCustomOption ( _:UserID , _:Option[ ] )
      Gibt die angegebene Option des Benutzers zurück. Zum Beispiel: "icq" oder "skype". Diese Funktion kann ebenfalls Optionen von Burning Board Plugins auslesen!
    • WBB_GetUserEmail
      WBB_GetUserEmail ( _:UserID )
      Gibt die E-Mail Adresse des Benutzers zurück.
    • WBB_GetUserGender
      WBB_GetUserGender ( _:UserID )
      Gibt das Geschlecht des Benutzers zurück. Die Funktion gibt "USER_GENDER_MALE" für männlich, "USER_GENDER_FEMALE" für weiblich und "USER_GENDER_NONE" für unbekannt zurück.
    • WBB_GetUserGroups
      WBB_GetUserGroups ( _:UserID , _:GroupIDs[ ] , const _:ArraySize )
      Schreibt alle Gruppen IDs von den Gruppen, in denen sich der Benutzer befindet in das angegebene Array. Beispiel:
      new GroupIDs[12];
      WBB_GetUserGroups(12, GroupIDs, sizeof GroupIDs);
      for(new i; i < sizeof GroupIDs; i++)
      {
      if(GroupIDs[i] == 0)
      break;
      printf("Der Benutzer ist in der Gruppe: %d", GroupIDs[i]);
      }
    • WBB_GetUserHobbies
      WBB_GetUserHobbies ( _:UserID )
      Gibt die Hobbies des Benutzers zurück.
    • WBB_GetUserHomepage
      WBB_GetUserHomepage ( _:UserID )
      Gibt die Homepage des Benutzers zurück.
    • WBB_GetUserID
      WBB_GetUserID ( _:UserName[ ] )
      Gibt die Benutzer ID des Benutzers zurück, der den angegebenen Namen hat. Existiert der Name nicht gibt die Funktion 0 zurück.
    • WBB_GetUserLocation
      WBB_GetUserLocation ( _:UserID )
      Gibt den Wohnort des Benutzers zurück.
    • WBB_GetUserLostPasswordKey
      WBB_GetUserLostPasswordKey ( _:UserID )
      Gibt den "Passwort verloren"-Schlüssel zurück. Dieser wird vom Benutzer benötigt, wenn er sein Password ändern möchte.
    • WBB_GetUserName
      WBB_GetUserName ( _:UserID )
      Gibt den Benutzernamen des Benutzers zurück.
    • WBB_GetUserOccupation
      WBB_GetUserOccupation ( _:UserID )
      Gibt den Beruf des Benutzers zurück.
    • WBB_GetUserOutstandingPMs
      WBB_GetUserOutstandingPMs ( _:UserID )
      Gibt die Anzahl der Privaten Nachrichten an, die der Benutzer noch nicht gelesen und verborgen hat.
    • WBB_GetUserProfileHits
      WBB_GetUserProfileHits ( _:UserID )
      Gibt die Anzahl der Profilaufrufe des Benutzers zurück.
    • WBB_GetUserRankID
      WBB_GetUserRankID ( _:UserID )
      Gibt den Rang des Benutzers zurück.
    • WBB_GetUserReactivationCode
      WBB_GetUserReactivationCode ( _:UserID )
      Gibt den Reaktivierungscode des Benutzers zurück.
    • WBB_GetUserSigDisableReason
      WBB_GetUserSigDisableReason ( _:UserID )
      Gibt den Grund für die Deaktivierung der Signatur des Benutzers zurück.
    • WBB_GetUserTitle
      WBB_GetUserTitle ( _:UserID )
      Gibt den Titel des Benutzers zurück.
    • WBB_GetUserUnreadPMQuantity
      WBB_GetUserUnreadPMQuantity ( _:UserID )
      Gibt die Anzahl der ungelesenen Nachrichten des Benutzers zurück.
    • WBB_Initialize
      WBB_Initialize ( _:_ApiURL[ WBB_CONNECT_URL_LENGTH ] , _:_AuthKey[ ] )
      Initialisiert WBB_Connect. Diese Funktion muss als erstes aufgerufen werden! zum Beispiel unter "OnGameModeInit" oder im Haupteinstiegspunkt.
      War die Initialisierung erfolgreich wird true zurückgegeben. Sonst false. Weitere Informationen unter "Benutzung".
    • WBB_IsUserActivated
      WBB_IsUserActivated ( _:UserID )
      Gibt true zurück, falls der Benutzer aktiviert ist. Sonst false.
    • WBB_IsUserAvatarDisabled
      WBB_IsUserAvatarDisabled ( _:UserID )
      Gibt true zurück, falls der Avatar des Benutzers deaktiviert ist. Sonst false.
    • WBB_IsUserBanned
      WBB_IsUserBanned ( _:UserID )
      Gibt true zurück, falls der Benutzer gebannt ist. Sonst false.
    • WBB_IsUserInGroup
      WBB_IsUserInGroup ( _:UserID , _:GroupID )
      Gibt true zurück, falls der Benutzer ein Mitglied der angegebenen Gruppe ist. Sonst false.
    • WBB_IsUserOnline
      WBB_IsUserOnline ( _:UserID )
      Gibt true zurück, falls der Benutzer im Forum online ist. Sonst false.
    • WBB_IsUserSignatureDisabled
      WBB_IsUserSignatureDisabled ( _:UserID )
      Gibt true zurück, falls die Signatur des Benutzers deaktiviert ist. Sonst false.
    • WBB_OpenThread
      WBB_OpenThread ( _:ThreadID )
      Öffnet den angegebenen Thread.
    • WBB_RemoveUserFromGroup
      WBB_RemoveUserFromGroup ( _:UserID , _:Group )
      Entfernt den Benutzer aus der angebenen Gruppe. Ist der Benutzer kein Mitglied der Gruppe gibt die Funktion 0 zurück.
    • WBB_RestorePost
      WBB_RestorePost ( _:PostID )
      Stellt den angegebenen Beitrag wieder her, falls er gelöscht wurde.
    • WBB_RestoreThread
      WBB_RestoreThread ( _:ThreadID )
      Stellt den angegebenen Thread wieder her, falls er gelöscht wurde.
    • WBB_SendPM
      WBB_SendPM ( _:UserID , _:RecipientID , _:Subject[ ] , _:Text[ ] , bool:EnableSmilies = false , bool:EnableHTML = false , bool:EnableBBCodes = false , bool:ShowSignature = false )
      Versendet eine Private Nachricht im Namen des angegebenen Benutzers (UserID) an den angegebenen Benutzer (RecipientID).
    • WBB_SetUserBirthday
      WBB_SetUserBirthday ( _:UserID , _:Day , _:Month , _:Year )
      Setzt das Geburtsdatum des Benutzers.
    • WBB_SetUserCustomOption
      WBB_SetUserCustomOption ( _:UserID , _:Option[ ] , _:Value[ ] )
      Setzt die angegebene Option des Benutzers. Zum Beispiel: "icq" oder "skype". Diese Funktion kann ebenfalls Optionen von Burning Board Plugins auslesen!
    • WBB_SetUserEmail
      WBB_SetUserEmail ( _:UserID , _:Email[ ] )
      Ändert die E-Mail Adresse des angegebenen Benutzers. Ist die E-Mail Adresse schon vergeben wird "EMAIL_ALREADY_EXISTS" zurückgegeben. Der Benutzer muss die Änderung nach den Einstellungen im WBB aktivieren, da diese Funktion die originale Aktivierungsmethode verwendet. Ggf. Profil bearbeiten -> Benutzerkonto -> Neue E-Mail Adresse aktivieren.
    • WBB_SetUserGender
      WBB_SetUserGender ( _:UserID , _:Gender )
      Ändert das Geschlecht des angegebenen Benutzers. Mögliche Optionen sind: "USER_GENDER_MALE" für männlich, "USER_GENDER_FEMALE" für weiblich und "USER_GENDER_NONE" für unbekannt.
    • WBB_SetUserName
      WBB_SetUserName ( _:UserID , _:Name[ ] )
      Ändert den Namen des angegebenen Benutzers. Ist der Name schon vorhanden wird "USER_ALREADY_EXISTS" zurückgegeben. Sonst true.
    • WBB_SetUserOccupation
      WBB_SetUserOccupation ( _:UserID , _:Occupation[ ] )
      Ändert den Beruf des angegebenen Benutzers.
    • WBB_SetUserPassword
      WBB_SetUserPassword ( _:UserID , _:Password[ ] )
      Ändert das Password des angegebenen Benutzers. Sollte das Password nicht den Einstellungen des WBB entsprechen, wird false zurückgegeben. Sonst false.
    • WBB_SetUserTitle
      WBB_SetUserTitle ( _:UserID , _:Title[ ] )
      Ändert den Benutzertitel des angegebenen Benutzers.
    • WBB_StickThread
      WBB_StickThread ( _:ThreadID )
      Pinnt den angegebenen Thread an.
    • WBB_TrashPost
      WBB_TrashPost ( _:PostID )
      Löscht den angegebenen Beitrag.
    • WBB_TrashThread
      WBB_TrashThread ( _:ThreadID )
      Löscht den angegebenen Thread.
    • WBB_UnbanUser
      WBB_UnbanUser ( _:UserID )
      Entbannt den angegebenen Benutzer.
    • WBB_UnstickThread
      WBB_UnstickThread ( _:ThreadID )
      Entpinnt den angegebenen Thread.


    Alle Anfragen Funktionen geben entweder den angeforderten Wert zurück, oder bei Erfolgreicher Ausführung true. Nur WBB_GetUserGroups ist eine Ausnahme.


    Installation

    • Installiere das SyncHTTP Plugin auf deinem Server. Lade es hier herunter und befolge die Installationsanleitung auf der Seite.
    • Lade dir das Burning Board Plugin WBB_Connect herunter und installiere es in deinem Burning Board. Der Downloadlink steht weiter unten.
    • Nach erfolgreicher Installation des Plugins findest du unter Optionen den Eintrag "WBB_Connect". Wähle diesen aus.
    • Unter Allgemein kannst du WBB_Connect nun aktivieren. In diesem Schritt muss ein Authentifizierungsschlüssel eingegeben werden. Dieser wird benötigt um mit dem Server auf die API zu verbinden.
    • Wenn du alles richtig gemacht hast, kannst du folgenden Link in deinem Browser eingeben: DEINE_DOMAIN_ZUM_FORUM/index.php?page=WBB_ConnectAPI . Es sollte folgendes Bild erscheinen:

      Diese Seite wird sehr wichtig sein, falls mal etwas nicht funktionieren sollte.
    • Im letzten Schritt der Installation muss die Include (Downloadlink unten) deiner IDE hinzugefügt werden. In PAWNit: Unter Einstellungen -> Includes -> Include importieren. Bei Pawno muss die Include manuell in den Ordner "includes" verschoben werden. Im Script muss dann nur noch oben geschrieben werden #include <wbb_connect>


    Benutzung
    Um alle WBB_Connect Funktionen benutzen zu können, muss WBB_Connect initialisiert werden. Bei diesem Vorgang wird die Verbindung zur WBB_Connect API hergestellt und getestet.
    Um WBB_Connect zu initialisieren wird die Funktion "WBB_Initialize" verwendet. Diese Funktion erwartet 2 Parameter: Zum einen die Adresse zu der index.php des Forums, und zum anderen der Authentifizierungsschlüssel, der in der Administration des WBBs eingestellt werden muss. Es empfiehlt sich WBB_Initialize unter OnGameModeInit aufzurufen.
    Ein Beispiel zur Initialisierung von WBB_Connect:
    main ()
    {
    if(WBB_Initialize("forum.itwist.de", "der_auth_key"))
    {
    printf("WBB_Connect wurde erfolgreich initialisiert!");
    }
    else
    {
    printf("Es gab einen Fehler, und WBB_Connect konnte nicht initialisiert werden.");
    SendRconCommand("exit");
    }
    }


    Sicherheit
    In WBB_Connect 3 wird Sicherheit groß geschrieben. Zum einen muss WBB_Connect im Forum die Berechtigung gegeben werden um bestimmte Operationen ausführen zu können (mehr dazu unten), und zum anderen gibt es im ACP die IP-Begrenzung.

    Die IP Begrenzung erlaubt nur Zugriffe von einer bestimmten IP Adresse. Alle anderen Anfragen werden abgelehnt nicht nicht bearbeitet.
    Wird die IP-Begrenzung aktiviert muss die IP Adresse des SA:MP Servers eingegeben werden.


    Berechtigungen
    Die WBB_Connect API arbeitet mit Berechtigungen. Das ist ein wichtiges Sicherheitsfeature, da so ungewollte Fehler vermieden werden können.
    Im ACP gibt es einen Tab mit dem Namen "Berechtigungen", in dem alle generellen Berechtigungen eingestellt werden können. Diese sind komplett selbsterklärend:


    Zudem müssen die Berechtigungen für jede Benutzergruppe eingestellt werden. Auch diese Einstellungen sind komplett selbsterklärend und sollten unbedingt korrekt eingestellt werden!


    Download


    Über Feedback und Ideen freue ich mich natürlich sehr :)

    @NicoWiss:
    Wenn du die HTTP Funktion von SA:MP nutzt, dann erhälst du die Antwort erst in einem Callback - also in einer anderen Funktion, welche asynchron aufgerufen wird. Das heißt du kannst mit den Daten nicht in einem Ablauf arbeiten.
    SyncHTTP kann dir die Rückgabe direkt in deinem Programmablauf geben.


    @BlackAce:
    Das ist weniger Subjektiv als Situationsbedingt. Wenn man auf eine kleine Rückgabe angewiesen bist (z.B. 256 bytes), dann ist es einfacher, wenn man die Daten in einem Ablauf verarbeiten kann. Daher ist diese Funktion auch kein Ersatz oder Alternative zu der asynchronen Funktion, die es bereits gibt.

    SyncHTTP


    SyncHTTP ist ein neues Plugin von mir, welches nur eine einzige Funktion bereit stellt.
    Dieses Plugin kann genutzt werden um synchrone HTTP Anfragen zu versenden. Im Gegensatz zu der asynchronen HTTP Funktion von SA:MP wartet SyncHTTP auf die Antwort und gibt sie zurück.
    Dieses vereinfacht und erleichtert das Scripting von bestimmten Funktionen enorm!


    Mögliche Einsatzgebiete

    • Kommunikation mit Control Panel
    • Auslesen einfacher Daten von Drittanbietern, wie zum Beispiel Wetterinformationen
    • Prüfen ob ein Server online ist


    Geschrieben habe ich das Plugin eigentlich nur, um WBB_Connect 3 entwickeln zu können. Die neue WBB_Connect API arbeitet zusammen mit diesem Plugin sehr schnell und zuverlässig.


    Funktion
    native SynchronizedHTTP ( URL[ ] , Data[ ] , const Result[] , Length , Method = HTTP_POST , Timeout = 5 , EnableDebug = false );
    Parameter:
    [table=3][*]Parameter[*]Typ[*]Beschreibung
    [*]URL[*]string[*]Die Adresse, die aufgerufen werden soll. (ohne http://)
    [*]Data[*]Typ[*]Die Daten, die an den Server gesendet werden sollen als normaler GET oder POST string. (Informationen)
    [*]Result[*]ref string[*]Der String, der die Rückgabe - also den Inhalt der Seite - enthalten soll.
    [*]Length[*]int[*]Die Länge des Strings, der die Rückgabe enthalten soll.
    [*]Method[*]int[*]Die Methode, die zur Argumentenübertragung verwendet werden soll. Möglich sind HTTP_GET und HTTP_POST. Dieser Parameter ist optional.
    [*]Timeout[*]int[*]Die Zeit in Sekunden, die eine Anfrage maximal benötigen darf, bevor sie abgebrochen wird. Dieser Parameter ist optional.
    [*]EnableDebug[*]bool[*]Aktiviert oder deaktiviert den intigrierten Debug-Modus. Dieser ist nützlich um Fehler zu finden und die Zeit einer Anfrage zu messen. Dieser Parameter ist optional.[/table]
    Rückgabe:
    Den HTTP-Statuscode der Anfrage als Zahl.


    Verwendungsbeispiel

    new Webseite[2000];
    new HTTP_Status = SynchronizedHTTP("www.example.com", "", Webseite, sizeof Webseite, HTTP_GET);
    if(HTTP_Status == 200)
    {
    printf("Die Seite wurde erfolgreich geladen.\nInhalt: %s", Webseite);
    }
    else
    {
    print("Die Seite konnte nicht geladen werden.");
    }


    Hinweis
    DIe synchronen HTTP Anfragen sollten nur sehr kleine Inhalte von Webseiten abfragen. In der Zeit, in der die Funktion ausgeführt wird, kann der SA:MP Server keine anderen Operationen bearbeiten. Je größer der Inhalt ist, desto länger kann das Laden dauern.
    Aber keine Angst, kleine Rückgaben, wie zum Beispiel bei der WBB_Connect API dauern nur einen Bruchteil einer Sekunde.


    Installation
    Windows:

    • Lade dir die Datei SyncHTTP_WIN.zip herunter
    • Entpacke die Datei
    • Kopiere die Datei "SyncHTTP.dll" in den Ordner "plugins" deines SA:MP Servers
    • Kopiere die anderen beiden Dateien ("zlib1.dll" und "libcurl.dll") in den Hauptordner deines Servers. (Dort wo sich die "samp-server.exe" befindet)
    • Zum Schluss musst du nur noch das Plugin in deiner server.cfg eintragen und schon können die Funktionen der Include "sync_http.inc" genutzt werden

    Linux:

    • Lade dir die Datei SyncHTTP_LINUX.zip herunter
    • Entpacke die Datei
    • Kopiere die Datei "SyncHTTP.so" in den Ordner "plugins" deines SA:MP Servers
    • Gehe sicher, dass curl installiert ist. Im Normalfall ist curl schon vorinstalliert. Beipsiel um curl zu installieren: "sudo apt-get install curl".
    • Zum Schluss musst du nur noch das Plugin in deiner server.cfg eintragen und schon können die Funktionen der Include "sync_http.inc" genutzt werden

    Download

    Quellcode

    Hami: Das war auch nur ein alternativ Vorschlag. Außerdem wäre das doch nicht unfair? Kein Mensch würde davon etwas sehen oder merken.


    @[LnD]Awesome: das wäre keine Lösung. Ich bezahle doch kein Geld dafür, dass ich anderen Menschen meine Arbeit kostenlos zur Verfügung stellen darf..

    Ahoi,
    da ich meine neue Entwicklung - das WBB_Connect 3 - hier veröffentlichen möchte, brauche ich einen Beitrag, in dem ich mehr als 20.000 Zeichen verwenden kann.
    Für eine gute Dokumentation eines größeren System sind 20.000 Zeichen zu wenig. Selbst die Vorstellung von WBB_Connect 2 war schon zu groß um es zu posten.
    Ich könnte nun natürlich einem Moderator bescheid sagen, dass er meinen BB-Code in meinen eigenen Beitrag kopiert um die Begrenzung zu umgehen, aber das ist 1. umständlich und 2. nicht der Sinn dieser Begrenzung. - Bei jeder Bearbeitung müsste ich es wieder einem Moderator schicken.


    Falls es nicht im Ermessen des Teams liegt, diese Begrenzung generell zu erhöhen, so könnte man als Alternative eine Benutzergruppe erstellen. Sodass nur für Mitglieder dieser Gruppe die Zeichenbegrenzung deaktiviert wird.
    Ich denke es gibt einige Leute im Forum hier (mich eingeschlossen), die bereits länger registriert sind und denen man vertrauen kann. - Das müsste dann natürlich das Team entscheiden.


    Ich hätte auch keine Probleme mit einem anderen Kompromiss.


    Übrigens: Selbst dieser Beitrag enthält schon fast 1200 Zeichen, was bereits 6% sind.

    Das passt vom Stil überhaupt nicht zum Rest, und ergibt einen für Menschen schlecht interpretierbaren Code.
    Dann liegt es wahrscheinlich an der Funktion strdel. Guck dir mal an, was genau die Funktion macht: http://wiki.sa-mp.com/wiki/Strdel


    Edit:

    Zitat

    außerdem hat das jetzt wenig geholfen da die Intergers ja funktionieren!!


    Geht´s noch?
    Beschwerst du dich darüber, dass ich dir versucht habe zu helfen?

    vWorld{playerid} = 0;
    Inter{playerid} = 0;
    spectatorid{playerid} = 0;
    lockedCar{playerid} = 0;
    WhatCar{playerid} = 0;
    SeatPassengerPos{playerid} = 0;
    Ich weiß ja nicht wie deine Präprozessordirektiven aussehen, aber soll das so sein?


    Das kann alles PAWNit. An welchen Stellen hängt es? Bitte den Bugtracker nutzen, dann kommen die Fehler raus. In der aktuellen dev Version 0.8.9 ist zum Beispiel der Crash Fehler bei eigenen Funktionen ohne Parameter in der Autovervollständigung behoben. Einfach detailliert melden, und die Fehler werden beseitigt. :)