Envie de participer ?
Bandeau

Cet article explore en détail le fonctionnement des addons de distribution de munitions, en particulier l'addon Arkinventory, ainsi que des aspects connexes tels que les macros de ciblage et les commandes de console.

Fonctionnement des Addons de Distribution de Munitions

Les outils utilisés pour distribuer des addons pour la distribution Atelier (GMAD et gmpublish) sont maintenant disponibles dans les versions Linux et Mac du jeu. Une mise à jour majeure a été libéré. Changements en vedette comprennent des améliorations de stabilité et divers correctifs exploitent, avec quelques ajouts pratique pour les développeurs. La version OSX du système de police a été fortement remanié pour plus de cohérence et une meilleure lisibilité.

Pour illustrer le fonctionnement d'un addon de distribution de munitions, prenons l'exemple d'un script Lua pour un NPC vendeur de munitions.

Voici un exemple de code Lua permettant d'ouvrir un menu d'achat de munitions :

local function closeAmmoMenu() if easzy.ammonpc.ammoMenu then easzy.ammonpc.ammoMenu:Remove() endend

Ce code vérifie si le joueur peut se permettre d'acheter les munitions :

Lire aussi: Pez : De l'invention à l'objet de collection

local function canBuyAmmo(item) local ply = LocalPlayer() if item.customCheck and not item.customCheck(ply) then return false, true end local canbuy, suppress, message, price = hook.Call("canBuyAmmo", nil, ply, item) local cost = price or item.getPrice and item.getPrice(ply, item.price) or item.price if not ply:canAfford(cost) then return false, false, message, cost end if canbuy == false then return false, suppress, message, price end return true, nil, message, priceend

Cette fonction ouvre le menu d'achat de munitions avec une interface utilisateur personnalisée :

local function openAmmoMenu() local frameWide = easzy.ammonpc.respX(900) local frameTall = easzy.ammonpc.respY(600) local itemMargin = (ScrH() / 1080) * 40 local itemSize = (frameWide - 2*itemMargin)/4 - 3/4*itemMargin local frame = vgui.Create('EZAmmoFrame') frame:SetSize(frameWide, frameTall) frame:Center() frame:SetTitle('Munitions') frame:MakePopup() frame.Paint = function(s, w, h) draw.RoundedBox(10, 0, 0, w, h, easzy.ammonpc.colors.gray30) end local scroll = vgui.Create('DScrollPanel', frame) scrollock(FILL) scrollockMargin(itemMargin, itemMargin/4, itemMargin, itemMargin) scroll:GetVBar():SetWide(0) local iconLayout = vgui.Create('DIconLayout', scroll) iconLayoutock(FILL) iconLayout:SetLayoutDir(TOP) iconLayout:SetSpaceY(itemMargin) iconLayout:SetSpaceX(itemMargin) local ammoItems = {} for _, ammoCategorie in ipairs(DarkRP.getCategories().ammo) do table.Add(ammoItems, ammoCategorie.members) end -- if easzy.ammonpc.config.sortByRatioEnergyPrice then -- table.sort(ammoItems, function(a, b) -- return a.energy/a.price > b.energy/b.price -- end) -- end for _, ammo in ipairs(ammoItems) do if not canBuyAmmo(ammo) then continue end local button = vgui.Create('DButton', iconLayout) button:SetSize(itemSize, itemSize) button.Paint = function(s, w, h) draw.RoundedBox(10, 0, 0, w, h, easzy.ammonpc.colors.gray40) draw.SimpleText(DarkRP.formatMoney(ammo.price), 'EZGidole18', w/2, h*0.8, easzy.ammonpc.colors.white, TEXT_ALIGN_CENTER, TEXT_ALIGN_BOTTOM) draw.SimpleText(ammo.name .. ' - ' .. ammo.category, 'EZGidole18', w/2, h*0.95, easzy.ammonpc.colors.white, TEXT_ALIGN_CENTER, TEXT_ALIGN_BOTTOM) return true end button.DoClick = function() RunConsoleCommand('DarkRP', 'buyammo', ammo.id) end local modelMargin = button:GetWide()/3 local model = vgui.Create('ModelImage', button) model:SetSize(itemSize*2/3, itemSize*2/3) model:SetPos(itemSize*1/6, 0) model:SetMouseInputEnabled(false) model:SetModel(ammo.model) end easzy.ammonpc.ammoMenu = frameendnet.Receive('ezammonpc_open_ammo_menu', function() openAmmoMenu()end)

Macros de Ciblage et Commandes Utiles

La commande /lancer permet d'utiliser un sort ou une technique dans une macro. Il suffit de taper « /lancer » suivi par le nom du sort dans le champ de texte, comme dans « /lancer Sarments (Rang 1) » par exemple.

La commande /cible modifie votre cible ou l'assigne à une macro. Voici des instructions et des exemples de base :

  • /cible suivi par un nom vous fera trouver le joueur, monstre ou PNJ le plus proche au nom correspondant à celui que vous avez saisi, à condition qu'il se trouve relativement près de vous.
  • Au lieu de cibler une entité au moyen de son nom, vous pouvez utiliser l'identification d'unité de votre cible.

Voici une liste partielle des identifications d'unité :

  • player = le personnage actuel
  • pet = le familier du personnage actuel
  • party# = le membre du groupe qui a cette variable pour position dans la configuration du groupe (le joueur lui-même excepté), # étant 1, 2, 3 ou 4
  • partypet# = le familier du membre du groupe qui a cette variable pour position dans la configuration du groupe, # étant 1, 2, 3 ou 4
  • raid# = le membre du raid qui a cette variable pour position dans le raid, # étant une valeur comprise entre 1 et 40 inclus.
  • raidpet# = le familier du membre du raid qui a cette variable pour position dans le raid, # étant une valeur comprise entre 1 et 40 inclus
  • mouseover = l'unité sur laquelle la souris se trouve actuellement.

Si vous ajoutez « target » à la fin d'une de ces identifications d'unité, vous sélectionnerez la cible de cette entité, par exemple « playertarget ».

Lire aussi: Pistolet Kremlin : un aperçu

La très populaire macro /soutien est souvent la toute première que l'on crée, généralement à la demande d'un autre joueur dans une situation de jeu en groupe. La forme la plus simple en est /soutien nom du joueur, bien que l'on puisse aussi utiliser n'importe quelle identification d'unité décrite plus haut.

La variable %t peut être utilisée dans des macros pour indiquer votre cible actuelle. Elle est précieuse pour les macros sociales : elle associe le nom de votre cible actuelle à tout ce que vous pouvez dire.

La commande /dernièrecible vous fait cibler le joueur ou le monstre que vous aviez ciblé en dernier. Cela peut être très utile dans des situations où l'on passe rapidement entre deux cibles éloignées, par exemple quand on soigne un autre joueur avant de revenir au tank principal.

Arkinventory: Un Addon Complet pour la Gestion d'Inventaire

Arkinventory fait partie de ces Addons qu'on a trop tendance à sous estimer et voire à remplacer par des addons plus légers tel que cargBags_Nivaya, Baggins, Bagnon, OneBag, etc... Autant prévenir tout de suite, Arkinventory n'a pas pour vocation seulement de réunir tous vos sacs en un un inventaire massif: Son intérêt consiste essentiellement à ordonner tous les inventaires, qu'ils soient issus de votre courrier, de votre banque, de celle de guilde, de vos familiers, de vos montures, de vos clefs et même de vos sacs les plus variés.

Si vous découvrez cet addon, commencez bien par lire la première solution afin de vous familiariser avec les fonctions globales. Avant toute chose, je vous conseille fortement de toujours travailler avec une sauvegarde au cas où votre addon se met à faire des siennes. Pour ça, n'hésitez surtout pas à générer un nouveau profil à chaque fois que vous avez validé une étape satisfaisante. Un exemple de bug: Arkinventory est susceptible de ne pas reconnaître une nouvelle règle pourtant valide.

Lire aussi: Projet DIY : Distributeur de Sucettes

Les colonnes que vous allez voir apparaître avec des chiffres sont les emplacements des catégories que vous allez pouvoir faire naître (nommés "groupes"). Vous en avez 5 pour commencer mais vous pourrez en ajouter par la suite. Pour en ajouter il vous suffira de cliquer sur l'une des colonnes et de choisir "ajouter un groupe vide", mais attendez d'avoir édité toutes vos catégories disponibles avant.

Je vous ai prévenu, Arkinventory est très pointilleux sur le rangement, et pas question pour lui de vous laisser ouvrir des tiroirs pour qu'ils restent vides. Par ailleurs, si vous souhaitez remplacer un sac normal par un sac avec des prérequis, il vous faudra vider un de vos sacs courants.

Mais comme on se fiche maintenant pas mal des contenus individuels des sacs, il va falloir trouver ce qui doit être déplacé. Pas de problème, il vous suffit juste de survoler à la souris l'un des sacs en bas de votre fenêtre pour faire apparaître une couleur sur chaque slot du sac visé (si vous ne voyez pas de surbrillance ou si vous n'en voulez pas, l'option est (dé)cochable dans Configuration, paramètres, frames, échangeur de sac).

Enfin, pas la peine de me demander comment changer cette affreuse couleur verte du sac et du nom de son personnage dans l'entête de la fenêtre, j'ai cherché des heures sans trouver de réponses :s. A voir dans le .lua?

Première Solution: Le Mode Simple et Grossier

Admettons, vous êtes chasseur, dépeceur et travailleur du cuir, et vous quêtez un maximum pour aider votre lvling. Bref vous avez un profil type du personnage qui aura besoin de place pour les récompenses de quêtes, pour vos objets de quêtes, pour vos munitions, votre cuir, vos recettes, vos outils, vos composants de tannerie, votre nourriture et la viande destinée à votre aimable familier. Et tout ça sans oublier que vous allez ramasser un max de cochonnerie qui n'ont d'autre utilité qu'arrondir vos fin de mois épuisants!

Sur le papier, ça fait beaucoup de choses à prévoir, mais croyez-moi, vous avez fait le plus gros du travail: Cerner vos besoins!

  • Groupe: "Munitions"
    • Cliquez gauche sur le 2, et choisissez Système -> Projectile (balles ou flèches, ou les deux, faites en fonction de vos besoins).
  • Groupe: "Viandes"
    • 3: à nommer "Viandes"
    • Artisanat -> Viande
    • N'oubliez pas de presser "Entrée" quand vous avez rédigé le nom du groupe. Comment je ne vous l'avais pas dit?
    • + Consommable -> Nourritures et boissons

Maintenant que vous avez un sac tout propre et rangé, vous ne pouvez plus laisser votre banque, celle de la guilde, ou même votre courrier dans le désordre le plus complet!

En allant sur Contrôle.En haut de page, il y a les onglets correspondants à vos inventaires. celui de votre choix et cliquez sur le menu déroulant de droite nommé "Paramètres". Choisissez "sac".Voilà ! Vous venez d'attribuer les mêmes paramètres aux inventaires de votre choix.

Comme la majorité des Addons, vous n'avez plus qu'à attribuer ce profil aux autres personnages.Il est conseillé de gardé le profil par "défaut" avec le minimum de paramètres afin de pouvoir revenir dessus quand vous partez sur un nouveau projet.

Deuxième Solution: Le Mode Plus Affiné

Par exemple, je veux faire une catégorie "Fun" qui va regrouper tous les items qui me serviront à embellir mon RP, ou de façon générale, à me montrer en spectacle ! Répandre cette exception.

Cliquez sur chacun des objets que vous allez utiliser pour accompagner vos spectacles: Brasero, costumes, tonneaux, feux d'artifices, jouets, etc.... et choisissez:Personnel -> Fun

Pour ce genre de catégorie, il n'y a pas de facteur commun permettant d'exploiter une automatisation. Attribuer un Groupe à "Fun".

Choisissez un Groupe pour ranger cette catégorie et cliquer dessus:Personnel -> Fun

Si tout va bien, tous vos items prédéterminés pour cette catégorie vont s'y ranger automatiquement. A (re)noter que cette option "personnel" est très bien pour une catégorie spéciale qui regroupera des objets peu courant.

Admettons, nous sommes maintenant un grand Mage qui étend son activité au PVP et au PVE. Notre objectif va donc être de trier la fonction de chaque item sans être contraints d'assigner au cas par cas une catégorie à un item. Du coup nous allons avoir au moins 3 ou 4 groupes.

  • Stuff PVE
  • Ajouter: 100 de "Ordre" va prendre une nouvelle valeur, par exemple 90.
  • Stuff d'attente choix 1: Si ce stuff en attente n'est pas enregistré dans le gestionnaire d'équipement, nous allons devoir trouver une autre règle. 95 par exemple).outfit() Cette règle récupérera tous les items qui sont liés à un équipement.
  • Stuff d'attente choix 2: On peut aussi considérer que tous les tissus et les armes (épée, dague ou bâton) dont l' ilvl est supérieur à 250 ont leur place dans cette catégorie. type( "armure", "arme" ) and tt( "tissu", "epée", bâton", "dague", "main gauche", "bijou", "dos", "doigt", "cou" ) and ilvl(250, 300 ) and sb()

A noter que ce qui est au pluriel en sous-type est au singulier sur vos tooltip ("tt"). Pour Sous-type, allez voir l'option "info de déboguage", et pour la tt, regardez tout simplement votre tooltip (=> bulle d'aide). L'ordre de cette catégorie sera d'un cran après celui du précédent (donc entre 93 et 96)

Vous appliquez donc la méthode de votre choix. Par exemple:

Cette fois je donne des valeurs numériques à "q", ce qui est un choix. 2, 3, et 4 veulent dire Inhabituel (vert), Rare (Bleu) et Epique (Violet). Règle -> .

Troisième Solution: Le HardMode

Si vous n'avez pas la patience de lire les parties précédentes celle-ci va vous plaire ! Et bien, vous pouvez aussi cliquer en mode édition sur chacun de vos items pour leur attribuer une catégorie. C'est rapide à très court terme, très long à long et moyen terme et surtout ça va vous faire une véritable usine à Gaz!!! Un point positif à cette méthode: Si vous êtes hésitant, ça peut vous inspirer.

Configuration d'Arkinventory

3 méthodes de classements disponibles:

  • Name: classement le plus basique qui utilise le critère: Nom ainsi que celui de l'alphabet pour son classement.

C'est ici que vous pouvez gérer vos préférence en matière d'ordre d'affichage au sein des catégories. Première remarque: les options par défaut sont grisées, ce qui est normal et finalement pas plus mal.

Appliquer la nouvelle méthode aux groupes.retourner dans Paramètres pour demander à Arkinventory de tenir compte de cette nouvelle Sort Methods. Cette dernière étape est inutile si vous ne voulez cette méthode de classement que pour un ou quelques groupes. Dans ce cas, il faut aller en mode Édition pour faire les attributions.

Modifier les Apparences

/!\Attention: Pour l'étape qui suit, je conseille de diminuer un maximum les ressources que peut utiliser votre PC car si ce dernier bosse trop, vous aller ramez en déplaçant vos fenêtre. Perso, j'utilise Leatrix GFX pour alléger temporairement les ressources du jeu.

Allez, ne me mentez pas, vous n'avez pas attendu ce chapitre pour trouver comment réduire la taille de cette énorme fenêtre d'inventaire ! Héhé! c'est bon signe, car je sais du coup que vous avez eu le temps de vous familiariser avec tout le menu de configuration !! Dans l'idéal, aucune fenêtre ne doit se superposer.

Bon très franchement je pense que vous pouvez vous passer de mes conseils pour trouver l'apparence qui vous plaira le plus. A noter que si vous ne conservez pas le fond de votre fenêtre en "solid" vous ne pourrez plus modifier la couleur.

En haut de toutes vos fenêtres, si vous ne l'avez pas caché, se trouve un champ libre pour faire une recherche par nom dans l'inventaire de la même fenêtre. C'est surtout de rougir les inutilisables qui s'avère être bien pratique.

On l'a vu, Ark sait aussi le nombre de slots utilisés dans vos inventaires, comme il sait calculer le nombre de slots restants. Enfin bref, non content de savoir compter notre petit génie a aussi une mémoire virtuelle époustouflante!

Les Journaux de guilde qui permettent de voir en ligne, qui a retiré ou fait entrer quoi, quand et dans quel onglet.

tags: #addons #distributeur #de #munition #fonctionnement

Post popolari: