-
| .
|
|
|
Vedrņ dopo anche se mi sembrava fosse quello
|
|
| .
|
-
| .
|
|
|
Ho fatto una ricerca e pare che quelle poche unitą che si muovono quando l'eroe č in hold_position,ecco quelle unitą mentre si stanno muovendo sono in comando stand_position,cioč si muovono in stand_position...
|
|
| .
|
-
| .
|
|
|
esatto, infatti hanno i bonus delle formazioni inseriti
|
|
| .
|
-
| .
|
|
|
Perņ di per se i file stand position indicano semplicemente se vicino all'unitą ci sono dei nemici allora mettiti in combattimento,chiaramente per gli arcieri il range sarą pił grande,per questo ci sono 2 grossi blocchi if,ma non penso che il bug sia questo anche se non ho capito bene cosa serva Idle.
|
|
| .
|
-
| .
|
|
|
non centra nulla la vicinanza o meno di nemici nel problema che io ho posto...
mi sorge la domanda, hai capito bene la questione?
|
|
| .
|
-
| .
|
|
|
Yes,lo verificato anche io ed č un bug
Ma sto dicendo che il file stand position probabilmente non centra col bug
Aspetta forse ho capito
Trovato,di per se il file stand position dice di come comportarsi all'unitą quando ci sono dei nemici vicini come ti ho detto prima,ma il bug č la funzione Stop,prova tu stesso a scrivere come trucco:
selu.Stop(1000);
e usalo quando l'unitą seleziona č in movimento.
Non noti un comportamento uguale al bug?
|
|
| .
|
-
| .
|
|
|
Supreme, fai le tue ricerche. Se trovi qualcosa di interessante, posta qui il codice e il nome del file da modificare, senza disperdere troppo
|
|
| .
|
-
| .
|
|
|
Il bug lo ho trovato ed č Stop
|
|
| .
|
-
| .
|
|
|
O meglio, la causa del bug. Se ad esempio io volessi che si fermano sempre nel punto preciso, cosa c'č da modificare? E se viceversa volessi che si spargono sempre?
|
|
| .
|
-
| .
|
|
|
Ok,ma la chiave sta nel capire cosa servono Stop e forse anche Idle,io non riesco a capire ed ho fatto vari esperimenti.
|
|
| .
|
-
| .
|
|
|
blocca solo l'eroe e non le unita a esso assegnate; quindi non centra granché con il problema.
il problema č che si spargono, non che non si fermano.
|
|
| .
|
-
| .
|
|
|
E qui ti sbagli Razor perchč per l'eroe c'é un file hero_standposition.vs che ordina a tuttle le sue unitį di stare in stand position e quindi di conseguenza viene eseguito la funzione Stop del file unit_standPosition,il resto del codice come detto serve solo per analizzare le unitį nemiche vicine.
|
|
| .
|
-
| .
|
|
|
QUOTE selu.Stop(1000);
e usalo quando l'unitą seleziona č in movimento.
Non noti un comportamento uguale al bug? No
Io rispondo a questo
Per capire dovrei eseguire selu.stop ad ogni unitą ma č impossibile farlo contemporaneamente all'eroe
|
|
| .
|
-
| .
|
|
|
Lo analizzo bene io quando capirņ bene lo stop a cosa serve esattamente.
|
|
| .
|
-
| .
|
|
|
Puņ sembrare stupido ma a mettere i soldati in stand_position/hold_position non sono i file Unit_stand_position.vs
La funzione Stop serve solamente per fare si che l'unitą per un certo istante si fermi (ma dopo mezzo secondo circa l'unitą riprende il comando precedentemente assegnato),e aspetta un tempo in millisecondi specificato dal parametro che č un numero infatti,se fai while(true){selu.Stop(1)}; l'unitą rimane ferma in maniera forzata,ma non č in grado di attaccare.
Ma questi file vs non contengono il comando di far star fermo le unitą(ho provato a copiare tutto il codice del file Stand_position.vs in una sequenza) e quello che ho ottenuto č praticamente di far rimanere l'unitą ferma per mezzo secondo(a causa dello Stop) ma poi si muove,il comando:
while(!.Stop(1000)); // presente nel file vs
Significa che analizza una certa condizione ogni 1000 millesimi(1 secondo) fino a quando l'unitą non č ferma per almeno 1 secondo,se č ferma esegui il resto del codice contenuto nel file vs,ma come detto Stop fa si che l'unitą si ferma solo per un certo istante e dopo il tempo specificato nelle parentesi () controlloa se l'unitą č ferma allora restituisce true(cioč condizione vera),altrimenti false(condizione falsa).
while(!.Stop(1000));
serve quindi solo a dire se l'unitą č ferma da almeno 1 secondo,se č cosi allora esegui il resto delle funzioni.
Le mie ipotesi sono quindi 3:
1)La funzione Stop č buggata in quanto ferma l'unitą solo per mezzo secondo circa. 2)La vera funzione stand_position si trova in un'altro file,ovvero il vero comando per far star fermo le unitą,o č un'altra funzione. 3)il gbr.exe ferma prima le unitą e poi esegue il file Stand_position in quanto il comando while(!.Stop(1000)); serve solo per verificare che l'unitą č ferma da almeno 1 secondo(cioč solo un controllo).
Come detto nei post precedenti(anche nel file Unit_hold_position.vs) il resto del file sono solo per controllare se ci sono nemici vicini o no
|
|
| .
|
29 replies since 22/9/2016, 13:44 208 views
.