IIYAMA

Scripting Moderators
  • Content Count

    5,114
  • Joined

  • Last visited

  • Days Won

    77

Everything posted by IIYAMA

  1. Locked (no support for this kind of things, please read the forum rules)
  2. I am not a string reg prof, but it works... 🤣 local theString = "254646" local length = string.len(theString) local visibleCount = math.max(length - 2, 0) print(string.rep("*", string.len(string.sub(theString, 1, visibleCount))) .. string.sub(theString, visibleCount, length))
  3. See https://wiki.multitheftauto.com/wiki/Split http://Lua-users.org/wiki/StringLibraryTutorial string.len string.rep local emailParts = split("hey@gmail.com", "@") iprint(emailParts[1]) iprint(emailParts[2]) iprint(emailParts[1] .. "@" .. emailParts[2]) iprint(string.rep("*", string.len(emailParts[1])) .. "@" .. emailParts[2])
  4. IIYAMA

    find in db

    You can't index a non existing table. So you have to check if it exist before indexing a second time. if result[1] then
  5. IIYAMA

    find in db

    I am not sure what uid is. But normally you would have 1 column called: id Which auto increment when items are added. This value makes sure that each item added is unique. In some cases for example a login system you can also set the username as primary key, which is to prevents duplication for the usernames. So make sure that you understand your own data. LIMIT is used to select only a maximum items. If you need 1 item, you put the limit to 1, so that the database knows that it has to stop when it found what it is looking for. - Selecting a max amount of items. - Increase the performance.
  6. IIYAMA

    find in db

    Use the SELECT query. It is not as if you should combine queries. The error is given because it is protecting itself from item duplication. Which means that it already went wrong. SELECT uid FROM accs WHERE uid = ? LIMIT 1
  7. @gubi What's with that visibleTo stuff? visibleTo is not the same as a parentNode, which can't be a table because it is not a node, neither a player which is not allowed to have children from resources. And even if it was allowed, it wouldn't change the visibility for players. This is where it matters: https://wiki.multitheftauto.com/wiki/Element_tree
  8. Not possible, unless you freeze the system by using a temporary infinity loop. Or use a custom resource as replacement.
  9. Line 7: use resourceRoot instead of root. Else the code will be executed for every starting resource. Minimal timer delay should be 50. (Atleast that was a problem I had in the past) Don't create timers within loops. Don't create timers within timers. (Dangerous)
  10. Every player in the server does have an account. If the account is not created by script, then it is a guest account, which is automatic deleted when it is not required any more. if not isGuestAccount ( acc ) then
  11. Ah oke Just don't add words that make it really aggressive: I meant, i've created my function for idle animations, not ready-to-use animations. And how can I reset players' idle time. So? WUTEVA, I DON'T NEED HELP WITH THIS ANYMORE! It will back fire and you get less help instead of more.
  12. Please behave yourself. We do not want to inherit your stress.
  13. See this function + example: https://wiki.multitheftauto.com/wiki/GetPlayerIdleTime
  14. @#~Scared In the editor there is a map setting called useLODs. (Also you can just edit the meta.xml of the map) <meta> <info type="map" version="1.0.0"></info> <map src="test-lods.map" dimension="0"></map> <settings> <setting name="#maxplayers" value="[ 128 ]"></setting> <setting name="#useLODs" value="[ true ]"></setting> <setting name="#gamespeed" value="[ 1 ]"></setting> <setting name="#minplayers" value="[ 0 ]"></setting> <setting name="#gravity" value="[ 0.0080000004 ]"></setting> <setting name="#waveheight" value="[ 0 ]"></setting> <setting name="#camera" value='[ [ [ &quot;0&quot;, &quot;0&quot;, &quot;0&quot; ], [ &quot;0&quot;, &quot;0&quot;, &quot;0&quot; ] ] ]'></setting> <setting name="#locked_time" value="[ true ]"></setting> <setting name="#weather" value="[ 0 ]"></setting> <setting name="#time" value="12:0"></setting> </settings> <script src="mapEditorScriptingExtension_s.Lua" type="server"></script> <script src="mapEditorScriptingExtension_c.Lua" type="client" validate="false"></script> </meta> This will enable a list of GTA san lowLOD elements. (but it doesn't include all, there for you have to script a little bit more to use default elements as lowLOD objects, edit the mapEditorScriptingExtension files for that. Keep performance in mind while making those tweaks.)
  15. IIYAMA

    Double clicking

    Not create and attach the eventHandler to a new function. Use global named functions that can be attached and detached when it is no longer required. You currently created something you might consider similar to a memory leak.
  16. IIYAMA

    [REL] The Red Zone

    Hmm, now they work. Maybe related to an update of some sort, because I couldn't see them the moment I replied.
  17. That is already added. If that is not happening, then you will have to follow my instructions in my previous reply. Which should contain a copy of the new code with debug lines + results.
  18. I do recommend for your tests to only use Lua function. When using for example chat functions, MTA could/has have implemented a text buffer, if the queue is full it could either speed up or slow down the function speed (depending how it is programmed).
  19. IIYAMA

    [REL] The Red Zone

    @KaMi I can't see any images. 🤐
  20. Just for the people that didn't notice it. but ipairs as well as pairs are functions. Before you actually running the loop, you are executing (pre-process) functions. players = {1,2,3,4} theFunction, players2 = ipairs(players) -- note: players and players2 are the same table (not a copy) print(theFunction(players2, 0)) -- 1, 1 print(theFunction(players2, 1)) -- 2, 2 print(theFunction(players2, 2)) -- 3, 3 print(theFunction(players2, 3)) -- 4, 4
  21. Add some more debug lines to the code. 1. So that it is clear which code is running and which code doesn't. 2. Also inspect some of the variable so that we don't have to gamble what values are used. If you give me enough of that, then yes I will be able to help you better.
  22. local url = guiGetText(edit) triggerServerEvent("musics", resourceRoot, localPlayer, url ) addEvent("musics", true) addEventHandler("musics", resourceRoot, function(player, ...) if isElement(player) then triggerClientEvent("music", resourceRoot, player, ...) -- send to all players end end, false) addEvent("music", true) addEventHandler("music", resourceRoot, function(player, url) if isElement(player) then local x,y,z = getElementPosition(player) local sound = playSound3D(tostring(url), x, y, z, true) setSoundMaxDistance(sound, 100) exports.bone_attach:attachElementToBone(sound, player, 11, 0, 0, 0.4, 180) --[[ ... ]]
  23. That was already in the code from the beginning. You are asking the wrong person for that information.
  24. IIYAMA

    Help please!

    https://wiki.multitheftauto.com/wiki/EngineApplyShaderToWorldTexture See syntax for target element. Create a table serverside containing the shader target information and send that over when they join. Shouldn't be too hard after following a table tutorial.
  25. I can't detect any issues with the code after a quick look. Are you sure you tested it correctly?