Page 15 of 55 FirstFirst ... 5131415161725 ... LastLast
Results 351 to 375 of 1365

Thread: [SRL-6] bonsaiFighter

  1. #351
    Join Date
    Feb 2007
    Location
    Alberta, Canada
    Posts
    4,615
    Mentioned
    50 Post(s)
    Quoted
    429 Post(s)

    Default

    Quote Originally Posted by bonsai View Post
    See this post.

    You need a plugin Brandon wrote that does ssl. I have my code on google and they only use https.

    There's a snippet in his post you need to save to SIMBADIR\includes\socks.simba
    Well that's embarrassing. I probably should have done some more extensive research. Thanks for your patience. This works with magic right? I'm going to go throw some spells at goblins and see what happens (I'll equip the mindspike or whatever it's called).

    Edit:

    I'm awful at this

    Progress Report:
    Error: Unknown declaration "drawSystemFont" at line 771


    In BIBitmap
    Last edited by 3Garrett3; 09-11-2014 at 01:41 AM.

    Scripts: Edgeville Chop & Bank, GE Merchanting Aid
    Tutorials: How to Dominate the Grand Exchange

    Quote Originally Posted by YoHoJo View Post
    I like hentai.

  2. #352
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by 3Garrett3 View Post
    Well that's embarrassing. I probably should have done some more extensive research. Thanks for your patience. This works with magic right? I'm going to go throw some spells at goblins and see what happens (I'll equip the mindspike or whatever it's called).

    Edit:

    I'm awful at this

    Progress Report:
    Error: Unknown declaration "drawSystemFont" at line 771


    In BIBitmap
    That's not you, that's new simba (I assume). drawsystemfont is a method of tmufasabitmap, at least on mine.

    It's just a wrapper that isn't used. I put a new copy of blBitmap up there with it commented out. If you hit more you could do the same and let me know which ones are bad.

    Pull it from google or rerunning the installer should refresh it. I didn't bump the version for autoupdate.

    I need to test the new simba. I've been heads down on this work (and real life lol).

  3. #353
    Join Date
    Feb 2007
    Location
    Alberta, Canada
    Posts
    4,615
    Mentioned
    50 Post(s)
    Quoted
    429 Post(s)

    Default

    Quote Originally Posted by bonsai View Post
    That's not you, that's new simba (I assume). drawsystemfont is a method of tmufasabitmap, at least on mine.

    It's just a wrapper that isn't used. I put a new copy of blBitmap up there with it commented out. If you hit more you could do the same and let me know which ones are bad.

    Pull it from google or rerunning the installer should refresh it. I didn't bump the version for autoupdate.

    I need to test the new simba. I've been heads down on this work (and real life lol).
    Yeah it's the new Simba I'm using. I'll run the installer again.

    Update: I ran it in Goblin village and it's completely not working there. Just hovered one while gathering colours and then spazzed out all over the screen saying it needed more colours. I'll go to the stronghold and see what happens there.

    Edit: Stronghold too.
    Last edited by 3Garrett3; 09-11-2014 at 02:22 AM.

    Scripts: Edgeville Chop & Bank, GE Merchanting Aid
    Tutorials: How to Dominate the Grand Exchange

    Quote Originally Posted by YoHoJo View Post
    I like hentai.

  4. #354
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by 3Garrett3 View Post
    Yeah it's the new Simba I'm using. I'll run the installer again.

    Update: I ran it in Goblin village and it's completely not working there. Just hovered one while gathering colours and then spazzed out all over the screen saying it needed more colours. I'll go to the stronghold and see what happens there.

    Edit: Stronghold too.
    That's how it works! It has to find and test colors before it can get to work. It takes 2-3 minutes usually.

    Every once in a while you'll see "moving xxx -> successful". Once it finds 5 colors it starts fighting.

    And, yes, it's mouse crazy so run it on nooby accounts. We can share color files to avoid everyone doing it. I have a method to do a lot of the coloring offline but need to work on some tools.

    (edit) I'm probably also going to post a version that works 100% on motion detection. It won't catch the ones sitting still but will work out of the box really nice.

  5. #355
    Join Date
    Jul 2012
    Location
    Australia
    Posts
    136
    Mentioned
    0 Post(s)
    Quoted
    57 Post(s)

    Default

    I run the installer but don't get a script and the installer stays where it is?

  6. #356
    Join Date
    Jan 2014
    Posts
    147
    Mentioned
    7 Post(s)
    Quoted
    75 Post(s)

    Default

    Quote Originally Posted by Godless View Post
    I run the installer but don't get a script and the installer stays where it is?
    Run the installed and manually download the Include that bonsai provides in the HTML format.

  7. #357
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by Godless View Post
    I run the installer but don't get a script and the installer stays where it is?
    What is the output in the simba debug window?

    The most likely thing to stop the installer from working is not setting up the ProSocks correctly.

    You could also install manually from google but afaik the installer is working ok.

  8. #358
    Join Date
    Dec 2013
    Location
    UK
    Posts
    106
    Mentioned
    4 Post(s)
    Quoted
    61 Post(s)

    Default

    im about to get 99 attack using this script, 2 level away <3

  9. #359
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by nutta124 View Post
    im about to get 99 attack using this script, 2 level away <3
    I think this is the first one! I feel like a proud pappy.

    Motion-only mode is ready

    See this post for install info. If you already installed the beta, re-install to pick up the changes.

    In the form choose motiondetect for the NPC. It will log in and whack anything that moves. No colors, no nonsense.

    I need to fine tune the motion function. I'm seeing some big boxes returning on occasion.

    This is a lot nicer for people who wanted to poke at the script without suffering the coloring side of things.

  10. #360
    Join Date
    Jul 2012
    Location
    Australia
    Posts
    136
    Mentioned
    0 Post(s)
    Quoted
    57 Post(s)

    Default

    1. Download his zip and put ProSock.dll in SIMBADIR\plugins
    I've done this.

    2. He has an include in the post under "if using simba". Save that to SIMBADIR\includes\socks.simba
    This is the part I've messed up on I imagine. What's the include and how do I save it? In notepad, etc? Sorry for the nooby question/s lol.



    This?
    Last edited by Godless; 09-12-2014 at 05:00 AM.

  11. #361
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by Godless View Post
    1. Download his zip and put ProSock.dll in SIMBADIR\plugins
    I've done this.

    2. He has an include in the post under "if using simba". Save that to SIMBADIR\includes\socks.simba
    This is the part I've messed up on I imagine. What's the include and how do I save it? In notepad, etc? Sorry for the nooby question/s lol.



    This?
    Can't read that little pic so I'll nod my head yes

    Here's Brandon's socs.simba file recopied from his post


    Simba Code:
    {$loadlib ProSock}

    type
      MAIL = record
        {$IFNDEF CODEINSIGHT}
        __Address: String;
        __Username: String;
        __EncryptedUsername: String;
        __EncryptedPassword: String;
        __Receiver: String;
        __FromName: String;
        __ToName: String;
        __Subject: String;
        __Message: String;
        __BufferSize: Integer;
        __ssl_info: SSLSocket;
        {$ENDIF}
      end;

    type
      HTTPS = record
      {$IFNDEF CODEINSIGHT}
      __Headers: Array Of String;
      __ParameterKeys: Array Of String;
      __ParameterValues: Array Of String;
      __Host: String;
      __Address: String;
      __BufferSize: Integer;
      __ssl_info: SSLSocket;
      {$ENDIF}
      end;

    {$IFNDEF CODEINSIGHT}
    var
      __Pro_Socket_Terminate_MAIL_Array: Array of ^SSLSocket;
      __Pro_Socket_Terminate_HTTPS_Array: Array of ^SSLSocket;

    Procedure __Destroy_Pro_MAIL_Sockets;
    var
      I: Integer;
    Begin
      For I := 0 To High(__Pro_Socket_Terminate_MAIL_Array) Do
        Pro_FreeSocket(__Pro_Socket_Terminate_MAIL_Array[I]);
      SetLength(__Pro_Socket_Terminate_MAIL_Array, 0);
    End;

    Procedure __Destroy_Pro_HTTPS_Sockets;
    var
      I: Integer;
    Begin
      For I := 0 To High(__Pro_Socket_Terminate_HTTPS_Array) Do
        Pro_FreeSocket(__Pro_Socket_Terminate_HTTPS_Array[I]);
      SetLength(__Pro_Socket_Terminate_HTTPS_Array, 0);
    End;

    Procedure __MemSet(Buffer: Pointer; Value: Byte; Size: Cardinal);
    type
      BytePtr = ^Byte;
    var
      I: Integer;
    Begin
      For I := 0 To Size Do
        BytePtr(Buffer)[I]^ := Value;
    End;

    Procedure MAIL.__PrintSocket();
    var
      Buffer: String;
      Bytes_Read: Integer;
    Begin
      SetLength(Buffer, self.__BufferSize);
      __MemSet(@Buffer[1], 0, self.__BufferSize);

      While((Bytes_Read := Pro_ReadSocket(@self.__ssl_info, @Buffer[1], self.__BufferSize)) > 0) Do
      Begin
        writeln(Trim(Buffer));
        __MemSet(@Buffer[1], 0, self.__BufferSize);
        If (Not Pro_IsPendingSocket(@self.__ssl_info)) Then
          break;
      End;
    End;
    {$ENDIF}

    Procedure MAIL.Create(Address: String; Port: Word; Username, Password, MailTo: String);
    Begin
      Self.Create(Address, Port, Username, Password, MailTo, '');
    End;

    Procedure MAIL.Create(Address: String; Port: Word; Username, Password, MailTo, Subject: String) overload;
    Begin
      self.__Address := Address;
      self.__ssl_info.port := Port;
      self.__ssl_info.address := @self.__Address[1];
      self.__ssl_info.socktype := SSLSocketType.SSL23_CLIENT_METHOD;

      self.__EncryptedUsername := Base64Encode(Username);
      self.__EncryptedPassword := Base64Encode(Password);

      self.__Username := Username;
      self.__Receiver := MailTo;
      self.__Subject := Subject;
      self.__BufferSize := 512;

      Pro_CreateSocket(@self.__ssl_info);
      Pro_ConnectSocket(@self.__ssl_info);

      SetLength(__Pro_Socket_Terminate_MAIL_Array, Length(__Pro_Socket_Terminate_MAIL_Array) + 1);
      __Pro_Socket_Terminate_MAIL_Array[High(__Pro_Socket_Terminate_MAIL_Array)] := @self.__ssl_info;
      AddOnTerminate('__Destroy_Pro_MAIL_Sockets');
    End;

    Procedure MAIL.Free;
    var
      I, J: Integer;
    Begin
      For I := 0 To High(__Pro_Socket_Terminate_MAIL_Array) Do
      Begin
        If (__Pro_Socket_Terminate_MAIL_Array[I] = @self.__ssl_info) Then
        Begin
          For J := I To High(__Pro_Socket_Terminate_MAIL_Array) - 1 Do
            __Pro_Socket_Terminate_MAIL_Array[J] := __Pro_Socket_Terminate_MAIL_Array[J + 1];

          SetLength(__Pro_Socket_Terminate_MAIL_Array, High(__Pro_Socket_Terminate_MAIL_Array));
        End;
      End;

      Pro_CloseSocket(@self.__ssl_info);
      Pro_FreeSocket(@self.__ssl_info);
    End;

    Procedure MAIL.SetSubject(subject: String);
    Begin
      self.__Subject := subject;
    End;

    Procedure MAIL.SetMessage(message: String);
    Begin
      self.__Message := message;
    End;

    Procedure MAIL.SetFromName(from_name: String)
    Begin
      self.__FromName := from_name;
    End;

    Procedure MAIL.SetToName(to_name: String);
    Begin
      self.__ToName := to_name;
    End;

    Procedure MAIL.SetBufferSize(size: Integer);
    Begin
      If (size > 0) Then
        self.__BufferSize := size;
    End;

    Procedure MAIL.SendMail;
    var
      Str: String;
    Begin
      If (self.__ssl_info.connected) Then
      Begin
        Str := 'EHLO ' + self.__Address + #13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));
        self.__PrintSocket();

        Str := 'AUTH LOGIN' + #13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));
        self.__PrintSocket();

        Pro_WriteSocket(@self.__ssl_info, self.__EncryptedUsername + #13#10, Length(self.__EncryptedUsername) + 2);
        self.__PrintSocket();

        Pro_WriteSocket(@self.__ssl_info, self.__EncryptedPassword + #13#10, Length(self.__EncryptedPassword) + 2);
        self.__PrintSocket();
        self.__PrintSocket();

        Str := 'MAIL FROM: <' + self.__Username + '>' + #13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));
        self.__PrintSocket();

        Str := 'VRFY ' + self.__Username + #13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));
        self.__PrintSocket();

        Str := 'RCPT TO: <' + self.__Receiver + '>' + #13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));
        self.__PrintSocket();

        Pro_WriteSocket(@self.__ssl_info, 'DATA' + #13#10, 6);
        self.__PrintSocket();

        Str := 'From: ' + self.__FromName + '<' + self.__Username + '>' + #13#10;
        Str := Str + 'To: ' + self.__ToName + '<' + self.__Receiver + '>' + #13#10;
        Str := Str + 'Subject: ' + self.__Subject + #13#10#13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));

        Pro_WriteSocket(@self.__ssl_info, self.__Message + #13#10 + '.' + #13#10, Length(self.__Message) + 5);
        self.__PrintSocket();
        Pro_WriteSocket(@self.__ssl_info, 'QUIT' + #13#10, 6);
        self.__PrintSocket();
      End;
    End;



    {$IFNDEF CODEINSIGHT}
    Function HTTPS.__GetHost(Address: String): String;
    var
      I: Integer;
    Begin
      I := Pos('://', Address);
      if (I >= 0) then
        Address := Copy(Address, I + 3, Length(Address) - I);

      I := Pos('/', Address);
      if (I > 0) then
        Address := Copy(Address, 0, I - 1);

      Result := Address;
    End;

    Function HTTPS.__GetLocation(Address: String): String;
    var
      I: Integer;
    Begin
      I := Pos('://', Address);
      if (I >= 0) then
        Address := Copy(Address, I + 3, Length(Address) - I);


      I := Pos('/', Address);
      if (I > 0) then
        Address := Copy(Address, I + 1, Length(Address) - I);

      Result := Address;
    End;

    Function HTTPS.__RecvLine: String;
    var
      Line: String;
      Character: Char;
    Begin
      While(True) Do
      Begin
        Pro_ReadSocket(@self.__ssl_info, @Character, 1);

        If (Character = #13) Then
        Begin
          Pro_ReadSocket(@self.__ssl_info, @Character, 1);
          If (Character = #10) Then Break;

          Line := Line + #13;
        End Else
          If (Character = #10) Then Break;

        Line := Line + Character;
      End;

      Result := Line;
    End;

    Function HTTPS.__RecvHeader: TStringArray;
    var
      I: Integer;
      Line: String;
    Begin
      While(True) Do
      Begin
        Line := self.__RecvLine();
        If (Length(Line) = 0) Then Exit;

        SetLength(Result, Length(Result) + 1);
        Result[I] := Line;
        Inc(I);
      End;
    End;

    Function HTTPS.__FindHeaderValue(LineToFind: String): String;
    var
      I, H, Position: Integer;
    Begin
      H := High(self.__Headers);

      For I := 0 To H Do
      Begin
        Position := Pos(':', self.__Headers[I]);
        If ((Position > 0) And (Copy(self.__Headers[I], 0, Position - 1) = LineToFind)) Then
        Begin
          Position := Pos(' ', self.__Headers[I]);
          If (Position <> 0) Then
          Begin
            Result := Copy(self.__Headers[I], Position + 1, Length(self.__Headers[I]) - Position);
            Exit;
          End;
        End;
      End;
    End;

    Function HTTPS.__RecvChunkSize: Integer;
    var
      Line: String;
      Position: Integer;
      Function HexToInt(Hex : String): Integer;
      var
        Str : String;
      Begin;
        Str := '$' + Trim(Hex);
        Result := StrToInt(Str);
        If (Pos('-', Hex) > 0) Then
          Result := -Result;
      End;
    Begin
      Line := self.__RecvLine();
      Position := Pos(';', Line);
      If (Position <> 0) Then
        Delete(Line, Position, 1);

      Result := HexToInt(Line);
    End;

    Function HTTPS.__ReadChunked: String;
    var
      Encoding: String;
      ChunkLength: Integer;
      Buffer: String;
      Bytes_Read: Integer;
    Begin
      SetLength(Buffer, self.__BufferSize);
      __MemSet(@Buffer[1], 0, self.__BufferSize);

      ChunkLength := 0;
      Encoding := Lowercase(self.GetHeader('Transfer-Encoding'));

      If (Encoding = 'chunked') Then
      Begin
        ChunkLength := self.__RecvChunkSize();
        While(ChunkLength <> 0) Do
        Begin
          Bytes_Read := Pro_ReadSocket(@self.__ssl_info, @Buffer[1], ChunkLength);
          Result := Result + Copy(Buffer, 0, Bytes_Read);
          __MemSet(@Buffer[1], 0, self.__BufferSize);
          self.__RecvLine();
          ChunkLength := self.__RecvChunkSize();
        End;
      End Else
        Begin
          Encoding := self.GetHeader('Content-Length');
          If (Length(Encoding) > 0) Then
          Begin
            ChunkLength := StrToIntDef(Encoding, -1);
            If (ChunkLength > 0) Then
            Begin
              Bytes_Read := 0;

              While(Bytes_Read < ChunkLength) Do
              Begin
                __MemSet(@Buffer[1], 0, self.__BufferSize);
                Bytes_Read := Bytes_Read + Pro_ReadSocket(@self.__ssl_info, @Buffer[1], self.__BufferSize);
                Result := Result + Copy(Buffer, 0, Bytes_Read);

                If ((Bytes_Read >= ChunkLength) or (Bytes_Read = 0)) Then
                  Break;
              End;
            End;
          End Else
            Begin
              While(True) Do
              Begin
                Bytes_Read := Pro_ReadSocket(@self.__ssl_info, @Buffer[1], self.__BufferSize);
                If (Bytes_Read = 0) Then
                  Break;
                Result := Result + Copy(Buffer, 0, Bytes_Read);
                __MemSet(@Buffer[1], 0, self.__BufferSize);
              End;
            End;
        End;
      Result := Trim(Replace(Result, #0, '', [rfReplaceAll]));
    End;
    {$ENDIF}

    Procedure HTTPS.Create(Address: String; Port: Word);
    Begin
      self.__Address := Address;
      self.__ssl_info.port := Port;
      self.__ssl_info.address := @self.__Address[1];
      self.__ssl_info.socktype := SSLSocketType.SSL23_CLIENT_METHOD;

      self.__BufferSize := 512;
      Pro_CreateSocket(@self.__ssl_info);
      Pro_ConnectSocket(@self.__ssl_info);

      SetLength(__Pro_Socket_Terminate_HTTPS_Array, Length(__Pro_Socket_Terminate_HTTPS_Array) + 1);
      __Pro_Socket_Terminate_HTTPS_Array[High(__Pro_Socket_Terminate_HTTPS_Array)] := @self.__ssl_info;
      AddOnTerminate('__Destroy_Pro_HTTPS_Sockets');
    End;

    Procedure HTTPS.Free;
    var
      I, J: Integer;
    Begin
      For I := 0 To High(__Pro_Socket_Terminate_HTTPS_Array) Do
      Begin
        If (__Pro_Socket_Terminate_HTTPS_Array[I] = @self.__ssl_info) Then
        Begin
          For J := I To High(__Pro_Socket_Terminate_HTTPS_Array) - 1 Do
            __Pro_Socket_Terminate_HTTPS_Array[J] := __Pro_Socket_Terminate_HTTPS_Array[J + 1];

          SetLength(__Pro_Socket_Terminate_HTTPS_Array, High(__Pro_Socket_Terminate_HTTPS_Array));
        End;
      End;

      Pro_FreeSocket(@self.__ssl_info);
      Pro_CloseSocket(@self.__ssl_info);
    End;

    Procedure HTTPS.ClearParameters;
    Begin
      SetLength(self.__ParameterKeys, 0);
      SetLength(self.__ParameterValues, 0);
    End;

    Function HTTPS.GetParameter(Parameter: String): String;
    var
      I: Integer;
    Begin
      For I := 0 To High(self.__ParameterKeys) Do
        If (self.__ParameterKeys[I] = Lowercase(Parameter)) Then
        Begin
          Result := self.__ParameterValues[I];
          Break;
        End;
    End;

    Procedure HTTPS.SetParameter(Parameter, Value: String);
    var
      I, L: Integer;
      Exists: Boolean;
    Begin
      Exists := False;
      L := Length(__ParameterKeys);

      For I := 0 To L - 1 Do
        If (self.__ParameterKeys[I] = Lowercase(Parameter)) Then
        Begin
          self.__ParameterValues[I] := Lowercase(Parameter);
          Exists := True;
          Break;
        End;

      If (Not Exists) Then
      Begin
        SetLength(self.__ParameterKeys, L + 1);
        SetLength(self.__ParameterValues, L + 1);
        self.__ParameterKeys[L] := Lowercase(Parameter);
        self.__ParameterValues[L] := Value;
      End;
    End;

    Function HTTPS.GetHeader(Key: String): String;
    Begin
      If (Length(self.__Headers) <= 0) Then
        self.__Headers := self.__RecvHeader();

      Result := self.__FindHeaderValue(Key);
    End;

    Function HTTPS.CreateGetHeader: String;
    var
      I, J: Integer;
      Generic_Keys: Array of String;
      Generic_Values: Array of String;

      Function KeyFound(this: ^HTTPS; Generic_Key: String): Boolean;
      var
        I: Integer;
      Begin
        Result := False;
        For I := 0 To High(this^.__ParameterKeys) Do
        Begin
          If (this^.__ParameterKeys[I] = Lowercase(Generic_Key)) Then
          Begin
            Result := True;
            Exit;
          End;
        End;
      End;

    Begin
      Generic_Keys := ['Connection', 'User-Agent', 'Accept', 'Accept-Language', 'Accept-Charset', 'Cache-Control'];
      Generic_Values := ['close', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',
                          'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'en-US,en;q=0.8', 'ISO-8859-1,UTF-8;q=0.7,*;q=0.7',
                          'no-cache'];

      Result := 'GET /' + self.__GetLocation(self.__Address) + ' HTTP/1.1' + #13#10;
      Result := Result + 'Host: ' + self.__GetHost(self.__Address) + #13#10;

      For I := 0 To High(Generic_Keys) Do
      Begin
        If (KeyFound(@self, Generic_Keys[I])) Then
          Result := Result + self.__ParameterKeys[I] + ': ' + self.__ParameterValues[I] + #13#10
        Else
          Result := Result + Generic_Keys[I] + ': ' + Generic_Values[I] + #13#10;
      End;

      Result := Result + #13#10;
    End;

    Function HTTPS.GetPage: String;
    var
      Header: String;
    Begin
      Header := self.CreateGetHeader();
      Pro_WriteSocket(@self.__ssl_info, Header, Length(Header));
      Result := self.__ReadChunked;
    End;

    Function HTTPS.GetRawPage: String;
    var
      Header: String;
      Buffer: String;
      Bytes_Read: Integer;
    Begin
      Header := self.CreateGetHeader();
      Pro_WriteSocket(@self.__ssl_info, Header, Length(Header));
      self.__RecvHeader();

      SetLength(Buffer, self.__BufferSize);
      __MemSet(@Buffer[1], 0, self.__BufferSize);

      While((Bytes_Read := Pro_ReadSocket(@self.__ssl_info, @Buffer[1], self.__BufferSize)) > 0) Do
      Begin
        Result := Result + Trim(Buffer);
        __MemSet(@Buffer[1], 0, self.__BufferSize);
      End;

      Result := Trim(Replace(Result, #0, '', [rfReplaceAll]));
    End;

  12. #362
    Join Date
    Jul 2012
    Location
    Australia
    Posts
    136
    Mentioned
    0 Post(s)
    Quoted
    57 Post(s)

    Default

    Quote Originally Posted by bonsai View Post
    Can't read that little pic so I'll nod my head yes

    Here's Brandon's socs.simba file recopied from his post


    Simba Code:
    {$loadlib ProSock}

    type
      MAIL = record
        {$IFNDEF CODEINSIGHT}
        __Address: String;
        __Username: String;
        __EncryptedUsername: String;
        __EncryptedPassword: String;
        __Receiver: String;
        __FromName: String;
        __ToName: String;
        __Subject: String;
        __Message: String;
        __BufferSize: Integer;
        __ssl_info: SSLSocket;
        {$ENDIF}
      end;

    type
      HTTPS = record
      {$IFNDEF CODEINSIGHT}
      __Headers: Array Of String;
      __ParameterKeys: Array Of String;
      __ParameterValues: Array Of String;
      __Host: String;
      __Address: String;
      __BufferSize: Integer;
      __ssl_info: SSLSocket;
      {$ENDIF}
      end;

    {$IFNDEF CODEINSIGHT}
    var
      __Pro_Socket_Terminate_MAIL_Array: Array of ^SSLSocket;
      __Pro_Socket_Terminate_HTTPS_Array: Array of ^SSLSocket;

    Procedure __Destroy_Pro_MAIL_Sockets;
    var
      I: Integer;
    Begin
      For I := 0 To High(__Pro_Socket_Terminate_MAIL_Array) Do
        Pro_FreeSocket(__Pro_Socket_Terminate_MAIL_Array[I]);
      SetLength(__Pro_Socket_Terminate_MAIL_Array, 0);
    End;

    Procedure __Destroy_Pro_HTTPS_Sockets;
    var
      I: Integer;
    Begin
      For I := 0 To High(__Pro_Socket_Terminate_HTTPS_Array) Do
        Pro_FreeSocket(__Pro_Socket_Terminate_HTTPS_Array[I]);
      SetLength(__Pro_Socket_Terminate_HTTPS_Array, 0);
    End;

    Procedure __MemSet(Buffer: Pointer; Value: Byte; Size: Cardinal);
    type
      BytePtr = ^Byte;
    var
      I: Integer;
    Begin
      For I := 0 To Size Do
        BytePtr(Buffer)[I]^ := Value;
    End;

    Procedure MAIL.__PrintSocket();
    var
      Buffer: String;
      Bytes_Read: Integer;
    Begin
      SetLength(Buffer, self.__BufferSize);
      __MemSet(@Buffer[1], 0, self.__BufferSize);

      While((Bytes_Read := Pro_ReadSocket(@self.__ssl_info, @Buffer[1], self.__BufferSize)) > 0) Do
      Begin
        writeln(Trim(Buffer));
        __MemSet(@Buffer[1], 0, self.__BufferSize);
        If (Not Pro_IsPendingSocket(@self.__ssl_info)) Then
          break;
      End;
    End;
    {$ENDIF}

    Procedure MAIL.Create(Address: String; Port: Word; Username, Password, MailTo: String);
    Begin
      Self.Create(Address, Port, Username, Password, MailTo, '');
    End;

    Procedure MAIL.Create(Address: String; Port: Word; Username, Password, MailTo, Subject: String) overload;
    Begin
      self.__Address := Address;
      self.__ssl_info.port := Port;
      self.__ssl_info.address := @self.__Address[1];
      self.__ssl_info.socktype := SSLSocketType.SSL23_CLIENT_METHOD;

      self.__EncryptedUsername := Base64Encode(Username);
      self.__EncryptedPassword := Base64Encode(Password);

      self.__Username := Username;
      self.__Receiver := MailTo;
      self.__Subject := Subject;
      self.__BufferSize := 512;

      Pro_CreateSocket(@self.__ssl_info);
      Pro_ConnectSocket(@self.__ssl_info);

      SetLength(__Pro_Socket_Terminate_MAIL_Array, Length(__Pro_Socket_Terminate_MAIL_Array) + 1);
      __Pro_Socket_Terminate_MAIL_Array[High(__Pro_Socket_Terminate_MAIL_Array)] := @self.__ssl_info;
      AddOnTerminate('__Destroy_Pro_MAIL_Sockets');
    End;

    Procedure MAIL.Free;
    var
      I, J: Integer;
    Begin
      For I := 0 To High(__Pro_Socket_Terminate_MAIL_Array) Do
      Begin
        If (__Pro_Socket_Terminate_MAIL_Array[I] = @self.__ssl_info) Then
        Begin
          For J := I To High(__Pro_Socket_Terminate_MAIL_Array) - 1 Do
            __Pro_Socket_Terminate_MAIL_Array[J] := __Pro_Socket_Terminate_MAIL_Array[J + 1];

          SetLength(__Pro_Socket_Terminate_MAIL_Array, High(__Pro_Socket_Terminate_MAIL_Array));
        End;
      End;

      Pro_CloseSocket(@self.__ssl_info);
      Pro_FreeSocket(@self.__ssl_info);
    End;

    Procedure MAIL.SetSubject(subject: String);
    Begin
      self.__Subject := subject;
    End;

    Procedure MAIL.SetMessage(message: String);
    Begin
      self.__Message := message;
    End;

    Procedure MAIL.SetFromName(from_name: String)
    Begin
      self.__FromName := from_name;
    End;

    Procedure MAIL.SetToName(to_name: String);
    Begin
      self.__ToName := to_name;
    End;

    Procedure MAIL.SetBufferSize(size: Integer);
    Begin
      If (size > 0) Then
        self.__BufferSize := size;
    End;

    Procedure MAIL.SendMail;
    var
      Str: String;
    Begin
      If (self.__ssl_info.connected) Then
      Begin
        Str := 'EHLO ' + self.__Address + #13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));
        self.__PrintSocket();

        Str := 'AUTH LOGIN' + #13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));
        self.__PrintSocket();

        Pro_WriteSocket(@self.__ssl_info, self.__EncryptedUsername + #13#10, Length(self.__EncryptedUsername) + 2);
        self.__PrintSocket();

        Pro_WriteSocket(@self.__ssl_info, self.__EncryptedPassword + #13#10, Length(self.__EncryptedPassword) + 2);
        self.__PrintSocket();
        self.__PrintSocket();

        Str := 'MAIL FROM: <' + self.__Username + '>' + #13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));
        self.__PrintSocket();

        Str := 'VRFY ' + self.__Username + #13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));
        self.__PrintSocket();

        Str := 'RCPT TO: <' + self.__Receiver + '>' + #13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));
        self.__PrintSocket();

        Pro_WriteSocket(@self.__ssl_info, 'DATA' + #13#10, 6);
        self.__PrintSocket();

        Str := 'From: ' + self.__FromName + '<' + self.__Username + '>' + #13#10;
        Str := Str + 'To: ' + self.__ToName + '<' + self.__Receiver + '>' + #13#10;
        Str := Str + 'Subject: ' + self.__Subject + #13#10#13#10;
        Pro_WriteSocket(@self.__ssl_info, Str, Length(Str));

        Pro_WriteSocket(@self.__ssl_info, self.__Message + #13#10 + '.' + #13#10, Length(self.__Message) + 5);
        self.__PrintSocket();
        Pro_WriteSocket(@self.__ssl_info, 'QUIT' + #13#10, 6);
        self.__PrintSocket();
      End;
    End;



    {$IFNDEF CODEINSIGHT}
    Function HTTPS.__GetHost(Address: String): String;
    var
      I: Integer;
    Begin
      I := Pos('://', Address);
      if (I >= 0) then
        Address := Copy(Address, I + 3, Length(Address) - I);

      I := Pos('/', Address);
      if (I > 0) then
        Address := Copy(Address, 0, I - 1);

      Result := Address;
    End;

    Function HTTPS.__GetLocation(Address: String): String;
    var
      I: Integer;
    Begin
      I := Pos('://', Address);
      if (I >= 0) then
        Address := Copy(Address, I + 3, Length(Address) - I);


      I := Pos('/', Address);
      if (I > 0) then
        Address := Copy(Address, I + 1, Length(Address) - I);

      Result := Address;
    End;

    Function HTTPS.__RecvLine: String;
    var
      Line: String;
      Character: Char;
    Begin
      While(True) Do
      Begin
        Pro_ReadSocket(@self.__ssl_info, @Character, 1);

        If (Character = #13) Then
        Begin
          Pro_ReadSocket(@self.__ssl_info, @Character, 1);
          If (Character = #10) Then Break;

          Line := Line + #13;
        End Else
          If (Character = #10) Then Break;

        Line := Line + Character;
      End;

      Result := Line;
    End;

    Function HTTPS.__RecvHeader: TStringArray;
    var
      I: Integer;
      Line: String;
    Begin
      While(True) Do
      Begin
        Line := self.__RecvLine();
        If (Length(Line) = 0) Then Exit;

        SetLength(Result, Length(Result) + 1);
        Result[I] := Line;
        Inc(I);
      End;
    End;

    Function HTTPS.__FindHeaderValue(LineToFind: String): String;
    var
      I, H, Position: Integer;
    Begin
      H := High(self.__Headers);

      For I := 0 To H Do
      Begin
        Position := Pos(':', self.__Headers[I]);
        If ((Position > 0) And (Copy(self.__Headers[I], 0, Position - 1) = LineToFind)) Then
        Begin
          Position := Pos(' ', self.__Headers[I]);
          If (Position <> 0) Then
          Begin
            Result := Copy(self.__Headers[I], Position + 1, Length(self.__Headers[I]) - Position);
            Exit;
          End;
        End;
      End;
    End;

    Function HTTPS.__RecvChunkSize: Integer;
    var
      Line: String;
      Position: Integer;
      Function HexToInt(Hex : String): Integer;
      var
        Str : String;
      Begin;
        Str := '$' + Trim(Hex);
        Result := StrToInt(Str);
        If (Pos('-', Hex) > 0) Then
          Result := -Result;
      End;
    Begin
      Line := self.__RecvLine();
      Position := Pos(';', Line);
      If (Position <> 0) Then
        Delete(Line, Position, 1);

      Result := HexToInt(Line);
    End;

    Function HTTPS.__ReadChunked: String;
    var
      Encoding: String;
      ChunkLength: Integer;
      Buffer: String;
      Bytes_Read: Integer;
    Begin
      SetLength(Buffer, self.__BufferSize);
      __MemSet(@Buffer[1], 0, self.__BufferSize);

      ChunkLength := 0;
      Encoding := Lowercase(self.GetHeader('Transfer-Encoding'));

      If (Encoding = 'chunked') Then
      Begin
        ChunkLength := self.__RecvChunkSize();
        While(ChunkLength <> 0) Do
        Begin
          Bytes_Read := Pro_ReadSocket(@self.__ssl_info, @Buffer[1], ChunkLength);
          Result := Result + Copy(Buffer, 0, Bytes_Read);
          __MemSet(@Buffer[1], 0, self.__BufferSize);
          self.__RecvLine();
          ChunkLength := self.__RecvChunkSize();
        End;
      End Else
        Begin
          Encoding := self.GetHeader('Content-Length');
          If (Length(Encoding) > 0) Then
          Begin
            ChunkLength := StrToIntDef(Encoding, -1);
            If (ChunkLength > 0) Then
            Begin
              Bytes_Read := 0;

              While(Bytes_Read < ChunkLength) Do
              Begin
                __MemSet(@Buffer[1], 0, self.__BufferSize);
                Bytes_Read := Bytes_Read + Pro_ReadSocket(@self.__ssl_info, @Buffer[1], self.__BufferSize);
                Result := Result + Copy(Buffer, 0, Bytes_Read);

                If ((Bytes_Read >= ChunkLength) or (Bytes_Read = 0)) Then
                  Break;
              End;
            End;
          End Else
            Begin
              While(True) Do
              Begin
                Bytes_Read := Pro_ReadSocket(@self.__ssl_info, @Buffer[1], self.__BufferSize);
                If (Bytes_Read = 0) Then
                  Break;
                Result := Result + Copy(Buffer, 0, Bytes_Read);
                __MemSet(@Buffer[1], 0, self.__BufferSize);
              End;
            End;
        End;
      Result := Trim(Replace(Result, #0, '', [rfReplaceAll]));
    End;
    {$ENDIF}

    Procedure HTTPS.Create(Address: String; Port: Word);
    Begin
      self.__Address := Address;
      self.__ssl_info.port := Port;
      self.__ssl_info.address := @self.__Address[1];
      self.__ssl_info.socktype := SSLSocketType.SSL23_CLIENT_METHOD;

      self.__BufferSize := 512;
      Pro_CreateSocket(@self.__ssl_info);
      Pro_ConnectSocket(@self.__ssl_info);

      SetLength(__Pro_Socket_Terminate_HTTPS_Array, Length(__Pro_Socket_Terminate_HTTPS_Array) + 1);
      __Pro_Socket_Terminate_HTTPS_Array[High(__Pro_Socket_Terminate_HTTPS_Array)] := @self.__ssl_info;
      AddOnTerminate('__Destroy_Pro_HTTPS_Sockets');
    End;

    Procedure HTTPS.Free;
    var
      I, J: Integer;
    Begin
      For I := 0 To High(__Pro_Socket_Terminate_HTTPS_Array) Do
      Begin
        If (__Pro_Socket_Terminate_HTTPS_Array[I] = @self.__ssl_info) Then
        Begin
          For J := I To High(__Pro_Socket_Terminate_HTTPS_Array) - 1 Do
            __Pro_Socket_Terminate_HTTPS_Array[J] := __Pro_Socket_Terminate_HTTPS_Array[J + 1];

          SetLength(__Pro_Socket_Terminate_HTTPS_Array, High(__Pro_Socket_Terminate_HTTPS_Array));
        End;
      End;

      Pro_FreeSocket(@self.__ssl_info);
      Pro_CloseSocket(@self.__ssl_info);
    End;

    Procedure HTTPS.ClearParameters;
    Begin
      SetLength(self.__ParameterKeys, 0);
      SetLength(self.__ParameterValues, 0);
    End;

    Function HTTPS.GetParameter(Parameter: String): String;
    var
      I: Integer;
    Begin
      For I := 0 To High(self.__ParameterKeys) Do
        If (self.__ParameterKeys[I] = Lowercase(Parameter)) Then
        Begin
          Result := self.__ParameterValues[I];
          Break;
        End;
    End;

    Procedure HTTPS.SetParameter(Parameter, Value: String);
    var
      I, L: Integer;
      Exists: Boolean;
    Begin
      Exists := False;
      L := Length(__ParameterKeys);

      For I := 0 To L - 1 Do
        If (self.__ParameterKeys[I] = Lowercase(Parameter)) Then
        Begin
          self.__ParameterValues[I] := Lowercase(Parameter);
          Exists := True;
          Break;
        End;

      If (Not Exists) Then
      Begin
        SetLength(self.__ParameterKeys, L + 1);
        SetLength(self.__ParameterValues, L + 1);
        self.__ParameterKeys[L] := Lowercase(Parameter);
        self.__ParameterValues[L] := Value;
      End;
    End;

    Function HTTPS.GetHeader(Key: String): String;
    Begin
      If (Length(self.__Headers) <= 0) Then
        self.__Headers := self.__RecvHeader();

      Result := self.__FindHeaderValue(Key);
    End;

    Function HTTPS.CreateGetHeader: String;
    var
      I, J: Integer;
      Generic_Keys: Array of String;
      Generic_Values: Array of String;

      Function KeyFound(this: ^HTTPS; Generic_Key: String): Boolean;
      var
        I: Integer;
      Begin
        Result := False;
        For I := 0 To High(this^.__ParameterKeys) Do
        Begin
          If (this^.__ParameterKeys[I] = Lowercase(Generic_Key)) Then
          Begin
            Result := True;
            Exit;
          End;
        End;
      End;

    Begin
      Generic_Keys := ['Connection', 'User-Agent', 'Accept', 'Accept-Language', 'Accept-Charset', 'Cache-Control'];
      Generic_Values := ['close', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',
                          'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'en-US,en;q=0.8', 'ISO-8859-1,UTF-8;q=0.7,*;q=0.7',
                          'no-cache'];

      Result := 'GET /' + self.__GetLocation(self.__Address) + ' HTTP/1.1' + #13#10;
      Result := Result + 'Host: ' + self.__GetHost(self.__Address) + #13#10;

      For I := 0 To High(Generic_Keys) Do
      Begin
        If (KeyFound(@self, Generic_Keys[I])) Then
          Result := Result + self.__ParameterKeys[I] + ': ' + self.__ParameterValues[I] + #13#10
        Else
          Result := Result + Generic_Keys[I] + ': ' + Generic_Values[I] + #13#10;
      End;

      Result := Result + #13#10;
    End;

    Function HTTPS.GetPage: String;
    var
      Header: String;
    Begin
      Header := self.CreateGetHeader();
      Pro_WriteSocket(@self.__ssl_info, Header, Length(Header));
      Result := self.__ReadChunked;
    End;

    Function HTTPS.GetRawPage: String;
    var
      Header: String;
      Buffer: String;
      Bytes_Read: Integer;
    Begin
      Header := self.CreateGetHeader();
      Pro_WriteSocket(@self.__ssl_info, Header, Length(Header));
      self.__RecvHeader();

      SetLength(Buffer, self.__BufferSize);
      __MemSet(@Buffer[1], 0, self.__BufferSize);

      While((Bytes_Read := Pro_ReadSocket(@self.__ssl_info, @Buffer[1], self.__BufferSize)) > 0) Do
      Begin
        Result := Result + Trim(Buffer);
        __MemSet(@Buffer[1], 0, self.__BufferSize);
      End;

      Result := Trim(Replace(Result, #0, '', [rfReplaceAll]));
    End;
    Sorry! No idea why it went so small! >.<
    So I just copy and save that as a .simba file?

  13. #363
    Join Date
    Jan 2014
    Posts
    147
    Mentioned
    7 Post(s)
    Quoted
    75 Post(s)

    Default

    Motion detection in a big area with only 1 mob is amazing, I'd rather use the autodetect for places like chaos tunnels otherwise the motion detection is muuuuchh smoother

  14. #364
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by Godless View Post
    Sorry! No idea why it went so small! >.<
    So I just copy and save that as a .simba file?
    Correct - as c:\simba\includes\socks.simba

    Quote Originally Posted by uhit View Post
    Motion detection in a big area with only 1 mob is amazing, I'd rather use the autodetect for places like chaos tunnels otherwise the motion detection is muuuuchh smoother
    Heck yeah, plus no breaking on updates!

    Probably not so good in the stonghold since it will click outside of our 'room'. It's ok in lumby, it wanders around.

  15. #365
    Join Date
    Feb 2007
    Location
    Alberta, Canada
    Posts
    4,615
    Mentioned
    50 Post(s)
    Quoted
    429 Post(s)

    Default

    Quote Originally Posted by bonsai View Post
    Probably not so good in the stonghold since it will click outside of our 'room'. It's ok in lumby, it wanders around.
    Since I suck at RS but would like to test the script:

    Where would your recommended area be for a ~30 cmb (from your script earlier) which I'd now like to train mage on (using a mindspike or whatever it's called). I'll be trying it out this evening if I can find a good spot and good mob to train on.

    Scripts: Edgeville Chop & Bank, GE Merchanting Aid
    Tutorials: How to Dominate the Grand Exchange

    Quote Originally Posted by YoHoJo View Post
    I like hentai.

  16. #366
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by 3Garrett3 View Post
    Since I suck at RS but would like to test the script:

    Where would your recommended area be for a ~30 cmb (from your script earlier) which I'd now like to train mage on (using a mindspike or whatever it's called). I'll be trying it out this evening if I can find a good spot and good mob to train on.
    The lumbridge dungeon would have plenty of things to progress through and will work good with the motion detect mode. That's where I've been doing most of my recent testing.

    You have to do the Blood Pact quest to get in there (quick quest and you get better weapons than you start with).

    Definitely a babysitting spot though. It's too active to leave them there for hours.

  17. #367
    Join Date
    Jan 2014
    Posts
    147
    Mentioned
    7 Post(s)
    Quoted
    75 Post(s)

    Default

    There's always cows in lumby

  18. #368
    Join Date
    Sep 2014
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    Sorry if this is noobish first time doing anything like this. but where exactly do I locate SIMBADIR\includes\socks.simba trying to add the include and thats all that is tieing me up lol

  19. #369
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by intradaydude View Post
    Sorry if this is noobish first time doing anything like this. but where exactly do I locate SIMBADIR\includes\socks.simba trying to add the include and thats all that is tieing me up lol
    No need to be sorry. You need to copy the text posted and CREATE a NEW socks.simba file there.

    If you installed with defaults, c:\simba\includes

    And make sure you copy Prosock.dll from Brandons post into c:\simba\plugins

  20. #370
    Join Date
    Sep 2014
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    ok thanks!, did that now getting a new error
    Exception in Script: Invalid evaluation at line 13, column 1

  21. #371
    Join Date
    Sep 2014
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    Hey man, sorry what you pmed me worked perfectly! but I cant respond to you, since Im brand new. My last question if you dont mind, it said everything was successful, what do I do to start getting the script to work in smart now?

  22. #372
    Join Date
    Sep 2014
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    ah nvm I got it, I kept running the installer :P

  23. #373
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by intradaydude View Post
    ah nvm I got it, I kept running the installer :P
    I knew there was a reason I made the installers delete themselves.


  24. #374
    Join Date
    Sep 2014
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    lmao, This is probably again my fault, its logging me in, then clicking the play button instead of selecting the identified server, this is hanging it up. It isnt realizing it is logged in and is timing out

  25. #375
    Join Date
    Oct 2013
    Location
    East Coast USA
    Posts
    770
    Mentioned
    61 Post(s)
    Quoted
    364 Post(s)

    Default

    Quote Originally Posted by intradaydude View Post
    lmao, This is probably again my fault, its logging me in, then clicking the play button instead of selecting the identified server, this is hanging it up. It isnt realizing it is logged in and is timing out
    SRL is a little flaky with logins right now. Sometime they work, sometimes not so good.

    Log it into your place by hand, then run it while logged in.

    (edit)
    Actually, your screen settings may be off too. Double check everything on the simba install post. Brightness, presets, etc.

Page 15 of 55 FirstFirst ... 5131415161725 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •