User:Necktrox: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Added personal code snippets)
m (Wrong comparsion value [sry])
Line 87: Line 87:
         startpoint = position and (position + sepLength) or 0
         startpoint = position and (position + sepLength) or 0


         if part:len() > 1 then
         if part:len() > 0 then
             rows[#rows + 1] = part
             rows[#rows + 1] = part
         end
         end

Revision as of 15:51, 20 July 2016

Download and install socket module

Download

These binaries are freshly baked for the commit a23bf532477f03f70be6432b3b4b4d51f2949a11.

Installation

You can read more about the sockets module here: Modules/Sockets

Windows

x32: server/mods/deathmatch/modules/ml_sockets.dll
x64: server/x64/modules/ml_sockets.dll

Linux

x32: server/mods/deathmatch/modules/ml_sockets.so
x64: server/x64/modules/ml_sockets.so

Compile socket module on Ubuntu 15.10 (or on any Debian distro?)

Install the necessary build tools, headers and libraries

$ sudo apt-get install git build-essential automake libtool lib32z1-dev g++-multilib

Clone the multitheftauto/multitheftauto-modules repository to your disk

$ git clone https://github.com/multitheftauto/multitheftauto-modules.git mta-modules

Change your directory to mta-modules/sockets

$ cd mta-modules/sockets

Make the shell scripts executable, so they can be ran from terminal

$ chmod a+x build-32.sh
$ chmod a+x build-64.sh

Build the x32/x64 libraries

$ ./build-32.sh
$ ./build-64.sh

Contact

Code Snippets

string.address

function string:address()
    return self:match("0+(.+)")
end
local e = createElement("example")
outputDebugString(tostring(e):address())

utf8.split

function utf8:split(separator)
    assert(type(separator) == "string", "expected string at argument 1, got ".. type(separator))

    local rows = {}
    local position, startpoint = false, 1
    local sepLength = utf8.len(separator)

    repeat
        position = self:find(separator, startpoint, true)
        local part = self:sub(startpoint, position and (position - 1) or nil)
        startpoint = position and (position + sepLength) or 0

        if part:len() > 0 then
            rows[#rows + 1] = part
        end
    until not position

    return rows
end
for index, column in ipairs(utf8.split("A--B--C", "--")) do
    -- ...
end