Jump to content


  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

1,232 profile views

Incama's Achievements


Rat (9/54)



  1. Hey everyone! @TEDERIs released a MTA ASE bytecode reader last year, i made a version of it in Python. It's not the greatest python code but it works and maybe it is useful for someone. I plan to build on it in the future. https://github.com/Incama2/ase2json_py Original library: https://github.com/tederis/ase2json Sample output: [ { "ip": "", "port": 22099, "playersCount": 15, "maxPlayersCount": 60, "gameName": "", "serverName": "MTA | Corona | Role Play", "modeName": "", "mapName": "", "version": "1.6n", "passworded": false, "players": [], "httpPort": 32099 }, { "ip": "", "port": 22003, "playersCount": 5, "maxPlayersCount": 30, "gameName": "", "serverName": "MTA Province Freeroam [vk.com/mtaprovincefreeroam]", "modeName": "", "mapName": "", "version": "1.6n", "passworded": false, "players": [], "httpPort": 32003 }, { "ip": "", "port": 22038, "playersCount": 0, "maxPlayersCount": 30, "gameName": "", "serverName": "Default MTA Server", "modeName": "", "mapName": "", "version": "1.6n", "passworded": true, "players": [], "httpPort": 32038 }, { "ip": "", "port": 22004, "playersCount": 0, "maxPlayersCount": 30, "gameName": "", "serverName": "MTA PROVINCE FAKE | 1 SERVER | ", "modeName": "", "mapName": "", "version": "1.6n", "passworded": true, "players": [], "httpPort": 32004 }, { "ip": "", "port": 22008, "playersCount": 6, "maxPlayersCount": 100, "gameName": "", "serverName": "Fenix Provincial || BETA 2.0 || Offical Server #1", "modeName": "", "mapName": "", "version": "1.6n", "passworded": false, "players": [], "httpPort": 32008 }, ... { "ip": "", "port": 22003, "playersCount": 0, "maxPlayersCount": 200, "gameName": "", "serverName": "Korkmaz Roleplay V1 Beta", "modeName": "", "mapName": "", "version": "1.4", "passworded": false, "players": [], "httpPort": 22005 }, { "ip": "", "port": 22003, "playersCount": 8, "maxPlayersCount": 200, "gameName": "", "serverName": "Diablo Roleplay|200K Giris|Mal Varligi Veriliyor|Hayallerini Yasat Turk Real Life Gercek", "modeName": "", "mapName": "", "version": "1.4", "passworded": false, "players": [], "httpPort": 0 }, { "ip": "", "port": 22003, "playersCount": 4, "maxPlayersCount": 500, "gameName": "", "serverName": "Pablo Roleplay ❄ Amerikan Roleplay'ın Nirvanası ..", "modeName": "", "mapName": "", "version": "1.4", "passworded": false, "players": [], "httpPort": 0 }, { "ip": "", "port": 19998, "playersCount": 0, "maxPlayersCount": 16, "gameName": "", "serverName": "PAC OSO Clanserver", "modeName": "", "mapName": "", "version": "1.3", "passworded": true, "players": [], "httpPort": 0 }, { "ip": "", "port": 22000, "playersCount": 0, "maxPlayersCount": 8, "gameName": "", "serverName": "Party And Co Maptesting Server", "modeName": "", "mapName": "", "version": "1.3", "passworded": true, "players": [], "httpPort": 0 }, { "ip": "", "port": 19999, "playersCount": 0, "maxPlayersCount": 32, "gameName": "", "serverName": "PAC ASO Clanserver", "modeName": "", "mapName": "", "version": "1.3", "passworded": true, "players": [], "httpPort": 0 }, { "ip": "", "port": 19005, "playersCount": 0, "maxPlayersCount": 12, "gameName": "", "serverName": "PAC 3xC Clan server", "modeName": "", "mapName": "", "version": "1.3", "passworded": true, "players": [], "httpPort": 0 }, { "ip": "", "port": 22041, "playersCount": 0, "maxPlayersCount": 30, "gameName": "", "serverName": "GTA GARAGE CLUB CR 1.3 [ Пароль в паблике. ]", "modeName": "", "mapName": "", "version": "1.3", "passworded": true, "players": [], "httpPort": 0 } ] It uses Python 2.7
  2. Incama

    MTA ASE Parser

    Hi all, great work @TEDERIs. Since i'm not really good at c++ (and as far as i know if you want to use it for example a web API it's not the greatest) i made a version of the code in python. If someone can use it that's great. https://github.com/Incama2/ase2json_py
  3. This is the single best thing that ever happened in the MTA ecosystem. Being able to hire c# devs to do MTA programming. Great job!
  4. it will but you benefit more than you lose.
  5. https://dev.prineside.com/en/gtasa_samp_model_id/ Search for 'wire' and then removeWorldModel them at resourceStart, now you have 100+ free objects IDs. If you want more, you can remove interiors.
  6. Study @TEDERIs terrarian editor, or just go with building blocks, you can make the system perfectly with them. With building blocks it's better, because you don't have to save every interiors dffs (or dff morph data) on the server side for every interior.
  7. I've figured out in the end. Here's the solution: Since you can't pass matrixs with setElementData (just trust me with that) you have to split the matrix into a table and then do the setElementData part. So the scripts now looks like this: setElementData(localPlayer, "bobber:create", true) setElementData(localPlayer, "bobber:pos", {localPlayer.matrix.position.x, localPlayer.matrix.position.y, localPlayer.matrix.position.z, localPlayer.matrix.rotation.x, localPlayer.matrix.rotation.y, localPlayer.matrix.rotation.z}) and then at the onClientElementDataChange side of things you have to do this: local mat = getElementData(player, "bobber:pos") local matrix = Matrix(Vector3(mat[1], mat[2], mat[3]), Vector3(mat[4], mat[5], mat[6])) That's all, and some other minor fixes and tweaks solved my problem. You can lock the post know and thanks for the advices.
  8. local bobbers = {} local lines = {} function start() setElementData(localPlayer, "bobber:create", true) end function createBobber(player, m) if m then if not bobbers[player] then local m = player.matrix:transformPosition(Vector3(0,math.random(3,10),0)) local z = getWaterLevel(m[1], m[2], m[3]) or -0.55 bobbers[player] = createObject(1974,m[1], m[2], z) setObjectScale(bobbers[player], 2) lines[player] = true end else if isElement(bobbers[player]) then destroyElement(bobbers[player]) bobbers[player] = false lines[player] = false end end end addEventHandler("onClientResourceStop", resourceRoot, function() if getElementData(localPlayer, "bobber:create") then setElementData(localPlayer, "bobber:create", false) end end) addEventHandler("onClientElementDataChange", root, function(data, oldv) if data == "bobber:create" then if isElement(source) and getElementType(source) == "player" and isElementStreamedIn(source) then local m = getElementData(source, "bobber:create") or false createBobber(source, m) end end end) addEventHandler("onClientElementStreamIn", root, function() if isElement(source) and getElementType(source) == "player" and getElementData(source, "bobber:create") then if source ~= localPlayer then local m = getElementData(source, "bobber:create") or false if m then createBobber(source, true) end end end end) addEventHandler("onClientElementStreamOut", root, function() if isElement(source) and getElementType(source) == "player" and getElementData(source, "bobber:create") then if source ~= localPlayer then local m = getElementData(source, "bobber:create") or false if m then createBobber(source, false) end end end end) function drawLine() for i,v in pairs(lines) do if v then if isElementStreamedIn(i) then local p = bobbers[i].position local m = fishingSticks[i].matrix:transformPosition(Vector3(0.124, 0.034, 1.29)) dxDrawLine3D(p.x, p.y, p.z, m.x, m.y, m.z, tocolor(0,0,255,200), 0.5) end end end end addEventHandler("onClientRender", root, drawLine) Thanks for the quick answer but the problem lies here. As i said, it works perfectly fine with localPlayer but when i try it with other players on the client side, it just simply doesn't work. I don't know if i'm an idiot or it's a bug. EDIT: This is a piece of the script, i deleted some parts because it's private
  9. Hello everyone! So i'm trying to make a script that places a object in front of the player. Problem is: I have everything client sided and i stream the object with a simple create function and elementDatas (streamin, streamout, elementdatachange), but everytime that it asks for the player's (not localPlayer) position it doesn't take into count the rotation of the player (not localPlayer). For me it places it in the right places, but for other people it shows in way if i would have 0 rotation. I'm using matrixs and transformPosition. Any idea? (i've tryed asking for the localPlayer.matrix and source.matrix in the runcode resource and it indicates everything well)
  10. What does the debugscript says?
  11. Hey guys, can you recommend me any way to import night time vertexs into 3ds max? (i need the night time stuff not the day time, i know that Kams loads that)
  12. No conversion needed, just download SAMP, find the right .img file and extract the models with IMGTools (you can use any other img editor tool). If you're done with that just write a script to load the dff,txd and col. Good luck
  13. I mean you create 2 lines and you put a fading material between the two (you make that material in PhotoShop).
  • Create New...