Salta ai contenuti

Scambio sicuro

Due giocatori scambiano oggetti e oro in una finestra con un contenitore a testa: entrambi vedono i due contenitori, ognuno spunta “accetto”, e solo quando entrambi hanno spuntato, e nulla è cambiato da allora, ciò che ogni contenitore tiene passa nello zaino dell’altro. È lo scambio sicuro di ModernUO.

Rilascia un oggetto su un altro giocatore, da 2 caselle o meno. La finestra di scambio si apre su entrambi gli schermi, con l’oggetto nel tuo contenitore. L’altro giocatore rilascia i suoi oggetti nel proprio contenitore allo stesso modo.

Uno scambio viene rifiutato, con il testo del client, quando:

Causa Testo
L’altro giocatore sta trascinando qualcosa “You cannot trade with someone who is dragging something.” (1062727)
Stai già scambiando con qualcun altro “You are already trading with someone else!” (1062781)
L’altro giocatore sta scambiando con qualcun altro “That person is already involved in a trade” (1062779)
L’oggetto non entrerebbe nello zaino dell’altro per peso o numero “The recipient of this trade would not be able to carry this.” (1004039)
Non riusciresti a tenerlo di nuovo se lo scambio fallisse “You would not be able to hold this if the trade failed.” (1004040)
L’altro è a più di 2 caselle il “That is too far away.” del client

Non viene detto nulla quando l’altro giocatore è un fantasma, non è un giocatore, o rilasci su te stesso.

  • Rilasci oggetti e oro nel tuo contenitore, quello in basso nella finestra. Rilasciare nel contenitore dell’altro è rifiutato, e lo sono anche sollevare un oggetto da un contenitore, rilasciare su una borsa dentro un contenitore o usare ciò che vi sta dentro: per riavere i tuoi oggetti, annulla.
  • Ogni giocatore ha una casella. Spuntarla lo dice all’altro. Un oggetto aggiunto a uno dei due contenitori azzera subito entrambe le caselle. Qualsiasi altro cambiamento, come una pila che cresce o cala, annulla una spunta data prima: lo scambio non avviene finché non spuntano di nuovo entrambi.
  • Con entrambe spuntate il server controlla di nuovo che ogni zaino possa portare ciò che riceve per peso, poi gli oggetti cambiano mano. Un oggetto che non trova un posto libero nello zaino giace per terra ai piedi del suo nuovo proprietario.
  • I due giocatori restano entro 2 caselle l’uno dall’altro sulla stessa mappa. Un passo o un teletrasporto che lo rompe annulla lo scambio, come in ModernUO.
  • Un giocatore il cui inventario viene cambiato da qualcosa che attraversa un salvataggio, come un allegato di libro che viene riscattato, non avvia né completa scambi finché non è finito.

Causa Cosa succede
Un giocatore chiude la finestra, o i due si allontanano oltre 2 caselle o finiscono su un’altra mappa ogni oggetto torna nello zaino del suo proprietario, entrambe le finestre si chiudono
Un giocatore muore, esce dal gioco o viene disconnesso lo stesso, prima di qualsiasi altra cosa fatta a quel giocatore
Il server si ferma o cade a metà di uno scambio il contenitore è un oggetto indossato che viene salvato col suo proprietario: la volta dopo che quel giocatore entra nel mondo, il suo contenitore viene svuotato nello zaino e rimosso, e non viene mostrato nulla

Un crash subito dopo il completamento di uno scambio può restituire gli oggetti al vecchio proprietario, mai a tutti e due: gli oggetti del nuovo proprietario vengono salvati con lui, come per un furto.

Un contenitore è un oggetto del template secure_trade_container (graphic 0x1E5E) indossato al layer Trade. Non compare nel paperdoll né in ciò che un mobile porta (world.carries); item.owner nomina ancora il giocatore che lo indossa. Non c’è ancora un evento o un hook per uno scambio.

Il platino e il registro dei client più recenti (l’account gold di ModernUO), l’impostazione “refuse trades”, e il transfer di un pet con una finestra di scambio, che ha la sua slice. Non è implementato nemmeno lo scambio con un venditore giocatore.

Creato con ❤️ da Tom

Offrimi un caffè