Certaine fonction pour un npc

  • Initiateur de la discussion
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
Salut, je voudrais la fonction pour que mon npc ne soit accesible que par certain job
Sa serai sympas :D
 
Zozo147

Zozo147

Helpeur Divin
Messages
1 814
Score réaction
848
Points
430
EglyKozz à dit:
Salut, je voudrais la fonction pour que mon npc ne soit accesible que par certain job
Sa serai sympas :D
Dans init.lua vous mettez ceci :

Code:
function ENT:AcceptInput( Name, Activator, Caller ) if Name == "Use" and Caller:IsPlayer() and Caller:Team() == TEAM_EXEMPLE or Caller:Team() == TEAM_EXEMPLEDEUX then -- Votre Fonction end
end
Et dans ENT:Initialize n'oubliez pas de mettre self:(SIMPLE_USE)
 
  • Initiateur de la discussion
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
Zozo147 à dit:
Dans init.lua vous mettez ceci :

Code:
function ENT:AcceptInput( Name, Activator, Caller ) if Name == "Use" and Caller:IsPlayer() and Caller:Team() == TEAM_EXEMPLE or Caller:Team() == TEAM_EXEMPLEDEUX then -- Votre Fonction end
end
Et dans ENT:Initialize n'oubliez pas de mettre self:(SIMPLE_USE)
Pour la fonction je met quoi ?
 
  • Initiateur de la discussion
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
J'ai ça :
Code:
AddCSLuaFile( "cl_init.lua" )
AddCSLuaFile( "shared.lua" )
include('shared.lua')
function ENT:Initialize( ) self:SetModel( "models/gman_high.mdl" ) self:SetHullType( HULL_HUMAN ) self:SetHullSizeNormal( ) self:SetNPCState( NPC_STATE_SCRIPT ) self:SetSolid( SOLID_BBOX ) self:CapabilitiesAdd( CAP_ANIMATEDFACE ) self:SetUseType( SIMPLE_USE ) self:DropToFloor() self:SIMPLE_USE self:SetMaxYawSpeed( 90 )
end
function ENT:OnTakeDamage() return false --<-- SI TRUE ALORS VOTRE NPC PREND DES DEGATS
end
function ENT:AcceptInput( Name, Activator, Caller ) if Name == "Use" and Caller:IsPlayer() then umsg.Start("GIVE", Caller) umsg.End() end
end
Et je rajoute comment parce'que j'ai déjà la fonction AcceptInput
@Zozo147
 
Dernière édition:
  • Initiateur de la discussion
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
Zozo147

Zozo147

Helpeur Divin
Messages
1 814
Score réaction
848
Points
430
EglyKozz à dit:
Et si je veux mettre plusieurs team ?
Y a beaucoup de choses longues à expliquer du coup essaye de regarder comment est fait l'entité ( et il y a justement une fonction pour restrict à certaines teams avec une table ) :

https://github.com/n00bmobile/Police-Armory-System/tree/master/lua/entities/police_armory
 
  • Initiateur de la discussion
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
Zozo147 à dit:
Y a beaucoup de choses longues à expliquer du coup essaye de regarder comment est fait l'entité ( et il y a justement une fonction pour restrict à certaines teams avec une table ) :

https://github.com/n00bmobile/Police-Armory-System/tree/master/lua/entities/police_armory
Ok merci :)
 
  • Initiateur de la discussion
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
Zozo147 à dit:
Y a beaucoup de choses longues à expliquer du coup essaye de regarder comment est fait l'entité ( et il y a justement une fonction pour restrict à certaines teams avec une table ) :

https://github.com/n00bmobile/Police-Armory-System/tree/master/lua/entities/police_armory
Faut que je regarde dans le init.lua ?
 
Zozo147

Zozo147

Helpeur Divin
Messages
1 814
Score réaction
848
Points
430
  • Initiateur de la discussion
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
Zozo147 à dit:
Oui et aussi dans config.lua
Ok ok et encore une petite question x)
Code:
 if Name == "Use" and Caller:IsPlayer() and Caller:Team() == TEAM_EXEMPLE or Caller:Team() == TEAM_EXEMPLEDEUX then
a TEAM_EXEMPLEDEUX je met une deuxième team autorisée ou la même que la première ?
 
Zozo147

Zozo147

Helpeur Divin
Messages
1 814
Score réaction
848
Points
430
EglyKozz à dit:
Ok ok et encore une petite question x)
Code:
 if Name == "Use" and Caller:IsPlayer() and Caller:Team() == TEAM_EXEMPLE or Caller:Team() == TEAM_EXEMPLEDEUX then
a TEAM_EXEMPLEDEUX je met une deuxième team autorisée ou la même que la première ?
C'est un exemple pour dire que si vous avez une deuxième team à mettre vous pouvez mais si vous en avez pas vous pouvez retirer de "or" à "deux" mais je perso je préfère faire comme dans l'exemple que j'ai donné car c'est plus facile de rajouter / supprimer des teams
 
  • Initiateur de la discussion
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
Zozo147 à dit:
C'est un exemple pour dire que si vous avez une deuxième team à mettre vous pouvez mais si vous en avez pas vous pouvez retirer de "or" à "deux" mais je perso je préfère faire comme dans l'exemple que j'ai donné car c'est plus facile de rajouter / supprimer des teams
Ah ok j'ai compris et si j'en ai trois je fait ça ?
Code:
 if Name == "Use" and Caller:IsPlayer() and Caller:Team() == TEAM_EXEMPLE or Caller:Team() == TEAM_EXEMPLEDEUX or Caller:Team() == TEAM_EXEMPLETROIS then
 
Zozo147

Zozo147

Helpeur Divin
Messages
1 814
Score réaction
848
Points
430
EglyKozz à dit:
Ah ok j'ai compris et si j'en ai trois je fait ça ?
Code:
 if Name == "Use" and Caller:IsPlayer() and Caller:Team() == TEAM_EXEMPLE or Caller:Team() == TEAM_EXEMPLEDEUX or Caller:Team() == TEAM_EXEMPLETROIS then
Oui
 
  • Initiateur de la discussion
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
Zozo147 à dit:
Ok je vais faire comme ça je modifierai quand j'en aurai besoin sa prend pas beaucoup de temps :)
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 288
Score réaction
9 687
Points
1 845
Je sent bien le spam du mot "or" si jamais y'a 30 jobs dans le fichier NinjaTroll
 
  • J'aime
Réactions: Zozo147
Zozo147

Zozo147

Helpeur Divin
Messages
1 814
Score réaction
848
Points
430
Yoh Sambre ♪ à dit:
Je sent bien le spam du mot "or" si jamais y'a 30 jobs dans le fichier NinjaTroll
Justement c'est pour ça que je conseil d'utiliser les tables avec table.HasValue() xD
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 288
Score réaction
9 687
Points
1 845
Zozo147 à dit:
Justement c'est pour ça que je conseil d'utiliser les tables avec table.HasValue() xD
Le plus logique aurait étais un truc genre "or x30" & paf ! Tu fout les teams à la suite
 
Zozo147

Zozo147

Helpeur Divin
Messages
1 814
Score réaction
848
Points
430
Yoh Sambre ♪ à dit:
Le plus logique aurait étais un truc genre "or x30" & paf ! Tu fout les teams à la suite
Bah techniquement ça revient à la même chose qu'utiliser table.HasValue et de tout mettre dans un tableau se situant dans un fichier config et c'est plus pratique ^^
 
  • Initiateur de la discussion
EglyKozz

EglyKozz

Psychopathe
Messages
1 627
Score réaction
359
Points
310
Yoh Sambre ♪ à dit:
Je sent bien le spam du mot "or" si jamais y'a 30 jobs dans le fichier NinjaTroll
Mdr nan tkt c'est juste pour les policier donc max 4-5
 
  • J'aime
Réactions: Yoh Sambre ♪
Discord d'entraide
Rejoignz-nous sur Discord