Jump to content

FileEX

Helpers
  • Posts

    41
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by FileEX

  1. Sometimes interpolateBetween does some weird rounding. Try manual interpolation money = lastMoney + (newMoney - lastMoney) * progress; Or use what Tekken provided
  2. The "Blur" resource does not have the dxDrawBluredRectangle function or it is not exported in meta.xml
  3. I don't understand what the problem is. If you exceed the maximum amount, it is normal that the number is higher
  4. What do you mean by wheel type?
  5. Read this https://wiki.multitheftauto.com/wiki/Script_security and don't buy anything
  6. As you can see, you start the interpolation from 0. Write down the current balance of money before you start the interpolation and start from there. You can use e.g. a ticks to see if the amount of money has changed local fromMoney, toMoney, visibleMoney = 0,0,0; local moneyCheckTick,moneyAnimTick = getTickCount(); if (moneyCheckTick and not moneyAnimTick) then if (getTickCount() - moneyCheckTick > 1000) then -- check every 1 s local money = getPlayerMoney(localPlayer); if (visibleMoney ~= money) then moneyAnimTick = getTickCount(); fromMoney, toMoney = visibleMoney, money; end moneyCheckTick = getTickCount(); end end if (moneyAnimTick) then local progress = (getTickCount() - moneyAnimTick) / 1000; visibleMoney = interpolateBetween(fromMoney, 0, 0, toMoney, 0, 0, progress, 'Linear'); if (progress > 1) then moneyAnimTick = nil; end end -- dxDrawText for visibleMoney variable Sorry for the broken indentation in the code, but the code editor on the forum is strange and I don't know why it happens.
  7. Upload your vehicles.ide to your server's FTP and load it on the server side with fileOpen and fileRead.
  8. The player places the vehicles.ide file in the mta->mods->deathmatch->resources->your resource directory Then, from the script level, you open this file and load data from it. Exactly the same as the script above. You can check its source code If you just want to have the vehicles.ide file on the server, you can upload it to your server's FTP and load it on the server side. I don't know what you want to achieve, but the only option is to manually read the file contents and parse its contents
  9. If you set images downloading to false, the files will not be downloaded for the client, and the scripts that use these images, e.g. for the GUI, will stop working properly due to the lack of files. If you don't want to save the images to the client's disk, you can keep them on the server and send only the raw data to the client and use it to create a texture for drawing the GUI. You can also consider using SVG, which allows you to easily create images from string data without having to download .svg files to disk
  10. When it comes to fixed lines, yes, you simply need to modify the recorded line by adding effects, e.g. in Audacity. When it comes to voice chat, there are special programs/modulators for it. As for the script, I'm not sure. You can try this https://wiki.multitheftauto.com/wiki/SetSoundEffectParameter and this https://wiki.multitheftauto.com/wiki/SetSoundEffectEnabled
  11. Server-side scripts are not downloaded by players, so setting the cache does not change anything. Setting the cache means that the script is not downloaded to the player's disk, but is still loaded into memory so that it can run. It can still be manipulated by the client, so you should never trust data from the client. More about it here https://wiki.multitheftauto.com/wiki/Script_security
  12. Change resourceRoot to root in the loginAccount event on server-side
  13. I don't think you can disable the horizontal scrollbar. You can force it to show, but you can't hide it. The width of the gridlist columns cannot exceed 0.95, then the horizontal scrollbar will not appear.
  14. Proszę local screenX, screenY = guiGetScreenSize(); local barW,barH = (108/1080) * screenY, (25/1080) * screenY; local barX,barY = screenX / 2 - barW / 2, screenY * 0.8; local ballX,ballY; local ballSize = (17/1080) * screenY; local ballCenterX = barX + barW / 2 - ballSize / 2; local ballY = barY + barH / 2 - ballSize / 2; local bar = dxCreateTexture("pasek.png"); local ball = dxCreateTexture("kulka.png"); addEventHandler('onClientRender', root, function() local veh = getPedOccupiedVehicle(localPlayer); if (veh and getVehicleType(veh) == 'Plane') then local _,ry = getElementRotation(veh); ry = ry % 360; local offset = 0; if (ry <= 90) then offset = ry; elseif (ry <= 180) then offset = (180 - ry); elseif (ry <= 270) then offset = -(ry - 180); else offset = -(360 - ry); end ballX = math.max(barX, math.min(barX + barW - ballSize, barX + barW / 2 + (offset/90) * (barW / 2) - ballSize / 2)); dxDrawImage(barX, barY, barW, barH, bar, 0, 0, 0, 0xFFFFFFFF); dxDrawImage(ballX, ballY, ballSize, ballSize, ball, 0, 0, 0, 0xFFFFFFFF); end end); Musisz sobie jedynie dopasować pozycje w osi Y oraz zmienić X do swojego paska. Ja obciąłem grafikę paska aby nie miała pustego tła wokół https://imgur.com/M0F1zdp
  15. I can't help you because I don't know this gamemode or the "D modu" or "turf" resource
  16. Aby móc poprawnie pozycjonować kulkę, ten biały pasek powinien być osobną grafiką https://imgur.com/xMErJtY Wyślij jak możesz grafikę tego paska oraz kulki jako osobne grafiki. Reszty zegara nie potrzebuję
  17. Skoro przeglądarka przetłumaczyła tekst na polski to domyślam się, że jesteś Polakiem (tak jak i ja), a zatem odpowiem po polsku. Rozumiem, że chcesz aby kulka przesuwała się w lewo lub prawo w zależności od nachylenia się samolotu. Możemy obliczać położenie kulki na podstawie rotacji samolotu. Utwórzmy offset, który będzie dodawany/odejmowany do aktualnej pozycji piłeczki i będzie on 100% w przypadku maksymalnego wychylenia. local ballX, ballY = -- pozycja kulki na środku paska local offset local maxAngle = 90 -- maksymalne wychylenie przy którym kulka będzie na końcu paska -- pobieramy rotację samolotu local rx,ry,rz = getElementRotation(plane) -- nie wiem teraz z pamięci która oś odpowiada za przechył na boki, więc zakładam, że X if (rx < 0) then -- przechylenie w lewo offset = -(szerokoscPaska / 2 + rozmiarKulki/ 2) elseif (rx > 0) then offset = szerokoscPaska / 2 + rozmiarKulki end offset = offset * (math.abs(rx) / maxAngle) Coś w ten sposób mniej więcej i teraz do kulki po prostu dodajesz ten offset. Zakładam, że offset to po prostu połowa paska bo kulka jest na jego środku. Do pełni szczęścia musisz jeszcze zrobic to samo dla osi Y.
  18. I do not understand what's going on. What exactly is the problem now? Something isn't working or is there an error? These code snippets say nothing about the problem
  19. Opis jest trochę nie jasny, tak samo jak zdjęcia. Na czym dokładnie polega problem? Czym jest ta "piłka"? PS: Jeśli piszesz po polsku to zakładaj temat w polskim dziale.
  20. addEventHandler("TurfSistem:onPlayerEnterTurf",root,function(id) addEventHandler("onPlayerCommand",source,komutEngel) setElementData(source,"Turf",tostring(id)) toggleControl(source,"vehicle_fire",false) toggleControl(source,"vehicle_secondary_fire",false) toggleControl(source,"ozellik1",false) addEventHandler(source, ozellik1, D_Modu, false) -- Remove this end) addEventHandler("TurfSistem:onPlayerExitTurf",root,function(id) removeEventHandler("onPlayerCommand",source,komutEngel) setElementData(source,"Turf",nil) toggleControl(source,"vehicle_fire",true) toggleControl(source,"vehicle_secondary_fire",true) toggleControl(source,"ozellik1",true) addEventHandler(source, ozellik1, D_Modu, true) -- Remove this end) From this code, simply remove these lines with addEventHandler. They are wrong and are not needed anywhere from what I see
  21. So your source is the player. For addEventHandler the first argument is the event name, but you use the source (player which entering into the colshape)
  22. Show the code where the TurfSistem:onPlayerEnterTurf and TurfSistem:onPlayerExitTurf events are triggered
  23. It is possible, but then you have to make your own parser for such map files.
×
×
  • Create New...