Mark0 Posted September 26, 2012 Share Posted September 26, 2012 so;e help guys bad argument #1 to 'ipairs' (table expected,got nil) local marker = createMarker( 1552.4996337891, -1677.3264160156, 15.1953125, "Cylinder", 1.5, 0, 0, 255, 150) function createskinGui() windowjob = guiCreateWindow(0.335,0.14,0.3963,0.6817,"Police job",true) infomemo = guiCreateMemo(0.0347,0.0611,0.9369,0.3667,"Job information",true,windowjob) skinsgrid = guiCreateGridList(0.0347,0.4841,0.9369,0.313,true,windowjob) guiGridListSetSelectionMode(skinsgrid,2) _skins = guiGridListAddColumn(skinsgrid,"Skins",0.-- s8) --> takebtn = guiCreateButton(0.2492,0.8289,0.5047,0.0562,"Take Job",true,windowjob) Closebtn = guiCreateButton(0.2492,0.9095,0.5047,0.0562,"Close",true,windowjob) infolbl = guiCreateLabel(0.2681,0.4279,0.4637,0.0538,"Choose your skin :",true,windowjob) guiLabelSetColor(infolbl,0,0,255) guiLabelSetVerticalAlign(infolbl,"center") guiLabelSetHorizontalAlign(infolbl,"center",false) guiSetFont(infolbl,"default-bold-small") for index, skin in ipairs(skins) do local row = guiGridListAddRow (skinsgrid) guiGridListSetItemText ( skinsgrid, row, _skins, tostring(skin), false, false ) end showCursor(true) end addEventHandler("onClientGUIClick", root, function () if (source == takebtn) then local row,col = guiGridListGetSelectedItem(skinsgrid) if (row and col and row ~= -1 and col ~= -1) then local skinName = guiGridListGetItemText(skinsgrid, row, 1) if skinName == "police 1" then setElementModel(getLocalPlayer(), 280) elseif skinName == "police 2" then setElementModel(getLocalPlayer(),281) end else outputChatBox("Please,select a skin of the list.",255,0,0) end elseif (source == closebtn) then triggerEvent("closeWindow", localPlayer ) end end ) function SAPDjob( hitElement ) if ( hitElement == localPlayer ) then createskinGui ( hitElement ) if ( windowjob ~= nil ) then guiSetVisible ( windowjob, true ) showCursor ( true ) guiSetInputEnabled ( true ) end end end addEventHandler("onClientMarkerHit", marker, SAPDjob) function FBIjobleave(leaveElement) if getElementType(leaveElement) == "player" and (leaveElement == localPlayer) then if guiGetVisible(windowjob) then guiSetVisible(windowjob, false) showCursor(false) end end end addEventHandler("onClientMarkerLeave", marker, SAPDjobleave) function joinTeam() triggerServerEvent("setSAPD",localPlayer) guiSetVisible(windowjob, false) showCursor(false) end addEventHandler("onClientGUIClick", takebtn , joinTeam, false) function removeSAPDWindow() guiSetVisible(windowjob, false) showCursor(false) end addEventHandler("onClientGUIClick", Closebtn , removeSAPDWindow, false) Link to comment
Castillo Posted September 26, 2012 Share Posted September 26, 2012 Where is "skins" table defined? Link to comment
TAPL Posted September 26, 2012 Share Posted September 26, 2012 bad argument #1 to 'ipairs' (table expected,got nil) The error identifies itself, You don't have a table called "skins", that all. Though you don't need to create the gui every time you hit the marker, just create it when the resource start and hide it with guiSetVisible, and when you hit the marker show it with guiSetVisible again. Also setElementModel should be used server side, or only you will see your skin, other won't. Link to comment
Mark0 Posted September 26, 2012 Author Share Posted September 26, 2012 so this is not the table ?? addEventHandler("onClientGUIClick", root, function () if (source == takebtn) then local row,col = guiGridListGetSelectedItem(skinsgrid) if (row and col and row ~= -1 and col ~= -1) then local skinName = guiGridListGetItemText(skinsgrid, row, 1) if skinName == "police 1" then setElementModel(getLocalPlayer(), 280) elseif skinName == "police 2" then setElementModel(getLocalPlayer(),281) end else outputChatBox("Please,select a skin of the list.",255,0,0) end elseif (source == closebtn) then triggerEvent("closeWindow", localPlayer ) end end ) Link to comment
Castillo Posted September 26, 2012 Share Posted September 26, 2012 No, that's a function. Link to comment
Mark0 Posted September 26, 2012 Author Share Posted September 26, 2012 (edited) Yeah you are right i forget the table ty local skins = {"police 1", "police 2", "police 3", "police 4", "police 5", "police 6"} Edited September 26, 2012 by Guest Link to comment
Castillo Posted September 26, 2012 Share Posted September 26, 2012 skins = { 0, 50, 48, 150 } On top of script. Link to comment
Mark0 Posted September 26, 2012 Author Share Posted September 26, 2012 i have problems at join team too 100:bad argument @'addEventHandler' [expected element ar argument 2,got nil ] 94:bad argument @'addEventHandler' [expected element ar argument 2,got nil ] local marker = createMarker( 1552.4996337891, -1677.3264160156, 15.1953125, "Cylinder", 1.5, 0, 0, 255, 150) local marker1 = createMarker( 2241.8999023438, 2435.8999023438, 9.8000001907349, "Cylinder", 1.5, 0, 0, 255, 150) local marker2 = createMarker( -2129, -2481.3999023438, 29.60000038147, "Cylinder", 1.5, 0, 0, 255, 150) local marker3 = createMarker( -1616.9000244141, 681, 6.0999999046326, "Cylinder", 1.5, 0, 0, 255, 150) local marker4 = createMarker( -216.5, 978, 18.5, "Cylinder", 1.5, 0, 0, 255, 150) local skins = {"police 1", "police 2", "police 3", "police 4", "police 5", "police 6"} function createskinGui() windowjob = guiCreateWindow(0.335,0.14,0.3963,0.6817,"Police job",true) infomemo = guiCreateMemo(0.0347,0.0611,0.9369,0.3667,"Job information",true,windowjob) skinsgrid = guiCreateGridList(0.0347,0.4841,0.9369,0.313,true,windowjob) guiGridListSetSelectionMode(skinsgrid,2) _skins = guiGridListAddColumn(skinsgrid,"Skins",0.-- s8) --> takebtn = guiCreateButton(0.2492,0.8289,0.5047,0.0562,"Take Job",true,windowjob) Closebtn = guiCreateButton(0.2492,0.9095,0.5047,0.0562,"Close",true,windowjob) infolbl = guiCreateLabel(0.2681,0.4279,0.4637,0.0538,"Choose your skin :",true,windowjob) guiLabelSetColor(infolbl,0,0,255) guiLabelSetVerticalAlign(infolbl,"center") guiLabelSetHorizontalAlign(infolbl,"center",false) guiSetFont(infolbl,"default-bold-small") for index, skin in ipairs(skins) do local row = guiGridListAddRow (skinsgrid) guiGridListSetItemText ( skinsgrid, row, _skins, tostring(skin), false, false ) end showCursor(true) end addEventHandler("onClientGUIClick", root, function () if (source == takebtn) then local row,col = guiGridListGetSelectedItem(skinsgrid) if (row and col and row ~= -1 and col ~= -1) then local skinName = guiGridListGetItemText(skinsgrid, row, 1) if skinName == "police 1" then setElementModel(getLocalPlayer(), 280) elseif skinName == "police 2" then setElementModel(getLocalPlayer(),281) elseif skinName == "police 3" then setElementModel(getLocalPlayer(), 282) elseif skinName == "police 4" then setElementModel(getLocalPlayer(), 283) elseif skinName == "police 5" then setElementModel(getLocalPlayer(),284) elseif skinName == "police 6" then setElementModel(getLocalPlayer(), 288) end triggerEvent("closeWindow", localPlayer ) else outputChatBox("Please,select a skin of the list.",255,0,0) end elseif (source == closebtn) then triggerEvent("closeWindow", localPlayer ) end end ) function SAPDjob( hitElement ) if ( hitElement == localPlayer ) then createskinGui ( hitElement ) if ( windowjob ~= nil ) then guiSetVisible ( windowjob, true ) showCursor ( true ) guiSetInputEnabled ( true ) end end end addEventHandler("onClientMarkerHit", marker, SAPDjob) addEventHandler("onClientMarkerHit", marker1, SAPDjob) addEventHandler("onClientMarkerHit", marker2, SAPDjob) addEventHandler("onClientMarkerHit", marker3, SAPDjob) addEventHandler("onClientMarkerHit", marker4, SAPDjob) function SAPDjobleave(leaveElement) if getElementType(leaveElement) == "player" and (leaveElement == localPlayer) then if guiGetVisible(windowjob) then guiSetVisible(windowjob, false) showCursor(false) end end end addEventHandler("onClientMarkerLeave", marker, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker1, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker2, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker3, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker4, SAPDjobleave) function joinTeam() triggerServerEvent("setSAPD",localPlayer) guiSetVisible(windowjob, false) showCursor(false) end addEventHandler("onClientGUIClick", takebtn , joinTeam, false) function removeSAPDWindow() guiSetVisible(windowjob, false) showCursor(false) end addEventHandler("onClientGUIClick", Closebtn , removeSAPDWindow, false) Link to comment
Jaysds1 Posted September 26, 2012 Share Posted September 26, 2012 (edited) please note that Lua is case sensitive, try this: local marker = createMarker( 1552.4996337891, -1677.3264160156, 15.1953125, "Cylinder", 1.5, 0, 0, 255, 150) local marker1 = createMarker( 2241.8999023438, 2435.8999023438, 9.8000001907349, "Cylinder", 1.5, 0, 0, 255, 150) local marker2 = createMarker( -2129, -2481.3999023438, 29.60000038147, "Cylinder", 1.5, 0, 0, 255, 150) local marker3 = createMarker( -1616.9000244141, 681, 6.0999999046326, "Cylinder", 1.5, 0, 0, 255, 150) local marker4 = createMarker( -216.5, 978, 18.5, "Cylinder", 1.5, 0, 0, 255, 150) local skins = {"police 1", "police 2", "police 3", "police 4", "police 5", "police 6"} function createskinGui() windowjob = guiCreateWindow(0.335,0.14,0.3963,0.6817,"Police job",true) infomemo = guiCreateMemo(0.0347,0.0611,0.9369,0.3667,"Job information",true,windowjob) skinsgrid = guiCreateGridList(0.0347,0.4841,0.9369,0.313,true,windowjob) guiGridListSetSelectionMode(skinsgrid,2) _skins = guiGridListAddColumn(skinsgrid,"Skins",0.35) -- takebtn = guiCreateButton(0.2492,0.8289,0.5047,0.0562,"Take Job",true,windowjob) Closebtn = guiCreateButton(0.2492,0.9095,0.5047,0.0562,"Close",true,windowjob) infolbl = guiCreateLabel(0.2681,0.4279,0.4637,0.0538,"Choose your skin :",true,windowjob) guiLabelSetColor(infolbl,0,0,255) guiLabelSetVerticalAlign(infolbl,"center") guiLabelSetHorizontalAlign(infolbl,"center",false) guiSetFont(infolbl,"default-bold-small") for index, skin in ipairs(skins) do local row = guiGridListAddRow (skinsgrid) guiGridListSetItemText ( skinsgrid, row, _skins, tostring(skin), false, false ) end showCursor(true) end addEventHandler("onClientGUIClick", root, function () if (source == takebtn) then local row,col = guiGridListGetSelectedItem(skinsgrid) if (row and col and row ~= -1 and col ~= -1) then local skinName = guiGridListGetItemText(skinsgrid, row, 1) if skinName == "police 1" then setElementModel(getLocalPlayer(), 280) elseif skinName == "police 2" then setElementModel(getLocalPlayer(),281) elseif skinName == "police 3" then setElementModel(getLocalPlayer(), 282) elseif skinName == "police 4" then setElementModel(getLocalPlayer(), 283) elseif skinName == "police 5" then setElementModel(getLocalPlayer(),284) elseif skinName == "police 6" then setElementModel(getLocalPlayer(), 288) end triggerEvent("closeWindow", localPlayer ) else outputChatBox("Please,select a skin of the list.",255,0,0) end elseif (source == closebtn) then triggerEvent("closeWindow", localPlayer ) end end ) function SAPDjob( hitElement ) if ( hitElement == localPlayer ) then createskinGui ( hitElement ) if ( windowjob ~= nil ) then guiSetVisible ( windowjob, true ) showCursor ( true ) guiSetInputEnabled ( true ) end end end addEventHandler("onClientMarkerHit", marker, SAPDjob) addEventHandler("onClientMarkerHit", marker1, SAPDjob) addEventHandler("onClientMarkerHit", marker2, SAPDjob) addEventHandler("onClientMarkerHit", marker3, SAPDjob) addEventHandler("onClientMarkerHit", marker4, SAPDjob) function SAPDjobleave(leaveElement) if getElementType(leaveElement) == "player" and (leaveElement == localPlayer) then if guiGetVisible(windowjob) then guiSetVisible(windowjob, false) showCursor(false) end end end addEventHandler("onClientMarkerLeave", marker, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker1, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker2, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker3, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker4, SAPDjobleave) function joinTeam() triggerServerEvent("setSAPD",localPlayer) guiSetVisible(windowjob, false) showCursor(false) end addEventHandler("onClientGUIClick", takebtn , joinTeam, false) function removeSAPDWindow() guiSetVisible(windowjob, false) showCursor(false) end addEventHandler("onClientGUIClick", closebtn , removeSAPDWindow, false) EDITED!!! Edited September 26, 2012 by Guest Link to comment
Jaysds1 Posted September 26, 2012 Share Posted September 26, 2012 No. same errors? EDIT: Edited the script again Link to comment
TAPL Posted September 26, 2012 Share Posted September 26, 2012 Try local marker = createMarker( 1552.4996337891, -1677.3264160156, 15.1953125, "Cylinder", 1.5, 0, 0, 255, 150) local marker1 = createMarker( 2241.8999023438, 2435.8999023438, 9.8000001907349, "Cylinder", 1.5, 0, 0, 255, 150) local marker2 = createMarker( -2129, -2481.3999023438, 29.60000038147, "Cylinder", 1.5, 0, 0, 255, 150) local marker3 = createMarker( -1616.9000244141, 681, 6.0999999046326, "Cylinder", 1.5, 0, 0, 255, 150) local marker4 = createMarker( -216.5, 978, 18.5, "Cylinder", 1.5, 0, 0, 255, 150) local skins = {"police 1", "police 2", "police 3", "police 4", "police 5", "police 6"} windowjob = guiCreateWindow(0.335,0.14,0.3963,0.6817,"Police job",true) guiSetVisible(windowjob, false) infomemo = guiCreateMemo(0.0347,0.0611,0.9369,0.3667,"Job information",true,windowjob) skinsgrid = guiCreateGridList(0.0347,0.4841,0.9369,0.313,true,windowjob) guiGridListSetSelectionMode(skinsgrid,2) _skins = guiGridListAddColumn(skinsgrid,"Skins",0.-- s8) --> takebtn = guiCreateButton(0.2492,0.8289,0.5047,0.0562,"Take Job",true,windowjob) Closebtn = guiCreateButton(0.2492,0.9095,0.5047,0.0562,"Close",true,windowjob) infolbl = guiCreateLabel(0.2681,0.4279,0.4637,0.0538,"Choose your skin :",true,windowjob) guiLabelSetColor(infolbl,0,0,255) guiLabelSetVerticalAlign(infolbl,"center") guiLabelSetHorizontalAlign(infolbl,"center",false) guiSetFont(infolbl,"default-bold-small") for index, skin in ipairs(skins) do local row = guiGridListAddRow (skinsgrid) guiGridListSetItemText(skinsgrid, row, _skins, tostring(skin), false, false) end addEventHandler("onClientGUIClick", root, function () if (source == takebtn) then local row,col = guiGridListGetSelectedItem(skinsgrid) if (row and col and row ~= -1 and col ~= -1) then local skinName = guiGridListGetItemText(skinsgrid, row, 1) if skinName == "police 1" then setElementModel(getLocalPlayer(), 280) elseif skinName == "police 2" then setElementModel(getLocalPlayer(),281) elseif skinName == "police 3" then setElementModel(getLocalPlayer(), 282) elseif skinName == "police 4" then setElementModel(getLocalPlayer(), 283) elseif skinName == "police 5" then setElementModel(getLocalPlayer(),284) elseif skinName == "police 6" then setElementModel(getLocalPlayer(), 288) end triggerEvent("closeWindow", localPlayer) else outputChatBox("Please,select a skin of the list.",255,0,0) end elseif (source == closebtn) then triggerEvent("closeWindow", localPlayer) end end) function SAPDjob(hitElement) if (hitElement == localPlayer) then if not guiGetVisible(windowjob) then guiSetVisible(windowjob, true) showCursor(true) end end end addEventHandler("onClientMarkerHit", marker, SAPDjob) addEventHandler("onClientMarkerHit", marker1, SAPDjob) addEventHandler("onClientMarkerHit", marker2, SAPDjob) addEventHandler("onClientMarkerHit", marker3, SAPDjob) addEventHandler("onClientMarkerHit", marker4, SAPDjob) function SAPDjobleave(leaveElement) if getElementType(leaveElement) == "player" and (leaveElement == localPlayer) then if guiGetVisible(windowjob) then guiSetVisible(windowjob, false) showCursor(false) end end end addEventHandler("onClientMarkerLeave", marker, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker1, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker2, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker3, SAPDjobleave) addEventHandler("onClientMarkerLeave", marker4, SAPDjobleave) function joinTeam() triggerServerEvent("setSAPD",localPlayer) guiSetVisible(windowjob, false) showCursor(false) end addEventHandler("onClientGUIClick", takebtn , joinTeam, false) function removeSAPDWindow() guiSetVisible(windowjob, false) showCursor(false) end addEventHandler("onClientGUIClick", closebtn , removeSAPDWindow, false) Link to comment
Mark0 Posted September 27, 2012 Author Share Posted September 27, 2012 your's TABL work but error at 95:bad argument @'addEventHandler' [expected element ar argument 2,got nil ] Link to comment
TAPL Posted September 27, 2012 Share Posted September 27, 2012 your's TABL work but error at 95:bad argument @'addEventHandler' [expected element ar argument 2,got nil ] Change this (Line 16) Closebtn = guiCreateButton(0.2492,0.9095,0.5047,0.0562,"Close",true,windowjob) to closebtn = guiCreateButton(0.2492,0.9095,0.5047,0.0562,"Close",true,windowjob) Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now