Jump to content

text message on player position


OGPrettyMF

Recommended Posts

Guys, in Lua I'm don`t understand anything ! But I'm trying to figure out.

Maybe someone can help me ?

Here is my script:

function checkPlayerPos() 
    if playerPos(627.403, -601.862, 16.13) then 
        outputChatBox ( "Hello",  0, 255, 0, true ) 
     
    end 
end 
addEvent( "checkPlayerPos", true ) 
addEventHandler( "checkPlayerPos", getRootElement(), startExamingC ) 

I need to do the area in which will be displayed the message at chat on these coordinates, with a radius of 3m

The first times , when I tried to lay down a code- script doesn`t run .

Now he was involved , but doesn`t give out messages at the specified coordinates

Help he please! :roll:

Link to comment
Doesn't look like you get playerPos from anywhere, can you post the function that triggers the checkPlayerPos event

I'm trying to assemble a script " driver's license " and maybe there is no such )

In general , here's the script:

function loadLicResource () 
    licPickupSF = createPickup ( 629.409, -571.822, 16.74, 3, 1581 ) 
    createBlip ( 629.94, -571.38, 17.78, 36, 2, 255, 0, 0, 255, 0, 200 ) 
    addEventHandler( "onClientPickupHit", licPickupLS, buyLicenseHit ) 
    addEventHandler( "onClientPickupHit", licPickupSF, buyLicenseHit ) 
end 
addEventHandler ( "onClientResourceStart",  getResourceRootElement(getThisResource()), loadLicResource ) 
  
function buyLicenseHit ( thePlayer, matchingDimension ) 
    if thePlayer == localPlayer then 
        showLicenseBuy () 
    end 
end 
  
function showLicenseBuy () 
    licenseWindow = guiCreateWindow(0.36, 0.36, 0.19, 0.46, "", true) 
    guiWindowSetSizable(licenseWindow, false) 
    guiSetAlpha(licenseWindow, 1.00) 
  
    vehicleLabel = guiCreateLabel(0.15, 0.08, 1, 0.05, "Лицензия на вождение авто", true, licenseWindow) 
    --guiLabelSetHorizontalAlign(vehicleLabel, "center", false) 
        vehicleRight = guiCreateButton(0.23, 0.13, 0.52, 0.12, "Сдать на права", true, licenseWindow) 
    aeroLabel = guiCreateLabel(0.34, 0.25, 1, 0.05, "или купить за:", true, licenseWindow) 
    vehicleButton = guiCreateButton(0.23, 0.30, 0.52, 0.12, "10000$", true, licenseWindow) 
    if getElementData ( localPlayer, "carLicense" ) then 
        guiSetEnabled ( vehicleButton, false ) 
        guiSetText (vehicleButton, "Куплена") 
    end 
     
  
    guiSetProperty(boatButton, "NormalTextColour", "FFAAAAAA") 
    closeButton = guiCreateButton(0.28, 0.91, 0.45, 0.08, "Закрыть", true, licenseWindow) 
    guiSetProperty(closeButton, "NormalTextColour", "FFAAAAAA") 
  
    guiSetVisible ( licenseWindow, true ) 
    showCursor ( true ) 
    addEventHandler("onClientGUIClick", vehicleButton, 
        function () 
            if getPlayerMoney () >= 10000 then 
                guiSetEnabled ( vehicleButton, false ) 
                guiSetText (vehicleButton, "Куплена") 
                triggerServerEvent ( "givePlayerLicenseClient", localPlayer, 1 ) 
            else 
                outputChatBox ( "У Вас недостаточно денег!", 255, 150, 100 ) 
            end 
        end,false) 
         
        addEventHandler("onClientGUIClick", vehicleRight, 
        function () 
                        triggerServerEvent ( "markers", getLocalPlayer()) 
        end,false) 
    addEventHandler("onClientGUIClick", closeButton, 
        function () 
            showCursor ( false ) 
            guiSetVisible ( licenseWindow, false ) 
            destroyElement ( licenseWindow ) 
        end,false) 
     
end 
--addEventHeandler ("onClientRender", getRootElement(), showLicenseBuy) 
  
function showLicensesC ( name, car, aero, boat) 
    licenseWindow = guiCreateWindow(0.36, 0.36, 0.20, 0.20, "Лицензии игрока "..name, true) 
    guiWindowSetSizable(licenseWindow, false) 
    guiSetAlpha(licenseWindow, 1.00) 
    carLic = "нету" 
    if car then 
        carLic = "есть" 
    end 
     
    vehicleLabel = guiCreateLabel(0.06, 0.17, 1, 0.11, "Лицензия на вождение авто: "..carLic, true, licenseWindow) 
    closeButton = guiCreateButton(0.29, 0.68, 0.43, 0.18, "Закрыть", true, licenseWindow) 
    guiSetProperty(closeButton, "NormalTextColour", "FFAAAAAA") 
     
    addEventHandler("onClientGUIClick", closeButton, 
        function () 
            showCursor ( false ) 
            guiSetVisible ( licenseWindow, false ) 
            destroyElement ( licenseWindow ) 
    end,false) 
  
end 
  
addEvent( "showLicenses", true ) 
addEventHandler( "showLicenses", getRootElement(), showLicensesC ) 
addEvent( "knopka", true ) 
function show () 
        guiSetEnabled ( vehicleRight, false ) 
        guiSetText (vehicleRight, "Получены") 
end 
addEventHandler( "knopka", getRootElement(), show ) 
  
  
markersPos = { 
    { 667.0592,-602.50,15.703 }, 
        { 720.624,-597.272,15.704 }, 
        { 719.1107,-485.990,15.7042 }, 
        { 679.4385,-497.175,15.70 }, 
        { 606.470,-526.091,15.70 }, 
        { 606.6531,-488.603,15.70}, 
        { 716.450,-489.529,15.70 }, 
        { 718.2867,-595.080,15.70 }, 
        { 677.824,-656.424,15.70 }, 
        { 641.2035,-652.035,15.70 }, 
        { 627.403, -601.862, 16.13 }, 
  
} 
  
function startExamingC () 
  
    mark = createMarker ( 667.0592,-602.50,15.703, "checkpoint", 2.5, 255, 0, 0, 180 ) 
    setElementData ( source, "drivingMarker", mark ) 
    setElementData ( source, "drivingMarkerID", 1 ) 
    addEventHandler("onClientMarkerHit", mark, chek) 
end 
addEvent( "startExaming", true ) 
addEventHandler( "startExaming", getRootElement(), startExamingC ) 
  
     
function chek (elem) 
    --if getElementType ( elem ) == "vehicle" then 
        --local driver = getVehicleOccupant ( elem ) 
        local driver = elem 
        if elem == localPlayer then 
            local markelem = getElementData ( driver, "drivingMarker" ) 
            local markid = getElementData ( driver, "drivingMarkerID" ) 
            if isElement ( markelem ) and markelem == source and markid then 
                if markid == #markersPos  then 
                    triggerServerEvent ( 'finishExmanigAuto', localPlayer ) 
                    destroyElement (source) 
                    outputChatBox ( "Поздравляю!Вы сдали на права!Соблюдайте ПДД", driver, 0, 255, 0, true ) 
                    setElementData ( driver, "drivingMarker", false ) 
                    setElementData ( driver, "drivingMarkerID", false ) 
                elseif markid < #markersPos  then 
                    setElementData ( driver, "drivingMarkerID", markid + 1 ) 
                    setElementPosition ( markelem, markersPos[markid+1][1],markersPos[markid+1][2],markersPos[markid+1][3]) 
                end 
            else 
                setElementData ( driver, "drivingMarker", false ) 
                setElementData ( driver, "drivingMarkerID", false ) 
            end 
        end 
end 
---зона сообщения 
local radararea = createRadarArea(627.403000, -601.862000, 3, 3, 0, 0, 0, 0) 
local col = createColRectangle(627.403000, -601.862000, 3, 3) 
function sa() 
    setElementAlpha(radararea, 100) 
end 
addEventHandler( "onResourseStart", root, sa) 
  
function checkPlayerPos() 
    if playerPos(radararea) then 
        outputChatBox ( "Hello", driver, 0, 255, 0, true ) 
     
    end 
end  
addEvent( "checkPlayerPos", true ) 
addEventHandler( "checkPlayerPos", getRootElement(), startExamingC ) 
  

Link to comment
Doesn't look like you get playerPos from anywhere, can you post the function that triggers the checkPlayerPos event

I'm trying to assemble a script " driver's license " and maybe there is no such )

In general , here's the script:

  
function checkPlayerPos() 
    if playerPos(radararea) then 
        outputChatBox ( "Hello", driver, 0, 255, 0, true ) 
     
    end 
end  
addEvent( "checkPlayerPos", true ) 
addEventHandler( "checkPlayerPos", getRootElement(), startExamingC ) 
  

Do you realise you're not triggering the correct function?

addEventHandler( "checkPlayerPos", getRootElement(), startExamingC )

Link to comment
Doesn't look like you get playerPos from anywhere, can you post the function that triggers the checkPlayerPos event

I'm trying to assemble a script " driver's license " and maybe there is no such )

In general , here's the script:

  
function checkPlayerPos() 
    if playerPos(radararea) then 
        outputChatBox ( "Hello", driver, 0, 255, 0, true ) 
     
    end 
end  
addEvent( "checkPlayerPos", true ) 
addEventHandler( "checkPlayerPos", getRootElement(), startExamingC ) 
  

Do you realise you're not triggering the correct function?

addEventHandler( "checkPlayerPos", getRootElement(), startExamingC )

Oh...

And what function should be here? :)

Link to comment
addEventHandler( "checkPlayerPos", getRootElement(), checkPlayerPos)

It still don`t work ...

Maybe there are some another errors?

Can you paste your client sided code please.

function loadLicResource () 
    licPickupSF = createPickup ( 629.409, -571.822, 16.74, 3, 1581 ) 
    createBlip ( 629.94, -571.38, 17.78, 36, 2, 255, 0, 0, 255, 0, 200 ) 
    addEventHandler( "onClientPickupHit", licPickupLS, buyLicenseHit ) 
    addEventHandler( "onClientPickupHit", licPickupSF, buyLicenseHit ) 
end 
addEventHandler ( "onClientResourceStart",  getResourceRootElement(getThisResource()), loadLicResource ) 
  
function buyLicenseHit ( thePlayer, matchingDimension ) 
    if thePlayer == localPlayer then 
        showLicenseBuy () 
    end 
end 
  
function showLicenseBuy () 
    licenseWindow = guiCreateWindow(0.36, 0.36, 0.19, 0.46, "", true) 
    guiWindowSetSizable(licenseWindow, false) 
    guiSetAlpha(licenseWindow, 1.00) 
  
    vehicleLabel = guiCreateLabel(0.15, 0.08, 1, 0.05, "Лицензия на вождение авто", true, licenseWindow) 
    --guiLabelSetHorizontalAlign(vehicleLabel, "center", false) 
        vehicleRight = guiCreateButton(0.23, 0.13, 0.52, 0.12, "Сдать на права", true, licenseWindow) 
    aeroLabel = guiCreateLabel(0.34, 0.25, 1, 0.05, "или купить за:", true, licenseWindow) 
    vehicleButton = guiCreateButton(0.23, 0.30, 0.52, 0.12, "10000$", true, licenseWindow) 
    if getElementData ( localPlayer, "carLicense" ) then 
        guiSetEnabled ( vehicleButton, false ) 
        guiSetText (vehicleButton, "Куплена") 
    end 
     
  
    guiSetProperty(boatButton, "NormalTextColour", "FFAAAAAA") 
    closeButton = guiCreateButton(0.28, 0.91, 0.45, 0.08, "Закрыть", true, licenseWindow) 
    guiSetProperty(closeButton, "NormalTextColour", "FFAAAAAA") 
  
    guiSetVisible ( licenseWindow, true ) 
    showCursor ( true ) 
    addEventHandler("onClientGUIClick", vehicleButton, 
        function () 
            if getPlayerMoney () >= 10000 then 
                guiSetEnabled ( vehicleButton, false ) 
                guiSetText (vehicleButton, "Куплена") 
                triggerServerEvent ( "givePlayerLicenseClient", localPlayer, 1 ) 
            else 
                outputChatBox ( "У Вас недостаточно денег!", 255, 150, 100 ) 
            end 
        end,false) 
         
        addEventHandler("onClientGUIClick", vehicleRight, 
        function () 
                        triggerServerEvent ( "markers", getLocalPlayer()) 
        end,false) 
    addEventHandler("onClientGUIClick", closeButton, 
        function () 
            showCursor ( false ) 
            guiSetVisible ( licenseWindow, false ) 
            destroyElement ( licenseWindow ) 
        end,false) 
     
end 
--addEventHeandler ("onClientRender", getRootElement(), showLicenseBuy) 
  
function showLicensesC ( name, car, aero, boat) 
    licenseWindow = guiCreateWindow(0.36, 0.36, 0.20, 0.20, "Лицензии игрока "..name, true) 
    guiWindowSetSizable(licenseWindow, false) 
    guiSetAlpha(licenseWindow, 1.00) 
    carLic = "нету" 
    if car then 
        carLic = "есть" 
    end 
     
    vehicleLabel = guiCreateLabel(0.06, 0.17, 1, 0.11, "Лицензия на вождение авто: "..carLic, true, licenseWindow) 
    closeButton = guiCreateButton(0.29, 0.68, 0.43, 0.18, "Закрыть", true, licenseWindow) 
    guiSetProperty(closeButton, "NormalTextColour", "FFAAAAAA") 
     
    addEventHandler("onClientGUIClick", closeButton, 
        function () 
            showCursor ( false ) 
            guiSetVisible ( licenseWindow, false ) 
            destroyElement ( licenseWindow ) 
    end,false) 
  
end 
  
addEvent( "showLicenses", true ) 
addEventHandler( "showLicenses", getRootElement(), showLicensesC ) 
addEvent( "knopka", true ) 
function show () 
        guiSetEnabled ( vehicleRight, false ) 
        guiSetText (vehicleRight, "Получены") 
end 
addEventHandler( "knopka", getRootElement(), show ) 
  
  
markersPos = { 
    { 667.0592,-602.50,15.703 }, 
        { 720.624,-597.272,15.704 }, 
        { 719.1107,-485.990,15.7042 }, 
        { 679.4385,-497.175,15.70 }, 
        { 606.470,-526.091,15.70 }, 
        { 606.6531,-488.603,15.70}, 
        { 716.450,-489.529,15.70 }, 
        { 718.2867,-595.080,15.70 }, 
        { 677.824,-656.424,15.70 }, 
        { 641.2035,-652.035,15.70 }, 
        { 627.403, -601.862, 16.13 }, 
  
} 
  
function startExamingC () 
  
    mark = createMarker ( 667.0592,-602.50,15.703, "checkpoint", 2.5, 255, 0, 0, 180 ) 
    setElementData ( source, "drivingMarker", mark ) 
    setElementData ( source, "drivingMarkerID", 1 ) 
    addEventHandler("onClientMarkerHit", mark, chek) 
end 
addEvent( "startExaming", true ) 
addEventHandler( "startExaming", getRootElement(), startExamingC ) 
  
     
function chek (elem) 
    --if getElementType ( elem ) == "vehicle" then 
        --local driver = getVehicleOccupant ( elem ) 
        local driver = elem 
        if elem == localPlayer then 
            local markelem = getElementData ( driver, "drivingMarker" ) 
            local markid = getElementData ( driver, "drivingMarkerID" ) 
            if isElement ( markelem ) and markelem == source and markid then 
                if markid == #markersPos  then 
                    triggerServerEvent ( 'finishExmanigAuto', localPlayer ) 
                    destroyElement (source) 
                    outputChatBox ( "Поздравляю!Вы сдали на права!Соблюдайте ПДД", driver, 0, 255, 0, true ) 
                    setElementData ( driver, "drivingMarker", false ) 
                    setElementData ( driver, "drivingMarkerID", false ) 
                elseif markid < #markersPos  then 
                    setElementData ( driver, "drivingMarkerID", markid + 1 ) 
                    setElementPosition ( markelem, markersPos[markid+1][1],markersPos[markid+1][2],markersPos[markid+1][3]) 
                end 
            else 
                setElementData ( driver, "drivingMarker", false ) 
                setElementData ( driver, "drivingMarkerID", false ) 
            end 
        end 
end 
---зона сообщения 
local radararea = createRadarArea(627.403000, -601.862000, 3, 3, 0, 0, 0, 0) 
local col = createColRectangle(627.403000, -601.862000, 3, 3) 
function sa() 
    setElementAlpha(radararea, 100) 
end 
addEventHandler( "onResourseStart", root, sa) 
  
function checkPlayerPos() 
    if playerPos(radararea) then 
        outputChatBox ( "Hello", driver, 0, 255, 0, true ) 
     
    end 
end  
  
addEventHandler( "checkPlayerPos", getRootElement(), checkPlayerPos) 
  

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...