Utilisation détaillée

1. Prix globaux

DT_MerchantPrice, dans Content/DataTable, fournit les prix que les boutiques peuvent partager. Une entrée de boutique peut utiliser ce prix global ou son propre prix local.

Paramètres

ParamètreDescription détaillée
ItemIDIdentifiant de l’article. C’est la valeur utilisée pour retrouver son prix global.
BuyCurrencyIDIdentifiant de la monnaie demandée pour l’achat.
BuyAmountMontant demandé pour l’achat. Zéro rend l’article gratuit.
SellCurrencyIDIdentifiant de la monnaie remise au joueur à la vente.
SellAmountMontant remis au joueur à la vente.
AutoSellCurrencyIDIdentifiant de la monnaie de vente automatique.
AutoSellAmountMontant remis pendant une vente automatique.

2. Le subsystem

Accès au subsystem

Dans un Blueprint, utilisez directement la fonction Get_ADS_MerchantSubsystem.Get ADS Merchant Subsystem

Fonctions

FonctionDescription détaillée
Can Open StoreVérifie qu’une boutique existe et n’est pas verrouillée avant d’ouvrir l’interface.
Get Current StoreRetourne les listes d’articles du niveau actif.
Get Current Store LevelRetourne le niveau actif.
Set Current Store LevelChange le niveau dans les limites configurées.
Refresh StoreSynchronise une boutique et notifie un rafraîchissement.
Get Store StateRetourne l’état sauvegardable d’une boutique.
Set Store StateRestaure l’état d’une boutique.
Get All Store StatesRetourne tous les états pour le SaveGame.
Set All Store StatesRestaure tous les états après chargement.
Buy From StoreExécute un achat ; le prix est résolu par le système.
Sell To StoreExécute une vente au marchand.
Auto Sell ItemExécute une vente sans boutique.
Get Max ItemCalcule la quantité maximale possible sans lancer l’échange.
Get Final PriceRetourne le prix final d’affichage, promotion et arrondi inclus.
Get PromotionRetourne le multiplicateur de promotion d’achat.
Set PromotionModifie le multiplicateur de promotion d’achat.
Get Price Rounding ModeRetourne le mode d’arrondi des promotions.
Set Price Rounding ModeModifie le mode d’arrondi.
Get StockRetourne le stock ; -1 signifie illimité.
Update StockModifie un stock fini.
Get LockedLit le verrouillage global.
Set LockedModifie le verrouillage global.
Get Item LockedLit le verrouillage d’un article.
Set Item LockedModifie le verrouillage d’un article.
Get Total Spent By PlayerRetourne les dépenses par monnaie.
Set Total Spent By PlayerRemplace les dépenses mémorisées.
Add Spent AmountAjoute un montant aux dépenses.
Clear Total Spent By PlayerEfface les dépenses.
Get Donated ItemsRetourne les dons reçus.
Set Donated ItemsRemplace les dons reçus.
Add DonationAjoute un don.
Remove DonationRetire un don.
Clear DonationsEfface les dons.
Get Price DTRetourne la table de prix active.
Set Price DTRemplace la table de prix active.
Reset Price DT To DefaultRestaure la table fournie par le plugin.
Get Logic ContextRetourne la logique Blueprint active.
Set Logic Context ClassDéfinit la classe de logique Blueprint.

Event Dispatchers

DispatcherDescription détaillée
On BuyDiffusé après chaque tentative d’achat.
On SellDiffusé après chaque tentative de vente.
On Auto SellDiffusé après chaque tentative de vente automatique.
On Store ChangedDiffusé après un changement de niveau, don, dépense, verrouillage, restauration ou rafraîchissement.

3. Actor Component de boutique

Brancher le composant

Ajoutez AC Merchant Store à l’acteur marchand. Il s’enregistre automatiquement au démarrage. Dans Details, renseignez StoreID puis configurez ses niveaux.

Ajout du composant marchand

Paramètres

(Voir panneau amélioré.)

Fonctions

FonctionDescription détaillée
Get Store IDRetourne l’identifiant de boutique.
Get Store Display NameRetourne le nom affichable.
Set Store Display NameChange le nom affichable.
Get Current Store LevelRetourne le niveau actif.
Set Current Store LevelChange le niveau actif.
Get Max Store LevelRetourne le nombre de niveaux.
Get Store LockedRetourne le verrouillage global.
Set Store LockedModifie le verrouillage global.
Initialize Store LogicCrée la logique propre à la boutique.

4. La logique Blueprint

Créez un enfant de ADS Merchant Logic Base et définissez-le avec Set Logic Context Class. Il relie les échanges à vos inventaires et monnaies. Pour des règles propres à un marchand, créez un enfant de ADS Merchant Store Logic Base et assignez-le à StoreLogicClass.

Fonctions de ADS Merchant Logic Base

FonctionDescription détaillée
On InitializedInitialise les références de votre projet.
Get Item QuantityRetourne la quantité possédée.
Add ItemAjoute ou retire un objet.
Has Enough ItemVérifie la quantité possédée.
Can Receive ItemVérifie la capacité d’inventaire.
Get Currency AmountRetourne le montant d’une monnaie.
Add CurrencyAjoute ou retire une monnaie.
Has Enough CurrencyVérifie le montant disponible.
On Buy HookRéagit à un achat.
On Sell HookRéagit à une vente.
On Auto Sell HookRéagit à une vente automatique.

Fonctions de ADS Merchant Store Logic Base

FonctionDescription détaillée
On InitializedInitialise la logique associée à la boutique.
Get Store ComponentRetourne le composant marchand.
Get Store IDRetourne son identifiant.
Get Current Store LevelRetourne le niveau.
Set Current Store LevelChange le niveau.
Get Max Store LevelRetourne le nombre de niveaux.
Get Store LockedRetourne le verrouillage.
Set Store LockedModifie le verrouillage.

5. Panneau de détails amélioré

Paramètres

ParamètreDescription détaillée
Store IDIdentifiant unique de la boutique ; le panneau signale les doublons.
Display NameNom localisé destiné à l’interface.
Data TableTable source synchronisée automatiquement dans les listes de chaque niveau.
ItemID ColumnColonne contenant l’identifiant ; ItemID est la valeur par défaut.
Item FilterAffiche tous les articles, ceux In Store ou ceux qui ne le sont pas.
ContextClasse de logique Blueprint propre à ce marchand.
Store LockVerrouillage global de la boutique.
Reason (boutique)Raison du verrouillage global.
Store LevelsNiveaux contenant les listes Buy et Sell.
Item IDIdentifiant de l’article de l’entrée.
In StoreDétermine si l’article est réellement proposé.
Global PriceUtilise la table de prix globaux.
PriceMonnaie et montant du prix local.
StockEntrée Buy : -1 illimité, 0 épuisé ou quantité finie.
Price scale (promo)Entrée Buy : multiplicateur de prix.
LockedVerrouille l’entrée pour son type de transaction.
Reason (article)Raison du verrouillage ou du déverrouillage de l’article.

Le panneau Details du composant est adapté au système marchand. Il évite la tâche fastidieuse d’ajouter les articles un par un : le système ajoute automatiquement tous les articles de la DataTable sélectionnée. Il permet également de filtrer les articles. Pour proposer réellement un article dans une boutique, il suffit de cocher sa case In Store.

Il regroupe les informations d’identité, le choix de la DataTable et du contexte, le verrouillage et les niveaux de boutique. Les listes d’achat et de vente utilisent des codes couleurs distincts et présentent directement le prix global ou local, le stock, la promotion et le verrouillage.

Identité et table de données

Articles à acheter

Articles à vendre