Serveur Steinheim Index du Forum
Serveur Steinheim
Voici le forum du serveur minetest de la communauté française: Steinheim
 
Serveur Steinheim Index du ForumFAQRechercherS’enregistrerConnexion



 Bienvenue 
Le forum déménage, nouvelle adresse: http://steinheim-minetest.servegame.com
:: modification du four : demande d'un petit coup de main ::

 
Poster un nouveau sujet   Répondre au sujet    Serveur Steinheim Index du Forum -> MINETEST -> Actualités, developpement, mods, test et améliorations
Sujet précédent :: Sujet suivant  
Auteur Message
turbogus
Administrateur

Hors ligne

Inscrit le: 07 Nov 2012
Messages: 2 575
Localisation: sur la terre
Féminin Poissons (20fev-20mar)
Point(s): 2 376
Moyenne de points: 0,92

MessagePosté le: Lun 9 Juin - 17:04 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

Je suis en train de modifier un mod mais je bloc sur un point. Je souhaite utiliser le code du default:furnace afin de créer un bloc qui permet de générer d'autre item, mais seulement si on met un item "source" précis :


- Actuellement un four regarde si dans les cases "src" et dst" on met bien un item dont le craft est déclaré en "cooking" et un autre item déclaré en "fuel".


 
Code:
local srclist = inv:get_list("src")
      local cooked = nil
      local aftercooked
      
      if srclist then
         cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist})
      end
 



Si un item "cooking" est bien présent dans "src", on récupère le résultat du craft "get_craft_result" et plus loin dans le code, on vient plaçer se résultat dans la case "dst" :



 
Code:
-- Put result in "dst" list
inv:add_item("dst", cooked.item)
 



Ce que je souhaite donc est, en plus de détecter si l'item est "cooking", est le nom du combustible qu'on met dans la case "fuel". Si celui-ci ne correspond pas, alors on ne craft rien et rien n'apparait dans la case "dst".
_________________
pourquoi payer plus cher si minetest peut le faire?

compte google+ : turbogus me


Revenir en haut
GTalk/Jabber
Publicité






MessagePosté le: Lun 9 Juin - 17:04 (2014)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Mg
Old Team

Hors ligne

Inscrit le: 03 Fév 2014
Messages: 1 589
Localisation: 12 Rue Mendeleïev
Masculin Bélier (21mar-19avr) 蛇 Serpent
Point(s): 1 589
Moyenne de points: 1,00

MessagePosté le: Mar 10 Juin - 21:28 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

Bon, ça ne doit pas être sorcier.
Je verrai ça, je nettoie ma pile des "à faire" et je jette un coup d'oeil à ce code Okay
_________________
Tox ID : D878DF75D369C10DC0D3A1A782636EA242AE64FD687EDBADCB679AFACA78910BCEAAECF825E0
Known as ElectronLibre@freenode ; Mg@InchraNet on IRC.
Join #minetest@freenode or #minetest-fr@freenode to get into minetest's development!


Revenir en haut
GTalk/Jabber
Zaraki
Old Team

Hors ligne

Inscrit le: 02 Juin 2013
Messages: 1 091
Localisation: Dans une mine
Masculin Verseau (20jan-19fev) 虎 Tigre
Point(s): 1 102
Moyenne de points: 1,01

MessagePosté le: Ven 13 Juin - 15:02 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

J'ai trouvé comment faire, mais ça demande pas mal de modifs, je vais faire un fork pour que tu vois les changements et puis que quelqu'un teste si ça marche (pas le temps en ce moment) ^^

Edit : En faite je peux pas faire avec un fork de MO 2.0, parce qu'il faut même faire des modifs dans minetest/src :/ (craftdef.h et craftdef.cpp) Je voulais créer un autre type (comme cooking et fuel)
_________________
"No matter what my heart is forever yours, and I will fight until the day I see you again" Kirito
"Le temps est disloqué ! Ô destin maudit, pourquoi suis-je né pour le remettre en place ?" Aika
Mumble gratuit : http://zenserv.fr/


Revenir en haut
Skype
Jat
Old Team

Hors ligne

Inscrit le: 07 Nov 2012
Messages: 520
Masculin
Point(s): 367
Moyenne de points: 0,71

MessagePosté le: Sam 14 Juin - 00:31 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

Tu veux faire du raffinage toi ! Razz
J'ai pas tous le code en tête, mais si je me référe ce qu'a donné turbogus sa serait rajouté un "and" et faire une liste avec la "src" et les bon combustible utilisable.


Revenir en haut
GTalk/Jabber
Mg
Old Team

Hors ligne

Inscrit le: 03 Fév 2014
Messages: 1 589
Localisation: 12 Rue Mendeleïev
Masculin Bélier (21mar-19avr) 蛇 Serpent
Point(s): 1 589
Moyenne de points: 1,00

MessagePosté le: Sam 14 Juin - 07:25 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

En fait Zaraki on peut toujours créer des fonctions spéciales que enregistrent un carburant pour le raffinage, ou alors une équivalence entre l'item rentré et la sortie, après, une secondes qui détecte si le carburant est là (moi non plus j'ai plus le code en tête) et qui redonne l'équivalent de l'item rentré, enregistré dans la table avec la fonction d'enregistrement. Ça évite de modifier craftdef.h et craftdef.cpp avant de tout re compiler Okay
_________________
Tox ID : D878DF75D369C10DC0D3A1A782636EA242AE64FD687EDBADCB679AFACA78910BCEAAECF825E0
Known as ElectronLibre@freenode ; Mg@InchraNet on IRC.
Join #minetest@freenode or #minetest-fr@freenode to get into minetest's development!


Revenir en haut
GTalk/Jabber
turbogus
Administrateur

Hors ligne

Inscrit le: 07 Nov 2012
Messages: 2 575
Localisation: sur la terre
Féminin Poissons (20fev-20mar)
Point(s): 2 376
Moyenne de points: 0,92

MessagePosté le: Sam 14 Juin - 07:50 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

Sur l'exemple du mode "Experience", j'ai fais un test : dans le paramêtre group = { ... } des items "cooking" et "fuel" ( les potions quoi, plus la peine de cacher le but de la modification du four maintenant ! ), j'ai ajouté un nouveau groupe : "magic=1" et lors de la cuisson des élements, quand le code cherche à determiner si c'est bien un item du group "cooking", on peu faire un test en plus vérifier que l'item appartienne bien au groupe "magic. Mais cela ne marche pas apparement.

Ex :


 
Code:
minetest.register_craftitem("potions:base", {
    description = "Potion base",
    inventory_image = "potions_base.png",
    groups = {magic=1},
}) 


et


 
Code:
local srclist = inv:get_list("src")

-- local cooked = nil
-- local aftercooked

local magic = nil
local aftermagic
       
if srclist then
     -- cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist})
     magic, aftermagic = minetest.get_craft_result({method = "magic", width = 1, items = srclist})
end 

Le gros soucis avec cette méthode, c'est que l'on peut créer une potion mais à partir de n'importe quel combustible Neutral . Le but et donc de récupérer le craft d'un objet du groupe "magic" uniquement si le fuel est lui même du groupe "magic".
_________________
pourquoi payer plus cher si minetest peut le faire?

compte google+ : turbogus me


Revenir en haut
GTalk/Jabber
Mg
Old Team

Hors ligne

Inscrit le: 03 Fév 2014
Messages: 1 589
Localisation: 12 Rue Mendeleïev
Masculin Bélier (21mar-19avr) 蛇 Serpent
Point(s): 1 589
Moyenne de points: 1,00

MessagePosté le: Sam 14 Juin - 12:16 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

Pour récuperer un groupe, la meilleure méthode que je connaise est minetest.registered_items[nomdelitem].group["magic"]
Il retournera la valeur associée si il y en a une, ou nil si l'item ne possède pas ce groupe
_________________
Tox ID : D878DF75D369C10DC0D3A1A782636EA242AE64FD687EDBADCB679AFACA78910BCEAAECF825E0
Known as ElectronLibre@freenode ; Mg@InchraNet on IRC.
Join #minetest@freenode or #minetest-fr@freenode to get into minetest's development!


Revenir en haut
GTalk/Jabber
Zaraki
Old Team

Hors ligne

Inscrit le: 02 Juin 2013
Messages: 1 091
Localisation: Dans une mine
Masculin Verseau (20jan-19fev) 虎 Tigre
Point(s): 1 102
Moyenne de points: 1,01

MessagePosté le: Dim 15 Juin - 16:01 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

C'est parce que la méthode "magic" n'est pas définie

Dans le craftdef.cpp :

Code:

   if(name == "shaped")
   {
      def = new CraftDefinitionShaped;
   }
   else if(name == "shapeless")
   {
      def = new CraftDefinitionShapeless;
   }
   else if(name == "toolrepair")
   {
      def = new CraftDefinitionToolRepair;
   }
   else if(name == "cooking")
   {
      def = new CraftDefinitionCooking;
   }
   else if(name == "fuel")
   {
      def = new CraftDefinitionFuel;
   }
   else
   {
      infostream<<"Unknown CraftDefinition name=\""<<name<<"\""<<std::endl;
                throw SerializationError("Unknown CraftDefinition name");
   }

C'est pour ça que je voulais le modifier :/ Après les CraftDefinitionFuel et autre sont dans le craftdef.h

Sinon, est-il possible de dire : Si l'objet est potions:base, le considérer comme un default:coal_lump et faire la méthode "cooking" (On utiliserait un four différent du normal)
_________________
"No matter what my heart is forever yours, and I will fight until the day I see you again" Kirito
"Le temps est disloqué ! Ô destin maudit, pourquoi suis-je né pour le remettre en place ?" Aika
Mumble gratuit : http://zenserv.fr/


Revenir en haut
Skype
Mg
Old Team

Hors ligne

Inscrit le: 03 Fév 2014
Messages: 1 589
Localisation: 12 Rue Mendeleïev
Masculin Bélier (21mar-19avr) 蛇 Serpent
Point(s): 1 589
Moyenne de points: 1,00

MessagePosté le: Jeu 19 Juin - 20:19 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

Oui, on peut faire ça. Turbogus, maintenant que je suis désentravé des chaînes d'argent, je peux t'aider encore plus. Est-ce que tu pourrais me communiquer le code complet du mod pour que je puisse voir s'il te plaît? A moins qu'il ne soit déjà sur GitHub ce qui m'étonnerai si il est instable.
_________________
Tox ID : D878DF75D369C10DC0D3A1A782636EA242AE64FD687EDBADCB679AFACA78910BCEAAECF825E0
Known as ElectronLibre@freenode ; Mg@InchraNet on IRC.
Join #minetest@freenode or #minetest-fr@freenode to get into minetest's development!


Revenir en haut
GTalk/Jabber
turbogus
Administrateur

Hors ligne

Inscrit le: 07 Nov 2012
Messages: 2 575
Localisation: sur la terre
Féminin Poissons (20fev-20mar)
Point(s): 2 376
Moyenne de points: 0,92

MessagePosté le: Sam 21 Juin - 11:49 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

Il n'y a pas de code à proprement parlé Mg, j'ai fait quelques essais dans un mod de test. Comme tu as la main sur le depot de minetestOrigin, tu pourras voir que j'ai créé un nouveau mod : "magic". Dans celui-ci tu retrouve tous les crafts des différentes potions, ainsi que les divers objets magique qui sont utilisé. Tu peux donc plaçer le code du four modifié ( ou de l'alambic ) dans le init.lua du mod magic.


Ne t'inquètes pas. même si sa plante, il s'agit d'un game mod, donc il n'est pas mis en service sur un serveur ( pour l'instant ), tu as donc tout le temps de devellopper !
_________________
pourquoi payer plus cher si minetest peut le faire?

compte google+ : turbogus me


Revenir en haut
GTalk/Jabber
Mg
Old Team

Hors ligne

Inscrit le: 03 Fév 2014
Messages: 1 589
Localisation: 12 Rue Mendeleïev
Masculin Bélier (21mar-19avr) 蛇 Serpent
Point(s): 1 589
Moyenne de points: 1,00

MessagePosté le: Sam 21 Juin - 13:10 (2014)    Sujet du message: modification du four : demande d'un petit coup de main Répondre en citant

Chouette, merci pour l'info. Jj'ai repris un projet, mais pour le moment je ne développe que l'API, une fois cette dernière définie, je développerai cet alambic Okay

EDIT : je ne vois aucun mod magic dans le dépôt actuel Shocked
_________________
Tox ID : D878DF75D369C10DC0D3A1A782636EA242AE64FD687EDBADCB679AFACA78910BCEAAECF825E0
Known as ElectronLibre@freenode ; Mg@InchraNet on IRC.
Join #minetest@freenode or #minetest-fr@freenode to get into minetest's development!


Revenir en haut
GTalk/Jabber
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 18:19 (2017)    Sujet du message: modification du four : demande d'un petit coup de main

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Serveur Steinheim Index du Forum -> MINETEST -> Actualités, developpement, mods, test et améliorations Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Panneau d’administration | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
WorkStation[electro] © theme by larme d'ange 2006
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com