Jump to content

Bad lua script


kieran

Recommended Posts

Hello, I am trying to edit a script I found from a YouTube tutorial, it almost works, except it doesn't like the EventHandlers I have in it..... Here's the code.

Server Error Message

[2017-06-07 17:08:08] Resources: 203 loaded, 0 failed
[2017-06-07 17:08:08] Starting resources...
[2017-06-07 17:08:36] Server minclientversion is now 1.5.4-9.11324.0
[2017-06-07 17:08:55] WARNING: 1892\gate.lua:13: Bad argument @ 'addEventHandler' [Expected element at argument 2, got function]
[2017-06-07 17:08:55] WARNING: 1892\gate.lua:19: Bad argument @ 'addEventHandler' [Expected element at argument 2, got function]
[2017-06-07 17:08:55] Gamemode 'Under Maintenance' started.

Lua Code

object = createObject(980, 2539.5, 1343.2998046875, 12.60000038147)
marker = createMarker(2539.5, 1343.2998046875, 12.60000038147, "cylinder", 2, 100, 0, 0, 100)
function gateopen(player)
	local data = getElementData(Player,"job")
	if (data=="Admin") then
		moveObject(object, 500, 980, 2539.5, 1343.2998046875, 15.60000038147)
	else
		outputChatBox("Message")
	end
end

addEventHandler("onMarkerHit",gateopen)

function gateclose(player)
	moveObject(object, 2539.5, 1343.2998046875, 12.60000038147)
end

addEventHandler("onMarkerLeave",gateclose)

Any help at all is appreciated, I know what's wrong, I just have no idea how to fix it (I am learning slowly, only been 2 days since I started)

Link to comment
object = createObject(980, 2539.5, 1343.2998046875, 12.60000038147)
marker = createMarker(2539.5, 1343.2998046875, 12.60000038147, "cylinder", 2, 100, 0, 0, 100)
function gateopen(player)
	local data = getElementData(Player,"job")
	if (data=="Admin") then
		moveObject(object, 500, 980, 2539.5, 1343.2998046875, 15.60000038147)
	else
		outputChatBox("Message")
	end
end

addEventHandler("onMarkerHit",getRootElement(),gateopen)

function gateclose(player)
	moveObject(object, 2539.5, 1343.2998046875, 12.60000038147)
end

addEventHandler("onMarkerLeave",getRootElement(),gateclose)

 

  • Like 1
Link to comment
object = createObject(980, 2539.5, 1343.2998046875, 12.60000038147)
marker = createMarker(2539.5, 1343.2998046875, 12.60000038147, "cylinder", 2, 100, 0, 0, 100)
function gateopen(player)
	local data = getElementData(Player,"job")
	if (data=="Admin") then
		moveObject(object, 500, 980, 2539.5, 1343.2998046875, 15.60000038147)
	else
		outputChatBox("Message")
	end
end

addEventHandler("onMarkerHit",object,gateopen)

function gateclose(player)
	moveObject(object, 2539.5, 1343.2998046875, 12.60000038147)
end

addEventHandler("onMarkerLeave",object,gateclose)

 

  • Like 1
Link to comment
1 hour ago, aka Blue said:

object = createObject(980, 2539.5, 1343.2998046875, 12.60000038147)
marker = createMarker(2539.5, 1343.2998046875, 12.60000038147, "cylinder", 2, 100, 0, 0, 100)
function gateopen(player)
	local data = getElementData(Player,"job")
	if (data=="Admin") then
		moveObject(object, 500, 980, 2539.5, 1343.2998046875, 15.60000038147)
	else
		outputChatBox("Message")
	end
end

addEventHandler("onMarkerHit",object,gateopen)

function gateclose(player)
	moveObject(object, 2539.5, 1343.2998046875, 12.60000038147)
end

addEventHandler("onMarkerLeave",object,gateclose)

 

shouldn't the handler be attached to marker, not object?

  • Like 1
Link to comment
5 minutes ago, 3laa33 said:

@kieran
to move the object the player who enter the marker
have to have the data 


	local data = getElementData(Player,"job")

 

I have only started scripting 2 days ago and know almost nothing about MTA's lua format... I know a little about C++ as I had a month of C# as part of a course but nothing really helpful such as what should be client or serverside. (script is of course server side) but my question was, do I need to make another script client side so that the server can pull the information from it?

Link to comment

@Gourmet. was right, I was trying to make a gate move when I was hitting a marker...  code is below, improve it, use it, do as you wish, is as basic as it gets, but proud of my first script :D (That I kinda stole from YouTube)

 

object = createObject(980, 2337.3999023438, 1573, 12.60000038147, 0, 0, 90)
marker = createMarker(2339.3999023438, 1573, 9, "cylinder", 7, 100, 0, 0, 100)

function gateopen(player)

	moveObject(object, 3000, 2337.3999023438, 1583.400390625, 12.60000038147)

end

addEventHandler("onMarkerHit",marker,gateopen)

function gateclose(player)

	moveObject(object, 3000, 2337.3999023438, 1573, 12.60000038147)

end

addEventHandler("onMarkerLeave",marker,gateclose)

Note that the gate is inside of an MTA building, so you will need to fiddle with cords before it works!

Link to comment
7 hours ago, kieran said:

@Gourmet. was right, I was trying to make a gate move when I was hitting a marker...  code is below, improve it, use it, do as you wish, is as basic as it gets, but proud of my first script :D (That I kinda stole from YouTube)

 


object = createObject(980, 2337.3999023438, 1573, 12.60000038147, 0, 0, 90)
marker = createMarker(2339.3999023438, 1573, 9, "cylinder", 7, 100, 0, 0, 100)

function gateopen(player)

	moveObject(object, 3000, 2337.3999023438, 1583.400390625, 12.60000038147)

end

addEventHandler("onMarkerHit",marker,gateopen)

function gateclose(player)

	moveObject(object, 3000, 2337.3999023438, 1573, 12.60000038147)

end

addEventHandler("onMarkerLeave",marker,gateclose)

Note that the gate is inside of an MTA building, so you will need to fiddle with cords before it works!

Remember, that if it's in an interior / dimension, you have to do setElementDimension() / setElementInterior()

good luck

  • Like 1
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...