Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Poprawa] Automatyczna wiadomość


Rekomendowane odpowiedzi

Opublikowano

Witam, poniższy quest będzie działał poprawnie ?

 

Prosze o odpowiedź :)

 

 

 

quest wiadomoscnaczacie begin
    state start begin
        when login with pc.is_gm() begin
            set_state(poczatek)
        end
    end
    state poczatek begin
        when letter begin
            send_letter("Automatyczna Wiadomość ")
        end
        when button or info begin
            local x = pc.get_name()
            say_title(" Drogi.. "..x.." ")
            say("")
            say_limonka(" Chcesz włączyć automatyczne wyświetlanie wiadomości ? ")
            local s = select(" Tak", "Może później ")
            if s == 2 then
            return
            elseif pc.getqf("Czas1") == 1 or pc.getqf("Czas2") == 1 or pc.getqf("Czas3") == 1 or pc.getqf("Czas4") == 1 or pc.getqf("Czas5") == 1 then
            say_title(" Wyswietlanie wiadomosci jest juz aktywne. ")
            say("")
            say_limonka(" Chcesz wyłączyć wyświetlanie wiadomości ? ")
                local w = select("Tak", "Nie")
                if w == 2 then
                    return
                else
                    pc.setqf("Czas1", 0)
                    pc.setqf("Czas2", 0)
                    pc.setqf("Czas3", 0)
                    pc.setqf("Czas4", 0)
                    pc.setqf("Czas5", 0)
                    clear_server_timer('Czas1', get_server_timer_arg())
                    clear_server_timer('Czas2', get_server_timer_arg())
                    clear_server_timer('Czas3', get_server_timer_arg())
                    clear_server_timer('Czas4', get_server_timer_arg())
                    clear_server_timer('Czas5', get_server_timer_arg())
                end
            else
            say_title(" Co ile tekst ma się wyświetlać na czacie ? ")
                local wybor = select(" 30 sekund ", " 1 minute ", " 5 minut ", " 10 minut ", " 20 minut ", " Rezygnuję ")
                if wybor == 1 then
                    server_timer('Czas1', 30, get_server_timer_arg())
                    pc.setqf("Czas1", 1)
                elseif wybor == 2 then
                    server_timer('Czas2', 60*1, get_server_timer_arg())
                    pc.setqf("Czas2", 1)
                elseif wybor == 3 then
                    server_timer('Czas3', 60*5, get_server_timer_arg())
                    pc.setqf("Czas3", 1)
                elseif wybor == 4 then
                    server_timer('Czas4', 60*10, get_server_timer_arg())
                    pc.setqf("Czas4", 1)
                elseif wybor == 5 then
                    server_timer('Czas5', 60*20, get_server_timer_arg())
                    pc.setqf("Czas5", 1)
                else
                end
            end
        end
        when Czas1.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas1', get_server_timer_arg())
            server_timer('Czas1', 30, get_server_timer_arg())
        end
        when Czas2.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas2', get_server_timer_arg())
            server_timer('Czas2', 60*2, get_server_timer_arg())
        end
        when Czas3.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas3', get_server_timer_arg())
            server_timer('Czas3', 60*5, get_server_timer_arg())
        end
        when Czas4.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas4', get_server_timer_arg())
            server_timer('Czas4', 60*10, get_server_timer_arg())
        end
        when Czas5.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas5', get_server_timer_arg())
            server_timer('Czas5', 60*20, get_server_timer_arg())
        end
    end
end

 

 

http://wklej.to/mSVmu
http://pastebin.com/B9LRAn9k
http://hastebin.com/qavuyiyake.coffee



 





I'm here for You, not for myself

Always help You


 

Opublikowano

@ Chodzi mi o te funkcje pc.setqf oraz pc.getqf. Nigdy za bardzo ich nie rozumiałem ..

 

Konkretniej to czy będzie działało to sprawdzanie czy mam już aktywne wiadomości czy nie ..

 

Mogłbyś go przetestować ? Ja nie mam obecnie jak.




 





I'm here for You, not for myself

Always help You


 

Opublikowano

@ Chodzi mi o te funkcje pc.setqf oraz pc.getqf. Nigdy za bardzo ich nie rozumiałem ..

 

Konkretniej to czy będzie działało to sprawdzanie czy mam już aktywne wiadomości czy nie ..

 

Mogłbyś go przetestować ? Ja nie mam obecnie jak.

Również nie mam obecnie dostępu do serwera.

Niemniej jednak qfy są raczej dobre, nie powinno być problemów.

727881401622271220780.jpeg
Opublikowano

@ Up

 

Sprawdziłem na Hamachi i nie wyświetla żadnej wiadomosci a gdy chce dodac drugi raz to pokazuje ze jest aktywne.

 

Nie rozumiem.

 

 

quest wiadomoscnaczacie2 begin
    state start begin
        when login with pc.is_gm() begin
            set_state(poczatek)
        end
    end
    state poczatek begin
        when letter begin
            send_letter("Automatyczna Wiadomość ")
        end
        when button or info begin
            local x = pc.get_name()
            say_title(" Drogi.. "..x.." ")
            say("")
            say_limonka(" Chcesz włączyć automatyczne wyświetlanie wiadomości ? ")
            local s = select(" Tak", "Może później ")
            if s == 2 then
            return
            elseif pc.getqf("Czas1") == 1 or pc.getqf("Czas2") == 1 or pc.getqf("Czas3") == 1 or pc.getqf("Czas4") == 1 or pc.getqf("Czas5") == 1 then
            say_title(" Wyswietlanie wiadomosci jest juz aktywne. ")
            say("")
            say_limonka(" Chcesz wyłączyć wyświetlanie wiadomości ? ")
                local w = select("Tak", "Nie")
                if w == 2 then
                    return
                else
                    pc.setqf("Czas1", 0)
                    pc.setqf("Czas2", 0)
                    pc.setqf("Czas3", 0)
                    pc.setqf("Czas4", 0)
                    pc.setqf("Czas5", 0)
                    clear_server_timer('Czas1', get_server_timer_arg())
                    clear_server_timer('Czas2', get_server_timer_arg())
                    clear_server_timer('Czas3', get_server_timer_arg())
                    clear_server_timer('Czas4', get_server_timer_arg())
                    clear_server_timer('Czas5', get_server_timer_arg())
                end
            else
            say_title(" Co ile tekst ma się wyświetlać na czacie ? ")
                local wybor = select(" 30 sekund ", " 1 minute ", " 5 minut ", " 10 minut ", " 20 minut ", " Rezygnuję ")
                if wybor == 1 then
                    server_timer('Czas1', 30*1, get_server_timer_arg())
                    pc.setqf("Czas1", 1)
                elseif wybor == 2 then
                    server_timer('Czas2', 60*1, get_server_timer_arg())
                    pc.setqf("Czas2", 1)
                elseif wybor == 3 then
                    server_timer('Czas3', 60*5, get_server_timer_arg())
                    pc.setqf("Czas3", 1)
                elseif wybor == 4 then
                    server_timer('Czas4', 60*10, get_server_timer_arg())
                    pc.setqf("Czas4", 1)
                elseif wybor == 5 then
                    server_timer('Czas5', 60*20, get_server_timer_arg())
                    pc.setqf("Czas5", 1)
                else
                end
            end
        end
        when Czas1.server_timer begin
            notice_all(" bla bla ")
                clear_server_timer('Czas1', get_server_timer_arg())
            server_timer('Czas1', 30, get_server_timer_arg())
        end
        when Czas2.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas2', get_server_timer_arg())
            server_timer('Czas2', 60*2, get_server_timer_arg())
        end
        when Czas3.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas3', get_server_timer_arg())
            server_timer('Czas3', 60*5, get_server_timer_arg())
        end
        when Czas4.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas4', get_server_timer_arg())
            server_timer('Czas4', 60*10, get_server_timer_arg())
        end
        when Czas5.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas5', get_server_timer_arg())
            server_timer('Czas5', 60*20, get_server_timer_arg())
        end
    end
end
 

 

 

http://wklej.to/cdZHG

Edit

 

PhoEnix jak dodałem :

 if wybor == 1 then
                    server_timer('Czas1', 30*1, get_server_timer_arg())
                    pc.setqf("Czas1", 1)
                    set_state(koniec)-- tutaj dodałem do po kazdym wyborze nowy state
                elseif wybor == 2 then
                    server_timer('Czas2', 60*1, get_server_timer_arg())
                    pc.setqf("Czas2", 1)
                    set_state(koniec)-- tutaj dodałem do po kazdym wyborze nowy state
                elseif wybor == 3 then
                    server_timer('Czas3', 60*5, get_server_timer_arg())
                    pc.setqf("Czas3", 1)
                    set_state(koniec)-- tutaj dodałem do po kazdym wyborze nowy state
                elseif wybor == 4 then
                    server_timer('Czas4', 60*10, get_server_timer_arg())
                    pc.setqf("Czas4", 1)
                    set_state(koniec)-- tutaj dodałem do po kazdym wyborze nowy state
                elseif wybor == 5 then
                    server_timer('Czas5', 60*20, get_server_timer_arg())
                    pc.setqf("Czas5", 1)
                    set_state(koniec) -- tutaj dodałem do po kazdym wyborze nowy state

I przed whenami z timerem dałem to

state koniec begin

To wszystko pięknie działało, tekst sie wyświetlał jednak nie mogłem uzyc questa juz 2 raz, czyli zatrzymac wykonywania timera czy tez ustalic nowego. Potem quest juz w ogóle sie nie pojawił to usunąłem objecty ale nadal nic sie nie pojawia do tej pory.. nie wiem czemu.




 





I'm here for You, not for myself

Always help You


 

Opublikowano

Ale dlaczego ustawiasz nowy state? State to jest jakby "rozdział", jeżeli przechodzisz po elseifie do nowego state to jak ma się cokolwiek wykonać, OK timer ruszy, ale skąd on ma wiedzieć co ma się po nim stać?

 

 

 

quest widomosc_yo begin

state start begin

when 80009.use begin

say_title("Witaj Game Masterze!")

say("Co chcesz zrobić?")

local s = select("Timer1", "Timer2", "Timer3", "Usuń timery", "Anuluj")

if s == 1 then

server_timer("Czas1", 60*10, get_server_timer_arg())

elseif s == 2 then

server_timer("Czas2", 60*10, get_server_timer_arg())

elseif s == 3 then

server_timer("Czas3", 60*10, get_server_timer_arg())

elseif s == 4 then

clear_server_timer("Czas1")

clear_server_timer("Czas2")

clear_server_timer("Czas3")

end

end

 

when Czas1.server_timer begin

notice_all("blablablabla")

end

 

when Czas2.server_timer begin

notice_all("blablablabla")

end

 

when Czas3.server_timer begin

notice_all("blablablabla")

end

 

end

end

 

 

 

 

Spróbuj z tym.

Opublikowano

@ Up

 

Skoro ma być bez state`ów to powiem Ci że teraz jest tak jak na początku. Niczego nie wyświetla lecz pokazuje że timer jest aktywny i mozna go zatrzymać. Czyli qfy sa dobre tylko cos jest z wykonaniem sie timerów.

 

 

 

quest wiadomoscnaczacie2 begin
    state start begin
        when login with pc.is_gm() begin
            send_letter("Automatyczna Wiadomość ")
        end
        when button or info begin
            local x = pc.get_name()
            say_title(" Drogi.. "..x.." ")
            say("")
            say_limonka(" Chcesz włączyć automatyczne wyświetlanie wiadomości ? ")
            local s = select(" Tak", "Może później ")
            if s == 2 then
            return
            elseif pc.getqf("Czas1") == 1 or pc.getqf("Czas2") == 1 or pc.getqf("Czas3") == 1 or pc.getqf("Czas4") == 1 or pc.getqf("Czas5") == 1 then
            say_title(" Wyswietlanie wiadomosci jest juz aktywne. ")
            say("")
            say_limonka(" Chcesz wyłączyć wyświetlanie wiadomości ? ")
                local w = select("Tak", "Nie")
                if w == 2 then
                    return
                else
                    pc.setqf("Czas1", 0)
                    pc.setqf("Czas2", 0)
                    pc.setqf("Czas3", 0)
                    pc.setqf("Czas4", 0)
                    pc.setqf("Czas5", 0)
                    clear_server_timer('Czas1', get_server_timer_arg())
                    clear_server_timer('Czas2', get_server_timer_arg())
                    clear_server_timer('Czas3', get_server_timer_arg())
                    clear_server_timer('Czas4', get_server_timer_arg())
                    clear_server_timer('Czas5', get_server_timer_arg())
                end
            else
            say_title(" Co ile tekst ma się wyświetlać na czacie ? ")
                local wybor = select(" 30 sekund ", " 1 minute ", " 5 minut ", " 10 minut ", " 20 minut ", " Rezygnuję ")
                if wybor == 1 then
                    server_timer('Czas1', 30*1, get_server_timer_arg())
                    pc.setqf("Czas1", 1)
                elseif wybor == 2 then
                    server_timer('Czas2', 60*1, get_server_timer_arg())
                    pc.setqf("Czas2", 1)
                elseif wybor == 3 then
                    server_timer('Czas3', 60*5, get_server_timer_arg())
                    pc.setqf("Czas3", 1)
                elseif wybor == 4 then
                    server_timer('Czas4', 60*10, get_server_timer_arg())
                    pc.setqf("Czas4", 1)
                elseif wybor == 5 then
                    server_timer('Czas5', 60*20, get_server_timer_arg())
                    pc.setqf("Czas5", 1)
                else
                end
            end
        end
        when Czas1.server_timer begin
            notice_all(" bla bla ")
                clear_server_timer('Czas1', get_server_timer_arg())
            server_timer('Czas1', 30, get_server_timer_arg())
        end
        when Czas2.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas2', get_server_timer_arg())
            server_timer('Czas2', 60*2, get_server_timer_arg())
        end
        when Czas3.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas3', get_server_timer_arg())
            server_timer('Czas3', 60*5, get_server_timer_arg())
        end
        when Czas4.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas4', get_server_timer_arg())
            server_timer('Czas4', 60*10, get_server_timer_arg())
        end
        when Czas5.server_timer begin
            notice_all("bla bla ")
                clear_server_timer('Czas5', get_server_timer_arg())
            server_timer('Czas5', 60*20, get_server_timer_arg())
        end
    end
end

 

 

http://wklej.to/B13dA

Edit:

 

Może warto byłoby dodać podwarunek do whena ?

 

 

when Czas1.server_timer with pc.getqf('Czas1') == 1 begin



 





I'm here for You, not for myself

Always help You


 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...