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.
Avviare uno scambio
Section titled “Avviare uno scambio”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.
Nella finestra
Section titled “Nella finestra”- 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.
Quando finisce
Section titled “Quando finisce”| 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.
Per gli script
Section titled “Per gli script”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.
Non ancora implementato
Section titled “Non ancora implementato”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
