GUI, cambiare il cursor mode

« Older   Newer »
  Share  
Catarro
view post Posted on 5/6/2006, 17:33




deve essere una cosa di default... Sempre in quel gioco (Demon) combina la stessa cosa: con il tasto destro il personaggio si mette a descrivere l' inventory item... Potrebbe essere una variabile globale da cambiare?
 
Top
Tequila144
view post Posted on 5/6/2006, 17:48




Si, sicuramente è così..
Copia ed incolla lo script nel global, precisamente tutto quello che c'è sotto: #sectionstart on.mouse.click
 
Top
Catarro
view post Posted on 5/6/2006, 18:16




function on_event(EventType event, int data) {
if (event == eEventGUIMouseDown) {
if (data == gNewgui1.ID) {
if (mouse.IsButtonDown(eMouseRight))
mouse.SelectNextMode();
}
}
}
function on_mouse_click(int 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)
}
if (button==LEFT) {
ProcessClick(mouse.x, mouse.y, GetCursorMode() );
EnableCursorMode(4);
}
if (button==RIGHT){ // right-click, so cycle cursor
SetNextCursorMode();
DisableCursorMode(4);
}
}
 
Top
Tequila144
view post Posted on 5/6/2006, 19:36




No.. allora no, questa parte del codice va bene.
Ma è stranto perchè anche io uso una GUI stile la tua... Personalmente preferisco non utilizzare la funzione del tasto destro del mouse (cambiare verbo quando lo si preme) rimanendo legato quindi ad uno scumm_cursor_mode stile Monkey (per esegure un verbo bisogna cliccarci prima).
Ma provando a fare come la vorresti tu, non mi da "l'errore" del look_mode su un inventory.

Non è che per caso nei settaggi dell'inventory item hai uno script in look_mode all'evento Any click?
 
Top
Catarro
view post Posted on 5/6/2006, 21:31




CITAZIONE
Non è che per caso nei settaggi dell'inventory item hai uno script in look_mode all'evento Any click?

No, inoltre le cose che dice sono quello che ho messo in "look at inventory item"... Forse non ho capito cosa intendi per settaggi dell'inventory item.
 
Top
Catarro
view post Posted on 12/6/2006, 19:40




Ok, non importa, ho aggirato il problema... Non so se a qualcuno possa interessare ma io lo scrivo lo stesso:

nella sezione on_mouse_click:
function on_event(EventType event, int data) {
if (event == eEventGUIMouseDown) {
if (data == gNewgui1.ID) {
if (mouse.IsButtonDown(eMouseRight))
{
SetGlobalInt(100, 1);
mouse.SelectNextMode();
}
if (mouse.IsButtonDown(eMouseLeft))
{
SetGlobalInt(100, 0);
}
}
}
}

così quando premo il tasto destro la globalint 100 assume valore 1 viceversa con il tasto sinistro assume valore 0.
Poi nel menù interazioni dell'oggetto in questione:

// script for invenory14: Look at inventory item
if(GetGlobalInt(100)!=1)
{
[....]
}
così se premo il tasto destro ignora quello che c'è scritto dopo l'if...
Ok, non sono stato chiaro, ma è difficile da spiegare e comunque credo di essere l'unico nel mondo ad avere questo tipo di problema ;-)

Grazie a Tequila e a tutti quelli che mi hanno aiutato a risolvere il pasticcio
 
Top
Tequila144
view post Posted on 13/6/2006, 17:13




Scusami, ma sono stato impegnato e non ho potuto cercare di fixare quel problema... ma vedo che l'hai fatto tu!
Anche se è poco "ortodosso" l'importante è che funzioni!
 
Top
21 replies since 27/5/2006, 20:17   288 views
  Share