Skocz do zawartości

MrTranzistor

Użytkownik
  • Ilość zawartości

    22
  • Rejestracja

  • Ostatnia wizyta

Aktywność reputacji

  1. Polubienie (+1)
    MrTranzistor przyznał(a) reputację dla sebafudi w [WildSkript] Automatyczna aktualizacja skryptu   
    Witaj!
    W tym poradniku chciałbym Ci przedstawić jak w prosty sposób udostępniać aktualizacje Twojego skryptu.
     
    Więc zaczynajmy!
    Spis treści

    I Wstęp
    II Sprawdzanie dostępności aktualizacji
    III Automatyczne pobieranie aktualizacji
    IV Ręczne pobieranie aktualizacji
     
    III lub IV do wyboru
     
    I Wstęp
    Do działania potrzebny jest Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!! Aby aktualizacja działała, cały skrypt trzeba umieścić na Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!, Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! (polecam to drugie), lub innym serwisie oferującym funkcję RAW, tzn. strona udostępnia link do czystego pliku - sam skrypt. Ważne jest, aby założyć tam konto (i zapamiętać login i hasło), aby potem móc edytować wcześniej wysłany skrypt. Aby aktualizacje skrypta pokazała się użytkownikom, 1 linijka skryptu musi ulec zmianie na internecie. A musi ona wyglądać tak:
    #<wersja># np.
    #InDev 10.1# Wersja może zawierać nieograniczoną liczbę znaków, lecz musi być rozpoczęta i zakończona #
     
    II Sprawdzanie dostępności aktualizacji
    Można zacząć różnymi eventami... Ja polecam on load:, który działa wtedy gdy skrypt się załaduje.
    on load: Teraz zaczynamy część skryptu sprawdzający wersję skryptu w plikach serwera:
    set {_version} to content of file "plugins/Skript/scripts/%skript%.sk" Czyli ustawiamy zmienną {_version} na zawartość całego skryptu.
     
    Teraz ustalamy w jakim miejscu jest pierwszy #:
    set {_v} to index of "##" in {_version} Teraz ustalamy zmienną {_v2} na 1 znak po # do końca skryptu:
    set {_v2} to subtext of {_version} from character ({_v}+1) to character (length of {_version}) Znowu ustalamy pozycję # tym razem tego 2 tzn. #<wersja># <--tego
    set {_v3} to index of "##" in {_v2}  Jak już mamy w {_v2} skrypt bez pierwszego # i pozycję 2. # możemy ustawić zmienną {version} na prawidłową wersję:
    set {version} to subtext of {_version} from character ({_v}+1) to character ({_v3})  
    Jak już mamy wersje w plikach, możemy przejść do sprawdzania najnowszej wersji. Tak na prawdę zmienia się tylko zmienna do której zapisujemy wersję, i miejsce, skąd pobierany jest skrypt, czyli nie pliki serwera, tylko url.
     
    Tym kodem będziemy ustawiać zmienną {_version} na cały skrypt - najnowszą wersję, tak powinna wyglądać 1 linijka sprawdzania najnowszej wersji:
    set {_version} to result of connect to "Link RAW do skryptu"  A tak ostatnia, czyli zapisywanie zmiennej {version.new} na wersję najnowszego skrypta:
    set {version.new} to subtext of {_version} from character ({_v}+1) to character ({_v3})  Reszta, jak już pisałem, pozostaje bez zmian.
    Teraz zmienna {version} posiada wersję w plikach serwera, a {version.new} posiada aktualną wersje skrypta.

    Teraz musimy wysłać wiadomość do konsolki, o dostępnej aktualizacji.
    {version} is not {version.new}: send "Jest dostepna nowa wersja! Pobierz ja /update pobierz" to console Jeżeli użyjemy automatycznej aktualizacji, nie musimy dawać tej wiadomości.
     

     
    III Automatyczne pobieranie aktualizacji

    Aby skrypt automatycznie się aktualizował trzeba sprawdzić czy jest nowa wersja. Jeżeli jest ona dostępna to jest ona pobierana:
    {version} is not {version.new}: download "Link RAW do skryptu" to "plugins/Skript/scripts/%skript%.sk"  
    IV Ręczne pobieranie aktualizacji
     
    Do tego musimy utworzyć komendę np. /update:
    command /update [<text>]: trigger: set {_version} to result of connect to "Link RAW do skrypta" set {_v} to index of "##" in {_version} set {_v2} to subtext of {_version} from character ({_v}+1) to character (length of {_version}) set {_v3} to index of "##" in {_v2} set {version.new} to subtext of {_version} from character ({_v}+1) to character ({_v3}) arg 1 is "sprawdz": send "Twoja wersja to %{version}%" send "Najnowsza wersja to %{version.new}%" {version} is not {version.new}: send "Jest dostepna nowa wersja" arg 1 is "pobierz": {version} is not {version.new}: download "Link RAW do skrypta" to "plugins/Skript/scripts/%skript%.sk" send "Pobrano najnowsza wersje!" else: send "Masz juz najnowsza wersje skrypta!" stop Chyba nie muszę tego tłumaczyć, ponieważ wszystkie linijki są opisane powyżej, a reszta to podstawa skripta...
     

    Przykładowy kod z automatyczną aktualizacją:
     
    on load: set {_version} to content of file "plugins/Skript/scripts/%skript%.sk" set {_v} to index of "##" in {_version} set {_v2} to subtext of {_version} from character ({_v}+1) to character (length of {_version}) set {_v3} to index of "##" in {_v2} set {version} to subtext of {_version} from character ({_v}+1) to character ({_v3}) set {_version} to result of connect to "http://pastebin.com/raw.php?i=pACBwvMh" set {_v} to index of "##" in {_version} set {_v2} to subtext of {_version} from character ({_v}+1) to character (length of {_version}) set {_v3} to index of "##" in {_v2} set {version.new} to subtext of {_version} from character ({_v}+1) to character ({_v3}) {version} is not {version.new}: download "http://pastebin.com/raw.php?i=pACBwvMh" to "plugins/Skript/scripts/%skript%.sk
    Przykładowy kod z ręczną aktualizacją:
     
    on load: set {_version} to content of file "plugins/Skript/scripts/%skript%.sk" set {_v} to index of "##" in {_version} set {_v2} to subtext of {_version} from character ({_v}+1) to character (length of {_version}) set {_v3} to index of "##" in {_v2} set {version} to subtext of {_version} from character ({_v}+1) to character ({_v3}) set {_version} to result of connect to "http://pastebin.com/raw.php?i=pACBwvMh" set {_v} to index of "##" in {_version} set {_v2} to subtext of {_version} from character ({_v}+1) to character (length of {_version}) set {_v3} to index of "##" in {_v2} set {version.new} to subtext of {_version} from character ({_v}+1) to character ({_v3}) {version} is not {version.new}: send "Jest dostepna nowa wersja skryptu! Pobierz ja /update pobierz" to console command /update [<text>]: trigger: set {_version} to result of connect to "http://pastebin.com/raw.php?i=pACBwvMh" set {_v} to index of "##" in {_version} set {_v2} to subtext of {_version} from character ({_v}+1) to character (length of {_version}) set {_v3} to index of "##" in {_v2} set {version.new} to subtext of {_version} from character ({_v}+1) to character ({_v3}) arg 1 is "sprawdz": send "Twoja wersja to %{version}%" send "Najnowsza wersja to %{version.new}%" {version} is not {version.new}: send "Jest dostepna nowa wersja" arg 1 is "pobierz": {version} is not {version.new}: download "http://pastebin.com/raw.php?i=pACBwvMh" to "plugins/Skript/scripts/skrypt.sk" send "Pobrano najnowsza wersje!" else: send "Masz juz najnowsza wersje skrypta!" else: send "/update sprawdz - sprawdza aktualizacje" send "/update pobierz - pobiera aktualizacje" stop
     
     
     
    [*] Jeżeli znalazłeś jakiś błąd, napisz to pod tym tematem, postaram się poprawić. [*]Jeżeli czegoś nie zrozumiałeś, napisz to pod tym tematem, postaram się wytłumaczyć.
     
     
     
×
×
  • Dodaj nową pozycję...