• 28 Mars 2024, 22:12:17


Auteur Sujet: [Résolu] Ajouter du poids  (Lu 6877 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Remi

  • *
  • Criminel
  • Développeur de l'extension MTA:DayZ Epoch
  • Messages: 36
    • Voir le profil
[Résolu] Ajouter du poids
« 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.
« Modifié: 01 Mai 2014, 11:09:51 par Remi »

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : Ajouter du poids et en enlever
« Réponse #1 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))
The rEvolution is coming ...

Hors ligne Remi

  • *
  • Criminel
  • Développeur de l'extension MTA:DayZ Epoch
  • Messages: 36
    • Voir le profil
Re : Ajouter du poids et en enlever
« Réponse #2 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 :)
« Modifié: 01 Mai 2014, 11:10:50 par Remi »

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : Re : Ajouter du poids et en enlever
« Réponse #3 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é.

The rEvolution is coming ...

Hors ligne Remi

  • *
  • Criminel
  • Développeur de l'extension MTA:DayZ Epoch
  • Messages: 36
    • Voir le profil
Re : Re : Re : Ajouter du poids et en enlever
« Réponse #4 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. :)

Hors ligne Lacuisse

  • *
  • Messages: 4082
    • Voir le profil
Re : [Résolu] Ajouter du poids
« Réponse #5 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]

++
L'avenir du monde est d'additionner nos différences et non pas de les soustraires (Antoine de Saint Exupéry).

De toutes les passions, la seule vraiment respectable me parait être la gourmandise. (Guy De Maupassant)

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : [Résolu] Ajouter du poids
« Réponse #6 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é :(

++
The rEvolution is coming ...

Hors ligne GtaManiac

  • Votre serviteur bien aimé
  • *
  • Redforce member
  • Messages: 8541
    • Voir le profil
    • GTAOnline.net
Re : [Résolu] Ajouter du poids
« Réponse #7 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:
GTAOnline - TwitchFacebook - Twitter

"Le problème, c'est le choix" - Néo