Soapbosnia

Members
  • Content count

    84
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Soapbosnia

  • Rank
    Transformer

Details

  • Gang
    Quantum
  • Location
    Bosnia and Herzegovina
  • Occupation
    Sniper
  • Interests
    Scripting
  1. [Help]Chatbubbles

    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 )
  2. Health Decrease/Increase Animation

    Thank you guys, it works
  3. Health Decrease/Increase Animation

    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 )
  4. Ovo je moj server IP: mtasa://145.239.38.24:27010
  5. [HELP]How to make a image spin

    Ok,thanks man
  6. [HELP]How to make a image spin

    Hi guys,i never tried this and idk what to use for this but,how do i make a image on the screen spin? Thanks.
  7. [HELP]Pls help me to fix this error

    Ok,@MrTasty @Mohamed Nightmare Thanks to both of you <3
  8. [HELP]Pls help me to fix this error

    Did what you told me,same debug error
  9. [HELP]Pls help me to fix this error

    I get this error in debug.Kill/Script.lua:12: attempt to call a number value Client: function dieHandler(p) addEventHandler ("onClientRender", getRootElement(), dieDx) setTimer(function() removeEventHandler("onClientRender",getRootElement(),dieDx) end,7000,1) end addEvent ("onType", true) addEventHandler ("onType", root, dieHandler) sWidth,sHeight = guiGetScreenSize() function dieDx () timer = setTimer(function() end, 7000, 1) remaining = getTimerDetails(timer) dxDrawText("You will be killed in #FFFFFF"..( math.floor(remaining/1000))" #640000seconds", sWidth(310/1024), sHeight(250/768), sWidth(1221/1280), sHeight(92/720), tocolor(100, 0, 0, 255), 1.5, "pricedown", "left", "top", false, false, true, true, false) end Server: addCommandHandler('killme', function(p) wlevel = getPlayerWantedLevel ( p ) if (wlevel == 0) then setTimer(killPed, 7000, 1, p) toggleAllControls ( p, false ) triggerClientEvent (p, "onType", p) setTimer ( toggleAllControls, 7000, 1, p, true ) end end )
  10. [HELP]Whats the problem here ?

    @NeverUnbeatableOk thanks,il keep that in mind
  11. [HELP]How do i draw a image in the freeroam panel

    @LilDawageYou mean the text on top of the F1 Window ? The name is Freeroam Console
  12. [HELP]How do i draw a image in the freeroam panel

    @LilDawageWhat do i need to put where it says F1 panel
  13. Hi guys,i got a question,how do i draw a image in the freeroam (F1) Panel ? Thanks
  14. [HELP]Whats the problem here ?

    @Patrick2562Thank you so much bro it works <3
  15. [HELP]Whats the problem here ?

    WARNING:Wasted/server.lua:5:Bad argument "addEventHandler" [Expected element at argument 2,got nil]. The code: function respawnOnWasted () spawnPlayer (source, 0, 0, 5, 0, math.random (0,288), 0, 0) end addEventHandler( "onPlayerWasted", thePlayer, function() bindKey ( player, "F", "both", respawnOnWasted ) end )