Jump to content

Incama

Members
  • Posts

    35
  • Joined

  • Last visited

  • Days Won

    1

Incama last won the day on July 27 2023

Incama had the most liked content!

Recent Profile Visitors

2,161 profile views

Incama's Achievements

Rat

Rat (9/54)

1

Reputation

  1. Solution to the following error: -- Unable to convert: undefined to type: String Anyone having problems importing dffs (exported from blender ) into 3ds max should change the following file: **DFFimp.ms** from this (line 136): to this: Applicable to Goldfish's 3ds max script.
  2. Does it always return the same numbers after multiple runs? IMHO you're seeing float point math's inaccuracy here.
  3. If it's still relevant, you can use the GameQ PHP library (as far as i know this is the same that game-state.net uses) for that. https://github.com/Austinb/GameQ
  4. 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": "46.174.49.47", "port": 22099, "playersCount": 15, "maxPlayersCount": 60, "gameName": "", "serverName": "MTA | Corona | Role Play", "modeName": "", "mapName": "", "version": "1.6n", "passworded": false, "players": [], "httpPort": 32099 }, { "ip": "46.174.48.113", "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": "46.174.50.52", "port": 22038, "playersCount": 0, "maxPlayersCount": 30, "gameName": "", "serverName": "Default MTA Server", "modeName": "", "mapName": "", "version": "1.6n", "passworded": true, "players": [], "httpPort": 32038 }, { "ip": "46.174.50.52", "port": 22004, "playersCount": 0, "maxPlayersCount": 30, "gameName": "", "serverName": "MTA PROVINCE FAKE | 1 SERVER | ", "modeName": "", "mapName": "", "version": "1.6n", "passworded": true, "players": [], "httpPort": 32004 }, { "ip": "46.174.50.52", "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": "37.187.207.95", "port": 22003, "playersCount": 0, "maxPlayersCount": 200, "gameName": "", "serverName": "Korkmaz Roleplay V1 Beta", "modeName": "", "mapName": "", "version": "1.4", "passworded": false, "players": [], "httpPort": 22005 }, { "ip": "88.253.134.70", "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": "85.102.56.176", "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": "37.187.242.161", "port": 19998, "playersCount": 0, "maxPlayersCount": 16, "gameName": "", "serverName": "PAC OSO Clanserver", "modeName": "", "mapName": "", "version": "1.3", "passworded": true, "players": [], "httpPort": 0 }, { "ip": "37.187.242.161", "port": 22000, "playersCount": 0, "maxPlayersCount": 8, "gameName": "", "serverName": "Party And Co Maptesting Server", "modeName": "", "mapName": "", "version": "1.3", "passworded": true, "players": [], "httpPort": 0 }, { "ip": "37.187.242.161", "port": 19999, "playersCount": 0, "maxPlayersCount": 32, "gameName": "", "serverName": "PAC ASO Clanserver", "modeName": "", "mapName": "", "version": "1.3", "passworded": true, "players": [], "httpPort": 0 }, { "ip": "37.187.242.161", "port": 19005, "playersCount": 0, "maxPlayersCount": 12, "gameName": "", "serverName": "PAC 3xC Clan server", "modeName": "", "mapName": "", "version": "1.3", "passworded": true, "players": [], "httpPort": 0 }, { "ip": "46.174.50.52", "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
  5. 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
  6. 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!
  7. it will but you benefit more than you lose.
  8. 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.
  9. 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.
  10. 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.
  11. 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
  12. 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)
  13. What does the debugscript says?
×
×
  • Create New...