Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 21/10/21 in all areas

  1. You aren't globally banned by MTA, but by a specific fork. MTA has no central power over server and fork bans, so we can't help you. If they told you that it was a ban issued by us, they are mistaken. Please note that a "Console" ban with the given reason Вы забанены is a forks ban, a specific reason text we know for example that NextRP uses when banning people. The only thing you can do is appeal the ban with the forks admins that issued it.
    1 point
  2. You might be using a faulty MD5 hasher that treats line-endings differently (the COPY & PASTE process adds or removes CRLF and turns it into LF only, etc). For that reason it is important that you use the MTA provided md5 function instead of random online MD5 hashing services. You can easily modify the above code like the following to obtain the MTA generated MD5 string: ... local fcontent_md5 = md5(fcontent); if not (fcontent_md5 == md5_of_license) then error("FATAL ERROR: LICENSE file has changed! (MD5 found " .. tostring(fcontent_md5) .. ")"); end end ... This way the error message will contain the expected MD5 value. How about you try adjusting the code and setting the constant to the one from the new error message? HINT: the expected MD5 is EE519C0C252F9064053A7354A595D416
    1 point
  3. You have used the following MD5 checksum: but MTAs md5 function does return an upper-case md5 string, thus you should turn it into... Does that fix your problem? HINT: you can use the string.upper Lua function to turn a lower-case string to upper-case.
    1 point
  4. I think you are talking about plausible self protection logic in resources. I recommend you to compile the scripts which come with such protective steps. You can prevent the loading of a script under a certain condition by putting the check at the very top of the script, above everything else. For example, let's check for the existence of a file called "LICENSE". do local doesLicenseFileExist = fileExists("LICENSE"); if not (doesLicenseFileExist) then error("FATAL ERROR: LICENSE file missing!"); end -- TODO: calculate the MD5 of the LICENSE file and put it here as constant. local md5_of_license = string.toupper(""); local fh = fileOpen("LICENSE"); if not (fh) then error("FATAL ERROR: failed to open LICENSE file for checksum verification!"); end local fcontent = fileRead(fh, fileGetSize(fh)); fileClose(fh); local fcontent_md5 = md5(fcontent); if not (fcontent_md5 == md5_of_license) then error("FATAL ERROR: LICENSE file has changed! (MD5 found " .. fcontent_md5 .. ", expected " .. md5_of_license .. ")"); end end ... By using checksum verification you leave open a small window of chance that the attacker does modify your license in such a way that he created a different LICENSE file with the same hash as your original. But doing so should create a LICENSE file which does not feasibly originate from you so it is easy to argument your way out of it in a trial. The attacker could hijack the fileOpen, fileRead, fileExists, fileGetSize, fileClose and md5 functions by providing own implementations. This hijack would not be detectible and would circumvent your protection. That is why there is no perfect protection but putting these steps does present the argument that you want your code protected which is enough in a trial.
    1 point
  5. This is probably because of a text on raster optimisation. It is probably trying to place parts of the character on top of full pixels instead of 2 (half) pixels with opacity at 50%. This optimisation will probably be skipped when you enable the subPixelPositioning parameter. But this might make the readability harder (for low res) and more blurry. The solution The_GTA gives you would probably be the best fix. Or if you want to stay in control: https://wiki.multitheftauto.com/wiki/WordWrap
    1 point
  6. Hello amirmahdi, this is done in two simple steps. (serverside) First we calculate the nearest vehicle of the player. This can be done by getting all vehicles on the server and using the distance metric to find the vehicle with the smallest distance and return it. local function findClosestVehicle(elem) local vehicles = getElementsByType("vehicle"); local elem_x, elem_y, elem_z = getElementPosition(elem); local closest_veh = false; local closest_dist = false; for m,veh in ipairs(vehicles) do local veh_x, veh_y, veh_z = getElementPosition(veh); local dist = getDistanceBetweenPoints3D(elem_x, elem_y, elem_z, veh_x, veh_y, veh_z); if not (closest_dist) or (closest_dist > dist) then closest_dist = dist; closest_veh = veh; end end return closest_veh; end Next we create a command handler "rscar" which uses our new function to respawn the closest vehicle. addCommandHandler("rscar", function(player) local veh = findClosestVehicle(player); if not (veh) then outputChatBox("could not find close vehicle", player); return; end -- TODO: use respawnVehicle to place the vehicle on the map again. end ); Good luck!
    1 point
  7. Try setting the clip and wordBreak parameters of dxDrawText to true. They are false by default.
    1 point
  8. I felt guilty for not leaving proper documentation on 2DFX in my recent user-guide. So I brought in some bonus! I apologise for the occasional seagulls, should've shot them down This demonstrates what's currently possible through Dexx SA Tools (Maxscript) and Goldfish's edition of Kam's scripts 2018 (Maxscript). No MTA scripting required. Wiki link: https://wiki.multitheftauto.com/wiki/User:Tut (under construction...) Dexx SA Tools (Particle generation) Video: Goldfish script (Light generation) Video: a big thanks to NanoBob for giving me access to his camera script
    1 point
  9. There is a virus infection on your PC, and that virus needs to use this file: C:\Windows\rss\csrss.exe for its own proper functioning. That triggers something insecure, leading to AC kick. Look at the scan results of that file: https://www.virustotal.com/gui/file/3993aa1a1cf9ba37316db59a6ef67b15ef0f49fcd79cf2420989b9e4a19ffc2a .. scary right? Run a full antivirus scan and clean up any infections (or reinstall Windows entirely to be 100% safe), then be more careful on the internet in the future to not get another virus on your PC.
    0 points
×
×
  • Create New...