Jump to content

text message on player position


OGPrettyMF

Recommended Posts

Posted

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:

Posted

What makes the function get executed? Also the chances of being exactly at those coordinates are really slim.

Posted
What makes the function get executed? Also the chances of being exactly at those coordinates are really slim.

Well look, with a radius will I do colshape

And I only care about the spelling of the script .

Is everything okay here ?

Posted

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

Posted
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 ) 
  

Posted
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 )

Posted
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? :)

Posted
addEventHandler( "checkPlayerPos", getRootElement(), checkPlayerPos)

It still don`t work ...

Maybe there are some another errors?

Can you paste your client sided code please.

Posted
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) 
  

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