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/12/07 13:05 Sujet du message:
aprés un rapide test il semblerait que l'on obtient le même résultat sur chaque pc.
Par contre si les options graphiques sont faibles il n'y a pas de déformations et donc ca peut désynchroniser dans certains cas _________________
Je pense qu'il faut également préciser que la fonction n'est pas tout à fait précise, à cause de l'imprécision de GetUnitFlyHeight. En effet, le Z des unités volantes n'est non pas celui de leur position ajouté à leur hauteur de vol, mais bien celui du plus haut point dans un certain rayon ajouté à la hauteur de vol. La magnanimité de Blizzard n'est cependant pas inutile : Cela évite d'avoir des unités volantes au ras du sol en cas de terrain très accidentée.
Si vous voulez éviter des problèmes, utilisez non pas des unités volantes (ou lévitantes, si tant est que le terme existe), mais des unités avec un mouvement de type fantassin possédant forme de corbeau ou une compétence similaire.
J'ai remarqué ce problème en faisant un sort pour le concours de héros. D'ailleurs la version sur la carte de test possède un bug lié, mais pas celle sur carte mêlée. _________________
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: 01/11/09 18:53 Sujet du message:
@Bantas :
J'ai fait un terrain déformé avec la palette de terrain altitudes -> bruit et la taille de cercle maximale.
Puis j'ai testé avec ce script :
Jass:
library TestLocationZ initializer init
globals
private real X = 0.
private real Y = 0.
endglobals
private function Actions takes nothing returns nothing
local string str = GetEventPlayerChatString()
local string s = StringCase(SubStringBJ(str,1,1),false)
local real r
set r = S2R(SubStringBJ(str,2,10))
//call BJDebugMsg("r=="+R2S(r) + " s=="+s)
if s == "x" then
set X = r
elseif s == "y" then
set Y = r
endif
call BJDebugMsg(R2S(X) + " / " + R2S(Y) + " " + R2SW(GetLocationZ(Location(X,Y)),10,10)) // oui je leak d'un point à chaque fois, osef c'est juste un test
endfunction
private function init takes nothing returns nothing
local trigger trig = CreateTrigger()
call TriggerAddAction(trig, function Actions)
call TriggerRegisterPlayerChatEvent(trig,Player(0),"",false)
endfunction
endlibrary
Et j'ai bien une valeur différente à chaque fois, même pour 0.5 d'écart de coordonnée.
Donc je ne comprends pas ce que tu voulais dire.
EDIT : Ah tu parlais de la hauteur de vol ...
Ok, je comprends l'intérêt d'utiliser une unité non volante.
C'est précis, mais euh ca doit donner un résultat très bizarre
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: 04/02/12 22:01 Sujet du message:
Suite à une récente remarque de Bantas qui date de moins de 5 ans, est ce que la fonction jass dans le premier post fait crasher wc3 en cas d'utilisation d'unité non valide, tel que "null" ?
Il est possible que le crash soit évité avec les patchs plus récents.
La version vJass ne devrait pas causer de crash, bien que je suppose que ça devrait renvoyer 0, plutôt que l'altitude du point (0,0) comme c'est le cas actuellement.
En d'autres mots need un test plz, sinon je le ferais moi même d'ici quelques jours.
EDIT :
Ok, pas de crash en cas d'utilisation d'un point == null, faudrait que je testes avec un point qui a déjà été supprimé. _________________
Toutes les heures sont au format GMT + 1 Heure Aller à la page Précédente1, 2
Page 2 sur 2
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum