Jump to content

SuperM

Members
  • Posts

    27
  • Joined

  • Last visited

Posts posted by SuperM

  1. 2 minutes ago, Infinity-War said:

    create "marker" in server side .

    Well RIP me xD 

    My markes is clientside no clue how can I create it serverside and use his name (refrence) clientside ahah

    And I also think players will not be able to see it if it's severside?

  2. Hello there,

    I have some problem with the script because it identifies some words as bad words and they are not it the list, part of the code is this one:

     

    local BWords = {
    	{"top-"},
    }
    
    local message = string.gsub(table.concat({...}, " "), "#%x%x%x%x%x%x", "")
    local name = string.gsub(getPlayerName(player), "#%x%x%x%x%x%x", "")
    	for i, data in ipairs(BWords) do
    		if string.find(message, data[1]) or pregFind(message,"([0-9]{1,3})[^[:digit:]^[:cntrl:]]{1,3}([0-9]{1,3})[^[:digit:]^[:cntrl:]]{1,3}([0-9]{1,3})[^[:digit:]^[:cntrl:]]{1,3}([0-9]{1,3})") then
        
        ...rest of the code here...

    I only have that bad word, and if I write something like "I will get that pistol" it detects as bad word...

    Can you guys help me with it, I don't want it to detect as bad word only because there are 2 letters in one word that match part of the bad words.

    I noticed that if I write only "to" it will detect as bad word...

  3. 10 minutes ago, koragg said:

    Try like this maybe?

    
    guiGridListGetItemText(giveWindowGridlist,guiGridListGetSelectedItem(giveWindowGridlist))
    

    As guiGridListGetItemText accepts 3 arguments which are gridList, rowIndex and columnIndex but the function guiGridListGetSelectedItem returns two things according to MTA wiki: Returns the row and column indexes of the selected item

    Not sure but play around with it as it's hard to guess what's wrong as I can't test it myself. Though if this is the case I'm not sure why the first one works fine for the Translated variable.

    By leaving it like that, in also only shows the Translated one. Already tested with a lot of ways but not sure why I'm not getting the Original value.

    But thanks for trying to help!

  4. Also if I add something like this:

     

    guiGridListSetItemText(giveWindowGridlist, row, 1, Translated, false, false)
    guiGridListSetItemText(giveWindowGridlist, row, 2, Original, false, false)
    guiGridListSetItemData(giveWindowGridlist, row, 2, {Translated,Original})

    and then on the other code something like this:

     

    local Translated = guiGridListGetItemText(giveWindowGridlist,guiGridListGetSelectedItem(giveWindowGridlist),1)
    local test1,test2 = unpack(guiGridListGetItemData(giveWindowGridlist, guiGridListGetSelectedItem(giveWindowGridlist),2))

    I will get the following error:  Bad argument #1 'unpack' (table expected, got nil)

  5. I got your point, now I have a Admin panel where I want to add custom functions in order to work completely with the mod and I have the following function:

     

    addEventHandler("onClientGUIComboBoxAccepted", giveWindowCombobox, function()
    		guiGridListClear(giveWindowGridlist)
    		local text = guiComboBoxGetItemText(giveWindowCombobox,guiComboBoxGetSelected(giveWindowCombobox))
    		outputDebugString(text)
    		for i,item in ipairs(items[text]) do
    			local row = guiGridListAddRow(giveWindowGridlist)
    			Translated = exports.text:getLanguageTextClient(item)
    			Original = item
    			guiGridListSetItemText(giveWindowGridlist, row, 1, Translated, false, false)
    			guiGridListSetItemText(giveWindowGridlist, row, 2, Original, false, false)
    			outputChatBox("Translated Item"..Translated)
    			outputChatBox("Original Item"..Original)
    		end
    	end)

    And the "outpuChatBox" shows me the correct values, the one I need and the ones I want the "Translated" and the "Original"
    I think the code above has no problem but I'm not sure.

     

    	function give()
    		if (guiGridListGetSelectedItem(giveWindowGridlist) ~= -1) then
    			local Translated = guiGridListGetItemText(giveWindowGridlist,guiGridListGetSelectedItem(giveWindowGridlist),1)
    			local Original = guiGridListGetItemText(giveWindowGridlist,guiGridListGetSelectedItem(giveWindowGridlist),2)
    			outputDebugString("1-After T- "..Translated)
    			outputDebugString("2-After O- "..Original)
    			
    			
    			local quantity = guiGetText(giveWindowEditboxQuant)
    			local selectedPlayer = getPlayerFromName(guiGridListGetItemText(gridlistPlayers1,Original,2))
    			if selectedPlayer then
    				triggerServerEvent("giveEvent",localPlayer,selectedPlayer,Original,quantity)
    			end
    		end
    	end

     

    On this part of code the only one that workd is the "Translated" at least from what I got from the debugstring the first debug shows me the correct value and the second debug it's just empy does not show any text after "2-After O-", do you know what I am missing here? Why can I get the translated one and can't get the original?

    @koragg
     

  6. Hello there, I'm trying to understand part of the code, can please someone help me and tell me what is what please. 

    The part of the code is the following:

     

    function updateItems()
    	guiGridListClear(shop_gui.gridlist[2])
    	local category = guiGridListGetItemText(shop_gui.gridlist[1],guiGridListGetSelectedItem(shop_gui.gridlist[1]))
    		if (category ~= "") then
    			for i,v in pairs(shop_items) do
    				if (i == shop_type) then
    					for i,v in pairs(v) do
    						if (i == shop_marker) then
    							for i,v in ipairs(v[category]) do
    								local row = guiGridListAddRow(shop_gui.gridlist[2])
    								guiGridListSetItemText(shop_gui.gridlist[2], row, 1, exports.text:getTextClient(v[1]), false, false)
    								guiGridListSetItemText(shop_gui.gridlist[2], row, 2, v[3], false, false)
    								guiGridListSetItemData(shop_gui.gridlist[2], row, 2, {v[2],v[3],v[1]})
    							end
    						end
    					end	
    				end
    			end
    		end
    	end

    Now the part that I can't understand is the following:

     

    guiGridListSetItemText(shop_gui.gridlist[2], row, 1, exports.text:getTextClient(v[1]), false, false)
    guiGridListSetItemText(shop_gui.gridlist[2], row, 2, v[3], false, false)
    guiGridListSetItemData(shop_gui.gridlist[2], row, 2, {v[2],v[3],v[1]})

     

    What are those v[3] and v[2] and v[1] ??

  7. Hello there, I have a dxDrawText showing a value from DB, but when the player presses H it will change the value in the DB but it does not change in the dxDrawText, is there any way to make it update when the player presses H and executes the server side function to update the sql value?

     

    --Client
    
    function Draw()
    	local object = getElementsByType("object")
    	for k,element in ipairs(object) do
    		if getElementModel(element) == 1319 then
    		infid = getElementData(element, "SM:ID")
    		text1 = "ID: "..tostring(infid)
    			dxDrawTextOnElement (element, text1, 1.3, _, _, _, _, _, 3, _, tocolor(0,0,0,255))
    		end
    	end
    end
    addEventHandler ("onClientRender", getRootElement(), Draw)
    
    function dxDrawTextOnElement(TheElement,text,height,distance,R,G,B,alpha,size,font,bgColor,checkBuildings,checkVehicles,checkPeds,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)
    	local x, y, z = getElementPosition(TheElement)
    	local x2, y2, z2 = getCameraMatrix()
    	local distance = distance or 5
    	local height = height or 1
    	local checkBuildings = checkBuildings or true
    	local checkVehicles = checkVehicles or false
    	local checkPeds = checkPeds or false
    	local checkObjects = checkObjects or true
    	local checkDummies = checkDummies or true
    	local seeThroughStuff = seeThroughStuff or false
    	local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false
    	local ignoredElement = ignoredElement or nil
    	if (isLineOfSightClear(x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds , checkObjects,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)) then
    		local sx, sy = getScreenFromWorldPosition(x, y, z+height)
    		if(sx) and (sy) then
    			local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
    			if(distanceBetweenPoints < distance) then
    				dxDrawText(text, sx+2, sy+2, sx, sy, tocolor(R or 255, G or 255, B or 255, alpha or 255), (size or 1)-(distanceBetweenPoints / distance), font or "arial", "center", "center")
    			end
    		end
    	end
    end
    
    --Server (don't need to paste the full server code because it's working fine...)
    function SM:StartPlayer(player)
    ...
    		exports.mysql:query_free( "UPDATE ..."... )
    ...		
    end

     

  8. 2 minutes ago, IIYAMA said:

    Wrong base element provided.

     

    See:

    
    addEventHandler('ResultsDataB', resourceRoot, function()
    

    This even will only trigger when the resourceRoot is provided or a (+n indirect) child of the resourceRoot.

    A player is not a child or an indirect child of the resourceRoot. See: (players blue and resourceRoot purple)

    Tre.png

     

     

     

    So to solve that issue.

    
    triggerClientEvent(source, 'ResultsDataB', resourceRoot, result1);
    

    Alright, with that line of code, I'm getting just a single outputDebugString and it says "INFO: nil"

  9. 17 hours ago, DNL291 said:

    source must be a reference to the player element. Show your current code here please.

    At the moment I have the following code:
     

    --SERVER
    
    function ttttt(source)
    	local result1 = mysql:query("SELECT id, x, y, z, rotation, dimension, interior FROM test WHERE id=1")
    			local rowID1 = mysql:fetch_assoc(result1)
    			
    			local ID1 = tonumber(rowID1["id"])
    			local X1 = tonumber(rowID1["x"])
    			local Y1 = tonumber(rowID1["y"])
    			local Z1 = tonumber(rowID1["z"])
    			local Rotation1 = tonumber(rowID1["rotation"])
    			local Dimension1 = tonumber(rowID1["dimension"])
    			local Interior1 = tonumber(rowID1["interior"])
    triggerClientEvent(source, 'ResultsDataB', source, result1);
    end
    addCommandHandler("tscript", ttttt, false, false)
    
    --CLIENT
    addEvent('ResultsDataB', true)
    addEventHandler('ResultsDataB', resourceRoot, function()
    	outputDebugString(ID1)
    	outputDebugString(X1)
    	outputDebugString(Y1)
    	outputDebugString(Z1)
    	outputDebugString(Rotation1)
    	outputDebugString(Dimension1)
    	outputDebugString(Interior1)
    	local object = getElementsByType("object")
    
    	for k,element in ipairs(object) do
    		if getElementModel(element) == 1319 then
    		
    		ID = getElementID(element)
    			dxDrawTextOnElement (element, Dimension1, 1.3, _, _, _, _, _, 3, _, tocolor(0,0,0,255))
    		end
    	end
    end )

    And at the moment it does not give any error and does nothing when I do /tscript

  10. On 25/10/2019 at 06:50, XaskeL said:
    
    -- SERVER
    local query = dbQuery(connection 'SELECT `id`, `x`, `y`, `z`, `rotation`, `dimension`, `interior` FROM `table` WHERE `ID` = ?', ID);
    local result = dbPoll(query, -1);
    
    triggerClientEvent(source, 'mysqlResultsData', result);
    
    dbFree(query);
    
    -- CLIENT
    
    addEvent('mysqlResultsData', true)
    addEventHandler('mysqlResultsData', resourceRoot, function()
    	-- etc
    end )
    

     

    I have done the following:

     

    --SERVER
    local result1 = mysql:query("SELECT id, x, y, z, rotation, dimension, interior FROM table")
    local rowID1 = mysql:fetch_assoc(result1)
    			
    local ID1 = tonumber(rowID1["id"])
    local X1 = tonumber(rowID1["x"])
    local Y1 = tonumber(rowID1["y"])
    local Z1 = tonumber(rowID1["z"])
    local Rotation1 = tonumber(rowID1["rotation"])
    local Dimension1 = tonumber(rowID1["dimension"])
    local Interior1 = tonumber(rowID1["interior"])
    triggerClientEvent(source, 'ResultsDataB', result1);
    
    --Client
    addEvent('ResultsDataB', true)
    addEventHandler('ResultsDataB', resourceRoot, function()
    	outputDebugString(ID1)
    	outputDebugString(X1)
    	outputDebugString(Y1)
    	outputDebugString(Z1)
    	outputDebugString(Rotation1)
    	outputDebugString(Dimension1)
    	outputDebugString(Interior1)
    end )

    But I'm not getting anything just this Warning: 

    Bad argument @ 'triggerClientEvent' [Expected element at argument 3, got number '71']

     

     

    With your code it does not work gives me errors in local result = dbPoll(query, -1); 

    Also with something like this (not sure if it should even work)

    	local query1 = mysql:query( 'SELECT id, x, y, z, rotation, dimension, interior FROM table');
    local result2 = mysql:dbPoll(query1, -1);
    
    triggerClientEvent(source, 'mysqlResultsData', result2);

    It gives the following error 

    call: failed to call 'mysql:dbPoll' [string "?"]
    Bad argument @ 'triggerClientEvent' [Expected element at argument 3, got boolean]

     

  11. Hello there I have the following script:

    --SERVER SIDE FILE
    if getElementModel(source) == 1000 then
    	ID = getElementID(source)
    end
    
    local result = mysql:query("SELECT id, x, y, z, rotation, dimension, interior FROM table WHERE id=".. ID .."")
    local rowID = mysql:fetch_assoc(result)
    local ID = tonumber(rowID["id"])
    local X = tonumber(rowID["x"])
    local Y = tonumber(rowID["y"])
    local Z = tonumber(rowID["z"])
    local Rotation = tonumber(rowID["rotation"])
    local Dimension = tonumber(rowID["dimension"])
    local Interior = tonumber(rowID["interior"])
    
    
    --CLIENT SIDE FILE
    function Draw()
    	local object = getElementsByType("object")
    	
    	for k,element in ipairs(object) do
    		if getElementModel(element) == 1000 then
    			ID = getElementID(element)
    			dxDrawTextOnElement (element, ID, 0.75, _, _, _, _, _, 2, _, tocolor(0,0,0,255))
    		end
    	end
    end
    addEventHandler ("onClientRender", getRootElement(), Draw)

    But I need more information at the moment I can get the ID client side, but how do I can get the other results from SQL on there to be shown like:

    --CLIENT SIDE FILE
    ...
    			dxDrawTextOnElement (element, ID, 0.75, _, _, _, _, _, 2, _, tocolor(0,0,0,255))
    			dxDrawTextOnElement (element, X, 0.75, _, _, _, _, _, 2, _, tocolor(0,0,0,255))
    			dxDrawTextOnElement (element, Y, 0.75, _, _, _, _, _, 2, _, tocolor(0,0,0,255))
    			dxDrawTextOnElement (element, Z, 0.75, _, _, _, _, _, 2, _, tocolor(0,0,0,255))
    			dxDrawTextOnElement (element, ROTATION, 0.75, _, _, _, _, _, 2, _, tocolor(0,0,0,255))
    			dxDrawTextOnElement (element, DIMENSION, 0.75, _, _, _, _, _, 2, _, tocolor(0,0,0,255))
    			dxDrawTextOnElement (element, INTERIOR, 0.75, _, _, _, _, _, 2, _, tocolor(0,0,0,255))
    ...

     

  12. Hello there,

    I need some help, I have no clue on how to make a command that need two values to be correct with that I mean something like this:

    /setvalue 1 100
    

    Where 1 would be the ID of the interior ot something else and the 100 would be the value of that interior... How on my function I can tell that the user must write both numbers for example interior ID and Value and not only the Value or the ID???

     

    I need to be able to change the value in SQL of one object that is inside one interior and for that the player must tell the object ID and the Value that he wants to set.

  13. Hello there,

    How can I split lines in a Lua file for example how do I turn this code:
     

    outputChatBox ( "#FF0000Helloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa #00FF00World", getRootElement(), 255, 255, 255, true )

    Into something like this:

    outputChatBox ( "#FF0000Helloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaello
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaelloaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaelloaaaaaaaaaaaaaaa
    aaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaelloaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaell#00FF00World
    ", getRootElement(), 255, 255, 255, true )

    I'm asking because It would be easier to read the text in multiple lines instead of a single line.

     

    Node: I want to read it when I open the .Lua file with notepad++ not asking InGame because in game it already changes line with \n\n...

     

    Just need to know if it's possible in the file change line without ? the script

    Found out how to do it just need to add one  \ at the end of the line!

  14. 12 hours ago, IIYAMA said:

    @SuperM

    Open your map file in your text editor.

    Search for the id.

    And give the node the attribute: frozen="true". (Check if the attribute is already added)

    Add it like that: (don't copy/past)

    
    <object frozen="true"></object>
    

     

    https://wiki.multitheftauto.com/wiki/Element/Object

    Hello there and thanks you so much for your help!

    I still have a problem, at the moment I'm getting the object position from database and the line of code is this one:

     

    local Object = createObject(row["objectID"], row["X"], row["Y"], row["Z"], row["RX"], row["RY"], row["RZ"])

    and my output to the server is the following one: 

    1569, 1796, -1744.5, 12.6, 0, 0, 180.5

    So if if i was scripting it it should look like this:
     

    createObject ( 1569, 1796, -1744.5, 12.6, 0, 0, 180.5 )

    How can I add those Frozen parameter to it? I mean I was checking the page https://wiki.multitheftauto.com/wiki/CreateObject and there is no option for it.

    • Like 1
  15. Hello there,
    I need some help because I have no clue on how to prevent for example item id 1569 object (ADAM_V_DOOR) from open when punched.
    If you place it on the map and you punch it, it will open, but when it returns to is original position if you punch it will not open, how can I prevent it from open al the time, I need it to block th entrance and for that it can't move.

  16. 1 hour ago, Skream said:

    https://wiki.multitheftauto.com/wiki/CreateColPolygon

    wiki says: Tip: To visualize a colshape when writing scripts, use the client console command showcol

     

    You just made me curious, can I ask what are you trying to do with that area? 

    Just trying to make some kind of alarm system around vinewood houses, like the area of the property where you have "motion sensors" would activate the alarm when someone enters in the area xD

    • Like 1
×
×
  • Create New...