- Initiateur de la discussion
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
Sa serai sympas
Dans init.lua vous mettez ceci :EglyKozz à dit:Salut, je voudrais la fonction pour que mon npc ne soit accesible que par certain job
Sa serai sympas
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
Pour la fonction je met quoi ?Zozo147 à dit:Dans init.lua vous mettez ceci :
Et dans ENT:Initialize n'oubliez pas de mettre selfSIMPLE_USE)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
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 si je veux mettre plusieurs team ?EglyKozz à dit:Pour la fonction je met quoi ?
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 ) :EglyKozz à dit:Et si je veux mettre plusieurs team ?
Ok merciZozo147 à 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 à 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
Oui et aussi dans config.luaEglyKozz à dit:Faut que je regarde dans le init.lua ?
Ok ok et encore une petite question x)Zozo147 à dit:Oui et aussi dans config.lua
if Name == "Use" and Caller:IsPlayer() and Caller:Team() == TEAM_EXEMPLE or Caller:Team() == TEAM_EXEMPLEDEUX then
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 teamsEglyKozz à dit:Ok ok et encore une petite question x)
a TEAM_EXEMPLEDEUX je met une deuxième team autorisée ou la même que la première ?Code:if Name == "Use" and Caller:IsPlayer() and Caller:Team() == TEAM_EXEMPLE or Caller:Team() == TEAM_EXEMPLEDEUX then
Ah ok j'ai compris et si j'en ai trois je fait ça ?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
if Name == "Use" and Caller:IsPlayer() and Caller:Team() == TEAM_EXEMPLE or Caller:Team() == TEAM_EXEMPLEDEUX or Caller:Team() == TEAM_EXEMPLETROIS then
OuiEglyKozz à 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
Ok je vais faire comme ça je modifierai quand j'en aurai besoin sa prend pas beaucoup de tempsZozo147 à dit:
Justement c'est pour ça que je conseil d'utiliser les tables avec table.HasValue() xDYoh Sambre ♪ à dit:Je sent bien le spam du mot "or" si jamais y'a 30 jobs dans le fichier
Le plus logique aurait étais un truc genre "or x30" & paf ! Tu fout les teams à la suiteZozo147 à dit:Justement c'est pour ça que je conseil d'utiliser les tables avec table.HasValue() xD
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 ^^Yoh Sambre ♪ à dit:Le plus logique aurait étais un truc genre "or x30" & paf ! Tu fout les teams à la suite
Mdr nan tkt c'est juste pour les policier donc max 4-5Yoh Sambre ♪ à dit:Je sent bien le spam du mot "or" si jamais y'a 30 jobs dans le fichier