Inscrit le: 12 Nov 2009 Messages: 711 Sujets: 50 Spécialité en worldedit: Vétéran
Posté le: 27/11/13 19:23 Sujet du message: Bug Map
Salut,
Aujourd'hui même j'ai host une des cartes que j'ai modifié et la le big bug:
-En solo tout va bien aucun problème et quand on est plusieurs les unités répondent plus, elles avancent qquand elles veulent, elles se déselectionnent automatiquement ect... Comme si la map etait en overcharge d'unité :/
Map
Je pense que ca vient de mon système de sélection mais j'aimerai avoir votre avis _________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon"
Inscrit le: 12 Nov 2009 Messages: 711 Sujets: 50 Spécialité en worldedit: Vétéran
Posté le: 01/12/13 09:49 Sujet du message:
Personne ne sait pourquoi?
Secret:
Jass:
function Trig_Selection_Actions takes nothing returns nothing
local integer i = GetConvertedPlayerId(GetTriggerPlayer())
local player p = GetTriggerPlayer()
call DestroyGroup(udg_UnitSelectionner[i])
if ( GetOwningPlayer(GetTriggerUnit()) == p ) then
set udg_UnitSelectionner[i] = GetUnitsSelectedAll(p)
endif
set i = 0
set p = null
endfunction
Inscrit le: 12 Nov 2011 Messages: 1062 Sujets: 107 Spécialité en worldedit: Inactif(Enfin presque) Médailles: 1 (En savoir plus...)
Posté le: 01/12/13 17:01 Sujet du message:
C'est une désynchronisation je dirais.
Au niveau de l'optimisation, retires les BJ, ensuite, si tu détruis le groupe, tu ne peux le réattribuer je crois, donc retire juste le DestroyGroup pour voir.
Edit: ouais, upload sur epicwar, mon ordi refuse de télécharger ta map =(
(En même temps, ma co n'a jamais été exceptionnelle, mais là on atteint des sommets ces temps-ci.) _________________
Inscrit le: 14 Oct 2009 Messages: 719 Sujets: 40 Spécialité en worldedit: Les bugs Médailles: 1 (En savoir plus...)
Posté le: 01/12/13 18:27 Sujet du message:
Hmm personnellement je ne vois pas où il y a de désynchronisation.
Je pense que ça vient du fait que tu détruis le groupe avant de faire le test conditionnel. Du coup tu peux parfois te retrouver avec un groupe null. Il faudrait mettre cette destruction dans la condition.
Sinon je ne suis pas sûr que ce déclencheur soit vraiment très utile. Simplement utiliser la fonction renvoyant les unités sélectionnées serait probablement plus efficace.
Concernant le code lui-même,
- Il est inutile de nullifier les entiers
- GetConvertedPlayerId va de 1 à 12, fait attention. GetPlayerId est plus approprié en jass je pense. _________________
Inscrit le: 12 Nov 2009 Messages: 711 Sujets: 50 Spécialité en worldedit: Vétéran
Posté le: 01/12/13 19:23 Sujet du message:
mais justement, j'y avais pensé mais si le joueur sélectionne des unités ne lui appartenant pas il pourra utiliser certaines commandes qui sont lié à la sélection, ducoup j'ai fait ce déclo pour faire en sorte que les unités leur appartenant pas ne puissent être affecté.
Je vais essayé vos infos _________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon"
Inscrit le: 12 Nov 2009 Messages: 711 Sujets: 50 Spécialité en worldedit: Vétéran
Posté le: 03/12/13 18:44 Sujet du message:
Aucun cas ne fonctionne, en déplaçant le destroygroup ou bien en le supprimant
http://www.epicwar.com/maps/236704/
Rahh, sur epicwar c'est public, ( une map buggué ajouté dans la liste xD ) _________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon"
function GetUnitsSelectedAll takes player whichPlayer returns group
local group g = CreateGroup()
call SyncSelections()
call GroupEnumUnitsSelected(g, whichPlayer, null)
return g
endfunction
SyncSelections qui sert à synchroniser la liste de sélection peut avoir des effets bizarres. Tu effectue également une synchronisation à chaque fois qu'un joueur effectue une sélection. Et si le joueur sélectionne plusieurs unités à la fois?
Je ne comprends pas pourquoi tu as besoin que chaque joueur connaisse la liste des sélections de chaque autre joueur. _________________
Inscrit le: 12 Nov 2009 Messages: 711 Sujets: 50 Spécialité en worldedit: Vétéran
Posté le: 09/12/13 17:46 Sujet du message:
Donc si j'ai bien compris, on a pas besoin de mettre l'event A unit is Selected
pour que le groupe GetAllUnitSelected fonctionne alors? _________________
C'est en forgeant que l'on devient forgeron
"Le feu ne peut tuer le dragon"
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