Jump to content

Wielebny

Members
  • Posts

    133
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Wielebny

  1. Inną implementację ID znajdziesz tu: https://github.com/lpiob/MTA-XyzzyRP/bl ... graczy.lua Miej na uwadzę, że przypisywanie ID graczom nie spowoduje automagicznie, że będziesz mógł używać tego ID we wszystkich komendach. Będziesz musiał jeszcze napisać od nowa komendę /kick, tak aby wyszukiwała po ID gracza. Przykładową implementację komendy /kick operującą na id gracza lub fragmentach nicku, współpracującą z powyższym kodem, znajdziesz tu: https://github.com/lpiob/MTA-XyzzyRP/bl ... #L697-L728
  2. Please read the original post and stop treating everyone like idiots. Everyone here knows that you can't just make up some ip addresses. Guy was asking how to technically bind server on several ips, and I gave him an answer. It's you who didn't understand what's going on here.
  3. You don't have to believe me, but that's the correct way to bind on several IPs.
  4. Try adding several IPs, separated by comma, to mtaserver.conf : 1.2.3.4,2.3.4.5
  5. To w żaden sposób nie rozwiązuje przedstawionego problemu: w niektórych tłumaczeniach kolejność argumentów musi być inna.
  6. No string.format faktycznie nie obsługuje modyfikatora %n$, nie znam lepszej implementacji tylko w Lua od tej którą podałem wyżej. Za to można by się pokusić o napisanie modułu do MTA który dałby dostęp do prawdziwego printf: http://lua-users.org/wiki/LuaPrintf
  7. Jeśli mówisz o komendzie /mute udostępnianej przez zasób admin, to zdaje się, że nie przechowuje ona swojego stanu przy restartach zasobu, w związku z czym nie ma sensu mutować nim na dni. Mogę jednak się mylić, nie używałem stockowych zasobów od conajmniej 2 lat.
  8. wartosci = { ["cos"] = "Wygrales", ["money"] = 1000 } function r(text, podmiany) for k,v in pairs(podmiany) do text=string.gsub(text, "{"..k.."}", v) end return text end Tak na szybko - nie będzie działac prawidłowo z kluczami zawierającymi znaki uznawane za pattern. Klucz składające się z liter i znaków bedą działać bez zarzutu. Zwróć też uwagę, że ten kod iteruje przez wszystkie elementy tabeli podmian, więc dobrze aby nie bylo tam wartości które nie są używane. Swoją drogą, czy string.format Ci nie wystarczy? string.format("Gracz %s wygral %d!", nickGracza, ileWygral)
  9. Sorry, nie zwróciłem uwagi że ten konwerter przetwarza tylko pliki txd. Tak czy siak metoda postępowania jest taka: 1. Tworzysz nowy zasób, np. skin-0 2. W zasobie umieszczasz plik txd i plik dff, pod nazwami np. 0.txd i 0.dff 3. Tworzysz plik meta.xml o treści: <meta> <script src="replace_c.lua" type="client" /> <file src="0.txd" /> <file src="0.dff" /> </meta> 4. Tworzysz plik replace_c.lua o treści: local txd=engineLoadTXD("0.txd") engineImportTXD(txd, 0) local dff=engineLoadDFF("0.dff",0) engineReplaceModel(dff, 0) 5. Uruchamiasz zasób. Powyższy kod podmieni Ci skin o id 0.
  10. Tu masz automat produkujący zasoby: http://mta.dzek.eu/peds/
  11. Wielebny

    Server list spam

    Original ip: 5.135.59.129:22444 Copied name on: 62.141.36.101:22111 Server is redirecting all players to some other race server.
  12. W weekend uruchomimy repozytorium na githubie, serwer developerski i będzie można rozpocząć pierwsze pracę nad kodem. Obecnie zastanawiamy się jeszcze nad wyborem licencji.
  13. No to otwieraj projekt na githubie lub innym hostingu dla repozytoriów, daj linki i robimy. Skoro robimy to w ten sposób to proponuję kanał #tokyorp na irc.gtanet.com do koordynacji działań.
  14. Jeżeli stworzysz ten projekt jako opensource, od początku do końca, to z wielką chęcią postaram się napisać coś dla niego. Myślę, że z łatwością znajdziemy też inne osoby chętne do kontrybucji. Taki rozwój jest wyzwaniem, wśród polskich graczy panuje przekonanie że nie da się w ten sposób stworzyć serwera - każdy uważa, że należy robić to w tajemnicy i tylko dla siebie. Projekty takie jak MTA pokazują że może być jednak dokładnie na odwrót i myślę, że warto spróbować tej metody przy tworzeniu gamemodu.
  15. Nie używałem nigdy tego skryptu więc Ci z nim nie pomogę, ale ostrzeżenie które widzisz - o braku unikalnej kolumny - świadczy o tym, że ta baza jest źle skonstruowana. Tabela nie posiada żadnego indeksu, wszystkie operacje na niej wymagają przewertowania wszystkich rekordów. Wszystko będzie działać dobrze, dopóki na serwerze nie pojawi Ci się więcej graczy, wtedy może się okazać że sprawdzenie ekwipunku jednego zajmuje kilka sekund i laguje Ci cały serwer. Możliwym rozwiązaniem może być dodanie takiego indeksu na polu Name, np. poprzez ALTER TABLE inventarinfo ADD PRIMARY KEY p1 (Name) Sam fakt, że ta tabela nie posiada indeksów jest znakiem, że coś jest nie w porządku z tym skryptem. edit: rozważ skorzystanie z implementacji zawartej w tym gamemodzie: https://github.com/lpiob/MTA-XyzzyRP - nie jest może ona wzorcowa (teraz mógłbym napisać ją lepiej), ale świetnie radzi sobie ze swoim zadaniem.
  16. Keep in mind that this method is not identical to a?b:c and has one caveat: local result = A and B or C If B evalutes to false, then C will be assigned.
  17. Just download libmysqlclient.so.15 and put in 32 libs folder.
  18. Gostown6 - 160MB luzem, chociaż faktycznie idzie wolno bo trzeba pobierać wiele małych plików. Po skompresowaniu zajmuje jakieś 45MB, jakby fetchRemote pozwalało pobierać pliki ze zdalnych serwerów, to możnaby się pokusić o dekompresję tego w Lua. Zawsze można też zrobić osobny instalator, poza MTA - zrobił tak np. SAESRPG z konwersją mapy Vice City. Nie ma co ukrywać, że ładowanie w ten sposób całych map nie wygląda idealnie - draw distance jest niski, w oddali widać często niepodmienione obiekty. Z niecierpliwością czekam na MTA 1.4/EIR i innowacje związanie z streamingiem obiektów.
  19. No tak, ten link już był. Poniżej prezentacja tego co udało nam się osiągnać na PYLife za pomocą m.in. tego konwertera:
  20. Od dawna korzystam ze skryptu H5N1 i bardzo go każdemu polecam: https://community.multitheftauto.com/index.php?p= ... ls&id=2770
  21. Jak krowie na rowie function czyGraczMaPrawoJazdy() -- tu dopisz kod sprawdzajacy, narazie zwrocimy false return false end addEventHandler("onClientVehicleStartEnter", root, function(plr,seat) if plr~=localPlayer then return end -- skrypt po stronie klienta wiec rozpatrujemy tylko lokalnego gracza if seat~=0 then return end -- interesuja nas tylko kierowcy if not czyGraczMaPrawoJazdy() then outputChatBox("Nie masz prawa jazdy.") cancelEvent() return end -- wszystko ok end)
  22. Czy mógłbyś w tytułach wątków podawać o co pytasz? W ten sposób być może przyda się to innym osobom w przyszłości.
  23. Z czym dokładnie masz problem? Ja postąpiłem według instrukcji autora, co prawda configu nie mogłem nic zmienić bo program segfaultował, ale na domyślnych opcjach się udało. Modyfikując wygenerowany plik zmieniłem sposób ładowania i wyładowywania obiektów, gdyż sprawia niemiłe wrażenia wizualne a nie jest potrzebny jeśli nie potrzebujemy oryginalnej mapy od SA. Do tego kilka zmian w farClipDistance i myslę, że taka mapa jest całkiem grywalna w MTA.
  24. Sorry za odkop ale własnie grzebie w plikach ipl. convertffs nie obsługuję ipl, ale np. ten skrypt: viewtopic.php?f=140&t=38462&hilit=ipl sobie radzi.
  25. Drobna prośba - podawaj w tytułach wątków o co dokładnie pytasz, pomoże to innym osobom przeglądającym forum. Wyliczanie pozycji 5 jednostek za elementem - trygonometria: local x,y,z=getElementPosition(v) local _,_,rz=getElementRotation(v) local rrz=math.rad(rz-180) local x= x + (5*math.sin(-rrz)) local y= y + (5*math.cos(-rrz)) Podpinasz to pod event "onClientGUIClick" z buttonem jako source, pod v podstawiasz element pojazdu lub localPlayer (w zależności od tego czy gracz jest w pojeździe czy nie), na samym koncu robisz setElementPosition(v,x,y,z) Podana wyżej funkcja korzysta tylko i wyłącznie z trygonometrii w dwóch wymiarach (x,y), tj. nie będzie działać poprawnie w sytuacji gdy auto jest pochylone do przodu/tyłu (np. stoi pod górkę) - wtedy przeniesie je albo w powietrze, albo pod tekstury. Wyliczyć pozycji w trzech wymiarach nie potrafię, ale jeśli ktoś wie jak to chętnie się nauczę. Wyliczanie pozycji w trzech wymiarach podane jest w przykładzie tu: https://wiki.multitheftauto.com/wiki/GetElementMatrix
×
×
  • Create New...