Ogłoszenie

Zwiń
No announcement yet.

Zmiana stylu czcionki w bocie.

Zwiń
X
 
  • Filtr
  • Czas
  • Pokaż
Wyczyść wszystko
new posts

    Zmiana stylu czcionki w bocie.

    Już chwilę temu analizując bibliotekę MessageBuilder znalazłem oraz sprawdziłem, że jest to możliwe. Tylko dlaczego niby robić to manualnie poprzez edycję klasy? Tutaj opiszę co należy edytować w klasie aby dodać taką możliwość. Jako, że nie widzę potrzeby wykorzystywania zmiany stylu kilkakrotnie podczas działania skryptu moja metoda będzie zmieniała styl, aż do wyczyszczenia obiektu

    Zmiany są bardzo łatwe, także zachęcam każdego do takowej edycji. Zmiany(przynajmniej mnie) zajęły 5 min

    1. Na początek odpalamy sobie w naszym edytorze bibliotekę MessageBuilder i odszukujemy fragment
    Kod php:
    public $html='';
    public 
    $text='';
    public 
    $format=''
    W najnowszej wersji biblioteki są to linijki kolejno 50, 5q, 52. Poniżej dodajemy linijkę
    Kod php:
    private $style='MS Shell Dlg 2'
    W tym momencie dodajemy prywatne pole zawierające styl.

    2. Teraz zajmiemy się dodaniem metody, która edytuje nam to pole. Nie ważne w którym miejscu ją umieścimy ale dla ładu i składu umieśćmy ją zaraz po metodzie clear. Skoro jesteśmy już na wysokości tej metody edytujmy, także ją, aby po wyczyszczeniu styl wracał do oryginalnego stanu. Prawidłowy kod powinien wyglądać tak:
    Kod php:
    public function clear()
    {
        
    $this->recipientNumbers=array();

        
    $this->sendToOffline=true;

        
    $this->html='';
        
    $this->text='';
        
    $this->format='';
        
    $this->style 'MS Shell Dlg 2';

        
    $this->R=0;
        
    $this->G=0;
        
    $this->B=0;
    }

    public function 
    setStyle($style)
    {
        
    $this->style=$style;
        return 
    $this;

    3. Jak na razie praktycznie nie ingerowaliśmy w działanie klasy. Doczepiliśmy jedynie nasz dodatkowy fragment. Pora to zmienić
    Odszukujemy ten fragment w metodzie getProtocolMessage
    Kod php:
    if (preg_match('/^<span[^>]*>.+<\/span>$/s'$this->html$o)) {
        if (
    $o[0]!=$this->html)
            
    $this->html='<span style="color:#000000; font-family:\'MS Shell Dlg 2\'; font-size:9pt; ">'.$this->html.'</span>';

    } else
        
    $this->html='<span style="color:#000000; font-family:\'MS Shell Dlg 2\'; font-size:9pt; ">'.$this->html.'</span>';


    $s=pack('VVVV'strlen($this->html)+1strlen($this->text)+10, ((empty($this->format)) ? strlen($this->format)+3)).$this->html."\0".$this->text."\0".((empty($this->format)) ? '' pack('Cv'0x02strlen($this->format)).$this->format); 
    i edytujemy na
    Kod php:
    if (preg_match('/^<span[^>]*>.+<\/span>$/s'$this->html$o)) {
        if (
    $o[0]!=$this->html)
            
    $this->html='<span style="color:#000000; font-family:\''.$this->style.'\'; font-size:9pt; ">'.$this->html.'</span>';
        else
            
    $this->html='<span style="color:#000000; font-family:\''.$this->style.'\'; font-size:9pt; ">'.$this->html.'</span>';

    } else
        
    $this->html='<span style="color:#000000; font-family:\''.$this->style.'\'; font-size:9pt; ">'.$this->html.'</span>';


    $s=pack('VVVV'strlen($this->html)+1strlen($this->text)+10, ((empty($this->format)) ? strlen($this->format)+3)).$this->html."\0".$this->text."\0".((empty($this->format)) ? '' pack('Cv'0x02strlen($this->format)).$this->format); 
    No i koniec. Od dzisiaj za pomocą metody setStyle możecie zmienić styl czcioki
    Ostatnio edytowany przez Wazniak96; [ARG:4 UNDEFINED]. Powód: Teraz już działa, także bez znacznika bold ;p

    #2
    Dzięki. Działa świetnie

    Komentarz


      #3
      Dałeś kod i każdy zmienia. Na kompie to czasem nie widać co pisze, ale działa i to sie chyba liczy.
      Najlepsze CzatyGG na
      SuppBocie
      (gg:48909067) pod
      komendą /Au

      Komentarz

      Pracuję...
      X