Problème avec code Glua

  • Initiateur de la discussion
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
Bonjour, je me suis amuser avec un petit code pour activer et désactiver un son lors de l'appuie / relachement de notre push-to-talk uniquement pour la TEAM_POLICE et TEAM_CHIEF mais malheuresement, cela ne fonctionne pas et je ne comprend pas vraiment où est mon erreur.

Voici le code :

Code:
local TeamAllowed = { [TEAM_POLICE] = true, [TEAM_CHIEF] = true,
}
resource.AddFile( "sound/combine/voice_start.wav" )
resource.AddFile( "sound/combine/voice_end.wav" )
local function PlayerStartVoice( ply ) if not TeamAllowed[ply:Team()] then return end local client = LocalPlayer() if ( ply:IsPlayer() ) then client:EmitSound("combine/voice_start.wav") end
end
hook.Add( "PlayerStartVoice", "PlayerStartedTheirVoice", PlayerStartVoice)
local function PlayerEndVoice( ply ) if not TeamAllowed[ply:Team()] then return end local client = LocalPlayer() if ( ply:IsPlayer() ) then client:EmitSound("combine/voice_end.wav") end
end
hook.Add( "PlayerEndVoice", "PlayerEndedTheirVoice", PlayerEndVoice)

EDIT : Sans le team allowed, tout marche, mais dès que je le met, il ne fonctionne plus

En espérant que quelqu'un puisse m'aider.
Shanpagne
 
Dernière édition:
  • Initiateur de la discussion
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
Inj3 à dit:
Code:
local policetbl = { [TEAM_POLICE] = true, [TEAM_CHIEF] = true,
}
resource.AddFile( "sound/combine/voice_start.wav" )
resource.AddFile( "sound/combine/voice_end.wav" )
local function PlayerStartVoice( ply )
if not ply then return end if policetbl[ply:Team()] then ply:EmitSound("combine/voice_start.wav") end
end
hook.Add( "PlayerStartVoice", "PlayerStartedTheirVoice", PlayerStartVoice)
local function PlayerEndVoice( ply )
if not ply then return end if policetbl[ply:Team()] then ply:EmitSound("combine/voice_end.wav")
end
end
hook.Add( "PlayerEndVoice", "PlayerEndedTheirVoice", PlayerEndVoice)
Merci beaucoup de ton aide, mais cela ne marche pas non plus :c
 
  • Initiateur de la discussion
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
Inj3 à dit:
Ça marche.
C'est juste les sons que tu émet qui ne sont pas correct.

Essaye comme ça, mais tu va devoir à nouveau changer les sons. https://maurits.tv/data/garrysmod/wiki/wiki.garrysmod.com/index8f77.html
Nom > lua > autorun > client > nom.lua
Code:
local policetbl = { [TEAM_POLICE] = true, [TEAM_CHIEF] = true,
}
local function PlayerStartVoice( ply )
if not ply then return end if policetbl[ply:Team()] then ply:EmitSound("vehicles/APC/apc_shutdown.wav") end
end
hook.Add( "PlayerStartVoice", "PlayerStartedTheirVoice", PlayerStartVoice)
local function PlayerEndVoice( ply )
if not ply then return end if policetbl[ply:Team()] then ply:EmitSound("vehicles/APC/apc_shutdown.wav")
end
end
hook.Add( "PlayerEndVoice", "PlayerEndedTheirVoice", PlayerEndVoice)
Si cela ne marche toujours pas :
- Tu n'est pas dans la bonne Team (TEAM_POLICE ou TEAM_CHIEF).
- Tu ne possède pas les sons de Half-Life 2.
- Tu n'appuis pas sur la bonne touche pour activer le vocal.

Bah pour le coup je comprend pas, sa ne fonctionne pas, et pourtant je possède HL2, je suis bien dans la bonne TEAM et j'appuye bien sur le bon bouton pour le push-to-talk ;-;
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
T'es teams ne sont pas initialisé
 
  • Initiateur de la discussion
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
slownls à dit:
T'es teams ne sont pas initialisé
Merci de ta réponse. Je peux régler ça comment exactement (je tatillonne encore en glua x)
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
Shanpagne à dit:
Merci de ta réponse. Je peux régler ça comment exactement (je tatillonne encore en glua x)
Utilise un hook qui définit quand le joueur a chargé le gamemode ( regarde sur le wiki du darkrp) :)
 
H

Haziak

Nouveau né
Messages
23
Score réaction
2
Points
25
Bonjour.

J'ai le même probleme, mon script ne veut pas marcher lorsque je met mes teams mais lorsque j'enleve sa marche.

Je pense qu'il faut utiliser GM/Initialize mais je ne sais pas comment (suis pas très bon codeur glua x)
Aidez moi
Merci
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
Si j'ai bien compris tu veux l'appliquer uniquement sur les policiers; pourquoi pas utiliser player:isCP() au lieu d'un TEAM_ qui est partiellement "statique" ?
 
  • J'aime
Réactions: slownls
  • Initiateur de la discussion
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
Désolé je n'était pas dispo du week-end, je vais essayer vos réponse dans quelque jours et vous donnes une réponse dans les jours qui suivent
 
Dernière édition:
  • Initiateur de la discussion
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
While True à dit:
Si j'ai bien compris tu veux l'appliquer uniquement sur les policiers; pourquoi pas utiliser player:isCP() au lieu d'un TEAM_ qui est partiellement "statique" ?
Exactement. Je doit l'ajouter à la place du "ply:Team()" ?
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
Shanpagne à dit:
Exactement. Je doit l'ajouter à la place du "ply:Team()" ?
Oui, cette fonction renvoie un booléen.
Code:
if ply:isCP() then print("C'est un policier !")
end
 
  • Initiateur de la discussion
Shanpagne

Shanpagne

Grand manitou
Messages
74
Score réaction
19
Points
95
While True à dit:
Oui, cette fonction renvoie un booléen.
Code:
if ply:isCP() then print("C'est un policier !")
end
Je vais essayer ça, merci ;)
 
Discord d'entraide
Rejoignz-nous sur Discord