GLua: Comment faire en sorte qu'un NPC (Entité) ne flotte pas

  • Initiateur de la discussion
Sueezen

Sueezen

Geek suprême
Messages
451
Score réaction
103
Points
160
Bonjour, je vous explique je viens de créer une entité et j'aimerais que celle-ci ne flotte pas :)

comme ceci:



Voici mes fichiers:
Init.lua
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include("shared.lua")
util.AddNetworkString("AnonymousRollFrame")
util.AddNetworkString("AnonymousAction")
util.AddNetworkString("RollAction")

-- Côté Serveur

function ENT:SpawnFunction(ply, tr, classname)
if !tr.Hit then return end
local SpawnPos = tr.HitPos + tr.HitNormal * 16
local SpawnAng = ply:EyeAngles()
SpawnAng.p = 0
SpawnAng.y = SpawnAng.y + 180
local ent = ents.Create(classname)
ent:SetPos(SpawnPos)
ent:SetAngles( SpawnAng )
ent:Spawn()
ent:Activate()
return ent
end

function ENT:Use(act, ply)
if IsValid(ply) and ply:IsPlayer() then
net.Start("AnonymousRollFrame")
net.Send(ply)
end
end

net.Receive("AnonymousAction", function(len, ply)
local anomsg = net.ReadString()
for _, ply in pairs(player.GetAll()) do
ply:ChatPrint("[Anonyme] " .. anomsg)
end
end)

net.Receive("RollAction", function(len, ply)
local randomnumber = math.random(1, 100)
for _, ply in pairs(player.GetAll()) do
ply:ChatPrint("Le nombre est " .. randomnumber .. ".")
end
end)
Shared.lua
ENT.Base = "base_ai"
ENT.Type = "anim"
ENT.PrintName = "NPC Anonymous Roll"
ENT.Category = "Sueezen Script"
ENT.Instructions = ""
ENT.Spawnable = true

function ENT:Initialize()
self:SetModel("models/gman.mdl")
self:SetSolid(SOLID_BBOX)
if SERVER then self:SetUseType(SIMPLE_USE) end
end
 
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
Colles la au sol BatChest
 
  • J'aime
Réactions: Yoh Sambre ♪
  • Initiateur de la discussion
Sueezen

Sueezen

Geek suprême
Messages
451
Score réaction
103
Points
160
Oui sauf que les pieds ne touche pas le sol et c'est bizarre un NPC volé :(
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
Je comprend pas pourquoi tu utilise la function ENT:Spawnfunction sachant que normalement y en a pas besoin sur un NPC.
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
Et aussi pourquoi tu utilise la fonction INITIALIZE dans le shared.lua ? WTF
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
Et aussi pourquoi tu utilise la fonction INITIALIZE dans le shared.lua ? WTF
Vas apprendre à dev toi.....
 
  • J'aime
Réactions: Malcolm
RazzMo

RazzMo

Geek suprême
Messages
314
Score réaction
192
Points
120
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
Vas apprendre à dev toi.....
Bah excuse moi mais j'ai jamais utiliser sa dans le shared.lua mais plutot dans le init en fait -_-
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
Bah excuse moi mais j'ai jamais utiliser sa dans le shared.lua mais plutot dans le init en fait -_-
Bah vas revoir t'es bases alors, n'essaye pas de donner des conseils si tu t'y connais pas,

Client : Coté client ( le joueur peut accéder aux fichiers ).
Server : Coté serveur ( le joueur ne peut pas accéder aux fichiers ).
Shared : Coté partagé ( donc tu peut y mettre du serveur en mettant un "if ( SERVER ) then", le joueur peut accéder aux fichiers ).

Ou sinon code blue a fait un tuto :

Au passage il a totalement le droit d'utiliser la function "Spawnfunction" sur un npc.
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
Bah vas revoir t'es bases alors, n'essaye pas de donner des conseils si tu t'y connais pas,

Client : Coté client ( le joueur peut accéder aux fichiers ).
Server : Coté serveur ( le joueur ne peut pas accéder aux fichiers ).
Shared : Coté partagé ( donc tu peut y mettre du serveur en mettant un "if ( SERVER ) then", le joueur peut accéder aux fichiers ).

Ou sinon code blue a fait un tuto :

Au passage il a totalement le droit d'utiliser la function "Spawnfunction" sur un npc.
A quel moment j'ai dit qu'on pouvais pas ?
Et je te retourne cette question pour :
"Au passage il a totalement le droit d'utiliser la function "Spawnfunction" sur un npc."
?
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
A quel moment j'ai dit qu'on pouvais pas ?
Et je te retourne cette question pour :
"Au passage il a totalement le droit d'utiliser la function "Spawnfunction" sur un npc."
?
Bah elle peut être utile la function, alors que toi tu a cité l'inverse.
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
Bah elle peut être utile la function, alors que toi tu a cité l'inverse.
Elle peut-être utile en quoi? o_O
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
Elle peut-être utile en quoi? o_O
Bah lis la description : https://wiki.garrysmod.com/page/ENTITY/SpawnFunction
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
Bah lis la description : https://wiki.garrysmod.com/page/ENTITY/SpawnFunction
Moi je te parle pas de sa mais d'utiliser le INITIALIZE dans le shared
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
Moi je te parle pas de sa mais d'utiliser le INITIALIZE dans le shared
Shared = Coté PARTAGÉ, tes compliqué comme mec
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
Shared = Coté PARTAGÉ, tes compliqué comme mec
Oui mais sa change quoi de le mettre dans le SHARED?
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
Oui mais sa change quoi de le mettre dans le SHARED?
Bah rien justement, il a totalement le droit de l'utiliser dans le shared Oo
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
Bah rien justement, il a totalement le droit de l'utiliser dans le shared Oo
Bah voilà
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
Bah pourquoi tu dis : "Et aussi pourquoi tu utilise la fonction INITIALIZE dans le shared.lua ? WTF"
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
Bah pourquoi tu dis : "Et aussi pourquoi tu utilise la fonction INITIALIZE dans le shared.lua ? WTF"
Bah c'est pas commun ^^
 
  • Initiateur de la discussion
Sueezen

Sueezen

Geek suprême
Messages
451
Score réaction
103
Points
160
Bonjour, je répond à vos questions concernant le ENT:Initialize :)
Elle permet de mettre un SetModel ainsi de modifier la solidité et le type d'utilisation qui est pour moi très important pour tant je n'arrive pas a corriger mon erreur car vous m'avez pas aider :)
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
Sueezen à dit:
Bonjour, je répond à vos questions concernant le ENT:Initialize :)
Elle permet de mettre un SetModel ainsi de modifier la solidité et le type d'utilisation qui est pour moi très important pour tant je n'arrive pas a corriger mon erreur car vous m'avez pas aider :)
Euh, on sait a quoi sa sert, juste on l'utilise surtout dans le init.lua (enfin pour ma part en tout cas)
Bref, pour t'aider:
Code:
function ENT:SpawnFunction(ply, tr, classname)
if !tr.Hit then return end
local SpawnPos = tr.HitPos + tr.HitNormal * 16
local SpawnAng = ply:EyeAngles()
SpawnAng.p = 0
SpawnAng.y = SpawnAng.y + 180
local ent = ents.Create(classname)
ent:SetPos(SpawnPos)
ent:SetAngles( SpawnAng )
ent:Spawn()
ent:Activate()
return ent
end
Joue avec cette variable:
Code:
local SpawnPos = tr.HitPos + tr.HitNormal * 16
en baissant le tr.HitNormal * 16 (essaye de le mettre a 10, enfin fait des essais) ;)
 
edouard292

edouard292

Geek suprême
Messages
423
Score réaction
108
Points
150
Oh ma gaad pas possible têtu comme mec @WabelGame Keepo
 
  • J'aime
Réactions: slownls
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
edouard292 à dit:
Oh ma gaad pas possible têtu comme mec @WabelGame Keepo
Qu'est-ce que tu dit toi? FailFish
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 289
Score réaction
9 688
Points
1 845
edouard292 à dit:
Oh ma gaad pas possible têtu comme mec @WabelGame Keepo
Dixit le mec qui fournissait y'a pas si longtemps des codes a l'optimisation/mise en forme douteuse hein :rolleyes:

xoxoxoxo juste de la poudre spécial taquinerie <3
 
  • J'aime
Réactions: Wabel
edouard292

edouard292

Geek suprême
Messages
423
Score réaction
108
Points
150
Connais tu l'ironie ? TriHard:p
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 289
Score réaction
9 688
Points
1 845
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Pourquoi un SpawnFunction ?
Je pense que t'en as pas besoin.
C'est peut-être ça mais bon ça définit juste l'entité au spawn après normalement tu peux le bouger.
J'ai remarqué que certains devs ont aussi ce problème... Mais bref. Si vraiment besoin : https://wiki.garrysmod.com/page/Entity/DropToFloor même si je n'ai jamais eu à l'utiliser pour le spawn d'un npc
 
Discord d'entraide
Rejoignz-nous sur Discord