Aide npc panel

  • Initiateur de la discussion Enne
  • Date de début
  • Initiateur de la discussion
E

Enne

Geek
Messages
65
Score réaction
4
Points
90
Salut !

Je suis en train de crée un npc pour mon serveur gmod mais ya un soucis il n'apparait pas dans le menu des props dans etities vous pouvais m'aider ?

garrymod - addon - npcpanel - lua -entities - npc

cl_init.lua :

include('shared.lua')

net.Receive( "NPCPANEL", function()
local Frame = vgui.Create( "DFrame" )
Frame:SetPos( 5, 5 )
Frame:SetSize( 300, 150 )
Frame:Center()
Frame:SetTitle( "" )
Frame:SetVisible( true )
Frame:SetDraggable( false )
Frame:ShowCloseButton( false )
Frame:MakePopup()
Frame.Paint = function( self, w, h ) -- 'function Frame:paint( w, h )' works too
draw.RoundedBox( 10, 0, 0, w, h, Color( 0,102,50,200 ) ) -- Draw a red box instead of the frame

end





local Button = vgui.Create( "DButton", Frame )
Button:SetText( "Workshop" )
Button:SetTextColor( Color( 255,255,255 ) )
Button:SetPos( 150, 50 )
Button:SetSize( 100, 30 )
Button.Paint = function( self, w, h )
draw.RoundedBox( 5, 0, 0, w, h, Color( 0,145,65 ) )
self:SetFontInternal( "HudHintTextLarge" )
self:SetFGColor( Color( 255, 255, 255 ) )
end


local Button = vgui.Create( "DButton", Frame )
Button:SetText( "Boutique" )
Button:SetTextColor( Color( 255, 255, 255 ) )
Button:SetPos( 40, 50)
Button:SetSize( 100, 30 )
Button.Paint = function( self, w, h )
draw.RoundedBox( 5, 0, 0, w, h, Color( 0,145,65 ) )
self:SetFontInternal( "HudHintTextLarge" )
self:SetFGColor( Color( 255, 255, 255 ) )

end

local Button = vgui.Create( "DButton", Frame )
Button:SetText( "Fermer" )
Button:SetTextColor( Color( 255,255,255 ) )
Button:SetPos( 90, 85)
Button:SetSize( 100, 30 )
Button.Paint = function( self, w, h )
draw.RoundedBox( 5, 0, 0, w, h, Color( 128,0,0 ) )
self:SetFontInternal( "HudHintTextLarge" )
self:SetFGColor( Color( 255, 255, 255 ) )

end
function Button:DoClick()
Frame:Remove()
end

local Button = vgui.Create( "DButton", Frame )
Button:SetText( "Workshop | Boutique" )
Button:SetTextColor( Color( 255,255,255 ) )
Button:SetPos( 0, 0)
Button:SetSize( 300, 30 )
Button.Paint = function( self, w, h )
draw.RoundedBox( 0, 0, 0, w, h, Color( 128,0,0 ) )
self:SetFontInternal( "HudHintTextLarge" )
self:SetFGColor( Color( 255, 255, 255 ) )

end


hook.Add("PostDrawOpaqueRenderables", "NPCPANEL", function()
for _, ent in pairs (ents.FindByClass("npc")) do
if ent:GetPos():Distance(LocalPlayer():GetPos()) < 500 then
local Ang = ent:GetAngles()

Ang:RotateAroundAxis( Ang:Forward(), 90)
Ang:RotateAroundAxis( Ang:Right(), -90)

cam.Start3D2D(ent:GetPos()+ent:GetUp()*76, Ang, 0.10)
draw.SimpleTextOutlined( "NPC PANEL", "my_npc", 0, 0, Color(255,255,255,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER, 0, Color(255,255,255,255) )
cam.End3D2D()
end
end
end)

-- NOUS ALLONS CRÉER UNE FONT UNIQUEMENT POUR LE NPC AFIN DE POUVOIR MODIFIER LA TAILLE DU TEXTE --

surface.CreateFont( "my_npc", { --< Nom que nous allons placer dans le DRAWSIMPLETEXTOUTLINED juste au dessus.
font = "Arial",
extended = true,
size = 50,
weight = 1000
} )


init.lua :

AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")

include('shared.lua')

function ENT:Initialize()
self:SetModel("models/Humans/Group01/male_07.mdl") --< Modifier ici le skin de votre person
self:SetHullType(HULL_HUMAN) --< NE PAS TOUCHER
self:SetHullSizeNormal() --< NE PAS TOUCHER
self:SetNPCState(NPC_STATE_SCRIPT) --< NE PAS TOUCHER
self:SetSolid(SOLID_BBOX) --< NE PAS TOUCHER
self:CapabilitiesAdd(CAP_ANIMATEDFACE) --< NE PAS TOUCHER
self:SetUseType(SIMPLE_USE) --< NE PAS TOOUCHER
self:DropToFloor() --< NE PAS TOUCHER
self:SetMaxYawSpeed(90) --< NE PAS TOUCHER
end

function ENT:OnTakeDamage()
return false
end

util.AddNetworkString( "NPCPANEL" ) --< Nom de la fonction ce trouvant dans le CL_INIT

function ENT:AcceptInput( name, activator, caller )
if name == "Use" and caller:IsPlayer() then --< Verifie si USE et ulisier par un joueur
net.Start("NPCPANEL") --< Nom de la fonction ce trouvant dans le CL_INIT
net.Send(caller) --< Envoie l'information au serveur
end
end

shared.lua :

ENT.Base = "base_ai"
ENT.Type = "ai"
ENT.PrintName = "Workshop|Boutique"
ENT.Category = "My NPC"
ENT.Instructions = "Approchez vous du NPC et actionnez votre touche [USE]"
ENT.Spawnable = true
ENT.AdminSpawnable = true
ENT.AutomaticFrameAdvance = true

function ENT:SetAutomaticFrameAdvance(byUsingAnim)
self.AutomaticFrameAdvance = byUsingAnim
end








Merci de votra ide !
 
  • Initiateur de la discussion
E

Enne

Geek
Messages
65
Score réaction
4
Points
90
uppp
 
Surevil

Surevil

Geek suprême
Messages
133
Score réaction
47
Points
110
Si tu pouvais au moins mettre une balise de code t'aurais plus de chance que les gens t'aident.
 
  • Initiateur de la discussion
E

Enne

Geek
Messages
65
Score réaction
4
Points
90
Surevil à dit:
Si tu pouvais au moins mettre une balise de code t'aurais plus de chance que les gens t'aident.
Merci mais j'abandonne ce truc c'est trop dur ! :eek:
 
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
xDD
 
  • Initiateur de la discussion
E

Enne

Geek
Messages
65
Score réaction
4
Points
90
NoaGamingFR à dit:
Après avoir écouter 55555 fois la vidéo de Laurent j'en ai marre :D
 
  • Initiateur de la discussion
E

Enne

Geek
Messages
65
Score réaction
4
Points
90
upppp
 
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
T'abandonne ou tu continue faut savoir ?
Les ups sont autorisés, à partir de 5jours mais ton sujet n'as que 21h.
 
  • Initiateur de la discussion
E

Enne

Geek
Messages
65
Score réaction
4
Points
90
Ah ! En effet je continu mon "projet" mais je crois savoir le soucis je suis en test sur les serveurs pourris gratuits c'est peut être ça je sais pas encore je mêne l'ênquête
 
  • J'aime
Réactions: NoaGamingFR
fifoux595600

fifoux595600

Geek
Messages
8
Score réaction
0
Points
80
ton include ("shared.lua") est sous ' ' sa ma fait le même souçis
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 273
Score réaction
9 685
Points
1 845
fifoux595600 à dit:
ton include ("shared.lua") est sous ' ' sa ma fait le même souçis
évite de faire du up quand le topic est aussi vieux ;)
1728405938611.png
 
fifoux595600

fifoux595600

Geek
Messages
8
Score réaction
0
Points
80
Yoh Sambre ♪ à dit:
évite de faire du up quand le topic est aussi vieux ;)
Regarde la pièce jointe 72863
sa peut toujours servir à celui qui regarde les mêmes vidéos et le même problème ^^
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 273
Score réaction
9 685
Points
1 845
fifoux595600 à dit:
sa peut toujours servir à celui qui regarde les mêmes vidéos et le même problème ^^
a ce compte go up l'intégralité des topic liée a un problème, ça va faire une vague genre tsunamis
 
fifoux595600

fifoux595600

Geek
Messages
8
Score réaction
0
Points
80
Yoh Sambre ♪ à dit:
a ce compte go up l'intégralité des topic liée a un problème, ça va faire une vague genre tsunamis
Oui mais comme la , la personne n'a pas eu de réponse je suppose qu'elle a abandonné qui c'est , il recommencera peut être , et au moin , il a des réponses même si les topic datent , certains cherche des réponses , sur google elles seront présentent ^^
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 273
Score réaction
9 685
Points
1 845
fifoux595600 à dit:
Oui mais comme la , la personne n'a pas eu de réponse je suppose qu'elle a abandonné qui c'est , il recommencera peut être , et au moin , il a des réponses même si les topic datent , certains cherche des réponses , sur google elles seront présentent ^^
c'est ce que je dit mon pote , il existe des centaines de topic sans réponse.. go les up BlobThinkEyes
 
Discord d'entraide
Rejoignz-nous sur Discord