stand_position [Research]

« Older   Newer »
 
  Share  
.
  1.     +1   -1
     
    .
    Avatar

    Signore
    """""""

    Group
    Member
    Posts
    102,483
    Reputation
    +88

    Status
    Anonymous
    Vedrņ dopo anche se mi sembrava fosse quello
     
    .
  2.     +1   -1
     
    .
    Avatar

    Signore
    """""""

    Group
    Member
    Posts
    102,483
    Reputation
    +88

    Status
    Anonymous
    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...
     
    .
  3.     +1   -1
     
    .
    Avatar

    Guerriero
    """

    Group
    Member
    Posts
    1,823
    Reputation
    +274
    Location
    Giza

    Status
    Offline
    esatto, infatti hanno i bonus delle formazioni inseriti
     
    .
  4.     +1   -1
     
    .
    Avatar

    Signore
    """""""

    Group
    Member
    Posts
    102,483
    Reputation
    +88

    Status
    Anonymous
    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.
     
    .
  5.     +1   -1
     
    .
    Avatar

    Guerriero
    """

    Group
    Member
    Posts
    1,823
    Reputation
    +274
    Location
    Giza

    Status
    Offline
    non centra nulla la vicinanza o meno di nemici nel problema che io ho posto...

    mi sorge la domanda, hai capito bene la questione?
     
    .
  6.     +1   -1
     
    .
    Avatar

    Signore
    """""""

    Group
    Member
    Posts
    102,483
    Reputation
    +88

    Status
    Anonymous
    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?
     
    .
  7.     +1   -1
     
    .
    Avatar

    Guerriero
    """

    Group
    Member
    Posts
    1,823
    Reputation
    +274
    Location
    Giza

    Status
    Offline
    Supreme, fai le tue ricerche. Se trovi qualcosa di interessante, posta qui il codice e il nome del file da modificare, senza disperdere troppo :)
     
    .
  8.     +1   -1
     
    .
    Avatar

    Signore
    """""""

    Group
    Member
    Posts
    102,483
    Reputation
    +88

    Status
    Anonymous
    Il bug lo ho trovato ed č Stop
     
    .
  9.     +1   -1
     
    .
    Avatar

    Guerriero
    """

    Group
    Member
    Posts
    1,823
    Reputation
    +274
    Location
    Giza

    Status
    Offline
    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?
     
    .
  10.     +1   -1
     
    .
    Avatar

    Signore
    """""""

    Group
    Member
    Posts
    102,483
    Reputation
    +88

    Status
    Anonymous
    Ok,ma la chiave sta nel capire cosa servono Stop e forse anche Idle,io non riesco a capire ed ho fatto vari esperimenti.
     
    .
  11.     +1   -1
     
    .
    Avatar

    Guerriero
    """

    Group
    Member
    Posts
    1,823
    Reputation
    +274
    Location
    Giza

    Status
    Offline
    CODE
    selu.Stop(1000);

    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.
     
    .
  12.     +1   -1
     
    .
    Avatar

    Signore
    """""""

    Group
    Member
    Posts
    102,483
    Reputation
    +88

    Status
    Anonymous
    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.
     
    .
  13.     +1   -1
     
    .
    Avatar

    Guerriero
    """

    Group
    Member
    Posts
    1,823
    Reputation
    +274
    Location
    Giza

    Status
    Offline
    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
     
    .
  14.     +1   -1
     
    .
    Avatar

    Signore
    """""""

    Group
    Member
    Posts
    102,483
    Reputation
    +88

    Status
    Anonymous
    Lo analizzo bene io quando capirņ bene lo stop a cosa serve esattamente.
     
    .
  15.     +1   -1
     
    .
    Avatar

    Signore
    """""""

    Group
    Member
    Posts
    102,483
    Reputation
    +88

    Status
    Anonymous
    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
  Share  
.