[GLua] Problème d'interaction sur une entité.

  • Initiateur de la discussion Maxime Erterangs
  • Date de début
  • Initiateur de la discussion
Maxime Erterangs

Maxime Erterangs

Nouveau né
Messages
10
Score réaction
1
Points
20
Bonjour,

Aujourd'hui je suis là car j'ai un problème avec mon script.
En effet, quand je presse ma touche +USE (E), mon entité n'ouvre pas le menu que je lui ai assigné.
Pourtant, à la place du menu, j'ai juste mis un
Code:
print("Reçu")
et sa fonctionnait.

Voici mon cl_init.lua:
Code:
include("shared.lua")
function ENT:Draw() self:DrawModel()
end
net.Receive("NPCShopFrame", function(len, ply) local function OpenNPCShopFrame() local scrw, scrh = ScrW(), ScrH() local npcshopframe = vgui.Create("DFrame") npcshopframe:SetPos(scrw * .3, scrh * .2) npcshopframe:SetSize(200, 200) npcshopframe:SetTitle("") npcshopframe:ShowCloseButton(false) function npcshopframe:Paint(w, h) draw.RoundedBox(0, 0, 0, w, h, Color(100, 100, 100)) draw.RoundedBox(0, 0, 0, w, 40, Color(50, 50, 50)) end npcshopframe:MakePopup() local npcshopclose = vgui.Create("DImageButton", npcshopframe) npcshopclose:SetPos(170, 10) npcshopclose:SetSize(20, 20) npcshopclose:SetImage("icon16/cross.png") npcshopclose.DoClick = function() npcshopframe:Close() end local npcshopheader = vgui.Create("DLabel", npcshopframe) npcshopheader:SetPos(10, 10) npcshopheader:SetSize(150, 20) npcshopheader:SetText("General Store") local npcshopentry = vgui.Create("DTextEntry", npcshopframe) npcshopentry:SetPos(10, 60) npcshopentry:SetSize(180, 20) npcshopentry:SetText("") function npcshopentry:Paint(w, h) draw.RoundedBox(0, 0, 0, w, h, Color(250, 250, 250)) draw.RoundedBox(0, 1, 1, w-2, h-2, Color(200, 200, 200)) self:DrawTextEntryText(Color(10, 10, 10), Color(10, 10, 10), Color(255, 255, 255)) end local buybutton = vgui.Create("DButton", npcshopframe) buybutton:SetPos(50, 100) buybutton:SetSize(100, 30) buybutton:SetText("Shop") buybutton.DoClick = function() end function buybutton:Paint(w, h) draw.RoundedBox(0, 0, 0, w, h, Color(250, 250, 250)) draw.RoundedBox(0, 1, 1, w-2, h-2, Color(200, 200, 200)) end local buybutton = vgui.Create("DButton", npcshopframe) buybutton:SetPos(50, 150) buybutton:SetSize(100, 30) buybutton:SetText("Buy") buybutton.DoClick = function() end function buybutton:Paint(w, h) draw.RoundedBox(0, 0, 0, w, h, Color(250, 250, 250)) draw.RoundedBox(0, 1, 1, w-2, h-2, Color(200, 200, 200)) end end
end)
Mon init.lua:
Code:
util.AddNetworkString("NPCShopFrame")
util.AddNetworkString("NPCShopAction")
util.AddNetworkString("BuyAction")
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include("shared.lua")
function ENT:SpawnFunction(ply, tr, classname) if !tr.Hit then return end local SpawnPos = tr.HitPos + tr.HitNormal * 16 local ent = ents.Create(classname) ent:SetPos(SpawnPos) ent:Spawn() ent:Activate() return ent
end
function ENT:Use(act, ply) if IsValid(ply) and ply:IsPlayer() then net.Start("NPCShopFrame") net.Send(ply) end
end
Mon shared.lua:
Code:
ENT.Base = "base_ai"
ENT.Type = "anim"
ENT.PrintName = "NPC Shop"
ENT.Category = "Husky'zz Scripts"
ENT.Instructions = "Just press 'E' on the NPC."
ENT.Spawnable = true
function ENT:Initialize() self:SetModel("models/gman.mdl") self:SetSolid(SOLID_BBOX) if SERVER then self:SetUseType(SIMPLE_USE) end
end
PS: Je suis un débutant et mon script est un NPC qui vend des objets (Je ne pense pas que ce soit si difficile que ça).

Merci beaucoup d'avance.
 
  • Banni
A

Agera

Bambi
Messages
65
Score réaction
6
Points
30
Utilise plutôt

https://wiki.garrysmod.com/page/ENTITY/AcceptInput
 
  • J'aime
Réactions: slownls
ehtr_sky

ehtr_sky

Geek suprême
Messages
271
Score réaction
87
Points
100
Tu as créer la fonction
OpenNPCShopFrame
sauf que tu ne l'appel jamais donc normal
 
  • Initiateur de la discussion
Maxime Erterangs

Maxime Erterangs

Nouveau né
Messages
10
Score réaction
1
Points
20
Ah ok, je vais essayer...
 
Discord d'entraide
Rejoignz-nous sur Discord