Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 02/09/07 19:43 Sujet du message: GetUnitZ |
|
|
Nom de la fonction : GetUnitZ
Créateur : des millions de jasseurs auparavant
Fonctions requises : aucune
Code : Jass: | function GetUnitZ takes unit u returns real
local location l = GetUnitLoc(u)
local real r = GetUnitFlyHeight(u) + GetLocationZ(l)
call RemoveLocation(l)
set l = null
return r
endfunction |
Utilisation : permet de savoir la hauteur réelle de l'unité ( sa hauteur de vol + la hauteur du terrain )
Copyright : free
Version optimisée en vJass car on ne créé plus/remove de location à chaque appel de la fonction :
Jass: | library GetUnitZ
globals
private location Loc = Location(0.,0.)
endglobals
function GetUnitZ takes unit u returns real
call MoveLocation(Loc,GetUnitX(u),GetUnitY(u))
return GetUnitFlyHeight(u) + GetLocationZ(Loc)
endfunction
endlibrary |
_________________
Dernière édition par Troll-Brain le 10/07/09 19:30; édité 1 fois |
|
Revenir en haut |
|
|
profet Instanton Gravitationnel Singulier
Inscrit le: 21 Aoû 2007 Messages: 1633 Sujets: 53 Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...) Médailles: 2 (En savoir plus...)
|
Posté le: 25/09/07 23:00 Sujet du message: |
|
|
Remarques:
cette fonction desync lorsqu'elle est utilisée avec des déformations de terrains spécifique à un joueur (créées par trigger avec un GetLocalPlayer, ou celles générées par les sorts Choc Martial, Coup de tonnerre ou Onde de choc par exemple).
Donc à utiliser avec parcimonie ! _________________
Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70% |
|
Revenir en haut |
|
|
Rommstein60 MODÉRATEUR À LA RETRAITE
Inscrit le: 23 Aoû 2007 Messages: 4766 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
|
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: 26/09/07 16:43 Sujet du message: |
|
|
Mais quasiment tous les jours ahah
Nan mais de toute façon ça fait ramer les déformations de terrains donc n'en mettez pas et le problème est réglé. _________________
|
|
Revenir en haut |
|
|
profet Instanton Gravitationnel Singulier
Inscrit le: 21 Aoû 2007 Messages: 1633 Sujets: 53 Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...) Médailles: 2 (En savoir plus...)
|
Posté le: 28/09/07 01:16 Sujet du message: |
|
|
Troll-Brain a écrit: | Aha genre on créé souvent des déformations pour un joueur en particulier.
Mais certes, il fallait le préciser.
Et pour les spells ca renvoie pas la même valeur pour tous les joueurs ? | Oui il était necessaire de le préciser
Et pour les spells, si tu fais quelques tests, tu pourras remarquer que la déformation ne se fait que pour le joueur dont l'unité à lancé le sort :\ _________________
Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70% |
|
Revenir en haut |
|
|
Rommstein60 MODÉRATEUR À LA RETRAITE
Inscrit le: 23 Aoû 2007 Messages: 4766 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
|
Posté le: 28/09/07 09:43 Sujet du message: |
|
|
Mais dans ce cas pourquoi les autres voient la déformation? _________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain » |
|
Revenir en haut |
|
|
profet Instanton Gravitationnel Singulier
Inscrit le: 21 Aoû 2007 Messages: 1633 Sujets: 53 Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...) Médailles: 2 (En savoir plus...)
|
Posté le: 28/09/07 11:42 Sujet du message: |
|
|
Ils ne la voient pas justement (en tout cas il me semble) _________________
Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70% |
|
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: 28/09/07 12:29 Sujet du message: |
|
|
J'essaierai de faire gaffe les prochaines fois que je me prend un séisme sur la gueule ou une onde de choc. _________________
|
|
Revenir en haut |
|
|
Rommstein60 MODÉRATEUR À LA RETRAITE
Inscrit le: 23 Aoû 2007 Messages: 4766 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
|
Posté le: 28/09/07 17:21 Sujet du message: |
|
|
Mais si on voit la déformation ! _________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain » |
|
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: 28/09/07 20:04 Sujet du message: |
|
|
Ca fait quoi si on fait GetunitZ avec déformation ? _________________
|
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 28/09/07 20:27 Sujet du message: |
|
|
Aprés un bref test il semblerait que les valeurs ne soient pas forcément les mêmes à l'instant T pour chaque joueur.
Donc si tu tentes d'utiliser cette valeur sur un terrain subissant une déformation, ca peut désynchroniser si tu fais des actions différentes.
Ex :
Jass: | function CheckUnitZ takes unit u returns nothing
if GetUnitZ(u)>50.00 then // GetUnitZ disponible dans les codes postés dans le forum fonction jass
call KillUnit(u)
endif
endfunction |
Admettons que sur le pc du joueur rouge on obtient 49.12 et sur celui du joueur bleu 51.23.
Y'aura désynchro car sur le pc du joueur rouge l'unité ne sera pas tuée mais sur celui du joueur bleu si.
Bref tout dépend de l'utilisation de cette donnée _________________
Le violet, c'est moche. |
|
Revenir en haut |
|
|
Rommstein60 MODÉRATEUR À LA RETRAITE
Inscrit le: 23 Aoû 2007 Messages: 4766 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
|
|
Revenir en haut |
|
|
profet Instanton Gravitationnel Singulier
Inscrit le: 21 Aoû 2007 Messages: 1633 Sujets: 53 Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...) Médailles: 2 (En savoir plus...)
|
Posté le: 29/09/07 10:30 Sujet du message: |
|
|
Non ce n'est pas bizarre
Si tu créés une déformation que sur le pc de l'un des joueurs, les autres auront une altitude par exemple de 0 tandis que sur le pc en question tu auras une bosse ou un trou (altitude 200 par exemple).
La fonction est en elle même synchrone mais l'utilisation que l'on fait de la valeur renvoyée peut conduire a une desync si on ne fait pas attention _________________
Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70% |
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 29/09/07 10:38 Sujet du message: |
|
|
Il me semble qu'il n'y ais pas besoin de faire la déformation que pour un joueur pour que ce soit désynchronisé:
La déformation doit utiliser la fonction aléatoire pour être plus réaliste, on obtient donc un résultat différend sur chaque PC. _________________
|
|
Revenir en haut |
|
|
|