Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Brissou de Mourièssou Créateur de sorts, depuis 1936.
Inscrit le: 30 Aoû 2007 Messages: 1510 Sujets: 26 Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition. Médailles: 2 (En savoir plus...)
|
Posté le: 11/08/08 19:25 Sujet du message: [vJass] UnitInGroupWithMinMaxProperty |
|
|
Nom de la fonction : UnitInGroupWithMinMaxProperty
Créateur : Brissou de Mourièssou
Fonctions requises : Aucune
Code : Jass: | globals
real grp_float = 0.0
unit grp_unit = null
unitstate grp_unitstate = UNIT_STATE_LIFE
endglobals
function grp_UnitInGroupWithMinProperty takes nothing returns nothing
local unit u = GetEnumUnit()
if GetUnitState(u, grp_unitstate) < grp_float then
set grp_float = GetUnitState(u, grp_unitstate)
set grp_unit = u
endif
set u = null
endfunction
function grp_UnitInGroupWithMaxProperty takes nothing returns nothing
local unit u = GetEnumUnit()
if GetUnitState(u, grp_unitstate) > grp_float then
set grp_float = GetUnitState(u, grp_unitstate)
set grp_unit = u
endif
set u = null
endfunction
function UnitInGroupWithMinMaxProperty takes group g, unitstate us, boolean min returns unit
if g == null or FirstOfGroup(g) == null then
return null
endif
set grp_unitstate = us
set grp_float = GetUnitState( FirstOfGroup(g), us)
set grp_unit = FirstOfGroup(g)
if min then
call ForGroup(g, function grp_UnitInGroupWithMinProperty)
else
call ForGroup(g, function grp_UnitInGroupWithMaxProperty)
endif
return grp_unit
endfunction |
Utilisation :
Copyright : Libre
Remarques : Pas de bug
Ah lol y a pas de champs description xD, devinez ce que ça fait héhéhhé
...
Bon ca permet de renvoyer l'unité d'un groupe qui a tel statistique (vie, mana, vie_max, mana_max) la plus faible (boolean min à true) ou la plus élevée (boolean min à false). _________________
Dernière édition par Brissou de Mourièssou le 12/08/08 17:57; édité 3 fois |
|
Revenir en haut |
|
|
Keitaro_Ura Floodozaurus
Inscrit le: 21 Aoû 2007 Messages: 2073 Sujets: 38 Spécialité en worldedit: Oui Médailles: 1 (En savoir plus...)
|
Posté le: 11/08/08 20:07 Sujet du message: |
|
|
Utile pour des sorts. _________________
|
|
Revenir en haut |
|
|
Magus Membre a fort taux de post
Inscrit le: 13 Oct 2007 Messages: 994 Sujets: 25 Spécialité en worldedit: Codeur
|
Posté le: 12/08/08 11:09 Sujet du message: |
|
|
Tes fonctions sont quasiment les mêmes avec juste une ligne différente entre les 2. Tu pourrais facilement ne faire qu'une seule fonction avec un paramètre supplémentaire pour indiquer si l'on désire le maximum ou le minimum (un booléen ferait l'affaire).
Avec par exemple l'utilisation d'une variable de type code.
Et c'est pareil pour les fonctions des groupes, avec une variable globale en plus.
Jass: | globals
real grp_float = 0.0
unit grp_unit = null
unitstate grp_unitstate = UNIT_STATE_LIFE
endglobals |
Initialiser tes variables est inutile, tu peux simplement les déclarer sans leur donner de valeur. _________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi. |
|
Revenir en haut |
|
|
Brissou de Mourièssou Créateur de sorts, depuis 1936.
Inscrit le: 30 Aoû 2007 Messages: 1510 Sujets: 26 Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition. Médailles: 2 (En savoir plus...)
|
Posté le: 12/08/08 11:40 Sujet du message: |
|
|
Aller je vais faire un effort et faire ce que tu me dis.
Pour l'initialisation des variables je sais que c'est pas indispensable dans ce cas là, j'ai fais ça dans un soucis de propreté. Il arrive parfois qu'un code plante parce qu'on a pas initialisé les variables lors de leur déclaration, j'ai pris l'habitude de le faire dans tous les cas.
Edit: voilà j'ai fais du 2en1
Je l'ai faite pour un boss d'Arena-100, histoire de faire des coups de péripatéticiennes. Ca évitera aussi de mana drain un héros qui a plus de mana. _________________
|
|
Revenir en haut |
|
|
Magus Membre a fort taux de post
Inscrit le: 13 Oct 2007 Messages: 994 Sujets: 25 Spécialité en worldedit: Codeur
|
|
Revenir en haut |
|
|
Brissou de Mourièssou Créateur de sorts, depuis 1936.
Inscrit le: 30 Aoû 2007 Messages: 1510 Sujets: 26 Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition. Médailles: 2 (En savoir plus...)
|
Posté le: 12/08/08 13:24 Sujet du message: |
|
|
Merci je suis bien au courant de ce qui faut faire en programmation xD, je fais des programmes bien plus compliqués que du We.
A la base j'avais fais la fonction uniquement pour avoir l'unité qui avait le minimum de pv d'un groupe, je l'ai étendu pour n'importe quelle état me disant que ça serait très utile. Enfin tant qu'à faire j'ai ajouté le max, par un simple copié/collé, j'avais hésité à ajouter un booléen, la flemme fut un argument décisif ^^
J'suis d'accord avec toi, il faut pas utiliser de variable qui n'a pas été affectée, c'est pour ça que j'ai pris l'habitude de toujours assigner une valeur lors de la déclaration, au moins j'ai jamais de soucis. _________________
|
|
Revenir en haut |
|
|
|