• 29 Mars 2024, 16:13:08


Auteur Sujet: [Résolu]Aide sur un serveur Linux  (Lu 3682 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Vanarian

  • *
  • Nouveau
  • Messages: 8
    • Voir le profil
[Résolu]Aide sur un serveur Linux
« le: 18 Mai 2012, 14:58:21 »
Bonjour,

Voilà j'ai un serveur Linux et je voudrais créer un serveur MTA, mais je ne connais pas grand chose à MTA, je connais plus SAMP.
Donc quand je suis sur mon FTP je comprends pas comment je dois faire pour utiliser tel gamemode, y'a une histoire avec les Meta.Xml que je ne comprends pas non plus, je voudrais faire un serveur avec un mode freeroam mais je n'y arrive pas, quand je lance mon serveur je vois un écran noir :/
Comment le serveur dois faire pour savoir quel gamemode il lance ? sur quelle map etc.

Merci.
« Modifié: 21 Mai 2012, 20:46:32 par Vanarian »

vincentdu90

  • Invité
Re : Aide sur un serveur Linux
« Réponse #1 le: 18 Mai 2012, 19:18:13 »
Vu que tu ne t'y connais pas trop je pense que cela pourra t'aidé : http://wiki.multitheftauto.com/wiki/FR/Introduction_Programmation

C'est le Wiki de Mta:Sa , il n'est pas totalement traduit mais c'est déjà pas mal pour que tu comprennes.

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : Aide sur un serveur Linux
« Réponse #2 le: 18 Mai 2012, 20:18:14 »
Bonsoir Vanarian,

Normalement, il faut suivre ces étapes:
http://linux.mtasa.com/

lancer le serveur

puis ouvrir les ports ( tu peux vérifier si tes ports sont ouverts ici )

Normalement ça devrai marcher vu que freeroam se lance automatiquement avec le serveur.

Tiens nous au courant.

Citizen




The rEvolution is coming ...

Hors ligne Vanarian

  • *
  • Nouveau
  • Messages: 8
    • Voir le profil
Re : Aide sur un serveur Linux
« Réponse #3 le: 18 Mai 2012, 20:37:48 »
j'ai réussi.

Vous pouvez me dire comment spawn directement dans les véhicules en freeroam (Panel F1 > create) car les voitures tombent a coté du perso et c'est pas super pratique.
Et comment sauvegarder le skin de notre perso, parce qu'il change après chaque mort.


Merci.
« Modifié: 20 Mai 2012, 12:56:36 par Vanarian »

Hors ligne Vanarian

  • *
  • Nouveau
  • Messages: 8
    • Voir le profil
Re : Aide sur un serveur Linux
« Réponse #4 le: 20 Mai 2012, 12:56:46 »
UP

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : Aide sur un serveur Linux
« Réponse #5 le: 20 Mai 2012, 23:30:16 »
Pour ça, il faut aller éditer les sources de freeroam.

Il faut chercher une ligne qui doit surement ressembler à ça:
Code: (lua) [Sélectionner]
local vehicle = createVehicle( blabla )et aussi une ligne qui doit ressembler à ça:
Code: (lua) [Sélectionner]
local x,y,z = getPlayerPosition( player )
ou
local x,y,z = getElementPosition( player )

et on va utiliser ces 2 variables ( player et vehicle ) pour la warpPedIntoVehicle
Rajoute cette ligne après la création du véhicule:
Code: (lua) [Sélectionner]
warpPedIntoVehicle( player, vehicle )
Si tu trouves pas, je regarderai demain où c'est exactement.

PS: Désolé pour ce retard

Citizen
The rEvolution is coming ...

Hors ligne Vanarian

  • *
  • Nouveau
  • Messages: 8
    • Voir le profil
Re : Aide sur un serveur Linux
« Réponse #6 le: 20 Mai 2012, 23:50:32 »
Merci beaucoup !

Je regarde ça tout de suite.

Edit: je vois :
Citer
if not getVehicleOccupant(vehicle, i) then
            if isPedDead(source) then
               local x, y, z = getElementPosition(vehicle)
               spawnMe(x + 4, y, z + 1)
            end
            warpPedIntoVehicle(source, vehicle, i)
            return
et
Citer
vehicle = createVehicle(vehID, vx, vy, vz, 0, 0, vrot)
         if (not isElement(vehicle)) then return end
         setElementInterior(vehicle, getElementInterior(source))
         setElementDimension(vehicle, getElementDimension(source))
         table.insert(vehicleList, vehicle)
         g_VehicleData[vehicle] = { creator = source, timers = {} }
         if vehID == 464 then
            warpPedIntoVehicle(source, vehicle)
dans fr-server.lua, mais je ne sais pas quelle partie je dois changer..
« Modifié: 21 Mai 2012, 19:03:10 par Vanarian »

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : Aide sur un serveur Linux
« Réponse #7 le: 21 Mai 2012, 19:18:04 »
Tiens c'est bizarre, on a pas la même version de freeroam enfin bref,

Sur le 2ème, tu vois que le warp se fait que si vehID = 464 ( le RC Baron )
( Tu peux tester de créer un RC baron, et tu verras que tu rentreras dedans tout seul )

Nous, on veut que ça "warp" le joueur dans véhicule pour tous les véhicules que le joueur crée.
Donc il faut bouger cette ligne:
Code: (lua) [Sélectionner]
warpPedIntoVehicle(source, vehicle)de façon à ce qu'elle soit en-dehors de ce if.
Le mieux c'est de le mettre juste au-dessus, donc juste en-dessous de:
Code: (lua) [Sélectionner]
g_VehicleData[vehicle] = { creator = source, timers = {} }
Et le tour est joué !

Dit moi si ça a fonctionné ;)

Citizen
The rEvolution is coming ...

Hors ligne Vanarian

  • *
  • Nouveau
  • Messages: 8
    • Voir le profil
Re : Aide sur un serveur Linux
« Réponse #8 le: 21 Mai 2012, 20:17:53 »
oui c'est bon comme ça :

Citer
vehicle = createVehicle(vehID, vx, vy, vz, 0, 0, vrot)
         if (not isElement(vehicle)) then return end
         setElementInterior(vehicle, getElementInterior(source))
         setElementDimension(vehicle, getElementDimension(source))
         table.insert(vehicleList, vehicle)
         g_VehicleData[vehicle] = { creator = source, timers = {} }
         warpPedIntoVehicle(source, vehicle)
         if vehID == 464 then
         elseif not g_Trailers[vehID] then
            if getOption('vehicles.idleexplode') then
               g_VehicleData[vehicle].timers.fire = setTimer(commitArsonOnVehicle, getOption('vehicles.maxidletime'), 1, vehicle)
            end
            g_VehicleData[vehicle].timers.destroy = setTimer(unloadVehicle, getOption('vehicles.maxidletime') + (getOption('vehicles.idleexplode') and 10000 or 0), 1, vehicle)
         end
         vx = vx + 4
         vz = vz + 4

Mais quand je spawn le véhicule il part sur la droite, c'est sûrement un problème de position, tu sais quelle ligne doit être modifiée pour résoudre ce problème ?

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : Aide sur un serveur Linux
« Réponse #9 le: 21 Mai 2012, 20:33:12 »
Il suffit de supprimer cette ligne:
Code: (lua) [Sélectionner]
vx = vx + 4
car là, il ajoute 4 unités sur l'axe des abscisses ( par rapport à la map de GTA )

Par contre, je te conseil de laisser le vz = vz + 4 car si tu fais apparaître un AT-400, il sera coincé dans le sol  :laugh

Voilà, amuse toi bien  :P

Citizen
The rEvolution is coming ...

Hors ligne Vanarian

  • *
  • Nouveau
  • Messages: 8
    • Voir le profil
Re : Aide sur un serveur Linux
« Réponse #10 le: 21 Mai 2012, 20:45:43 »
Merci beaucoup pour ton aide !  :)

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : [Résolu]Aide sur un serveur Linux
« Réponse #11 le: 21 Mai 2012, 21:26:28 »

Content de t'avoir aidé  :happy

Citizen
The rEvolution is coming ...