Jump to content

Attache Object sur un véhicule


Recommended Posts

Bonjour,

Je recherche actuellement , comment attaché un objet a son véhicule , car j'avait eu un idée donc modifié un objet de base sur gta , en sorte de gyrophare

Comme ça:

PoliceLight1.jpg

Mais après l'objet modifié , j'aimerai maintenant savoir comment je fait pour l'attaché au véhicule.

Et je sais qui faut relevé des position pour le mettre sur la voiture , mais comment les relevé aussi ?

Merci d'avance.

Link to comment

Bonjour,

Bien sûr que tu peux en utilisant la fonction suivante : AttachElements. Pour te simplifier la tâche, je t'es fait un script qui permet d'attacher un objet sur un véhicule en faisant une commande.

A mettre côté serveur :

  
local sX, sY, sZ = 0, 0, 5 -- La position de la sirène (Tu doit régler à ta guise) 
local rX, rY, rZ = 0, 0, 0 -- La rotation de la sirène (Tu doit régler à ta guise) 
  
function attachSiren(cmd) 
    local veh = getPedOccupiedVehicle(source) -- Regarde si le joueur est dans un véhicule 
    local id = getElementModel(veh) -- Récupère l'ID du véhicule 
    if veh == true then -- Si la variable "veh" retourne "Vrai" alors 
        if id == 596 or id == 597 or id == 599 then -- Si le véhicule correspond au ID des véhicules de police alors 
             sirene = createObject(1636, 0, 0, 0) -- 1636 est l'ID de l'objet (à remplacer par l'ID de ta sirène) et les zéros ne doivent pas être remplacé. 
             setElementCollisionsEnabled(sirene, false) -- Désactive la collision avec la sirène 
             attachElements (sirene, veh,  sX, sY, sZ, rX, rY, rZ) -- Attache la sirène à la voiture du joueur 
        end 
    end   
end 
addCommandHandler("mettresiren", attachSiren) 

Déjà là, nous avons le début de notre script. J'attends un retour de ta part pour savoir si l'objet apparaît bien et que la fonction n'est pas buggé.

Comment savoir l'ID d'un véhicule : Tu peux tout simplement avoir la liste des ID en cliquant ici.

Comment bien mettre la sirène sur le véhicule : La seule façon de faire ça, c'est de faire des ajustements, voir le résultat et en refaire si nécessaire etc.

Rémi

Link to comment

J'ai mis le script:

local 10, 5, 10 = 0, 0, 5  
local 10, 5, 10 = 0, 0, 0 
  
function attachSiren(cmd) 
    local veh = getPedOccupiedVehicle(source) 
    local id = getElementModel(veh) 
    if veh == true then 
        if id == 411 or id == 597 or id == 599 then 
             sirene = createObject(2922, 0, 0, 0) 
             setElementCollisionsEnabled(sirene, false) -- Désactive la collision avec la sirène 
             attachElements (sirene, veh,  sX, sY, sZ, rX, rY, rZ) -- Attache la sirène à la voiture du joueur 
        end 
    end   
end 
addCommandHandler("mettresiren", attachSiren) 

Et il y a un script error:

[22:06:51] WARNING: Attach_Born/server.lua [server] is encoded in ANSI instead of UTF-8. Please convert your file to UTF-8.

[22:06:51] Some files in 'Attach_Born' use deprecated functions.

[22:06:51] Use the 'upgrade' command to perform a basic upgrade of resources.

[22:06:51] Starting Attach_Born

[22:06:51] WARNING: Script 'Attach_Born\server.lua' is not encoded in UTF-8. Loading as ANSI...

[22:06:51] SCRIPT ERROR: Attach_Born\server.lua:1: '' expected near '10'

[22:06:51] ERROR: Loading script failed: Attach_Born\server.lua:1: '' expected near '10'

Link to comment
J'ai mis le script:
local 10, 5, 10 = 0, 0, 5  
local 10, 5, 10 = 0, 0, 0 
  
function attachSiren(cmd) 
    local veh = getPedOccupiedVehicle(source) 
    local id = getElementModel(veh) 
    if veh == true then 
        if id == 411 or id == 597 or id == 599 then 
             sirene = createObject(2922, 0, 0, 0) 
             setElementCollisionsEnabled(sirene, false) -- Désactive la collision avec la sirène 
             attachElements (sirene, veh,  sX, sY, sZ, rX, rY, rZ) -- Attache la sirène à la voiture du joueur 
        end 
    end   
end 
addCommandHandler("mettresiren", attachSiren) 

Et il y a un script error:

[22:06:51] WARNING: Attach_Born/server.lua [server] is encoded in ANSI instead of UTF-8. Please convert your file to UTF-8.

[22:06:51] Some files in 'Attach_Born' use deprecated functions.

[22:06:51] Use the 'upgrade' command to perform a basic upgrade of resources.

[22:06:51] Starting Attach_Born

[22:06:51] WARNING: Script 'Attach_Born\server.lua' is not encoded in UTF-8. Loading as ANSI...

[22:06:51] SCRIPT ERROR: Attach_Born\server.lua:1: '' expected near '10'

[22:06:51] ERROR: Loading script failed: Attach_Born\server.lua:1: '' expected near '10'

Bonsoir,

Pour les erreurs d'encodages par contre ça vient du logiciel que tu utilise pour créer les fichiers, l'encodage standard reste pour moi UTF-8. Il faut donc encodé ton fichier vers UTF-8, notepad++ et bien d'autres logiciels te permet de faire ça.

Sinon, j'ai fait des essais de mon côté et je me suis rendu compte que j'avais fait absolument n'importe quoi.

Donc voici la dernière version qui fonctionne à merveille :

  
sX, sY, sZ = 0, 12, 0 
rX, rY, rZ = 0, 0, 0 
  
function attachSiren(thePlayer, cmd) 
    local veh = getPedOccupiedVehicle(thePlayer) -- Regarde si le joueur est dans un véhicule 
    if veh then 
        sirene = createObject(3578, 0, 0, 0) -- 3578 est l'ID de l'objet (à remplacer par l'ID de ta sirène) et les zéros ne doivent pas être remplacé. 
        setElementCollisionsEnabled(sirene, false) -- Désactive la collision avec la sirène 
        attachElements(sirene, veh,  sX, sY, sZ, rX, rY, rZ) -- Attache la sirène à la voiture du joueur 
    else 
        outputChatBox("Vous devez être dans un véhicule !", source) -- Message d'erreur 
    end 
end 
addCommandHandler("mettresirene", attachSiren) 
  

Voici un aperçu : http://i.gyazo.com/27478fe5e07e1c614db2b7b4c67c948f.png

Bonne soirée à toi,

Rémi

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