Bonsoir Anolas,
Avant de commencer tête baisser dans tes scripts, il faut lire, apprendre et comprendre les bases.
Sans ces bases, tu essayeras de coder et/ou de lire le code de quelqu'un d'autre sans rien y comprendre.
Je vois ici que tu n'as pas la notion de partie cliente (le pc d'un joueur) et partie serveur(la machine qui héberge le serveur), en effet, si tu veux créer un objet mais qu'il soit visible de tous les joueurs, il te faut le créer du côté serveur. La partie cliente sera en général utilisée pour faire de l'affichage (fenêtres, boutons, images etc) et du code qui peut être exécuter du côté client pour soulager le serveur.
Pour bien comprendre comment ça fonctionne et comment faire en sorte qu'un script Lua soit exécuté du côté client ou du côté serveur, je te conseil fortement (pour ne pas dire une obligation) de lire, comprendre et
tester les exemples qu'on te propose sur cette page:
Introduction: La programmationJ'ai souligné et mis en rouge le verbe tester car si tu t'amuses juste à lire sans tester les exemples en te disant: "Ouai c'est bon je vois ce que ça fait, pas besoin de tester

" tu oublieras ou ne verra pas certaines notions importantes.
Quelques conventions de codages car je viens de voir ton code sur pastebin:
- les noms de fonctions et des variables doivent toujours commencer par une minuscule puis une majuscule à chaque première lettre des mots qui composent le nom de la fonction ou de la variable. Exemples:
function createAtm()
function myAwesomeFunction()
local theAtmObject = createObject(blabla)
- Utiliser des tabulations pour l'indentation des lignes (pas d'espaces). En général tu ajouteras une indentation supplémentaire lorsque tu rentreras dans quelquechose. Exemple:
function creeAtm (thePlayer)
--Je rentre dans ma fonction
local px, py, pz = getElementPosition(thePlayer)
if(px == false) then
--Je rentre dans un if
for k=0, 3, do
--je rentre dans une boucle for
px = px + 3;
end --la fermeture alignée avec l'ouverture
end -- idem (alignement)
--Je continue sur le même alignement
local blabla = maBlablaFonction()
end
PS: Sur ce forum on a l'impression que c'est trop, mais sur un vrai éditeur (Notepad++ par exemple) ou même sur pastebin, c'est 2 fois mois espacés.- Faire un espace après chaque virgules ou operateurs (+ - / * = etc ). Exemple:
local px, py, pz = getElementPosition( thePlayer )
setElementPosition( px * 2, py / 2, pz - 2 + 2 )
- Essayer (c'est pas grave si tu le fais pas) de nommer tes fonctions et variables en anglais. Car comme ça tu ne peux pas avoir de problème avec les accents (attention je n'insinue pas qu'on peut mettre des accents, on peut pas, je dis juste que
createdObject sonne mieux que
objetCree).
Voilà, et désolé pour le temps de rédaction mais fallait que je sois clair et précis en te donnant toutes ces informations pour bien débuter.
Donc je te conseil de mettre de coter ton petit script, de suivre le tuto du wiki et une fois que t'as compris et que les exemples marchent, modifie ces exemples pour tester ta création d'objet.
Bon codage !
Citizen