Bonsoir,
Pour faire tes propres scripts, il te faut un gamemode. Pour ça, rien de plus simple, il te suffit de créer un dossier
dans
C:\...\MTA San Andreas 1.2\server\mods\deathmatch\resources\ tu le nommes comme tu veux ( monserver pour mon exemple ).
Ensuite dedans tu crées un fichier .lua ( server.lua dans mon cas, je te conseilles d'utiliser notepad++ pour programmer )
Tu mettra ton code dedans.
Pour commencer, tu essayes "d'attacher" la commande
entrer01 à une fonction qui n'existe pas encore vu qu'elle est en-dessous. Il te faut donc placer ton
addCommandHandler après.
Ensuite tu utilises la fonction
setElementRotationdont je rappel la syntaxe provenant du wiki:
bool setElementRotation ( element theElement, float rotX, float rotY, float rotZ [, string rotOrder = "default" ] )donc en gros tu dois lui donner en 1er paramètre l'élément à faire tourner puis la rotation finale ( ce qui est entre crochets est optionnel )
Là par exemple, tu lui donnes du texte ( string en anglais ) en 1er argument, donc ça ne peut pas marcher.
D'après ce que je vois, je penses que tu as utilisé le
map editor et tu as seulement copié l'id de l'objet.
Il y a une fonction qui te permet de récupérer l'élément d'un objet si tu connais sont id:
element getElementByID ( string id ), comme tu peux le voir, il a besoin d'un string ( l'id de ta barrière en l’occurrence ).
Donc:
setElementRotation( getElementByID("(barrierturn) (1)"),rotX,rotY+60,rotZ)
Ensuite tu utilises les variables rotX, rotY, et rotZ mais qui ne sont pas déclarées dans ton code. Je sais qu'ils ont marqué comme ça sur le wiki, mais ce sont des exemples de nom de variables, pour pouvoir les expliquer juste en dessous.
On peut réutiliser ces variables si tu veux mais il nous faut récupérer la rotation actuelle de ta barrière dans ces 3 variables pour pouvoir ensuite faire ton
+60.
Pour cela, il y a la fonction
getElementRotation, là aussi, il faut que tu lui donnes l'élément dont tu veux récupéré la rotation. Si tu as compris ce que j'ai dit plus haut, il te faudra donc faire:
getElementRotation( getElementByID( "(barrierturn) (1)" ) )
Il faut ensuite stocker ces valeurs ( les 3 rotations ) dans nos variables:
local rotX, rotY, rotZ = getElementRotation( getElementByID( "(barrierturn) (1)" ) )
/?\Mais qu'est-ce que ce local devant les 3 variables ? /?\ Et bas c'est relativement simple, en fait il faut distinguer 2 types de variables:
- les variables dites "locales"
- les variables dites "globales"
[ je terminerais demain, merci de ta compréhension]