DxDrawGifImage
From Multi Theft Auto: Wiki
This function simulates the effect of a GIF image by using image sprites.
Syntax
Required Arguments
- x: A float of the 2D x position of the GUI button on a player's screen.
- y: A float of the 2D y position of the GUI button on a player's screen.
- width: A float of the width of the GUI button.
- height: A float of the height of the GUI button.
- path: The filepath of the image files will be loaded. A "%s" is required to denote where the "id" is placed.
"%snyancat.png" would be read as "1nyancat.png" "2nyancat.png" etc "a%sbcdefghe" would read the images "a1sbcdefghe" "a2sbcdefghe" "a3sbcdefghe" etc.
- startImageID: The image ID that will be loaded in the first place.
- fileExtension: The image extension ( e.g: png, jpg, etc. ).
- effectSpeed: The speed between the change of the images.
Code
Click to collapse [-]
Clientside Scriptfunction dxDrawGifImage ( x, y, w, h, path, iStart, iType, effectSpeed ) local gifElement = createElement ( "dx-gif" ) if ( gifElement ) then setElementData ( gifElement, "gifData", { x = x, y = y, w = w, h = h, imgPath = path, startID = iStart, imgID = iStart, imgType = iType, speed = effectSpeed, tick = getTickCount ( ) }, false ) return gifElement else return false end end addEventHandler ( "onClientRender", root, function ( ) local currentTick = getTickCount ( ) for index, gif in ipairs ( getElementsByType ( "dx-gif" ) ) do local gifData = getElementData ( gif, "gifData" ) if ( gifData ) then if ( currentTick - gifData.tick >= gifData.speed ) then gifData.tick = currentTick gifData.imgID = ( gifData.imgID + 1 ) if ( fileExists ( gifData.imgPath .."".. gifData.imgID ..".".. gifData.imgType ) ) then gifData.imgID = gifData.imgID setElementData ( gif, "gifData", gifData, false ) else gifData.imgID = gifData.startID setElementData ( gif, "gifData", gifData, false ) end end dxDrawImage ( gifData.x, gifData.y, gifData.w, gifData.h, gifData.imgPath .."".. gifData.imgID ..".".. gifData.imgType ) end end end )
Example
Click to collapse [-]
ClientThis example will create a "gif" image and a command to destroy it.
gif = dxDrawGifImage ( 769, 175, 193, 145, "images/flag_arg", 0, "png", 120 ) addCommandHandler ( "destroygif", function ( ) destroyElement ( gif ) end )
Author: Castillo
See Also
- callClientFunction » This function allows you to call any clientside function from the server's side.
- callServerFunction » This function allows you to call any server-side function from the client's side.
- centerWindow » This function center the window in any resolution.
- Check » This function checks if it's arguments are of the right types and calls the error-function if one isn't.
- convertNumber » This function converts large numbers and adds commas to it. (Example: 100000 -> 100,000)
- coroutine.resume » Fix for hidden coroutine error messages
- dxDrawColorText » This function draws a dx text with #RRGGBB color codes support.
- dxDrawGifImage » This function simulates the effect of a GIF image by using image sprites.
- dxDrawImage3D » This function draws a 3D image.
- dxDrawRectangle3D » This function draws a 3D rectangle.
- dxGetFontSizeFromHeight » This function calculate a font size from given height for dxDraw.
- dxGetRealFontHeight » Accurately measures the pixel height of a font.
- findRotation » Takes two points and returns the direction from point A to point B.
- FormatDate » Formats a date on the basis of a format string and returns it.
- GenerateString » With this function you can generate a random string with any characters.
- getAge » This function calculates the age of a birthday.
- getAlivePlayers » This function returns all the alive players by a client side, so you can store them into a Gridlist or something like that, faster.
- getAlivePlayersInTeam » This function returns a table of the alive players in a team.
- getCursorMoveOn » This function checks in which way the cursor is currently moving.
- getDistanceBetweenPointAndSegment2D » Takes point coordinates and line (a segment) starting and ending coordinates. It returns the shortest distance between the point and the line.
- getElementSpeed » This function allows you to get element speed in kph or mph units.
- getJetpackWeaponsEnabled » This function returns a table of enabled weapons usable on a jetpack.
- getOffsetFromXYZ » This function allows you to take an entity and a position and calculate the relative offset between them accounting for rotations.
- getOnlineAdmins » This function will give the online admins.
- getOnlineStaff » Returns all online staff, names separated by two spaces.
- getPlayersByData » This function gets players who have data name you passed to it.
- getPlayerFromNamePart » This function allows you to get player From his Name part.
- getPlayersInPhotograph » This function gets all the players in a photograph.
- getPlayerFromSerial » This function gets an online player from their serial.
- getPointFromDistanceRotation » Finds a point based on a starting point, direction and distance.
- getResourceSettings » This function returns a table of the resource settings.
- getTeamFromColor » This function gets a team from it's color. (Related to: getTeamFromName)
- getTimestamp » With this function you can get the UNIX timestamp.
- getXMLNodes » Returns all children of a node
- getVehicleRespawnPosition » This function allows you to get the spawn position of a vehicle.
- guiComboBoxAdjustHeight » Adjusts the combobox to have a correct height.
- IfElse » Returns one of two values based on a boolean expression.
- isElementInPhotograph » This function checks if an element was in the player's camera picture.
- isElementInRange » This function allows you to check is the element's range to the main point is smaller than (or as big as) the maximum range.
- isElementMoving» This function checks if an element is moving.
- isPedAiming» This function checks if a ped is aiming.
- isPlayerInTeam » This function check if the player in the team.
- isLeapYear » Checks if the given year is a leap year.
- isVehicleOnRoof » This function checks whether vehicle is on roof.
- iterElements » Returns an iterator for your for loops saving time typing ipairs( getElementsByType( type ) ), instead you type: iterElements( type ).
- mathNumber » This function is a workaround for the clientside floating-point precision of 24-bits
- math.round » Rounds a number whereas the number of decimals to keep and the method may be set.
- multi_check » This function checks one element to many, handy and clean.
- onVehicleWeaponFire » This code implements an event that is triggered when a player in a vehicle fires a vehicles weapon.
- RGBToHex » This function returns a string representing the color in hexadecimal.
- setElementSpeed » This function allows you to set moving element speed in kph or mph units.
- setTableProtected » Protects a table and makes it read-only.
- setVehicleGravityPoint » This clientside function sets a vehicle's gravity in the direction of a 3 dimensional coordinate with the strength specified.
- smoothMoveCamera » This clientside function allows you to create a cinematic camera flight.
- string.count » This function counts a text from a text.
- string.explode » This function splits a string at a given separator pattern and returns a table with the pieces.
- switch » This function allow the value of a variable or expression to control the flow of program execution via a multiway branch.
- table.copy » This function copies a whole table and all the tables in that table.
- table.compare » This function check if both tables is equal.
- table.empty » This function check is empty table or not.
- table.map » This function goes through a table and replaces every field with the return of the passed function, where the field's value is passed as first argument and optionally more arguments.
- table.random » This function retrieves a random variable from a table.
- table.size » Finds the absolute size of a table.
- toHex » This function converts a decimal number to a hexadecimal number, as a fix to be used clientside.
- var dump » This function outputs information about one or more variables using outputConsole()
- wavelengthToRGBA » This function converts a phisical wavelength of light to a RGBA color.