• 14 Mai 2024, 22:35:12


Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Citizen

Pages: 1 [2] 3 4 ... 16
16
J'avais juste oublié de mettre 'or 0' pourtant ça saute aux yeux tellement que c'est logique.

Hummm nan ça m'étonnerait qu'il ne te manquait juste le or 0, c'est juste une sécurité superflu qui fait que la valeur devient 0 si le getPedStat renvoit une valeur inattendu comme false ou nil.
Mais il n'y a aucune raison pour que cela arrive si source sera toujours un joueur. Donc le "or 0" est bien superflu et n'est pas "logique" et ne saute pas yeux comme tu l'as dit précédemment.

Aussi je viens de réaliser en relisant le code que j'ai écris 11 dans le getPedStat au lieu de 21 (petite faute de frappe que j'espère tu as vu et corrigé).

Je ne vais pas dire que tu mens, mais si tu avais juste oublié le "or 0", tu ne serais pas venu poser la question car ça aurait fonctionné.


17
Bah c'est à toi de récupérer le poids actuel et de faire une addition. Je trouve ça bizzare que tu n'en ai pas eu l'idée avant:
Code: (lua) [Sélectionner]
local weight = getPedStat(source, 11) or 0
setPedStat(source, 21, weight + math.random(15,30))

Ou de façon plus propre et réutilisable en créant une fonction pour faire un ajout:
Code: (lua) [Sélectionner]
function addPlayerWeight( player, weight )
    local curweight = getPedStat(source, 11) or 0
    setPedStat(source, 21, curweight + weight)
end

--que tu peux utiliser n'importe où comme ceci:
addPlayerWeight(player, math.random(15,30))

18
Problèmes et bugs / Re : Problème MTA
« le: 01 Avril 2014, 21:41:00 »
Tu n'as répondu qu'à la moitié de mes questions ...
Si tu veux rapidement résoudre ce problème, réponds correctement à toutes les questions.
D'après ce que tu m'as dit, j'ai juste appris que le crash était sur ton serveur mais je ne suis pas encore sûr si tu as modifié les fichiers originaux du jeux ou si tu passes par les fonctions de MTA pour moder le jeu.

Tu n'as même pas essayé de réinstaller le client MTA (si tu l'as fait, fallait le dire, je ne peux pas deviner).

Règles à respecter pour ne avoir un jeu stable:
- Ne pas modifier les fichiers originaux du jeu.
- Pour ajouter des mods sur ton serveur, il faut utiliser les fonctions pour.
- Ne pas surcharger le serveur de mods. Plus il y aura de mods, plus il y aura de chance que le serveur soit instable.

Je te conseil de réinstaller ton GTA pour avoir des fichiers "propres".

19
Problèmes et bugs / Re : Problème MTA
« le: 31 Mars 2014, 18:43:31 »
Bonjour TheExtraCrow,
As-tu modifiés les fichiers du jeu de bases ?
Quand est-ce que ça crash ? au lancement du jeu ? en entrant dans un serveur particulier ? Si oui est-ce le seul serveur qui te fait crasher ?
Est-ce sur ton serveur ? Si oui, as-tu rajouté des mods style véhicules/armes etc ?

Toutes ces informations sont utiles pour essayer de trouver la cause du problème.
Tu peux bien imaginer que juste dire "quand ça crash ça marque ça.", ça n'aide pas du tout.

Cordialement,
Citizen

20
Pas de soucis, amuse toi bien  :wink:

21
Bonsoir Remi,

Déjà ton post est relativement confus et tu emplois des termes qui font que ta phrase n'a aucun sens:
je veux qu'au lieu d'écrire le nom de ma création et bien j'aimerais faire appel à la variable qui appellera elle une function qui comportera le nom de mon mods.
Une variable n'appelle en aucun cas une fonction, elle sert à stocker seulement (une donnée comme un nombre, un tableau ou même une fonction).
Ensuite tu sous-entends que tu ne veux pas écrire le nom de ton mod mais que tu veux y avoir accès via une variable. Donc tu vas forcément devoir l'écrire au moins une fois !

Ensuite ton code n'a pas vraiment de sens. Enfin si mais il n'est pas du tout optimisé car tu laisses au serveur la tâche de déclenché l'event displayClientInfo pour tout le monde alors que tout ce code peut rester du côté client.
Il n'est pas non plus nécessaire de faire un boucle pour déclencher un event client pour tous les joueurs, tu peux faire ça à la place:
Code: (lua) [Sélectionner]
triggerClientEvent("displayClientInfo", player, "Info", "Visitez le site officiel de " ..eName.. " : censure-pour-le-forum.fr", 200, 200, 22)En ne précisant aucun élément dans le 1er argument, il va par défaut le déclencher pour l'élément root (getRootElement(), cf le wiki) et donc pour tous les joueurs connectés.

Mais bon dans cet exemple là, tu peux rester entièrement du côté client mais en utilisant du coup triggerEvent ou en appelant directement la fonction si elle fait partie de ton script.

Je pense quand même avoir compris ce que tu veux:
Comment avoir une variable globale accessible à la fois du côté serveur mais aussi du côté client ?
Et ben c'est très simple, on peut faire un setElementData sur l'objet root et il sera automatiquement synchronisé et donc accessible du côté client.
La variable root est un raccourcis à getRootElement()
Plus d'infos sur les variables prédéfinies ici: https://wiki.multitheftauto.com/wiki/Predefined_variables_list

Exemple:
"Set" les variables 1 seule fois au démarrage du serveur:
Code: (lua) [Sélectionner]
setElementData(root, "modName", "MTA:DayZ Epoch")
setElementData(root, "modWebsite", "http://mon-super-site.com")

Ensuite, utilise les n'importe où dans tes fichiers Lua comme dans ce bout de code:
Code: (lua) [Sélectionner]
function myFunction()
local mName = tostring( getElementData(root, "modName") )
local mSite = tostring( getElementData(root, "modWebsite") )
outputChatBox("Visitez le site officiel de "..mName.." : "..mSite, root, 200, 200, 22)
end
setTimer(myFunction, 5*60*1000, 0) --toutes les 5 mins

Voilà j'espère que c'est compréhensible et que j'ai pas répondu à côté de ce que tu demandais réellement.

Cordialement,
Citizen

22
Scripting MTA [Lua Center] / Re : [Aide]Server DM
« le: 15 Mars 2014, 16:53:53 »
L'event  "onPlayerDestructionDerbyWin" que t'utilises n’existe pas ou plus.
Il faut utiliser l'event "onPlayerWinDD" mais le joueur qui vient de gagner est la source de cet event (il n'est donc pas passé en paramètre de ta fonction):
Code: (lua) [Sélectionner]
addEvent("onPlayerWinDD",true)
addEventHandler("onPlayerWinDD",getRootElement(),
function ()
local winner = source
if getPlayerCount() >= 3 then
--le reste du code en-dessous
   

23
Autre / Re : WeRoleplay - Serveur jeu de rôle MTA
« le: 06 Mars 2014, 09:25:32 »
Bonjour Abraham,

Ton projet semble intéressant, mais cette annonce ne met pas en avant les originalités que ton serveur possèdera que les autres n'ont pas. De plus, j'ai l'impression que ce serveur est basé sur MTA Paradise (ce n'est qu'une supposition basée que sur peu d'éléments).

Je te souhaite bonne chance pour ton serveur.

Cordialement,
Citizen

24
Scripting MTA [Lua Center] / Re : [Aide]Server DM
« le: 04 Mars 2014, 04:10:32 »
Il faut être au minimum trois joueurs sur le serveur pour que le gagnant reçoive de l'argent. As-tu testé avec 2 autres joueurs/ordis ?

Aussi, je supprimerai le deuxième:
Code: (lua) [Sélectionner]
local playerCash = loadPlayerData(winner,"cash")celui juste avant le outputChatBox (car il est totalement inutile) et je supprimerai également le return qui est juste après parce qu'il empêcherai l’exécution de ce qui est en dessous du if-else et il n'y a pas de raison que ce code ne soit pas exécuté si y a plus de 2 joueurs.



25
Scripting MTA [Lua Center] / Re : [Aide]Server DM
« le: 03 Mars 2014, 18:37:30 »
J'ai bien dit de type server là il est de type client donc le serveur n'a pas accès à ce fichier.

26
Scripting MTA [Lua Center] / Re : [Aide]Server DM
« le: 03 Mars 2014, 12:46:27 »
Dans ta meta.xml, il faut que le fichier users.xml soit de type server (pas skins.xml par contre).

27
Scripting MTA [Lua Center] / Re : [Aide]Server DM
« le: 03 Mars 2014, 01:17:55 »
En fait ce que j'aimerais savoir si ton serveur remarche d'abord.
Je regarderai ton problème en tout cas.

28
Scripting MTA [Lua Center] / Re : [Aide]Server DM
« le: 02 Mars 2014, 00:53:00 »
As tu un accès ssh sur ton serveur ?
Si oui je suppose que tu as installé le serveur 1.3.3 tout seul non ?

Si non, c'est surement t'as installé ton serveur via un panel ou quelque chose comme ça ?
Si c'est le cas, contact le directement pour qu'il le mette à jour.

En ssh:
- Coupe ton serveur et fait une copie de ton dossier où le serveur mta est (ça fera un backup si ça tourne mal).
Suit ensuite ces étapes:
https://wiki.multitheftauto.com/wiki/Installing_and_Running_MTASA_Server_on_GNU_Linux#Installation
- lance le une première fois pour voir si ton fonctionne puis coupe le à nouveau
- copie les fichiers de confs / db(si tu utilises sqlite) / tes ressources etc dans ton nouveau mta
- relance le et tout devrai être bon.

29
Scripting MTA [Lua Center] / Re : [Aide]Server DM
« le: 01 Mars 2014, 23:35:34 »
Essaye de mettre ton serveur à jour, on est en 1.3.5 maintenant (le tiens est en 1.3.3).

30
Scripting MTA [Lua Center] / Re : Re : [Aide]Server DM
« le: 01 Mars 2014, 23:03:41 »
Server AC info: [Allowed client files: None] [Disabled AC: None] [Enabled SD: None]
Download error: Error downloading requested files. Couldn't connect to server. [Failed connect to 89.33.242.226:22005; No error] [race/textlib.lua]

Ton serveur n'as pas ouvert le port 22005. C'est le port que le serveur utilise pour le transfert des ressources.
Je ne sais pas chez qui t'es allé, mais c'est clairement un problème du côté de ton hébergeur:

Il n'y a pas de meta.xml dans le dossier deathmatch, ce fichier est seulement destiné aux ressources.
En revanche, j'aimerais voir la balise <ip> dans ton mtaserver.conf juste pour être sûr que le problème vient bien de ton hébergeur.

Utilise aussi cette page en donnant l'ip de ton serveur. Tout doit passer au vert:
http://nightly.mtasa.com/ports/


Pages: 1 [2] 3 4 ... 16