Mały skrypcik.

More
13 years 5 months ago - 13 years 5 months ago #92929 by Fclan
Mały skrypcik. was created by Fclan
Witam, otóż nudząc się postanowiłem napisać takie małe coś:

Jest to skrypt, który wyśle wiadomość na kanał, jeżeli na stronie sensiblesoccer.de pojawi się nowo wpisany wynik (chodzi o amigę ooo)
Skrypt jest kompatybilny z klientem mIRC , który można pobrać z mirc.com, zresztą większość używa właśnie tego.
Udostępniam go publicznie, jeśli ktoś będzie chciał go wykorzystać musi wykonać następujące czynności:

Korzystając z mIRCA wciskamy kombinację klawiszy: ALT+R

Pojawi nam się okienko do pisania skryptów, kopiujemy tam poniższy kod:
on 1:TEXT:!wyniki:#sensible.pl:/msg #sensible.pl $read(res.txt,1)
alias start {

  // Ustawienia
  set %channel #sensible.pl
  set %czas 5

  /timer1 0 %czas /ticker
  echo Skrypt uruchomiony.

}

alias stop { 

  /timer1 off
  echo Skrypt zatrzymany.

}
alias wyniki { 

  /ticker
}
alias ticker { 
  set %old.r $remove(%p1 %r1 $+ : $+ %r2 %p2  $+ %d $+ , nbsp; , nbsp;, )
  write -c res.txt
  sockopen ticker www.sensiblesoccer.de 80

}
on *:SOCKOPEN:ticker: {
  sockwrite -n $sockname GET /index.php?site=online_amigaoneonone_result HTTP/1.1
  sockwrite -n $sockname Host: www.sensiblesoccer.de
  sockwrite -n $sockname $crlf

}

on *:SOCKREAD:ticker: {
  sockread %temp

  if ( TD class= ranking2  align= right  width= 140   isin %temp) {
    set %p1 $left($gettok(%temp,3,62),-3)

  }
  elseif ( TD align= center  width= 50   isin %temp) {
    set %r1 $left($gettok(%temp,5,62),-3)
    set %r2 $left($gettok(%temp,9,62),-3)
  }
  elseif ( TD class= ranking2  align= left  width= 140   isin %temp) {
    set %p2 $left($gettok(%temp,3,62),-3)
  }
  elseif ( td align= center  class= medium  style= color:#c0c0c0   isin %temp) {
    set %d $left($gettok(%temp,2,62),-3)

    write res.txt $remove(%p1 %r1 $+ : $+ %r2 %p2  $+ %d $+ , nbsp; , nbsp;, )

    clear @Wyniki
    if %old.r != $remove(%p1 %r1 $+ : $+ %r2 %p2  $+ %d $+ , nbsp; , nbsp;, ) {  

      /msg %channel $read(res.txt,1)
    }

    sockclose ticker

  }
}

Będzie to mniej więcej tak wyglądać:



Klikamy OK i skrypt jest już gotowy do użycia.

Ustawienia:
Na samym początku skryptu mamy coś takiego:
// Ustawienia
  set %channel #sensible.pl
  set %czas 60

Można tu ustawić na jaki kanał ma być wysyłana wiadomość oraz co jaki czas (w sekundach) skrypt będzie sprawdzał, czy pojawiły się jakieś nowe wyniki na stronie.

Istnieje również możliwość sprawdzenia ostatniego wyniku, wystarczy wpisać !wyniki na kanale. Komenda ta nie działa dla osoby, która uruchomiła skrypt.

Aby uruchomić skrypt wpisujemy w jakimkolwiek oknie /start aby zatrzymać go wpisujemy /stop

No, to chyba tyle :P

Please Log in or Create an account to join the conversation.

More
13 years 5 months ago #92930 by cinek
Replied by cinek on topic Re: Mały skrypcik.
Ty chyba masz ostatnio za dużo czasu :P Dobra robota!

Please Log in or Create an account to join the conversation.

More
13 years 5 months ago #92932 by ulg81
Replied by ulg81 on topic Re: Mały skrypcik.
zajefajne :D

Please Log in or Create an account to join the conversation.

More
13 years 5 months ago #92941 by Fclan
Replied by Fclan on topic Re: Mały skrypcik.
Proponuję zmienić czas sprawdzania z 60 sekund, na częstsze 5-10 sekund, bo w trakcie jednej minuty da radę wpisać więcej niż 1 wynik i wtedy niektóre wyniki są pomijane :P

Please Log in or Create an account to join the conversation.

More
13 years 5 months ago #93020 by bobrix
Replied by bobrix on topic Re: Mały skrypcik.
Fajnie teraz jak ci się naprawdę nudzi można zrobić tak żeby zczytywało bezpośrednio z emulatora końcowy wynik i pisało na ircu, coś jak dzembot tylke nie cały mecz bo wykopie za spam :D. Czytanie z pamieci winuae kiedy gol itp to jakis sajgon jest :P

Please Log in or Create an account to join the conversation.

More
13 years 5 months ago #93022 by Fclan
Replied by Fclan on topic Re: Mały skrypcik.
Aż tak mi się nie nudzi :P

Please Log in or Create an account to join the conversation.

More
13 years 5 months ago #93062 by olesio
Replied by olesio on topic Re: Mały skrypcik.
bobrix: jest gotowa i odświeżona wersja przygotowana SS Reportera na bazie kodu od
RedHaira i jego IRC Reportera, można z niej skopiować wyniki na koniec do schowka i
podać je na kanale. Niestety RedHair nie odpisał mi do tej pory na propozycję czy owy
program można by udostępnić dla szarszego grona. Jak coś się zmieni - to dam znać.

Please Log in or Create an account to join the conversation.

More
13 years 5 months ago #93109 by Shogun
Replied by Shogun on topic Re: Mały skrypcik.
FcLan, dobre.
napisz jescze pod AmigaSwos :D
zeby podczas meczu maja, nie ktorzy i nie chca udostepnic :(

Please Log in or Create an account to join the conversation.

More
12 years 5 months ago #107513 by Fclan
Replied by Fclan on topic Re: Mały skrypcik.
Mała aktualizacja:

Mając włączonego mIRC-a wciskamy na klawiaturze ALT+R i wklejamy następujący kod:
alias wyniki { 
  /ticker
}
alias ticker { 
  write -c ooo.txt
  sockopen ticker2 www.sensiblesoccer.de 80
}
on *:SOCKOPEN:ticker2: {
  sockwrite -n $sockname GET /index.php?site=online_amigaoneonone_result HTTP/1.1
  sockwrite -n $sockname Host: www.sensiblesoccer.de
  sockwrite -n $sockname $crlf
}
on *:SOCKREAD:ticker2: {
  sockread %temp
  if ( TD class= ranking2  align= right  width= 140   isin %temp) {
    set %p1 $left($gettok(%temp,3,62),-3)
  }
  elseif ( TD align= center  width= 50   isin %temp) {
    set %r1 $left($gettok(%temp,5,62),-3)
    set %r2 $left($gettok(%temp,9,62),-3)
  }
  elseif ( TD class= ranking2  align= left  width= 140   isin %temp) {
    set %p2 $left($gettok(%temp,3,62),-3)
  }
  elseif ( td align= center  class= medium  style= color:#c0c0c0   isin %temp) {
    set %d $left($gettok(%temp,2,62),-3)
    write ooo.txt $remove(%p1 %r1 $+ : $+ %r2 %p2 %d, nbsp; , nbsp;, )
    /lv
    clear @A-OOO
    echo  @A-OOO $read(ooo.txt,1)
    echo  @A-OOO $read(ooo.txt,2)
    echo  @A-OOO $read(ooo.txt,3)
    echo  @A-OOO $read(ooo.txt,4)
    echo  @A-OOO $read(ooo.txt,5)
    echo  @A-OOO $read(ooo.txt,6)
    echo  @A-OOO $read(ooo.txt,7)
    echo  @A-OOO $read(ooo.txt,8)
    echo  @A-OOO $read(ooo.txt,9)
    echo  @A-OOO $read(ooo.txt,10)
    /ticker1
    sockclose ticker2
  }
}
alias lv {
  if (!%lv_col) set %lv_col 10
  if (!window(wyniki)) window -l13S @A-OOO
} 
alias lv2 {
  if (!%lv2_col) set %lv2_col 10
  if (!window(wyniki2)) window -l13S @Liga
} 
alias ticker1 { 
  write -c liga.txt
  sockopen ticker3 www.sensiblesoccer.de 80
}
on *:SOCKOPEN:ticker3: {
  sockwrite -n $sockname GET /index.php?site=online_amiga_ergebnisse HTTP/1.1
  sockwrite -n $sockname Host: www.sensiblesoccer.de
  sockwrite -n $sockname $crlf
}
on *:SOCKREAD:ticker3: {
  sockread %temp2
  if ( td class= right_rank_header  style= color:#farbe_liga#   isin %temp2) {
    set %n $left($gettok(%temp2,11,62),-4)
  }
  elseif ( TD class= right_rank_header  align= right  width= 110  style= color:#ffffff;text-transform:uppercase   isin %temp2) {
    set %pl1 $left($gettok(%temp2,2,62),-4)
  }
  elseif ( tr  td width= 15  align= right  class= right_rank_header  style= color:#ffffff   isin %temp2) {
    set %rl1 $left($gettok(%temp2,5,62),-4)
    set %rl2 $left($gettok(%temp2,9,62),-4)
  }
  elseif ( TD class= right_rank_header  align= left  width= 110  style= color:#ffffff;text-transform:uppercase   isin %temp2) {
    set %pl2 $left($gettok(%temp2,2,62),-4)
  }
  elseif ( td align= center  class= right_rank_header  style= color:#c0c0c0   isin %temp2) {
    set %dt $left($gettok(%temp2,2,62),-4)
    write liga.txt $remove(4 $+ %n $+   %pl1 %rl1 $+ : $+ %rl2 %pl2 %dt, nbsp;)
    /lv2
    clear @Liga
    echo  @Liga $read(liga.txt,1)
    echo  @Liga $read(liga.txt,2)
    echo  @Liga $read(liga.txt,3)
    echo  @Liga $read(liga.txt,4)
    echo  @Liga $read(liga.txt,5)
    echo  @Liga $read(liga.txt,6)
    echo  @Liga $read(liga.txt,7)
    echo  @Liga $read(liga.txt,8)
    echo  @Liga $read(liga.txt,9)
    echo  @Liga $read(liga.txt,10)
    sockclose ticker3
  }
}

Wynikiem działania tego skryptu będzie pokazanie się dwóch okienek z ostatnimi 10 wynikami ligi oraz ooo. Nie są to żadne wiadomości na kanał, tylko zwykłe osobne okna:



Bezproblemowo można zrobić, by okienka z wynikami otwierały się po włączeniu mirca. Wystarczy w ustawieniach perform (tam gdzie jest /join #sensible.pl) wpisać: /wyniki.

Aby sprawdzić ostatnie wyniki również należy wpisać w dowolnym oknie: /wyniki

pozdro :P

Please Log in or Create an account to join the conversation.

Time to create page: 0.224 seconds
Powered by Kunena Forum