Gothic Online Forums
setFreeze się pochędorzyło? - Printable Version

+- Gothic Online Forums (https://archive.gothic-online.com)
+-- Forum: Community (https://archive.gothic-online.com/forum-18.html)
+--- Forum: Polish (Polski) (https://archive.gothic-online.com/forum-19.html)
+---- Forum: Pomoc (https://archive.gothic-online.com/forum-23.html)
+---- Thread: setFreeze się pochędorzyło? (/thread-1333.html)



setFreeze się pochędorzyło? - Ignisio - 10.04.2016

Nie wiem nawet jak to opisać...gdy próbuję użyć setFreeze, ale w wyniku wpisania komendy na czat (nawet ten przykład z wiki)
Code:
function onCommand(cmd, params)
{
   if(cmd=="friz")
   {
       setFreeze(true);  // Player can't move.
   }
}

albo w wyniku wypisania jakiejś komendy na czasie
Code:
 addEvent("onCommand",function(cmd, params)
{

    switch(cmd)
    {    
    
        case "afk":                    
            afk();
        break;    
    }
});

function afk()
{
    setFreeze(true);
}

TO ono po prostu nie działa...gdybym dał w tej funkcji afk(); coś innego np. setPosition to ono sie wykona, ale setFreeze nie reaguję.
Żeby było ciekawiej, używam setFreeze w wielu innych funkcjach (w onInit też) i tam dział...
wtf?


RE: setFreeze się pochędorzyło? - garfinkel - 10.04.2016

Udaj się do pliku chat.nut w client-scripts i wyszukaj funkcję send(). Podmień na poniższą.


Code:
    function send()
    {
        if (!FREEZE_STATUS) setFreeze(false);
        chatInputSend();
    }

Powinno pomóc, bo w standardowym aktualnie jest tak, że odmraża dopiero po wysłaniu wiadomości. Czyli komenda się wykonuje, zamraża gracza a za chwilę inna funkcja go odmraża.


RE: setFreeze się pochędorzyło? - Ignisio - 10.04.2016

Nie pomogło. Ale to może być dobry trop.


RE: setFreeze się pochędorzyło? - Quarchodron - 10.04.2016

To z pewnością nie wina tego pliku .chat.


RE: setFreeze się pochędorzyło? - Zmorra - 11.04.2016

Też mam podobnie. Przy wychodzeniu z gry setFreeze nie działa za pierwszym razem, muszę to w timerze po stronie klienta dawać. Timer setFreeze co sekundę wywołuje i dopiero wtedy działa.


RE: setFreeze się pochędorzyło? - Ignisio - 11.04.2016

Znajomy mi podrzucił rozwiązanie. Zrobił po stronie serwera funkcję, wysyła do niej parametr toogle, pobiera w niej pid i z niej spowrotem callClientFunc(pid,"setFreeze",toogle) czy jak to sobie nazwiecie.


RE: setFreeze się pochędorzyło? - Quarchodron - 11.04.2016

Geniusz..


RE: setFreeze się pochędorzyło? - garfinkel - 12.04.2016

Masz oryginalny chat.nut czy coś zmieniłeś?


RE: setFreeze się pochędorzyło? - Ignisio - 12.04.2016

Nie, tam nic nie pomagało.