Fedez79 |
|
| 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.
|
| |