Jump to content

Help Marihuana System


Killer...

Recommended Posts

Hi everyone i have been scripting an Marihuana system for MTA Paradise, and show's me some errors.

These are the errors:

[2015-02-14 15:21:05] WARNING: drogas\s.lua:363: Bad argument @ 'setElementData' [Expected element at argument 1, got nil] 
[2015-02-14 15:21:05] ERROR: drogas\s.lua:364: call: failed to call 'players:takemaria' [string "?"] 
[2015-02-14 15:21:05] ERROR: drogas\s.lua:365: attempt to concatenate local 'pjid' (a boolean value) 

And this is the script for plant the marihuana:

function plantar ( thePlayer, command) 
        local maria = getElementData(thePlayer, "maria") 
        local pjid = exports.players:getCharacterID( source ) 
        local x,y,z = getElementPosition ( thePlayer ) 
        planta = createObject (3409, x, y, z) 
        if maria >= 2 then 
        if ( planta ) then -- if it was created 
        outputChatBox("((Has plantado una planta de marihuana))", source, 0, 0, 255 ) 
        setElementData ( source, "maria", maria ) 
        exports.players:takemaria( source, 2 ) 
        exports.sql:query_free('UPDATE characters SET maria = 5 WHERE characterID = '..pjid) 
        setTimer ( plantac, 1000, 1) 
        setTimer ( planta1, 2000, 1) 
        setTimer ( planta2, 4000, 1) 
        setTimer ( planta3, 6000, 1) 
        setTimer ( planta4, 10000, 1) 
        end 
        else 
        outputChatBox("((No tienes suficiente marihuana para poder plantar una planta de marihuana))", source, 0, 0, 255) 
end 
end 
addCommandHandler ( "plantar", plantar ) 

And on the script for take the marihuana:

[2015-02-14 15:28:46] WARNING: drogas\s.lua:380: Bad argument @ 'getObjectScale' [Expected object at argument 1, got nil] 
[2015-02-14 15:28:46] WARNING: drogas\s.lua:382: Bad argument @ 'getElementPosition' [Expected element at argument 1, got nil] 
[2015-02-14 15:28:46] WARNING: drogas\s.lua:383: Bad argument @ 'getElementPosition' [Expected element at argument 1, got boolean] 
[2015-02-14 15:28:46] WARNING: drogas\s.lua:384: Bad argument @ 'getDistanceBetweenPoints3D' [Expected vector3 at argument 1, got boolean] 
[2015-02-14 15:28:46] ERROR: drogas\s.lua:384: attempt to compare boolean with number 

And this is the script for take the marihuana:

function cosechar ( ) 
        local planta = getObjectScale ( planta ) 
        local pjid = exports.players:getCharacterID( source ) 
        local x,y,z = getElementPosition ( player ) 
        local cx,cy,cz = getElementPosition ( planta ) 
        if getDistanceBetweenPoints3D (x,y,z,cx,cy,cz) < 3 then 
        if getObjectScale ( planta, 1) then 
        destroyElement ( planta ) 
        outputChatBox("((Has cosechado 6 g de maria))", source, 255, 255, 0) 
        setElementData ( source, "maria", maria ) 
        exports.players:giveMaria(source, 6) 
        exports.sql:query_free('UPDATE characters SET maria = 5 WHERE characterID = '..pjid) 
        else  
            outputChatBox("((La planta es demasiado joven))", source, 255, 0, 0) 
        end 
    else 
    outputChatBox("((Tienes que acercarte a una planta para cosecharla))", source, 255, 0, 0) 
    end 
end 
  
addCommandHandler ("cosechar", cosechar) 

Please i need help, and thanks for your help.

Link to comment

Is the resource 'players' started?

  
function plantar ( thePlayer, command) 
        local maria = getElementData(thePlayer, "maria") 
        local pjid = exports.players:getCharacterID( source ) 
        local x,y,z = getElementPosition ( thePlayer ) 
        planta = createObject (3409, x, y, z) 
        if maria >= 2 then 
        if ( planta ) then -- if it was created 
        outputChatBox("((Has plantado una planta de marihuana))", source, 0, 0, 255 ) 
        setElementData ( source, "maria", maria ) 
        exports.players:takemaria( source, 2 ) 
        exports.sql:query_free('UPDATE characters SET maria = 5 WHERE characterID = '..pjid) 
        setTimer ( plantac, 1000, 1) 
        setTimer ( planta1, 2000, 1) 
        setTimer ( planta2, 4000, 1) 
        setTimer ( planta3, 6000, 1) 
        setTimer ( planta4, 10000, 1) 
        end 
        else 
        outputChatBox("((No tienes suficiente marihuana para poder plantar una planta de marihuana))", source, 0, 0, 255) 
end 
end 
addCommandHandler ( "plantar", plantar ) 

Where is 'planta' defined here?

  
function cosechar ( ) 
        local planta = getObjectScale ( planta ) 
        local pjid = exports.players:getCharacterID( source ) 
        local x,y,z = getElementPosition ( player ) 
        local cx,cy,cz = getElementPosition ( planta ) 
        if getDistanceBetweenPoints3D (x,y,z,cx,cy,cz) < 3 then 
        if getObjectScale ( planta, 1) then 
        destroyElement ( planta ) 
        outputChatBox("((Has cosechado 6 g de maria))", source, 255, 255, 0) 
        setElementData ( source, "maria", maria ) 
        exports.players:giveMaria(source, 6) 
        exports.sql:query_free('UPDATE characters SET maria = 5 WHERE characterID = '..pjid) 
        else 
            outputChatBox("((La planta es demasiado joven))", source, 255, 0, 0) 
        end 
    else 
    outputChatBox("((Tienes que acercarte a una planta para cosecharla))", source, 255, 0, 0) 
    end 
end 
  
addCommandHandler ("cosechar", cosechar) 
  

Post the full code or it won't be easy.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...