GTAOnline.net

Multi Theft Auto (mta) => Scripting MTA [Lua Center] => Discussion démarrée par: Remi le 30 Avril 2014, 13:53:16

Titre: [Résolu] Ajouter du poids
Posté par: Remi le 30 Avril 2014, 13:53:16
Bonjour,

Depuis hier, je travaille sur une refonte du système de skin de MTA:DayZ. Jusqu'à la pas de soucis, le joueur spawn désormais avec le skin de CJ. Mais je souhaite également que le joueur gagne ou perd du poids.

Malheureusement le setPedStat ne semble pas adapté à l'utilisation que je souhaite en faire. En effet, je peux très bien lui faire gagner du poids de façon aléatoire en mettant :
Code: (LUA) [Sélectionner]
setPedStat(source, 21, math.random(15,30))
Hors si, je souhaite lui mettre du poids en plus ailleurs. Ça n'ajoute pas le poids en plus, ça ajoute le poids par dessus l'ancienne valeur.

J'avais eu l'idée de mettre +15,+30 par exemple, mais cela ne fonctionne pas et me renvois ce message d'erreur :
Citer
WARNING: Loading script failed: unexpected symbol near '+'

Avez-vous une idée afin d'ajouter du poids en évitant de l'ajouter par dessus l'ancienne valeur ? J'imagine que l'utilisation de setPedStat y est pour quelque chose.. Connaissez-vous une alternative ?

Merci à vous,
Rémi.
Titre: Re : Ajouter du poids et en enlever
Posté par: Citizen le 30 Avril 2014, 20:40:33
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))
Titre: Re : Ajouter du poids et en enlever
Posté par: Remi le 30 Avril 2014, 23:01:41
Effectivement, j'avais essayé sauf que j'avais fait la chose très mal. J'avais juste oublié de mettre 'or 0' pourtant ça saute aux yeux tellement que c'est logique.

Merci à toi Citizen encore une fois :)
Titre: Re : Re : Ajouter du poids et en enlever
Posté par: Citizen le 01 Mai 2014, 11:54:50
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é.

Titre: Re : Re : Re : Ajouter du poids et en enlever
Posté par: Remi le 03 Mai 2014, 16:20:21
J'avais juste oublié de mettre 'or 0' pourtant ça saute aux yeux tellement que c'est logique.
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é.
Je sais plus tellement ce que j'avais mis, mais il me semble que c'était effectivement pas une question de 'or 0' comme précédemment indiqué.

Sinon oui, j'avais remarqué la faute de frappe. :)
Titre: Re : [Résolu] Ajouter du poids
Posté par: Lacuisse le 12 Juillet 2014, 08:43:05
Un gros Hors sujet, mais là au moins il le verra  :smile:

[spoiler]Joyeux anniversaire Citizen  :birthday2:[/spoiler]

++
Titre: Re : [Résolu] Ajouter du poids
Posté par: Citizen le 12 Juillet 2014, 13:55:29
Haha merci beaucoup Lacuisse, ça me fait plaisir  :laugh:
Sinon j'aurai aussi vu dans Blabla Alakon  :biggrin:

Beaucoup de boulot même pendant l'été :(

++
Titre: Re : [Résolu] Ajouter du poids
Posté par: GtaManiac le 13 Juillet 2014, 04:13:52
C'est plus une réflexion pour te dire de participer un peu dans la section Staff car même si tu n'es "que" modérateur section tu en fait pleinement parti :rolleyes: