DeleteResource: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Wrong revision number, updated)
(Remove obsolete Requirements section)
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{New feature/item|3.0120|1.2|3316|
__NOTOC__
__NOTOC__
{{Server function}}
{{Server function}}
This function deletes a resource from the MTA memory and moves it to the "/resources-cache/trash/" directory.
This function deletes a resource from the MTA memory and moves it to the '''/resources-cache/trash/''' directory.
 
'''Note:''' This function only works properly from 1.3.0-3912 (r3912). In case you are below r3912 you need to create a directory called "trash" inside of the "resources-cache" folder.
 
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
bool deleteResource ( string resourceName )
bool deleteResource ( string resourceName )
</syntaxhighlight>  
</syntaxhighlight>  
 
{{OOP|This function is a static function underneath the Resource class.|[[Resource]].delete}}
===Required Arguments===  
===Required Arguments===  
*'''resourceName:''' The name of resource to delete.
*'''resourceName:''' The name of resource to delete.
Line 18: Line 14:


==Example==
==Example==
This example checks to see if there's 2 resources.
This example adds a command to delete a certain resource (admins only, no spaces in resource name allowed).
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEventHandler("onResourceStart",getResourceRootElement(getThisResource()),
addCommandHandler ( "removeresource",
function()
function ( playerSource, commandName, name )
  resources = getResources() --Get all resources
    --Check if it is an admin using this command
  if (getResourceState(resources) == "loaded" and "running" or "loaded" and "starting") then --Checks to see if there's to resources that's loaded and running or loaded and starting up
    if not isObjectInACLGroup ( "user." .. getAccountName ( getPlayerAccount ( playerSource ) ), aclGetGroup ( "Admin" ) ) then
     stopResource(resources)
        outputChatBox ( "You are not allowed to use this command", playerSource )
     deleteResource(resources)
        return
  end
    end
end)
    --Did the user pass a valid resource name?
    if not name or name == "" or name == " " then
        outputChatBox ( "An invalid resource name has been passed (/removeresource <name>)", playerSource )
        return
    end
    --Let us check if the resource name exists
    --Get all resources
    local resourceTable = getResources ( )
    for resourceKey, resourceValue in ipairs ( resourceTable ) do
        local resourceName = getResourceName ( resourceValue )
        --Does the resource exist?
        if name == resourceName then
            --Stop the resource (maybe it is running)
            stopResource ( resourceValue )
            --Delete it
            local deleted = deleteResource ( name )
            if deleted then
                outputChatBox ( "Resource " .. name .. " has been successfully removed", playerSource )
            else
                outputChatBox ( "There is an unknown problem with the resource", playerSource )
            end
            --The function is finished and was successful, return to stop it
            return
        end
    end
     --If a resource with the specified name does not exist show an error message
     outputChatBox ( "The specified resource does not exist", playerSource )
end )
</syntaxhighlight>
</syntaxhighlight>
}}
==Requirements==
{{Requirements|1.1.1-9.03316|n/a|}}


==See Also==
==See Also==
{{Resource_functions}}
{{Resource_functions|server}}

Latest revision as of 15:33, 7 November 2024

This function deletes a resource from the MTA memory and moves it to the /resources-cache/trash/ directory.

Syntax

bool deleteResource ( string resourceName )

OOP Syntax Help! I don't understand this!

Note: This function is a static function underneath the Resource class.
Method: Resource.delete(...)


Required Arguments

  • resourceName: The name of resource to delete.

Returns

Returns true if the resource has been deleted successfully, false otherwise.

Example

This example adds a command to delete a certain resource (admins only, no spaces in resource name allowed).

addCommandHandler ( "removeresource",
function ( playerSource, commandName, name )
    --Check if it is an admin using this command
    if not isObjectInACLGroup ( "user." .. getAccountName ( getPlayerAccount ( playerSource ) ), aclGetGroup ( "Admin" ) ) then
        outputChatBox ( "You are not allowed to use this command", playerSource )
        return
    end 
    --Did the user pass a valid resource name?
    if not name or name == "" or name == " " then
        outputChatBox ( "An invalid resource name has been passed (/removeresource <name>)", playerSource )
        return
    end
    --Let us check if the resource name exists
    --Get all resources
    local resourceTable = getResources ( ) 
    for resourceKey, resourceValue in ipairs ( resourceTable ) do
        local resourceName = getResourceName ( resourceValue )
        --Does the resource exist?
        if name == resourceName then
            --Stop the resource (maybe it is running)
            stopResource ( resourceValue )
            --Delete it
            local deleted = deleteResource ( name )
            if deleted then
                outputChatBox ( "Resource " .. name .. " has been successfully removed", playerSource )
            else
                outputChatBox ( "There is an unknown problem with the resource", playerSource )			
            end
            --The function is finished and was successful, return to stop it
            return
        end
    end
    --If a resource with the specified name does not exist show an error message
    outputChatBox ( "The specified resource does not exist", playerSource )
end )

See Also