Actions intégrées
give_item devient disponible lorsqu’un fournisseur d’inventaire est
sélectionné. Les fournisseurs d’actions personnalisés peuvent ajouter des clés
d’action propres au serveur.
Suivi et véhicules
Seule la relation avec le joueur concerné est utilisée pour prioriser un PNJ qui suit. Le PNJ ajuste son allure lorsqu’il prend du retard et peut monter dans des véhicules ou en descendre par des actions explicites. L’état de suivi et de véhicule influence aussi le ciblage vocal.Inventaire
Les fournisseurs d’inventaire implémentent une remise d’objets faisant autorité côté serveur. Humalike valide l’action et délègue l’opération finale sur l’objet au fournisseur sélectionné. Un fournisseur d’inventaire personnalisé ne doit renvoyertrue qu’après avoir accepté l’objet.
Ne faites jamais confiance aux noms d’objets, quantités ou métadonnées provenant
d’un événement client non validé. Appliquez des listes d’autorisation propres au
serveur dans votre pont si nécessaire.
Blessures et mort
Lorsque c’est activé, les dégâts subis par un PNJ produisent des blessures structurées. Un PNJ peut entrer dans un état blessé, nécessiter un traitement ou mourir selon la configuration du serveur. Les métiers de médecin et de police autorisés reçoivent des interactions via le fournisseur d’interaction sélectionné. Le traitement est validé sur le serveur d’après l’identité du joueur, le métier, l’état de service, la distance et l’état actuel du PNJ. Avec le fournisseur joueurstandalone, les métiers sont des autorisations ACE
(humalike.job.<name>) ; un fournisseur joueur personnalisé évalue les métiers
lui-même. Voir
Métiers sans framework.
Dispatch
Les incidents médicaux peuvent appeler le fournisseur de dispatch sélectionné après un délai et une probabilité configurés. Humalike fournit un type et une charge utile neutres ; le pont les traduit pour la ressource de dispatch du serveur.Actions définies par le serveur
Une ressource d’intégration peut déclarer ses propres actions, chacune conditionnée par des faits que le serveur signale. Le contrat se trouve dans Actions définies par le serveur.- Seules les observations signalées débloquent une action, et uniquement pour le joueur auquel le PNJ répond. Ce qu’un joueur dit ne compte pas.
- Tant qu’une condition n’est pas remplie, l’action reste listée, la balise n’est pas acceptée et le PNJ est informé de ce qui doit se produire d’abord. Rien n’atteint le serveur.
- Les conditions sont revérifiées lorsque le modèle écrit la balise, de sorte qu’un fait expiré pendant sa réponse ne passe pas.
- Un acte accompli est écrit dans la transcription du PNJ comme un événement du monde nommant les faits qu’il a consommés. Les faits consommés sont perdus pour tout autre acte et pour le comptoir.
- Le contrôle lit la conversation récente du PNJ ainsi que ses événements du monde les plus récents dans l’espace de noms du serveur, quel que soit leur âge, de sorte qu’un PNJ très sollicité n’oublie ni une commande impayée ni un fait consommé.
- Un acte rejeté (
RunActiona renvoyéfalse) n’est pas retenté. Le modèle peut réécrire la balise dans une réponse ultérieure comme un nouvel acte avec un nouvel identifiant d’invocation.
Comptoir
Un fournisseur d’actions doté d’unCatalog transforme un PNJ en boutique.
Humalike prend la commande, la chiffre, suit le paiement et appelle le serveur
pour remettre les marchandises ou rendre l’argent. Le modèle ne rédige jamais un
prix, une quantité livrée ou un montant remboursé.
- Le modèle commande en une seule balise :
[myserver:order water=10 pistol=1]. Humalike vérifie le stock et les limites par article, chiffre la commande et indique le total au PNJ. - Le paiement est l’observation de paiement signalée dans la devise du catalogue, en unités entières.
- Une fois que l’argent couvre le total, Humalike appelle
deliverà la prochaine réponse du PNJ à ce joueur, enregistre la vente et retire les lignes du stock. [myserver:cancel_order]appellerefundavec ce qui se trouve sur le comptoir. Il l’emporte sur une livraison en attente dans la même réponse.
Les nouvelles tentatives de
deliver conservent le même identifiant
d’invocation tant que la même commande tient, même après un complément de
paiement. Un refund est identifié par la commande qu’il annule, ou par les
paiements lorsqu’aucune commande n’est ouverte. Le tableau de bord affiche le
stock actuel du PNJ en lecture seule.

