-
Posts
133 -
Joined
-
Last visited
-
Days Won
1
Everything posted by Wielebny
-
Prawdopodobnie przez to - z niewiadomej przyczyny do zapisanego wcześniej getTickCount() dodajesz znowu czas. local gameTime = czasGry+getTickCount()
-
Serwer działa obecnie poprawnie, rozwiązałeś już ten problem?
-
Oddzielenie wartości pętli
Wielebny replied to SEBA18293's topic in Pomoc ze skryptami i programowaniem w Lua
Odwołujesz się do thePlayers, ale thePlayers nie jest tablicą tylko elementem gracza. Zacznijmy od zdefiniowania pozycji spawnu na tej arenie: local spawny_derby={ {0,0,5}, -- x,y,z {5,5,5}, {-5,5,5}, -- dopisz tu tyle spawnow ile moze byc maksymalnie graczy } A potem przy przenoszeniu gracza na atrakcję odwołaj się do tej tablicy i odczytaj z niej pozycję: for k, player in ipairs(getElementsByType("player")) do if (getElementData(player, "Atrakcje")=="Derby") then outputChatBox("/derby wystartowało!", player) setElementPosition(player, spawny_derby[i][1], spawny_derby[i][2],spawny_derby[i][3]) end end To podstawa kodu od której możesz wyjść. Podczas pisania go dalej zwróć jednak uwagę na następujące kwestie: - nie używaj setElementPosition tylko spawnPlayer, wcześniej wyciągnij go z pojazdu jeśli w nim jest - tablice spawny_derby wypadałoby wcześniej pomieszać (google lua shuffle), tak aby nie było tak że za każdym razem gracz się spawnuje w tym samym miejscu. -
http://pylife.pl/_/odlicz.lua local odlicz_INTERVAL=30000 -- jak czesto na serwerze mozna uzyc odliczlocal odlicz_RANGE=200 -- jak daleko ma byc widoczne odliczanielocal odlicz_LU=getTickCount()-odlicz_INTERVAL addCommandHandler("odlicz", function(plr,cmd) -- zabezpieczenie przed zbyt czestym odliczaniem if (getTickCount()-odlicz_LU) then outputChatBox("Musisz chwile odczekac.",plr) return end odlicz_LU=getTickCount() -- tworzymy colshape obejmujacy klientow w poblizu gracza inicjujacego odliczanie local x,y,z=getElementPosition(plr) local col=createColSphere(x,y,z,odlicz_RANGE) setElementInterior(col, getElementInterior(plr)) setElementDimension(col, getElementDimension(plr)) local gracze=getElementsWithinColShape(col, "player") -- tworzymy text display i dodajemy do niego graczy w colshape local odliczanieDSP = textCreateDisplay() for i,v in ipairs(gracze) do outputChatBox(getPlayerName(plr) .. " uruchomil/a odliczanie.", v) textDisplayAddObserver ( odliczanieDSP, v ) playSoundFrontEnd(v,44) end local odliczanie_step=5 local odliczanieTXT = textCreateTextItem ( tostring(odliczanie_step), 0.5, 0.5, 2, 255,255,255,255,5, "center", "center", 255) textDisplayAddText ( odliczanieDSP, odliczanieTXT ) -- timer dokonujacy odliczania setTimer(function() odliczanie_step=odliczanie_step-1 if (odliczanie_step==0) then textItemSetText(odliczanieTXT, "START!") else textItemSetText(odliczanieTXT, tostring(odliczanie_step)) end for i,v in ipairs(getElementsWithinColShape(col,"player")) do if (odliczanie_step==0) then playSoundFrontEnd(v,45) else playSoundFrontEnd(v,44) end end end, 1000, 5) -- timer usuwajacy stworzone elementy setTimer(function() textDestroyTextItem(odliczanieTXT) textDestroyDisplay(odliczanieDSP) destroyElement(col) end, 6000, 1)end,false,false) Zamiasz tworzyć textdisplay możesz też wywoływać zdarzenie, które pokaże liczbę w ładniejszej postać (np. przez dxDrawText).
-
Problem z onPlayerWasted.
Wielebny replied to MACIEKW89's topic in Pomoc ze skryptami i programowaniem w Lua
Jak możemy Ci pomóc, skoro opisujesz inny błąd, a kod wklejasz inny. Wcześniej Twój problem polegał na tym, że zapisywałeś string setElementData(player,"zabawa","minigun") A odczytywałeś poprzez: getElementData(napastnik,"zabawa")==minigun Zamiast: getElementData(napastnik,"zabawa")=="minigun" Obecnie tego problemu nie ma, gdyż poprawiłeś go w międzyczasie. Masz podpięte dwa handlery obsługujące onPlayerWasted. Pierwszy nam właśnie pokazałeś i on przydziela kasę i usuwa setElementData(source, "zabawa"). Drugi respawnuje gracza. Problem polega na tym, że błędnie założyłeś, że zawsze bedą wykonywać się w takiej kolejności. W sytuacji, w której ten drugi wykona się przed pierwszym, gracz zostanie zespawnowany na arenie (kod kliencki) a chwile później "zabawa" zostanie usunięta. Dlatego czasami minigun dawany jest po śmierci. Ogólnie popełniłeś też błąd umieszczając kod spawnowania peda na arenie po stronie klienta. Funkcje takie jak setElementDimension i setElementInterior jeśli nie zostaną wykonane po stronie serwera, nie zostaną zsynchronizowane. W efekcie gracz albo nie będzie widział innych, albo inni nie bedą widzieli go, albo będą dziać się jeszcze inne dziwne rzeczy. Proponuje Ci podejść do tematu od nowa i napisać całość po stronie serwera z wpięciem do posiadanych juz przez Ciebie funkcji respawnujących gracza po śmierci. Cóż, pomyśl kiedyś o oddaniu społeczności czegoś w zamian za to co bierzesz. MTA to otwarty projekt i dzięki temu, że jest otwarty, jest taki potężny. -
Problem z onPlayerWasted.
Wielebny replied to MACIEKW89's topic in Pomoc ze skryptami i programowaniem w Lua
Zapewne masz na myśli, że w getElementData(napastnik, "zabawa") ma być "minigun", bo minigun bez cudzysłowów to nazwa zmiennej (której prawdopodobnie nie masz zdefiniowanej). Pokaż nam fragment w kodzie gdzie robisz setElementData(napastnik, "zabawa") -
Problem z onPlayerWasted.
Wielebny replied to MACIEKW89's topic in Pomoc ze skryptami i programowaniem w Lua
Co przechowujesz w zmiennej minigun i co powinno znajdować się w getElementData(napastnik,"zabawa")? Zabieranie broni w trakcie smierci nie ma żadnego znaczenia, prawdopodobnie bron nadawana mu jest przy lub tuż po respawnie. -
Problem z wejściem na server
Wielebny replied to doggy888's topic in Pomoc z grą lub klientem/serwerem MTA
Nie doświadczyłem żadnych problemów na tym serwerze, ciężko mi stwierdzić co może być przyczyną u Ciebie. Spróbuj napisać do osób prowadzących ten serwer, możliwe że bedą zainteresowanie sprawdzeniem i usunięciem tego problemu. -
Problem z wejściem na server
Wielebny replied to doggy888's topic in Pomoc z grą lub klientem/serwerem MTA
Podaj adres tego serwera, zobaczę jak to wygląda ode mnie. -
Według prędkości działania: funkcje eksportowane (najwolniejsze), funkcje globalne, funkcje lokalne (najszybsze) Ale różnica w większości przypadków jest niezauważalna lub pomijalna. Używanie funkcji eksportowanych powoduje konieczność odszukania ich w tablicach, sprawdzenia czy dany zasób jest uruchomiony i czy dana funkcja jest wyeksportowana. Siłą rzeczy trwa to dłużej niż wywołanie funkcji która jest pod reką interpretera lua, ale myślę, że różnica jest zupełnie niezauważalna i w ogóle nie powinieneś na nią zwracać uwagę. Tak jest najlepiej, ale miej na uwadze, że warto czasami zapisać te dane mimo wszystko przed wyjściem gracza, gdyż ten może opuscić serwer bez wywołania eventu onPlayerQuit (poprzez np. crash serwera lub bug #7710). Im mniej zapytań, tym lepiej. Przy kilku graczach nie zauważysz różnicy, ale jak na serwer wejdzie ich kilkaset, to sytuacja będzie miała się inaczej. Szczerze mówiąc nie wiem, ale osobiście zawsze korzystam z elementData. Może i jest szybszy, ale rozwój go jest na pewno mniej wygodny niż odpowiednio napisanych (i przygotowanych do wznowienia działania po restarcie bez przerywania graczom gry) 30 zasobów. Możliwość przeładowania dowolnego zasobu w MTA to jedna z wielu właściwości która znacznie ułatwia rozwój serwerów w tej grze. Warto z tego korzystać.
-
Napis przy pobieraniu plików.
Wielebny replied to Tosti's topic in Pomoc ze skryptami i programowaniem w Lua
Nie możesz użyć kodu klienckiego gdyż przy pierwszym wejściu na serwer, uruchomi się on dopiero po pobraniu wszystkich zasobów. Skorzystaj z dostępnych po stronie serwera funkcji z tej kategorii: https://wiki.multitheftauto.com/wiki/Ser ... _functions -
Komenda /zaloguj [Frakcja]
Wielebny replied to Tosti's topic in Pomoc ze skryptami i programowaniem w Lua
Gwoli ścisłości, LUA ewaaluje porównania od lewej do prawej, przerywając porównywanie tak szybko jak to możliwe. if (warunek1 or warunek2 or warunek3) then ... end Jeśli warunek1 okaże się prawdziwy, to reszta nie jest w ogóle sprawdzana. Ale faktycznie nie ma co polegać na pamiętaniu właściwego zachowania - zawsze bezpieczniej dać ten nawias, aby kod wykonał się zawsze po naszej myśli i był czytelniejszy. -
Poszukuje skryptera lua
Wielebny replied to TheTroll's topic in Poszukiwania i oferty graczy, reklamy serwerów
Nie spełnia to wszystkich Twoich wymogów, ale może będzie dobrą podstawą do rozwoju dalszego kodu: http://lss-rp.pl/_/bp-spedycja.zip To zasób z BestPlay. Miej na uwadze że korzysta on z przyczep do tirów które w obecnej wersji MTA nie działają prawidłowo - warto by zamienić je na coś co synchronizuje się prawidłowo. Jest tam też kilka odwołan do eventu klienckiego nie dodanego w tym zasobie, ale zamienisz na outputChatBox i będzie gitara. Have fun -
Poszukuje skryptera lua
Wielebny replied to TheTroll's topic in Poszukiwania i oferty graczy, reklamy serwerów
Opisz tu dokładniej co widzisz w takim skrypcie. -
Jeśli jesteś obeznany w PAWN, to przejście do LUA powinno być dla Ciebie bardzo wygodne. To bardzo przyjazny język, znacznie bardziej elastyczniejszy, potężniejszy i przyjemniejszy w użyciu. Najlepiej zacząć po prostu od pisania kodu, przeglądania wiki, testowania różnych funkcji (zasób runcode rządzi). W krótkim czasie przekonasz się, że do SA:MP nie ma sensu wracać.
-
Nie mam pojęcia co to za panel, nigdy o nim nie słyszałem. Rozważałeś zapytanie o to osoby która Ci go sprzedała?
-
Szukam pomocy przy serwerach RP...
Wielebny replied to michal175's topic in Poszukiwania i oferty graczy, reklamy serwerów
A uruchomiłeś te zasoby? Dopisałeś je do mtaserver.conf? Nigdy nie używałem tego gamemodu i tak naprawdę nei wiem czy będe w stanie Ci pomóc, ale nie powinno to być trudne, powinieneś sobie sam poradzić. Jeśli nie wyrobisz u siebie minimum samodzielności to nie uruchomisz tego serwera. Nie wiem co masz błędnego w tym configu, nie mam też szklanej kuli. -
Szukam pomocy przy serwerach RP...
Wielebny replied to michal175's topic in Poszukiwania i oferty graczy, reklamy serwerów
Pliki wgrywasz przez FTP lub dowolny inny protokół który udostępnia Ci Twój hosting. Wgrane zasoby możesz później uruchomić ręcznie wpisująć komendę start nazwa_zasobu Możesz też dopisać je do mtaserver.conf, aby włączały się samoczynnie. Więcej informacji o uruchamianiu własnego serwera i zarządzaniu nim znajdziesz tu: https://wiki.multitheftauto.com/wiki/Server_Manual https://wiki.multitheftauto.com/index.ph ... ver_Manual -
Szukam pomocy przy serwerach RP...
Wielebny replied to michal175's topic in Poszukiwania i oferty graczy, reklamy serwerów
Kod Valhalla-Gaming (obecnie nazywają się bodajże rootgaming) nigdy nie był opublikowany, a kopie krążace po internecie, mówiąc kolokwialnie są pirackie. Nie możemy popierać korzystania z takiego oprogramowania. Z tego co wiem, istniało kilka polskich serwerów używających tego kodu (vG), ale wszystkie zwijały się po bardzo krótkim okresie czasu. Już Ci podałem - gamemod play znajdziesz w paczce z serwerem (jest nawet domyślnie włączony, więc wystarczy serwer zainstalować), a na https://community.multitheftauto.com/ znajdziesz różne zasoby które zostały udostępnione przez ich autorów, do swobodnego wykorzystania (lub zgodnie z dołączoną licencją). To prawda, albo robisz coś jak wszyscy i kończysz jak wszyscy, albo robisz coś po swojemu i ... wygrywasz. Każdego miesiąca zakładane są dziesiątki serwerów z identycznymi podstawowymi gamemodami, które zaraz są zamykane bo nikt nie chce grać na czymś co już widział. -
Szukam pomocy przy serwerach RP...
Wielebny replied to michal175's topic in Poszukiwania i oferty graczy, reklamy serwerów
Jedyny darmowy gamemod RP w MTA który znam to https://github.com/mabako/mta-paradise Co do tego czy da się z tego zrobić serwer nie wypowiem się - nie wiem. Ale uważam, że jeśli nie masz żadnego pojęcia o programowaniu to nie dasz sobie z tym rady - otwieranie serwera w MTA to nie to samo co otwieranie serwera w CS, gdzie każdy serwer to to samo oprogramowanie a zmienia się tylko kilka skryptów i mapa. Jeśli oczekujesz że poskładasz serwer z gotowych elementów, to powinieneś zainteresować się gamemodem play (jest w domyślnej paczce z serwerem) i skryptami z community.multitheftauto.com, ale serwer RP to to na pewno nie będzie. -
[RPG] Play Your Life
Wielebny replied to rachet's topic in Poszukiwania i oferty graczy, reklamy serwerów
Zacznij od pozbierania pereł po mapie - każda odnaleziona perła zwiększa Twoją pojemność płuc. Najprostsze znajdziesz w Las Venturas, w fontannach i basenach. Nie zgodze się z Tobą. Uważam że na scenie jest jeszcze b.dużo miejsca i powstanie jeszcze bardzo dużo serwerów. Wiadomo, że nie mogą to być play+sklejki z community, bo to nie przyciągnie graczy. Co do rozmiarów serwera - każdy serwer który ja otwierałem, a także ten, który reklamowany jest w tym wątku (otworzony przez mojego brata) rozpoczynał od 1 gracza. -
Maybe it's a hosting issue? How often does it happen? How long does it last? What do you mean by 'all the resources stop working for me'?
-
[RPG] Play Your Life
Wielebny replied to rachet's topic in Poszukiwania i oferty graczy, reklamy serwerów
Mefisto - z całym szacunkiem, ale przeczytałem Twój post kilka razy i nie doszedłem do tego, co miałeś na myśli. Podsumowanie ostatnich nowości na serwerze: Praca nurka Nurek wykonuje zadania w zbiorniku wodnym. Każdy nurek wyposażony jest w skafander oraz zbiornik powietrza, który pozwala mu na kilkanaście minut przebywania pod wodą bez konieczności wynurzania się. Do podjęcia pracy w tym zawodzie wymagane jest zdanie egzaminu pływackiego oraz zdanie testu z umiejętności nurkowania. Kierowca w kopalni Praca jako maszynista pociągu Mimo tego, iż nie ma w MTA możliwości podczepienia wagonu do lokomotywy, udało nam się zaimplementować własny mechanizm synchronizacji wagonów. Dzięki temu, na naszym serwerze - jako jedynym polskim w MTA - można kierować pociągami z wagonami. Tuning pojazdów Na serwerze została wprowadzona szajka ścigantów. Dołączyć może do nich każdy właściciel sportowego pojazdu o ujemnej reputacji, który zostanie uznany za wartego włączenia do tej grupy. Ściganci posiadają możliwość montażu tuningu pojazdów. Jesteśmy więksi niż wszystkie pozostałe serwery RPG łącznie A osiągneliśmy to dzięki codziennej ciężkiej pracy nad serwerem, świetnej ekipie i wspaniałym graczom. Dołącz do nas! http://PYLife.plmtasa://178.19.106.173:22128 -
Wyzwanie gracza na wyścig
Wielebny replied to Tosti's topic in Pomoc ze skryptami i programowaniem w Lua
Linia 5 i odwolanie do getLocalPlayer() mowi nam jednoznacznie, ze jest to kod client-side. Z kolei w kolejnych liniach uzywasz argumentow dostepnych tylko server-side (np. drugi parametr outputChatBox). Poza tym setElementData uzyte na elemencie samodzielnie niesynchronizowanym (inny klient) nie będzie na pewno rozpropagowane ani do serwera ani dalej. Inna sprawa to ten nieszczesny 'gracz.wyzwany'. Po co ustawiać te dane przy połączeniu? Masz za dużo pasma? Skorzystaj z takiej konstrukcji: local wyzwany=getElementData(player, "gracz.wyzwany") if not wyzwany then .. gracz nie byl nigdy wyzwany .. else ... gracz byl wyzwany end Ewentualnie możesz też przypisywać domyślną wartość jeśli ta nie była wcześniej ustawiona local wartosc=getElementData(player, "gracz.wyzwany") or "nie" Inna sprawa to to, że zamiast przechowywania tak/nie powinieneś przechowywać tam element przeciwnika lub przynajmniej jego nick - w przeciwnym przypadku kod Ci się posypie jeśli więcej niż 2 osoby bedą z niego korzystać. -
Zamiast tego możesz użyć (raz, nie dla każdego pojazdu osobno) funkcji setModelHandling(411, ... http://code.google.com/p/mtasa-blue/sou ... lingDefs.h Ta funkcja nie została jeszcze napisana. Powinieś użyć setVehicleHandling(veh, "numberOfGears", ...) Działa zgodnie z założeniem - ustawiasz że auto ma tylko jeden bieg, to ma tylko jeden.
