Si puo fare?

« Older   Newer »
  Share  
select
view post Posted on 4/6/2005, 18:06




Ciao a tutti,
vorrei sapere se si può fare questo: quando esamino un oggetto, voglio che il mio personaggio vada verso quell'oggetto in una posizione ben definita e parli. Ora, se uso il comando "MoveCharacterBlocking" sembra tutto ok, tranne x il fatto che se poi cambio idea in corsa(cioè, mentre il pg si dirige in quella posizione) non posso + farlo. Se uso "MoveCharacter" e poi "Display", il pg parla solo senza muoversi. Come posso fare?
 
Top
select
view post Posted on 4/6/2005, 19:05




Naturalmente vale x tutti gli altri comandi OPEN, CLOSE etc
 
Top
Abyss
view post Posted on 6/6/2005, 10:19




Il fatto che se usi MoveCharacter e poi Display, consideri solo Display, non mi stupisce, visto che appunto MoveCharacter e' una funzione non-blocking. D'altra parte pero', non so come si possa risolvere il problema. Forse potresti usare una funzione che verifichi se l'oggetto ed il personaggio si "toccano" (cerca qualcosa che finisca con "Colliding", forse "AreObjectsColliding" o qualcosa di simile) in modo che usi MoveCharacter, ma metti la funzione Display dopo questo "controllo".

Comunque ci deve essere un modo molto piu' semplice per farlo, su cui cerchero' di informarmi. Anche se, a mio parere, in un adventure non e' cosi' grave se fai una azione che non volevi fare (a meno che cio' non costi la morte).
 
Top
ilSilente
view post Posted on 16/6/2005, 19:14




Salve a tutti
È da un po' che lurkavo, poi plebeo mi ha invitato ed eccomi qui.

Per inaugurare la mia iscrizione vorrei consigliare a select di evitare come la peste quello che sta cercado di fare!
Ci sono adventure che per qualsiasi interazione (anche quelle nulle) spostano il personaggio vicino all'oggetto con cui si interagisce... NO! È SBAGLIATO! Dopo mezz'ora di gioco al giocatore viene l'esaurimento nervoso
 
Top
Fedez79
view post Posted on 24/10/2006, 15:44




CITAZIONE
Ciao a tutti,
vorrei sapere se si può fare questo: quando esamino un oggetto, voglio che il mio personaggio vada verso quell'oggetto in una posizione ben definita e parli. Ora, se uso il comando "MoveCharacterBlocking" sembra tutto ok, tranne x il fatto che se poi cambio idea in corsa(cioè, mentre il pg si dirige in quella posizione) non posso + farlo. Se uso "MoveCharacter" e poi "Display", il pg parla solo senza muoversi. Come posso fare?

Si può fare sfruttando le GlobalInt. Ti invio lo script:
CODICE
/ main global script file
int mousex,mousey,vpx,mouseMode;
.
.
#sectionstart repeatedly_execute  // DO NOT EDIT OR REMOVE THIS LINE
function repeatedly_execute()
 {
   lbstatus.Text = Game.GetLocationName(mouse.x, mouse.y);
   if(GetGlobalInt(1)==255)
     if(cBern.Moving==false)
     {
         ProcessClick(mousex-(GetViewportX()-vpx), mousey, mouseMode);                
                 SetGlobalInt(1, 0);
       mouse.Mode=eModeWalkto;}
 // put anything you want to happen every game cycle here
 }
#sectionend repeatedly_execute  // DO NOT EDIT OR REMOVE THIS LINE

.
.

#sectionstart on_mouse_click  // DO NOT EDIT OR REMOVE THIS LINE
function on_mouse_click(MouseButton button) // called when a mouse button is clicked. button is either LEFT or RIGHT
 {
   
 if (IsGamePaused() == 1) // Game is paused, so do nothing (ie. don't allow mouse click)
   {
   }
 else
 if (button == eMouseLeft)
   {
        if (mouse.Mode==eModeWalkto)
        {
          SetGlobalInt(1, 0);
          ProcessClick(mouse.x,mouse.y, mouse.Mode);
        }  
        else
        {      SetGlobalInt(1, 255);
       vpx=GetViewportX();
       mousex=mouse.x;
       mousey=mouse.y;
       mouseMode=mouse.Mode;
       cBern.Walk(GetViewportX()+mouse.x, GetViewportY()+mouse.y, eNoBlock, eWalkableAreas);
        }
 }
 else // right-click, so cycle cursor
   {  
   mouse.SelectNextMode();
 }

 }
#sectionend on_mouse_click  // DO NOT EDIT OR REMOVE THIS LINE

..
.


P.S. cBern è il main Character.
 
Top
4 replies since 4/6/2005, 18:06   236 views
  Share