Aide pour le fichier chatsounds.lua (Half-Life)

  • Initiateur de la discussion Alex Schultz
  • Date de début
  • Initiateur de la discussion
Alex Schultz

Alex Schultz

Geek suprême
Messages
141
Score réaction
14
Points
115
Bonjour à tous,

Je fais appelle à vous car j'ai crée un serveur Half-Life RP et je n'arrive pas à mettre les bonnes commandes pour le fichier soundchats.lua qui permet au Citoyen de crier "pc" ou aux Combines de dirent "Appliquer" dans le jeu.
J'ai lu tout ce qui concernait ce fichier sur les forums mais je n'ai pas trouvé grand chose.
J'ai essayé de mettre la commande suivante :

Code:
hook.Add("PlayerSay", "WhenThePlayerSay", function(ply, text, team)
if ply:Team() == TEAM_CITOYEN and text == "/pc" then ply:EmitSound(Sound("vo/npc/male01/cps02.wav"), ply:GetPos(),1,CHAN_AUTO,1,75,0,100) return ""
else return end
end)
Mais cela ne marche pas en jeu, pourtant les sons marchent quand je fais play vo/npc/male01/cps02.wav dans la console ou dans le !menu.

J'ai mis les addons suivant dans la collection du serveur pour mettre les voix en français :
http://steamcommunity.com/sharedfiles/filedetails/?id=266637106
http://steamcommunity.com/sharedfiles/filedetails/?id=370524170
http://steamcommunity.com/sharedfiles/filedetails/?id=365324943
Mais quand je lance le son avec la console c'est toujours en anglais.



Deuxièmement je voudrais savoir comment peut-on faire le système de point de loyauté qu'on voit sur les serveurs de ce genre. (Quand le Combine dit "Appliquez" faire en sorte qu'il puisse ouvrir un registre permettant de sauvegarder le numéro du Citoyen contrôlé et de lui ajouter ou enlever des points de loyauté qui sera enregistré pour les autres joueurs Combines).

Si c'est un script payant pouvez-vous me donner le lien et si c'est un fichier à configurer, pouvez-vous me montrer un exemple sur un job et je le continuerai pour les autres svp.

Merci d'avoir pris le temps de lire et merci beaucoup à ceux qui trouveront la solution.
PS: Pour me contacter je suis connecté tout les jours sur mon teamspeak : ts13.verygames.net:50729
et voici l'IP de mon serveur : 51.254.57.60:27120.

Bonne journée.
 
  • Initiateur de la discussion
Alex Schultz

Alex Schultz

Geek suprême
Messages
141
Score réaction
14
Points
115
je redemande au cas où quelqu'un pourrait m'aider, j'ai changer mon fichier :

Code:
-- This module will make voice sounds play when certain words are typed in the chat
-- You can add/remove sounds as you wish using DarkRP.setChatSound, just follow the format used here
-- To disable them completely, set GM.Config.chatsounds to false
-- TODO: Add female sounds & detect gender of model, and use combine sounds for CPs
local sounds = {
sounds[ "munition" ] = { "vo/npc/male01/ammo03.wav", "vo/npc/male01/ammo04.wav", "vo/npc/male01/ammo05.wav" },
sounds[ "derriere" ] = { "vo/npc/male01/behindyou01.wav", "vo/npc/male01/behindyou02.wav" },
sounds[ "rechargez" ] = { "vo/npc/male01/youdbetterreload01.wav" },
sounds[ "connerie" ] = { "vo/npc/male01/question26.wav" },
sounds[ "fromage" ] = { "vo/npc/male01/question06.wav" },
sounds[ "cartel" ] = { "vo/npc/male01/combine01.wav", "vo/npc/male01/combine02.wav" },
sounds[ "on est la" ] = { "vo/npc/male01/squad_approach04.wav" },
sounds[ "pc" ] = { "vo/npc/male01/civilprotection01.wav", "vo/npc/male01/civilprotection02.wav", "vo/npc/male01/cps01.wav", "vo/npc/male01/cps02.wav" },
sounds[ "me dite rien" ] = { "vo/npc/male01/gordead_ans03.wav" },
sounds[ "deja vu" ] = { "vo/npc/male01/question05.wav" },
sounds[ "pardon" ] = { "vo/npc/male01/excuseme01.wav", "vo/npc/male01/excuseme02.wav", "vo/npc/male01/sorry01.wav", "vo/npc/male01/sorry02.wav", "vo/npc/male01/sorry03.wav" },
sounds[ "génial" ] = { "vo/npc/male01/fantastic01.wav", "vo/npc/male01/fantastic02.wav" },
sounds[ "logique" ] = { "vo/npc/male01/answer03.wav" },
sounds[ "enfin" ] = { "vo/npc/male01/finally.wav" },
sounds[ "suivez moi" ] = { "vo/npc/male01/squad_away03.wav" },
sounds[ "mouton" ] = { "vo/npc/male01/answer18.wav", "vo/npc/male01/answer19.wav" },
sounds[ "freeman" ] = { "vo/npc/male01/freeman.wav", "vo/npc/male01/docfreeman01.wav", "vo/npc/male01/docfreeman02.wav" },
sounds[ "à terre" ] = { "vo/npc/male01/getdown02.wav" },
sounds[ "sortez" ] = { "vo/npc/male01/gethellout.wav" },
sounds[ "mon dieu" ] = { "vo/npc/male01/goodgod.wav", "vo/npc/male01/gordead_ans04.wav" },
sounds[ "je l'ai eu" ] = { "vo/npc/male01/gotone01.wav", "vo/npc/male01/gotone01.wav"},
sounds[ "recharge" ] = { "vo/npc/male01/gottareload01.wav" },
sounds[ "lames" ] = { "vo/npc/male01/thehacks01.wav", "vo/npc/male01/thehacks02.wav"},
sounds[ "aide" ] = { "vo/npc/male01/help01.wav" },
sounds[ "alerte" ] = { "vo/npc/male01/heretheycome01.wav", "vo/npc/male01/incoming02.wav" },
sounds[ "hey" ] = { "vo/npc/male01/hi01.wav", "vo/npc/male01/hi02.wav" },
sounds[ "attention" ] = { "vo/npc/male01/headsup01.wav", "vo/npc/male01/headsup02.wav" },
sounds[ "mort" ] = { "vo/npc/male01/gordead_ques01.wav", "vo/npc/male01/gordead_ques07.wav" },
sounds[ "et ça" ] = { "vo/npc/male01/answer25.wav" },
sounds[ "comprend" ] = { "vo/npc/male01/answer08.wav" },
sounds[ "je reste ici" ] = { "vo/npc/male01/illstayhere01.wav", "vo/npc/male01/holddownspot01.wav", "vo/npc/male01/holddownspot02.wav", "vo/npc/male01/imstickinghere01.wav", "vo/npc/male01/littlecorner01.wav" },
sounds[ "occupé" ] = { "vo/npc/male01/busy02.wav" },
sounds[ "je vous suis" ] = { "vo/npc/male01/answer13.wav" },
sounds[ "impossible" ] = { "vo/npc/male01/gordead_ques06.wav", "vo/npc/male01/leadtheway01.wav", "vo/npc/male01/leadtheway02.wav" },
sounds[ "c'est bon" ] = { "vo/npc/male01/answer02.wav" },
sounds[ "ok" ] = { "vo/npc/male01/ok01.wav", "vo/npc/male01/ok02.wav" },
sounds[ "go" ] = { "vo/npc/male01/letsgo01.wav", "vo/npc/male01/letsgo02.wav" },
sounds[ "on sait jamais" ] = { "vo/npc/male01/answer23.wav", "vo/npc/male01/answer22.wav" },
sounds[ "cool" ] = { "vo/npc/male01/nice.wav" },
sounds[ "no" ] = { "vo/Citadel/br_no.wav", "vo/Citadel/eli_notobreen.wav" },
sounds[ "pas sur" ] = { "vo/npc/male01/answer21.wav" },
sounds[ "et maintenant" ] = { "vo/npc/male01/gordead_ans01.wav", "vo/npc/male01/gordead_ans15.wav", "vo/npc/male01/gordead_ques16.wav" },
sounds[ "oh non" ] = { "vo/npc/male01/gordead_ans05.wav", "vo/npc/male01/ohno.wav" },
sounds[ "oups" ] = { "vo/npc/male01/whoops01.wav" },
sounds[ "par ici" ] = { "vo/npc/male01/overhere01.wav", "vo/npc/male01/squad_away02.wav" },
sounds[ "par la" ] = { "vo/npc/male01/overthere01.wav", "vo/npc/male01/overthere02.wav" },
sounds[ "pardon" ] = { "vo/npc/male01/pardonme01.wav", "vo/npc/male01/pardonme02.wav" },
sounds[ "svp non" ] = { "vo/npc/male01/gordead_ans06.wav" },
sounds[ "courrez" ] = { "vo/npc/male01/strider_run.wav" },
sounds[ "moi aussi" ] = { "vo/npc/male01/answer07.wav" },
sounds[ "ferme la" ] = { "vo/npc/male01/answer17.wav" },
sounds[ "faites passer" ] = { "vo/npc/male01/gordead_ans10.wav" },
sounds[ "me regardez pas" ] = { "vo/npc/male01/vquestion01.wav" },
sounds[ "abris" ] = { "vo/npc/male01/takecover02.wav" },
sounds[ "soin" ] = {"vo/npc/male01/health01.wav", "vo/npc/male01/health02.wav", "vo/npc/male01/health03.wav", "vo/npc/male01/health04.wav" },
sounds[ "c'est bien vous ça" ] = { "vo/npc/male01/answer01.wav" },
sounds[ "mauvais" ] = { "vo/npc/male01/gordead_ques10.wav" },
sounds[ "trop d'infos" ] = { "vo/npc/male01/answer26.wav" },
sounds[ "oh oh" ] = { "vo/npc/male01/uhoh.wav" },
sounds[ "attendez moi" ] = { "vo/npc/male01/squad_reinforce_single04.wav" },
sounds[ "attendez" ] = { "vo/npc/male01/squad_reinforce_group04.wav" },
sounds[ "on parrie" ] = { "vo/npc/male01/answer27.wav" },
sounds[ "on est foutu" ] = { "vo/npc/male01/gordead_ans14.wav" },
sounds[ "comme vous voudrez" ] = { "vo/npc/male01/squad_affirm03.wav" },
sounds[ "a quoi bon" ] = { "vo/npc/male01/gordead_ans11.wav" },
sounds[ "pourquoi faire ?" ] = { "vo/npc/male01/gordead_ans12.wav" },
sounds[ "pourquoi continuer" ] = { "vo/npc/male01/gordead_ans13.wav" },
sounds[ "pourquoi vous dites" ] = { "vo/npc/male01/answer24.wav" },
sounds[ "ouai" ] = { "vo/npc/male01/yeah02.wav" },
sounds[ "vous et moi" ] = { "vo/npc/male01/answer14.wav" },
sounds[ "vous en êtes sur ?" ] = { "vo/npc/male01/answer37.wav" }
}
DarkRP.hookStub{ name = "canChatSound", description = "Whether a chat sound can be played.", parameters = { { name = "ply", description = "The player who triggered the chat sound.", type = "Player" }, { name = "chatPhrase", description = "The chat sound phrase that has been detected.", type = "string" }, { name = "chatText", description = "The whole chat text the player sent that contains the chat sound phrase.", type = "string" } }, returns = { { name = "canChatSound", description = "False if the chat sound should not be played.", type = "boolean" } }
}
DarkRP.hookStub{ name = "onChatSound", description = "When a chat sound is played.", parameters = { { name = "ply", description = "The player who triggered the chat sound.", type = "Player" }, { name = "chatPhrase", description = "The chat sound phrase that was detected.", type = "string" }, { name = "chatText", description = "The whole chat text the player sent that contains the chat sound phrase.", type = "string" } }, returns = { }
}
local function CheckChat(ply, text) if not GAMEMODE.Config.chatsounds or ply.nextSpeechSound and ply.nextSpeechSound > CurTime() then return end local prefix = string.sub(text, 0, 1) if prefix == "/" or prefix == "!" or prefix == "@" then return end -- should cover most chat commands for various mods/addons for k, v in pairs(sounds) do local res1, res2 = string.find(string.lower(text), k) if res1 and (not text[res1 - 1] or text[res1 - 1] == "" or text[res1 - 1] == " ") and (not text[res2 + 1] or text[res2 + 1] == "" or text[res2 + 1] == " ") then local canChatSound = hook.Call("canChatSound", nil, ply, k, text) if canChatSound == false then return end ply:EmitSound(table.Random(v), 80, 100) ply.nextSpeechSound = CurTime() + GAMEMODE.Config.chatsoundsdelay -- make sure they don't spam HAX HAX HAX, if the server owner so desires hook.Call("onChatSound", nil, ply, k, text) break end end
end
hook.Add("PostPlayerSay", "ChatSounds", CheckChat)
DarkRP.getChatSound = DarkRP.stub{ name = "getChatSound", description = "Get a chat sound (play a noise when someone says something) associated with the given phrase.", parameters = { { name = "text", description = "The text that triggers the chat sound.", type = "string", optional = false } }, returns = { { name = "soundPaths", description = "A table of string sound paths associated with the given text.", type = "table" } }, metatable = DarkRP
}
function DarkRP.getChatSound(text) return sounds[string.lower(text or "")]
end
DarkRP.setChatSound = DarkRP.stub{ name = "setChatSound", description = "Set a chat sound (play a noise when someone says something)", parameters = { { name = "text", description = "The text that should trigger the sound.", type = "string", optional = false }, { name = "sounds", description = "A table of string sound paths.", type = "table", optional = false } }, returns = { }, metatable = DarkRP
}
function DarkRP.setChatSound(text, sndTable) sounds[string.lower(text or "")] = sndTable
end
Mais toujours sans succès...
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 293
Score réaction
9 688
Points
1 845
@Swarzox
 
S

Swarzox

Psychopathe
Messages
704
Score réaction
396
Points
325
Alex Schultz à dit:
hook.Add("PlayerSay", "WhenThePlayerSay", function(ply, text, team) if ply:Team() == TEAM_CITOYEN and text == "/pc" then ply:EmitSound(Sound("vo/npc/male01/cps02.wav"), ply:GetPos(),1,CHAN_AUTO,1,75,0,100) return "" else return end end)
j'ai failli vomir.
Tu veux lancer un son sur le joueur quand on écrit /pc ?
 
  • Initiateur de la discussion
Alex Schultz

Alex Schultz

Geek suprême
Messages
141
Score réaction
14
Points
115
Je vous signale que j'ai recopié ce code qu'à fait @Zozo147 ^^
et oui j'aimerai que ça produise le son .wav svp
 
S

Swarzox

Psychopathe
Messages
704
Score réaction
396
Points
325
Code:
local allowedJobs = { [TEAM_HOBO] = true, [TEAM_CITIZEN] = true,
}
local cmd = "/pc"
hook.Add("PlayerSay", "abzabzabzaba", function(p, t) if t == cmd then if !allowedJobs[p:Team()] then DarkRP.notify(p, 0, 5, "Mauvais métier !") return "" end p:EmitSound("vo/npc/male01/cps02.wav") return "" end
end)
tu ajoutes [TEAM_NAME] = true,
comme j'ai fait pour autoriser un métier à taper ta commande
 
Dernière édition:
  • Initiateur de la discussion
Alex Schultz

Alex Schultz

Geek suprême
Messages
141
Score réaction
14
Points
115
abzabzabzaba ? ^^
 
S

Swarzox

Psychopathe
Messages
704
Score réaction
396
Points
325
tu remplaces par ce que tu veux
 
  • Initiateur de la discussion
Alex Schultz

Alex Schultz

Geek suprême
Messages
141
Score réaction
14
Points
115
ça ne marche pas :
Code:
local allowedJobs = { [TEAM_FUGITIF] = true,
}
local cmd = "pc"
hook.Add("PlayerSay", "abzabzabzaba", function(p, t) if t == cmd then if !allowedJobs[p:Team()] then DarkRP.notify(p, 0, 5, "Mauvais métier !") return "" end p:EmitSound("vo/npc/male01/cps02.wav") return "" end
end)
Même si j'écris abzabzabzaba, pc ou /pc
 
S

Swarzox

Psychopathe
Messages
704
Score réaction
396
Points
325
test ça :
Code:
local cmd = "pc"
hook.Add("PlayerSay", "abzabzabzaba", function(p, t) local jobs = { [TEAM_FUGITIF] = true, } if t == cmd then if !jobs[p:Team()] then DarkRP.notify(p, 0, 5, "Mauvais métier !") return "" end p:EmitSound("vo/npc/male01/cps02.wav") return "" end
end)
dans lua/autorun/server/nomquetuveux.lua
 
  • Initiateur de la discussion
Alex Schultz

Alex Schultz

Geek suprême
Messages
141
Score réaction
14
Points
115
Niquel ça marche merci :)
 
  • J'aime
Réactions: Swarzox
  • Initiateur de la discussion
Alex Schultz

Alex Schultz

Geek suprême
Messages
141
Score réaction
14
Points
115
Est-ce que je dois faire un nouveau fichier pour chaque son ?
Par exemple pour munition :
Code:
local cmd = "munition"
hook.Add("PlayerSay", "abzabzabzaba", function(p, t) local jobs = { [TEAM_FUGITIF] = true, } if t == cmd then if !jobs[p:Team()] then DarkRP.notify(p, 0, 5, "Mauvais métier !") return "" end p:EmitSound("vo/npc/male01/ammo03.wav") return "" end
end)
Si oui ça va être long ^^
 
S

Swarzox

Psychopathe
Messages
704
Score réaction
396
Points
325
oula non mdr tiens :

Code:
local soundscfg = {}
local function InitSoundTables() --Obligé pour init les jobs team après le chargement du gamemode soundscfg = { ["/pc"] = { --La commande à taper pour émettre le son sound = "vo/npc/male01/ammo03.wav", --Le son émis allowedjobs = { --Les jobs autorisés à taper cette commande : [TEAM_NAME] = true, [TEAM_CITIZEN] = true, [TEAM_HOBO] = true, } }, ["/nouveauson"] = { sound = "vo/npc/male01/ammo02.wav", allowedjobs = { [TEAM_MEDIC] = true, } } }
end
hook.Add("Initialize", "initsoundtables", InitSoundTables)
local function PlaySound(p, t) for cmd, cfg in pairs(soundscfg) do if t == cmd then if !cfg.allowedjobs[p:Team()] then DarkRP.notify(p, 0, 5, "Mauvais métier !") return "" end p:EmitSound(cfg.sound) return "" end end
end
hook.Add("PlayerSay", "playsound", PlaySound)
Je t'ai mis des commentaires pour que tu t'y retrouves
 
  • J'aime
Réactions: KerwanSumg
  • Initiateur de la discussion
Alex Schultz

Alex Schultz

Geek suprême
Messages
141
Score réaction
14
Points
115
Ah merci j'ai réussi a mettre tout les sons :) mais l'addon qui change le son en français marche pas
 
S

Swarzox

Psychopathe
Messages
704
Score réaction
396
Points
325
Alex Schultz à dit:
mais l'addon qui change le son en français marche pas
ça c'est à toi de chercher ^^
regarde sur le workshop de l'addon doit y avoir des indications
 
Discord d'entraide
Rejoignz-nous sur Discord