Jump to content

DiSaMe

Distinguished Members
  • Posts

    1,461
  • Joined

  • Last visited

  • Days Won

    34

Posts posted by DiSaMe

  1. ah loop is something that goes through a table and does something with the data.

    So you can read information very easy and it makes your code a lot smaller.

    You can write everything there, but you have to put in the the table first.

    table.insert (myTable,value) 
    --or 
    myTable[#myTable+1] = value 
    

    Wrong. Loop is a code structure which executes the block of code repeatedly as long as some condition is met. Yes, it can be used with a table, but it doesn't need to be.

  2. I'm not sure if it's more related to MTA or Wine, since I think it's a regression in Wine. I use Arch Linux and run MTA using Wine 1.4.1. It works fine on this version. But it doesn't start on 1.5 releases. If I try to run MTA via terminal, this is what I get:

    [crystalmv@crystalmv-archlinux MTA San Andreas 1.3]$ wine 'Multi Theft Auto.exe' 
    fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub! 
    fixme:wbemprox:client_security_SetBlanket 0x7d7010f8, 0x1b1188, 10, 0, (null), 3, 3, (nil), 0x00000000 
    fixme:wbemprox:client_security_Release 0x7d7010f8 
    fixme:advapi:RegisterTraceGuidsW (0xa324d0, 0xa3d6e8, {7c830ece-5fb3-417a-a1bd-508f45277356}, 1, 0x33f464, (null), (null), 0xa3d6f0,): stub 
    fixme:advapi:RegisterTraceGuidsW (0xd924d0, 0xd9d6e8, {7c830ece-5fb3-417a-a1bd-508f45277356}, 1, 0x33f404, (null), (null), 0xd9d6f0,): stub 
    fixme:msvcrt:__clean_type_info_names_internal (0xb85f20) stub 
    fixme:advapi:RegisterTraceGuidsW (0x3c24d0, 0x3cd6e8, {7c830ece-5fb3-417a-a1bd-508f45277356}, 1, 0x197e644, (null), (null), 0x3cd6f0,): stub 
    err:rpc:I_RpcGetBuffer no binding 
    fixme:msvcrt:__clean_type_info_names_internal (0x10051a80) stub 
    fixme:msvcrt:__clean_type_info_names_internal (0x960b48) stub 
    fixme:msvcrt:__clean_type_info_names_internal (0xa214a0) stub 
    

    I guess it's a Wine regression. The earliest version I got this problem on was 1.5.28 and I don't know which version brought this problem. Although I can use 1.4.1 to run MTA, I want it to work in future stable releases too.

  3. Since it's not magic, it doesn't matter how you stored the value, that's how programming works. To get the data from MySQL, use SELECT statement in dbQuery and then dbPoll to get the result.

  4. Go to MTA San Andreas/mods/deathmatch/resources/scoreboard, there's a file settings.xml in it. You can either delete it to reset the settings or open it and change the scale value.

  5. You can't destroy DX drawings because they don't exist. They don't exist because DX drawing functions don't create anything. All what they do is changing the colors of some pixels on the screen. Our minds interpret these areas of pixels as distinct elements. What's more, since the game redraws the view every frame (therefore removing any color changes done by DX drawing functions), even if we consider them distinct elements, they still disappear quickly after being drawn. But if you call drawing functions every frame, colors of pixels are changed again and again, and our minds interpret this as continuous existence of some distinct element. And if you stop calling the drawing functions (such as removeEventHandler, like Castillo said, or using if ... then ... end condition blocks), the colors of pixels will stop being changed, resulting in illusion of disappearance of something that doesn't actually exist. Therefore DX drawings in some sense are creations of our tricky minds. I hope this philosophy will help you to understand how DX drawings work :)

  6. You can cast a ray from sky to the ground to find what material is at that point using. So if you create a render target, go through every square meter (or some less precise area, like 2x2 or 4x4) of the map, getting the material and drawing a pixel of its color into the render target during the process, the render target will contain the map which you can save into the image file.

    dxCreateRenderTarget 
    processLineOfSight, testLineAgainstWater --to get the material 
    dxDrawRectangle --to draw the pixel 
    dxGetTexturePixels --to get the texture data 
    fileCreate, fileWrite, fileClose --to write that data into the file 
    

    And remember, when you cast the ray, the local player must be near enough to make sure that objects are loaded.

  7. How would what be done? If you want the client-side files to be impossible to steal, don't use them. You can't expect to make the MTA client use the data without downloading it first.

  8. is there a way to actually extract the script from the memory or somehow get the script in the process?

    Yes. The only way to make sure that no one can get the script is not sending it to the players.

  9. Lua isn't something you're going to learn in a day. It takes experience and a lot of time to understand the core.

    I don't agree. Learning a programming language is a matter of hours (or even minutes if you only count the basics). Learning to program is a different thing and it takes from hours or days (for a basic understanding) to years (for good skills).

  10. Correct me if I'm wrong, but there's no data type "storage" in SQL. As for table, of course can't simply concatenate it into the string. This is not a good way to organize your database structure, anyway. But if you still want to make it like that, you can convert the table to a string and vice-versa using these functions:

    toJSON 
    fromJSON 
    

    And the last thing to say, do not concatenate the values directly into the query string. Pass them as separate arguments into dbExec to avoid code injection.

  11. Remote trigger means triggering from server to client and vice-versa. Triggering onClientResourceStart doesn't require that. But since that may cause some mess, you may want to try making a wrapper function for addEventHandler which defines specific behavior for onClientResourceStart event, such as storing the handler functions into the table and executing them at the end of the script.

×
×
  • Create New...