MinetestForFun / server-minetestforfun

Repository of the subgame and mods of "MinetestForFun" server
https://www.xorhub.com
The Unlicense
27 stars 10 forks source link

Mort et perte de stuff #522

Closed Cyberpangolin closed 7 years ago

Cyberpangolin commented 7 years ago

Blob!

Après moulte morts et re-morts, et autant de pertes totales de stuff trop chargé, j'en suis arrivé à la conclusion personnelle qu'il faudrait songer à remettre en place le mod bones pour ne plus perdre le stuff. J'en ai parlé ici: https://github.com/MinetestForFun/server-minetestforfun/issues/521

SAUF qu'en l'état, mourir avec des bones ferait perdre au joueur tous ses bags (avec leur contenu), et ne serait donc pas plus productif. De plus, il est probable que l'armure subisse le même sort.

DONC Après discussion avec @Darcidride , il faudrait un bones modifié qui tienne compte des armures et des bags. Le plus simple serait probablement de tout (inventaire, armures et bags) transférer dans un double inventaire, qui laisserait donc assez de place disponible pour tout mettre. soit 42 emplacements. ou minimum 51 si on ajoute les éléments sur la grille de craft, mais bon...

Il faut également que le stuff disparaisse au bout d'un certain temps, ce afin d'éviter de retrouver des amoncellements de cadavres dans un bloc visuellement fort peu seyant.

Je propose donc les éléments suivants: EDIT: le bloc de bones est ouvert à tous pendant 30 minutes. ensuite, il se comporte comme une feuille et finit par de-pop tout seul, le stuff étant wipé.

Finalement, si c'est techniquement réalisable sans de-linker les bones avec leur inventaire, je pense qu'il serait bien que les bones subissent la gravité comme le sable, car il arrive quand on meurt de chute que les coordonnées de mort indiquées dans le chat soient jusqu'à 10 blocs au dessus du sol.

Voili voilou, merci beaucoup :)

ObaniGemini commented 7 years ago

Idée : remplace la texture moche de bones par un "coffre de mort" (un coffre normal mais stylisé noir) ? Moins "rp" mais plus intuitif et joli je pense.

ghost commented 7 years ago

Alors pour les contraintes: 1) Le bones doit être ouvert à tous car le pvp ne fonctionnerait plus, tuer un joueur pour lui prendre sont stuff ne serait plus envisageable.

2) Le bones qui tombe comme le sable, vu qu'il y aurait des meta se serait compliqué, je ne sais pas si on peut déplacer un node sans perdre les meta. Faire en sorte que le bones soit placé au sol quand le joueur meurt dans le vide, à 10 block de haut on peut chercher le node en dessous le plus près pour y placer le bones mais si il meurt à 300 block de haut se serait vite bugué, genre la map pas chargée/générée, ou pire le check qui dure indéfiniment car il faut chercher encore plus bas(on va check sur 10 nodes, puis recommencer jusqu’à trouver un node).

3) J'ai vu qu'il y avait des bug de remplacement d'autres nodes, par exemple mourir en étant dans une porte, la porte est remplacée, il faut check "l'air" au plus près(doit être déjà fait, pas vérifié le code). Je cherche la petite bête mais le joueur qui pose une porte en profondeur dans un couloir puis s’emmure et meurt de faim, le bones ne peut pas être placé vu qu'il n'y aura pas d'air autour de la porte, donc vérifier si on a bien placé un bones avant de vider l'inventaire.

4) Impossibilité de remettre dans le bones et faire en sorte qu'il disparaisse une fois vide, car dans une aréa ça risque de poser des soucis si on laisse le joueur le dig(après je n'ai pas regardé le code en entier c'est peut être déjà comme ça que ça fonctionne).

BetterToAutomateTheWorld commented 7 years ago

@ObaniGemini Oui une texture est nécessaire, l’actuel est vraiment à chier :)

@crabman77 1 => J’avais en effet abordé le point avec @Cyberpangolin, et oui il doit être ouvert car sinon plus aucun intérêt au JcJ/PvP 2, 3 et 4 => le bones qui apparait à l’emplacement ou le joueur est mort est une bonne chose, s’il ne peut pas être placé car pas de bloc d’air pas protégé à l’emplacement du joueur mort :

Ah bah tiens, sinon on fait en sorte qu'un joueur dans sa propre zone protégé ne perd pas son inventiare s'il meurt. ça résoudra pas mal des problèmes potentiels...

Je rajoute un petit lien vers https://github.com/MinetestForFun/server-minetestforfun/issues/516#issuecomment-274059791 avoir plusieurs pages sur le coffre des bones serait top, aussi, il me semble qu'il existe un shared chest bleu avec un bouton "tout reprendre", c'est une fonctionnalité qui pourrait aussi être pratique, enfin, je ne sais pas trop comment fonctionne les bones à la base donc je laisse les experts en parler... :p

ghost commented 7 years ago

Bon j'ai commencé, presque fini le bones, le main est fait, le craft est fait, unified_inventory(bag) est fait.

sauf que 3d_armor gère lui même le bones si le mod est là. Et il cherche un bones au pied du joueur :( 1) soit on modifié 3d_armor pour qu'il cherche un bones dans une area et c'est au petit bonheur la chance, et si il y a plusieurs bones ça va aller au pif dans le 1er trouvé, si il n'y en a pas ça va etre drop ou détruit.

2) soit on gère 3d_armor dans bones et on le court-circuite avec les souci liés au mod, sauf qu'apparement on ne peut pas car il utilise des variable/fonctions locale.

A part ça il reste à placer le bones dans un endroit vide si il en existe un.

il est ouvert à tous et depop au bout de 30 minutes(à adapter) seul l'owner peut le punch et il se transfert dans son inventaire, j'aime bien l'idée que l'owner peut le récupérer vite fait alors que les autres doivent transférer en fouillant dedans. il depop dès qu'il est vide.

doit ont garder/récupérer(utile pour un craft?) le bones ou le faire disparaître?

Pour le coup de garder si le joueur est dans son aréa, c'est compliqué, minestest.is_protected() ne marchera pas car si c'est l'aréa du joueur ça renvoie comme si il n'y en a pas.

bones_mod

EDIT: j'ai inclus 3d_armor et fini le placement du bones, il faudra modifier 3d_armor pour enlever le bout de code qui gere le drop.

ghost commented 7 years ago

bones est près https://github.com/MinetestForFun/bones/commit/09b18def43c6bf66fb20889ecb6611cd895bbf24

commité sur le repos https://github.com/MinetestForFun/server-minetestforfun/commit/67dcb3f25fa8c00007ddf18f44054d07dc13f2d6 3d_armor modifié pour bones https://github.com/MinetestForFun/server-minetestforfun/commit/2cb3a7084664d8404653c3d15533892b192ca978

BetterToAutomateTheWorld commented 7 years ago

@crabman77 Pour répondre à ta question, je pense que le faire disparaitre serait mieux, au point ou on en est, on a assez d'items pour créer des craft, on est pas a un près :)

Tu as fait du super travail au niveau du code @crabman77

Il ne manquerait plus qu'une texture pour le coffre, un coffre noir tout simple pourrait suffir, enfin afed une tete de mort à la place du verrou, ou que sais-je, il faut tester/réfléchir un peu et puis voila :)