Jump to content

Ayush Rathore

Members
  • Posts

    156
  • Joined

  • Last visited

  • Days Won

    2

Ayush Rathore last won the day on March 28 2022

Ayush Rathore had the most liked content!

2 Followers

About Ayush Rathore

  • Birthday April 27

Details

  • Gang
    NONE
  • Location
    India
  • Occupation
    Killing People
  • Interests
    Scripting(server,client,gui,sql),Mapping

Recent Profile Visitors

5,091 profile views

Ayush Rathore's Achievements

Busta

Busta (15/54)

53

Reputation

  1. For every player the icon will be same the below method will change the icon for your own mta game so you have to make your own F11 map script.
  2. Please provide additional information and possibly a code excerpt so that we can assist you more effectively. Also, do not expect someone to create the script from start; pay someone.
  3. Firstly place your resource in acl as admin (bad practice but to test just do it) <group name="Admin"> <object name="resource.dt"></object> </group> I have named my resource "dt" now in server.lua place this sendOptions = { queueName = "Discord Test Queue", connectionAttempts = 3, connectTimeout = 5000, formFields = { username= "your webhook bot name", avatar_url= "", content= "Hello World" } } function callback(data, info) iprint( "Discord Message Sent:" .. " success:" .. tostring(info.success) .. " statusCode:" .. tostring(info.statusCode) .. " data:" .. tostring(data)) end fetchRemote( "your webhook url", sendOptions, callback ) Enjoy
  4. It is a particle effect, you can see this link https://vincentgarreau.com/particles.js/ To make it you have to make a web browser on client side and load javascript. you can use the below link for help https://wiki.multitheftauto.com/wiki/Client_Scripting_Functions#Browser_functions
  5. You should read these links https://wiki.multitheftauto.com/wiki/Slothman/Zombies https://forum.multitheftauto.com/topic/20409-rel-zday-a-zombie-infestation-script/
  6. You have to attach javascript and then attach it to lua for something to happen. Head to the below wiki link to make it work: https://wiki.multitheftauto.com/wiki/Client_Scripting_Functions#Browser_functions
  7. If you are in server and scripts are not optimized fan speed will increase. try changing servers and see.
  8. You should use folder as MTA when run the scripts it unzips the folder in to resource-cache folder so its does not matter.
  9. What you can do is: On server side Make a temporary ped using event "wastedEvent". Make this ped have the same features of the player dieing (skin, rotation) etc. Make ped collison disabled. (makes ped free from damage from other elements) Set the alpha of player to 0 and make him froze. Perform the animation on the ped. Afterwards destroy ped and reset alpha on player respawn.
  10. Client side local sounds = { [1] = "soundsMM/1.mp3", [2] = "soundsMM/2.mp3", [3] = "soundsMM/3.mp3", [4] = "soundsMM/4.mp3", [5] = "soundsMM/5.mp3", [6] = "soundsMM/6.mp3", [7] = "soundsMM/7.mp3", [8] = "soundsMM/8.mp3", [9] = "soundsMM/9.mp3", [10] = "soundsMM/10.mp3", [11] = "soundsMM/11.mp3", [12] = "soundsMM/12.mp3" }; local resourceRoot = getResourceRootElement(); local sound = nil addEvent("playSoundRound", true); addEventHandler("playSoundRound", resourceRoot, function(id) sound = playSound(sounds[id], false); end); function SayChatik() local meta = getSoundMetaTags(sound); local art = "Артист: "; local tag = "[Legends]"; outputChatBox("[Legends] Artist(s) or track: " .. meta.artist .. " " .. xuesosina1 .. ""); end; addEventHandler("onClientMapStopping", resourceRoot, SayChatik); Server Side local totalSounds = 12 -- change it when you change sound table in client side local resourceRoot = getResourceRootElement() function musicround() triggerClientEvent(root,"playSoundRound",resourceRoot,math.random(1,totalSounds)) end addEventHandler ("onRoundFinish", root, musicround) This will do the needful!
  11. https://wiki.multitheftauto.com/wiki/GetVehicleUpgrades <- the function returnes a table and you cannot store it directly you have save the upgrade one by one. Another thing which i noticed that the syntax of GetVehicleUpgrades is wrong in your code and you have to pass only a vehicle in that function. Now to save you can use the below code local theVehicle = getPedOccupiedVehicle ( thePlayer ) local model = getElementModel(theVehicle) if(not theVehicle) then return end for i=0, 16 do local upgrade = getVehicleUpgradeOnSlot ( theVehicle, i ) if ( upgrade ) then setAccountData (account, "veh_"..model.."_"..i, upgrade) end end It is saving vehicle date per vehicle so you will not run in overwriting the data. Now there are 4 scenarios you have to look to successfully load and unload upgrades When player logouts if he is in the vehicle save the upgrade. When player quits if he is in the vehicle save the upgrade. When player logins if he is in vehicle load and apply the vehicle upgrade. if he is not in vehicle load and apply the upgrade when he enters the vehicle. Saving the vehicle data to account as soon as the player leaves the vehicle. Apart from upgrades there are many things you have to save like Vehicle Handling Color Door State Paint job Plate text Health Wheel State Locked If you are making a role play game the above list is the desired but you may skip it.
  12. myfont = "default-bold" nametags_Root = getRootElement() nametags_ResRoot = getResourceRootElement(getThisResource()) nametags_Players = getElementsByType('player') nametags_Me = getLocalPlayer() nametag = {} local nametags = {} local sWidth,sHeight = guiGetScreenSize() local Nametags_Hide = false local Nametags_Scale = 0.36 local Nametags_Alpha_Distance = 30 local Nametags_Distance = 40 local Nametags_Alpha = 255 local Nametags_Text_Bar_Space = 1 local Nametags_Width = 50 local Nametags_Height = 20 local Nametags_Size = 0.45 local Nametags_Outline_Thickness = 1.2 local Nametags_Alpha_Diff = Nametags_Distance - Nametags_Alpha_Distance Nametags_Scale = 1/Nametags_Scale * 800 / sHeight local maxScaleCurve = { {0, 0}, {3, 3}, {13, 5} } local textScaleCurve = { {0, 0.8}, {0.8, 1.2}, {99, 99} } local textAlphaCurve = { {0, 0}, {25, 100}, {120, 190}, {255, 190} } function nametags.Create ( player ) if (player == nametags_Me) then return end nametags[player] = true end function nametags.Destroy ( player ) nametags[player] = nil end addEventHandler ( "onClientRender", nametags_Root, function() if getElementData(getLocalPlayer(), "state.hud") == "disabled" then return end for i,player in ipairs(nametags_Players) do if isElement(player) then setPlayerNametagShowing ( player, false ) if not nametags[player] then nametags.Create ( player ) end end end if Nametags_Hide then return end local x,y,z = getCameraMatrix() for player in pairs(nametags) do while true do if not isElement(player) then break end if getElementDimension(player) ~= getElementDimension(nametags_Me) then break end local px,py,pz = getElementPosition ( player ) local bx, by, bz = getPedBonePosition( player, 5 ) if processLineOfSight(x, y, z, px, py, pz, true, false, false, true, false, true) then break end local playerDistance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) if playerDistance <= Nametags_Distance then --Get screen position local sx,sy = getScreenFromWorldPosition( bx + 0, by, bz + 0.4 ) if not sx or not sy then break end --Calculate our components local scale = 1/(Nametags_Scale * (playerDistance / Nametags_Distance)) local alpha = ((playerDistance - Nametags_Alpha_Distance) / Nametags_Alpha_Diff) alpha = (alpha < 0) and Nametags_Alpha or Nametags_Alpha-(alpha*Nametags_Alpha) scale = math.evalCurve(maxScaleCurve,scale) local textScale = math.evalCurve(textScaleCurve,scale) local textAlpha = math.evalCurve(textAlphaCurve,alpha) local outlineThickness = Nametags_Outline_Thickness*(scale) --Requirements local team = getPlayerTeam(player) local level = getElementData(player, "LV") or 0 local Reputation = getElementData(player, "Reputation") or "player" local r,g,b = getPlayerNametagColor(player) local offset = (scale) * Nametags_Text_Bar_Space/2 local playerName = getPlayerName(player) local imageSize = dxGetFontHeight ( textScale*Nametags_Size, myfont ) local lp = getElementData(player, "experience.rank") or "Newbie" local bitt = interpolateBetween(40, 0, 0, 255, 0, 0, ((getTickCount()) / 1300), "SineCurve") local isim = getPlayerName(player):gsub('#%x%x%x%x%x%x', '') --Draw our text dxDrawText ( isim.."", sx + 0.5*scale, sy - offset + 0.5*scale, sx + 0.5*scale, sy - offset + 0.5*scale, tocolor(0,0,0,255), textScale*Nametags_Size*1., myfont, "center", "bottom", false, false, false, true, true ) dxDrawText ( playerName.."", sx, sy - offset, sx, sy - offset, tocolor(r,g,b,255), textScale*Nametags_Size*1., myfont, "center", "bottom", false, false, false, true, true ) nameWidth = dxGetTextWidth ( playerName.."", textScale*Nametags_Size, myfont ) teamWidth = nameWidth if Reputation then -- dxDrawImage ( sx - math.max(nameWidth/2, teamWidth/2) - 40*scale, sy - 2*imageSize, 7*imageSize, 2*imageSize, ""..Reputation..".png" ) end end break end end end ) function nametagsCreate() for i,player in ipairs(getElementsByType"player") do nametags.Create ( player ) setElementData(player, "nametags", "enabled") end end addEventHandler('onClientResourceStart', nametags_Root, nametagsCreate) function nametagsCreateOnJoin() if source == nametags_Me then return end setPlayerNametagShowing ( source, false ) nametags.Create ( source ) end addEventHandler('onClientPlayerJoin', nametags_Root, nametagsCreateOnJoin) function nametagsDestroy() nametags.Destroy ( source ) end addEventHandler('onClientPlayerQuit', nametags_Root, nametagsDestroy) function math.lerp(from,to,alpha) return from + (to-from) * alpha end function math.evalCurve( curve, input ) if input<curve[1][1] then return curve[1][2] end for idx=2,#curve do if input<curve[idx][1] then local x1 = curve[idx-1][1] local y1 = curve[idx-1][2] local x2 = curve[idx][1] local y2 = curve[idx][2] local alpha = (input - x1)/(x2 - x1); return math.lerp(y1,y2,alpha) end end return curve[#curve][2] end function dxDrawColorText(str, ax, ay, bx, by, color, scale, font,alignX,alignY,clip, wordBreak, postGUI) local pat = "(.-)#(%x%x%x%x%x%x)" local s, e, cap, col = str:find(pat, 1) local last = 1 while s do if s ~= 1 or cap ~= "" then local w = dxGetTextWidth(cap, scale, font) dxDrawText(cap, ax, ay, ax + w, by, color, scale, font,alignX,alignY,clip, wordBreak, postGUI) ax = ax + w color = tocolor(tonumber("0x"..string.sub(col, 1, 2)), tonumber("0x"..string.sub(col, 3, 4)), tonumber("0x"..string.sub(col, 5, 6)), 255) end last = e+1 s, e, cap, col = str:find(pat, last) end if last <= #str then cap = str:sub(last) local w = dxGetTextWidth(cap, scale, font) dxDrawText(cap, ax, ay, ax + w, by, color, scale, font,alignX,alignY,clip, wordBreak, postGUI) end end This will do the needful.
  13. You can make client side elements and using events update the visibility(create or destroy) of the element.
  14. I know just run this and tell if your problem is solved
×
×
  • Create New...