Jump to content

Problème d'affichage


Recommended Posts

  • Moderators
function show_dx()
    if(isPedInVehicle(thePlayer)) then
        local theVehicle = getPedOccupiedVehicle(thePlayer)
        if(handlerExist) then
            removeEventHandler("onClientRender", getRootElement(), dxDraw)
            handlerExist = false
        else
            addEventHandler("onClientRender", getRootElement(), dxDraw)
            handlerExist = true
        end
    else
        outputChatBox("Tu doit être dans un véhicule !", thePlayer)
    end
end
bindKey("m", "down", show_dx)

Ici la variable thePlayer n'est pas définie ! Donc tu iras toujours dans le else car isPedInVehicle(nil) retournera toujours false.

Comme c'est un script client, et qu'un script client s'exécute pour un joueur à la fois (chaque joueur en récupère une copie à la connexion et l'exécutent pour eux-même) il est possible de récupérer directement le joueur actuel via getLocalPlayer() ou le raccourci très pratique: localPlayer.

-- Version 1: via getLocalPlayer()
function show_dx()
  	local thePlayer = getLocalPlayer() -- on défini thePlayer
    if(isPedInVehicle(thePlayer)) then
        local theVehicle = getPedOccupiedVehicle(thePlayer)
        if(handlerExist) then
            removeEventHandler("onClientRender", getRootElement(), dxDraw)
            handlerExist = false
        else
            addEventHandler("onClientRender", getRootElement(), dxDraw)
            handlerExist = true
        end
    else
        outputChatBox("Tu doit être dans un véhicule !", thePlayer)
    end
end
bindKey("m", "down", show_dx)

-- Version2: directement via localPlayer
function show_dx()
    if(isPedInVehicle(localPlayer)) then
        local theVehicle = getPedOccupiedVehicle(thePlayer)
        if(handlerExist) then
            removeEventHandler("onClientRender", getRootElement(), dxDraw)
            handlerExist = false
        else
            addEventHandler("onClientRender", getRootElement(), dxDraw)
            handlerExist = true
        end
    else
        outputChatBox("Tu doit être dans un véhicule !", localPlayer)
    end
end
bindKey("m", "down", show_dx)

 

Edited by Citizen
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...