Soapbosnia

Members
  • Content Count

    95
  • Joined

  • Last visited

Community Reputation

5 Neutral

1 Follower

About Soapbosnia

  • Rank
    Punk-@ss B*tch

Details

  • Gang
    Quantum
  • Location
    Bosnia and Herzegovina
  • Occupation
    Sniper
  • Interests
    Scripting

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Nobody will help you with leaked scripts :).
  2. Depends on what you're storing. For example if you're storing player levels you could use a combination of element data and account data (Or instead use tables + mysql, get value from mysql and add it to Lua tables, then export a function to get a player's level from the table). If you're storing user credentials, then use mysql.
  3. Why not store the credentials in a XML file on the client's PC? Using db stuff for this doesn't make sense. Oh, and remember to use https://wiki.multitheftauto.com/wiki/PasswordHash for the password.
  4. Basically, APG Is a clone of an already existing server by the name of Grafuroam.
  5. Eh, hello. This is just a base api script which I've made 5 minutes ago for my server BalkanRoam. Syntax: call(getResourceFromName("base_api"),"create", { ["CLAN"] = "Avalanche", -- The name of the team which can use the markers / gates. ["MARKERS"] = { {-1456.0411376953, 399.1416015625, 7.1875 + 0.7, -1547.4196777344, 345.00686645508, 53.678123474121}, {-1548.0695800781, 342.95944213867, 53.678123474121 + 1, -1458.1085205078, 399.03720092773, 7.1875}, -- 1st 3 arguments are the position of the marker, 2nd 3 arguments are the position where the player should get teleported to. }, ["GATES"] = { {980, -1357.8365478516, 466.90267944336, 9, 0, 0, 270, 3000, -1357.8365478516, 466.90267944336, 14.45, 'avmain'}, {10828, -1342.0478515625, 353.2890625, 11.841010093689, 0, 0, 90, 3000, -1342.0478515625, 353.2890625, 2.731010093689, 'avrunway'}, -- 1st argument is the object ID of the gate, 2nd 3 arguments are the position of the gate, 3rd 3 arguments is the rotation of the gate, 4th 3 arguments are -- the position of the gate when the command gets typed, the last argument is the command name. }, } ) Resource: https://community.multitheftauto.com/index.php?p=resources&s=details&id=16016 Enjoy ;x.
  6. @Vuxoni @Mega9 Trebal pomoć sa serverom? Discord: Soap#8644.
  7. Stop leeching. Also @KINGKHAN stop helping leechers.
  8. BalkanRoam, a english freeroam server The first time BalkanRoam appeared on the MTA Server Browser was back in May 15th, 2018. So basically, it's a freeroam server with features that almost no other freeroam server has, some of them are: - A unique Hydra dogfight system ( New heat-seeking missile path and new way of locking onto a target ) - A Free for All event which has 5+ maps ( Minimum players to start the event is 4, 10 is max ) - A brand new clan panel - A VIP sounds system ( VIP's can play 'meme' music for nearby players ) - A dogfight event ( Falkons vs Hawks, atleast 1 player in both teams required to start the event ) Note: The server is heavily optimised, so expect 61 FPS All time ( 61 FPS is the Server's FPS Limit ) So, what are you waiting for ? Join BalkanRoam today and get a free vip subscription which will last 3 months, after 3 months you're gonna have to buy VIP again through ingame money by typing '/buyvip'. Server IP: mtasa://51.77.125.189:22003 Discord Server: https://discord.gg/zVFhKkw Facebook Page: https://www.facebook.com/BalkanRoam Happy holidays!
  9. https://wiki.multitheftauto.com/wiki/OnPlayerJoin https://wiki.multitheftauto.com/wiki/CreateTeam https://wiki.multitheftauto.com/wiki/SetPlayerTeam https://wiki.multitheftauto.com/wiki/OnPlayerQuit https://wiki.multitheftauto.com/wiki/DestroyElement That's all you need.
  10. Hey MTA Community.I've tried to edit the Chatbubbles script so it shows messages from my custom global chat too, it shows the message in the bubble but the problem is the message doesnt stack on the other bubbles, i mean the normal chat bubbles Code: local selfVisible = true -- Want to see your own message? local messages = {} local globalmessages = {} local textures = {} local timeVisible = 13500 local distanceVisible = 50 local bubble = true -- Rounded rectangle(true) or not(false) function addBubble(text, player, tick) if (not messages[player]) then messages[player] = {} end local width = dxGetTextWidth(text:gsub("#%x%x%x%x%x%x", ""), 1, "default-bold") local _texture = dxCreateRoundedTexture(width+16,20,100) table.insert(messages[player], {["text"] = text, ["player"] = player, ["tick"] = tick, ["endTime"] = tick + 2000, ["alpha"] = 0, ["texture"] = _texture}) end function addGlobalBubble(text, player, tick) if (not globalmessages[player]) then globalmessages[player] = {} end local width = dxGetTextWidth(text:gsub("#%x%x%x%x%x%x", ""), 1, "default-bold") local _texture = dxCreateRoundedTexture(width+16,20,100) table.insert(globalmessages[player], {["text"] = text, ["player"] = player, ["tick"] = tick, ["endTime"] = tick + 2000, ["alpha"] = 0, ["texture"] = _texture}) end function removeBubble() table.remove(messages) end function removeGlobalBubble() table.remove(globalmessages) end local pi = math.pi function outElastic(t, b, c, d, a, p) if t == 0 then return b end t = t / d if t == 1 then return b + c end if not p then p = d * 0.3 end local s if not a or a < math.abs(c) then a = c s = p / 4 else s = p / (2 * pi) * math.asin(c/a) end return a * math.pow(2, -10 * t) * math.sin((t * d - s) * (2 * pi) / p) + c + b end addEventHandler("onClientRender", root, function() local tick = getTickCount() local x, y, z = getElementPosition(localPlayer) for _, pMessage in pairs(messages) do for i, v in ipairs(pMessage) do if isElement(v.player) then if tick-v.tick < timeVisible then local px, py, pz = getElementPosition(v.player) if getDistanceBetweenPoints3D(x, y, z, px, py, pz) < distanceVisible and isLineOfSightClear ( x, y, z, px, py, pz, true, not isPedInVehicle(v.player), false, true) then v.alpha = v.alpha < 200 and v.alpha + 5 or v.alpha local bx, by, bz = getPedBonePosition(v.player, 6) local sx, sy = getScreenFromWorldPosition(bx, by, bz) local elapsedTime = tick - v.tick local duration = v.endTime - v.tick local progress = elapsedTime / duration if sx and sy then if not v.yPos then v.yPos = sy end width = dxGetTextWidth(v.text:gsub("#%x%x%x%x%x%x", ""), 1, "default-bold") yPos = outElastic(elapsedTime, v.yPos, ( sy - 22*i ) - v.yPos, duration, 5) if bubble then dxDrawImage ( sx-width/2-10, yPos - 16, width+16, 20, v.texture, nil, nil, tocolor(0, 0, 0, v.alpha) ) else dxDrawRectangle(sx-width/2-10, yPos - 16, width+16, 20, tocolor(0, 0, 0, v.alpha)) end dxDrawText(v.text, sx-width/2-2, yPos - 14, width, 20, tocolor( 255, 255, 255, v.alpha+50), 1, "default-bold", "left", "top", false, false, false, true) end end else table.remove(messages[v.player], i) end else table.remove(messages[v.player], i) end end end end ) addEvent("onChatIncome", true) addEventHandler("onChatIncome", root, function(message, messagetype) if source ~= localPlayer then addBubble(message, source, getTickCount()) elseif selfVisible then addBubble(message, source, getTickCount()) end end ) function triggerIt(thePlayer,message) addGlobalBubble(message, thePlayer, getTickCount()) end addEvent("globalBubble",true) addEventHandler("globalBubble",root,triggerIt) addEventHandler("onClientRender", root, function() local tick = getTickCount() local x, y, z = getElementPosition(localPlayer) for _, pMessage in pairs(globalmessages) do for i, v in ipairs(pMessage) do if isElement(v.player) then if tick-v.tick < timeVisible then local px, py, pz = getElementPosition(v.player) if getDistanceBetweenPoints3D(x, y, z, px, py, pz) < distanceVisible and isLineOfSightClear ( x, y, z, px, py, pz, true, not isPedInVehicle(v.player), false, true) then v.alpha = v.alpha < 200 and v.alpha + 5 or v.alpha local bx, by, bz = getPedBonePosition(v.player, 6) local sx, sy = getScreenFromWorldPosition(bx, by, bz) local elapsedTime = tick - v.tick local duration = v.endTime - v.tick local progress = elapsedTime / duration if sx and sy then if not v.yPos then v.yPos = sy end local width = dxGetTextWidth(v.text:gsub("#%x%x%x%x%x%x", ""), 1, "default-bold") local yPos = outElastic(elapsedTime, v.yPos, ( sy - 22*i ) - v.yPos, duration, 5) if bubble then dxDrawImage ( sx-width/2-10, yPos - 16, width+16, 20, v.texture, nil, nil, tocolor(0, 0, 0, v.alpha) ) else dxDrawRectangle(sx-width/2-10, yPos - 16, width+16, 20, tocolor(0, 0, 0, v.alpha)) end dxDrawText(v.text, sx-width/2-2, yPos - 14, width, 20, tocolor( 191, 140, 236, v.alpha+50), 1, "default-bold", "left", "top", false, false, false, true) end end else table.remove(globalmessages[v.player], i) end else table.remove(globalmessages[v.player], i) end end end end )
  11. Hey MTA Community, i was trying to make a rectangle which shows player health and it should decrease/increase slowly when u lose/earn health, but it only increases when the script starts Code: function updateStuff() theHealth = getElementHealth(localPlayer) end addEventHandler("onClientRender",root,updateStuff) local tick = getTickCount()/5 addEventHandler("onClientRender", root, function() local progress = ((getTickCount()/5 - tick)/1000) local cX, cY = interpolateBetween(0, 0, 0, 0, theHealth, 0, progress, "Linear") dxDrawRectangle(450, 0, 100 * 4, 30, tocolor(0,0,0,150)) dxDrawRectangle(450, 0, cY * 4, 30, tocolor(100,0,0,255)) end )
  12. Ovo je moj server IP: mtasa://145.239.38.24:27010