-
Notifications
You must be signed in to change notification settings - Fork 0
API UO SendShopReply it
ClassicUO / Basic IDE
Invia una selezione all’ultima offerta attiva NPC. L’offerta determina acquisto dal NPC o vendita al NPC.
UO.SendShopReply(reply:Any) -> Unit
-
reply— String "serial:quantity"; separare voci con |, ; o virgola; = può sostituire :. Serial è l’ID della voce di GetShopList, decimale o 0x, non tipo o venditore. Quantity: intero positivo di unità, non pile; se omesso vale 1. "accept" senza distinzione maiuscole o "1" conferma la bozza; stringa vuota annulla con risposta vuota.
Unit: nessun valore, Boolean, totale o conferma d’acquisto. Decide il server; controllare poi oggetti, oro o messaggi.
- Aprire prima acquisto o vendita con il NPC desiderato e aspettarne l’offerta. Non cerca venditori, apre commercio, imposta prezzi del proprio venditore o sposta oggetti tra contenitori. Nessun argomento ID venditore: usa l’ultima offerta.
- Il gestore conserva offerta e bozza nella sessione senza grafica; riaprendo ripristina la finestra. Chiusura del negozio, risposta, chiusura server o disconnessione rimuovono l’offerta. Acquisto/vendita automatica Bad Newbie può elaborarla prima dello script.
- La lettura non invia pacchetti. È una fotografia dei dati ricevuti, non garanzia di scorte. Amount conta unità, GetArrayLength(rows) voci. SendShopReply non accetta prezzi.
- Una lista esplicita sostituisce la bozza. ID ripetuti sommano quantità fino al totale offerto. ID sconosciuto o quantità non valida/non positiva rifiuta l’intera risposta senza inviare e conserva l’offerta. Senza offerta SendShopReply segnala errore. "0" non annulla: usare "".
SessionShops controlla liste/prezzi completi e conserva l’offerta. Il bridge esegue nel thread di sessione. GetItems formatta righe, ParseSelection valida, Reply invia acquisto 0x3B o vendita 0x9F e chiude. ShopGump conserva selezione e scorrimento al distacco. La chiusura server non genera un’altra risposta.
Aprire prima acquisto o vendita con il NPC desiderato e aspettarne l’offerta. Non cerca venditori, apre commercio, imposta prezzi del proprio venditore o sposta oggetti tra contenitori. Nessun argomento ID venditore: usa l’ultima offerta.
String "serial:quantity"; separare voci con |, ; o virgola; = può sostituire :. Serial è l’ID della voce di GetShopList, decimale o 0x, non tipo o venditore. Quantity: intero positivo di unità, non pile; se omesso vale 1. "accept" senza distinzione maiuscole o "1" conferma la bozza; stringa vuota annulla con risposta vuota.
Sorgente del progetto: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; funzione SendShopReply.
Una lista esplicita sostituisce la bozza. ID ripetuti sommano quantità fino al totale offerto. ID sconosciuto o quantità non valida/non positiva rifiuta l’intera risposta senza inviare e conserva l’offerta. Senza offerta SendShopReply segnala errore. "0" non annulla: usare "".
Il gestore conserva offerta e bozza nella sessione senza grafica; riaprendo ripristina la finestra. Chiusura del negozio, risposta, chiusura server o disconnessione rimuovono l’offerta. Acquisto/vendita automatica Bad Newbie può elaborarla prima dello script.
Sorgente del progetto: src/ClassicUO.Client/Game/Managers/SessionShops.cs; funzione SessionShop.ParseSelection/Reply.
Unit: nessun valore, Boolean, totale o conferma d’acquisto. Decide il server; controllare poi oggetti, oro o messaggi.
# Scegliere fino a tre unità
#
# Invia una selezione all’ultima offerta attiva NPC. L’offerta determina acquisto dal NPC o
# vendita al NPC.
#
# Unit: nessun valore, Boolean, totale o conferma d’acquisto. Decide il server; controllare poi
# oggetti, oro o messaggi.
SUB Main()
# Fino a 3 unità della prima voce reale. Acquista nell’offerta d’acquisto e vende in quella di
# vendita: controllare la direzione.
VAR rows = UO.GetShopList()
IF GetArrayLength(rows) = 0 THEN
RETURN
END IF
VAR amount = CInt(GetWord(rows[0], 3, "|"))
IF amount > 3 THEN
amount = 3
END IF
IF amount > 0 THEN
UO.SendShopReply(GetWord(rows[0], 0, "|") + ":" + CStr(amount))
END IF
END SUBSpiegazione dei parametri e dell’esecuzione:
- Fino a 3 unità della prima voce reale. Acquista nell’offerta d’acquisto e vende in quella di vendita: controllare la direzione.
# Selezionare entro il budget
#
# Invia una selezione all’ultima offerta attiva NPC. L’offerta determina acquisto dal NPC o
# vendita al NPC.
#
# Unit: nessun valore, Boolean, totale o conferma d’acquisto. Decide il server; controllare poi
# oggetti, oro o messaggi.
SUB Main()
# Solo ACQUISTO: budget 30, tipo 0x0E21. Una unità per voce adatta con prezzo positivo entro il
# budget residuo; | unisce una sola risposta.
VAR budget = 30
VAR reply = ""
VAR rows = UO.GetShopList()
FOR VAR i = 0 TO GetArrayLength(rows) - 1
VAR row = rows[i]
IF GetWord(row, 1, "|") = "0x0E21" THEN
VAR price = CDbl(GetWord(row, 4, "|"))
VAR amount = CInt(GetWord(row, 3, "|"))
IF price > 0 AND price <= budget AND amount > 0 THEN
IF reply <> "" THEN
reply = reply + "|"
END IF
reply = reply + GetWord(row, 0, "|") + ":1"
budget = budget - price
END IF
END IF
NEXT
IF reply <> "" THEN
UO.SendShopReply(reply)
END IF
END SUBSpiegazione dei parametri e dell’esecuzione:
- Solo ACQUISTO: budget 30, tipo 0x0E21. Una unità per voce adatta con prezzo positivo entro il budget residuo; | unisce una sola risposta.
# Confermare la bozza
#
# Invia una selezione all’ultima offerta attiva NPC. L’offerta determina acquisto dal NPC o
# vendita al NPC.
#
# Unit: nessun valore, Boolean, totale o conferma d’acquisto. Decide il server; controllare poi
# oggetti, oro o messaggi.
SUB Main()
# Prima scegliere quantità nel negozio. "accept" conferma la bozza conservata senza grafica.
# Senza selezione risposta vuota; "1" è un alias di conferma.
UO.SendShopReply("accept")
END SUBSpiegazione dei parametri e dell’esecuzione:
- Prima scegliere quantità nel negozio. "accept" conferma la bozza conservata senza grafica. Senza selezione risposta vuota; "1" è un alias di conferma.
# Annullare l’offerta
#
# Invia una selezione all’ultima offerta attiva NPC. L’offerta determina acquisto dal NPC o
# vendita al NPC.
#
# Unit: nessun valore, Boolean, totale o conferma d’acquisto. Decide il server; controllare poi
# oggetti, oro o messaggi.
SUB Main()
# La stringa vuota invia risposta vuota e chiude. GetShopList non distingue offerta vuota e
# assente.
IF GetArrayLength(UO.GetShopList()) > 0 THEN
UO.SendShopReply("")
END IF
END SUBSpiegazione dei parametri e dell’esecuzione:
- La stringa vuota invia risposta vuota e chiude. GetShopList non distingue offerta vuota e assente.
Shop lists / Списки покупки и продажи
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь