STEAM GROUP
Entraide GMod - Lua - modèles - EntrdGmod.fr
STEAM GROUP
Entraide GMod - Lua - modèles - EntrdGmod.fr
14
IN-GAME
75
ONLINE
Founded
March 9, 2016
Language
French
This topic has been locked
Nogitsu Jun 15, 2018 @ 12:03am
[Résolu] Ajout d'entité par autorun
Bonjour les génis,
je suis en train d'essayer d'ajouter un système de création d'entité in game, où je ferais un luarun d'un .txt pour ajouter les entitées créées et sauvegardées, mais je souhaiterais savoir la fonction à utiliser pour ajouter l'entité directement via l'autorun.
Merci d'avance
Last edited by Nogitsu; Jun 16, 2018 @ 7:01am
< >
Showing 1-11 of 11 comments
Diablos Jun 15, 2018 @ 2:00am 
Bonjour,
J'ai cru comprendre que tu voulais lier le code Lua et les enregistrements de fichiers .txt. Dans ce cas, la fonction RunString[wiki.garrysmod.com] te permettra d'exécuter un bout de code. Il faut cependant stocker ce code dans une variable globale.
Par exemple, dans le fichier .txt nous avons function(ply) return ply:IsAdmin() end. Le code côté Lua devra être RunString("diablosTest = " .. infos) avec la variable infos qui représente le bout du fichier .txt ci-dessus.

Ainsi, tu as la possibilité de lancer du texte pur (présent dans le .txt) avec cette fonction.

Si c'est ce que tu demandais, parfait..
Sinon, je n'ai pas compris ce que tu recherches exactement à faire.. (n'hésite pas à illustrer avec du code).

Merci bien!
Nogitsu Jun 15, 2018 @ 2:10am 
Je savais déjà comment lier les txt avec le RunString, ma question est, que dois-je mettre pour ajouter une entitée à gmod, par exemple une fonction du genre
gmod.declareEntity("test_class")
à mettre dans le shared.txt de l'entitée sauvegardée dans la data
Diablos Jun 15, 2018 @ 5:25am 
Pour ajouter une entité à gmod, on fait (côté serveur):
local ent = ents.Create("test_class") if not IsValid(ent) then return end ent:SetPos(ply:GetPos()) ent:SetModel("models/test_class/test_class.mdl") ent:Spawn() ent:Activate()

Voir fonction ents.Create[wiki.garrysmod.com]. La fonction Spawn[wiki.garrysmod.com] fera apparaître l'entité à la position définie par SetPos[wiki.garrysmod.com] et avec le modèle définie par SetModel[wiki.garrysmod.com]. La fonction Activate[wiki.garrysmod.com] permet d'assurer l'activation de toutes les bases de l'entité (en mettant à jour la physique notamment).

J'espère t'avoir aidé,
Diablos
Nogitsu Jun 15, 2018 @ 6:49am 
J'ai vraiment un soucis d'expression, par ajouter une entitée j'entends déclarer et non créer :steamsad:
Diablos Jun 15, 2018 @ 7:11am 
Et je ne comprends toujours pas ta demande.... peut-être un problème de compréhension de ma part ?
Quel intérêt de "déclarer l'entité", que comptes-tu faire concrètement et à quoi ça te servirait ?
En dehors des fichiers .txt, comment faire ce que tu recherches ? Je demande ça pour savoir si le problème provient du fait que tu ne sais pas comment faire généralement (tu ne connais pas la fonction adéquate) ou si tu n'y arrives pas à cause des fichiers .txt.

Dans tous les cas, j'aimerais comprendre ce que tu cherches à faire, lol ! :steammocking:
Nogitsu Jun 15, 2018 @ 7:36am 
Je suis en train de faire un système de nourriture, et j'aimerais autoriser les joueurs à créer de la nourriture (entitées) sur les bases (boissons et nourriture), et sauvegarder leurs entitées dans un .txt pour qu'à chaque GM:Initialize() je puisse prendre en compte les entitées comme des entities de lua/entities et les avoir dans le spawn menu
Diablos Jun 15, 2018 @ 1:35pm 
Je ne suis pas sûr que cela soit possible... Il faudrait demander au pro Momo (bien que devenu inactif sur Garry's Mod tout comme moi en fait) mais je crois que ce n'est simplement pas possible. La fonction RunString permet d'exécuter une fonction ou quelque chose de similaire afin de la stocker dans une variable: or ici tu demandes de CRÉER une fonction, ce qui ne devrait pas être possible avec les outils proposés par Garry's Mod...
Je peux me tromper, mais je doute très fortement que tu puisses "virtualiser" un shared.lua (si c'est ce que tu demandes, car ton besoin est très très particulier). Cependant, mon alternative avec le ents.Create qui se créé (lors de l'appui sur un bouton sur un panel par exemple) avec une entité valide (et le modèle qui change en fonction de la boisson / nourriture) serait largement possible...

En relisant ton message, j'affirme ma thèse de nouveau: je ne doute pas du fait que c'est impossible. Ou alors, ce serait réellement la surprise du jour....
Last edited by Diablos; Jun 15, 2018 @ 1:35pm
Nogitsu Jun 15, 2018 @ 1:39pm 
Il me semble justement que ça existe, en attente du pro
La création d'une classe d'entité s'effectue avec scripted_ents.Register()[wiki.garrysmod.com]
Nogitsu Jun 16, 2018 @ 7:01am 
Merci ! Sujet clos et résolu par notre dieu absolu.
Diablos Jun 16, 2018 @ 9:22am 
Surprise du jour en date du 16/06
< >
Showing 1-11 of 11 comments
Per page: 1530 50