PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Joinsound Script?



Terminator-X29B
21.09.2009, 11:41
Und mal wieder habe ich eine Frage:

Ich möchte, wenn der Spieler grade eben auf dem Server angekommen ist, dass ein Sound abgespielt wird, welchen jeder User auf dem Server hört so wie z. B. bei TS2. Wie kann ich das am besten mit Lua verwirklichen?

Bei diesem Thread hört ja nur der User den Sound welcher gejoint ist: http://www.garrysmod.de/forum/showthread.php?t=16090&highlight=Joinsound

MîngeBag.
21.09.2009, 11:54
Hallöle ; )
erstelle eine joinsound.lua datei in

garrysmod/lua/autorun/server

nun adde folgenden inhalt hinein.



local superadmin_sound = "sound/radio/vip.wav"
local admin_sound = "sound/radio/vip.wav"
local normal_sound = "sound/radio/vip.wav"

function InitialSpawn( ply )
if ply:IsSuperAdmin() then
for k,v in pairs(player.GetAll()) do
v:EmitSound(superadmin_sound, 500, 100)
v:PrintMessage(HUD_PRINTTALK, "The SuperAdmin: "..ply:Nick().." has joined the Server!")
end
elseif ply:IsAdmin() then
for k,v in pairs(player.GetAll()) do
v:EmitSound(admin_sound, 500, 100)
v:PrintMessage(HUD_PRINTTALK, "The Admin: "..ply:Nick().." has joined the Server!")
end
else
for k,v in pairs(player.GetAll()) do
v:EmitSound(normal_sound, 500, 100)
v:PrintMessage(HUD_PRINTTALK, "Player: "..ply:Nick().." has joined the Server!")
end
end
end
hook.Add("PlayerInitialSpawn", "InitialSpawn", InitialSpawn)


Ich habs extra mit locals gemacht , damit du es im nachhinein ändern kannst wie du möchtest, einfach einen sound pfad eintragen ; )

Texte usw kannst du natürlich ändern oder ganz löschen : ) ist nur ein 2 min beispiel für dich.

.: Mfg www.MingeBag.de | MingeBag. :.

Terminator-X29B
21.09.2009, 11:58
Danke dir aber ich habe es mir etwas anders vorgestellt.
Ich möchte nicht das angezeigt wird welche Art von Spieler den Server betritt. Ich möchte nur das ein Sound abgespielt wird, wenn ein Player auf dem Server angekommen ist. Diesen Sound sollen alle Spieler hören wie z. B. in TS2.

Joker
21.09.2009, 12:07
local normal_sound = "sound/radio/vip.wav"
function InitialSpawn( ply )
for k,v in pairs(player.GetAll()) do
v:EmitSound(superadmin_sound, 500, 100)
end
end
hook.Add("PlayerInitialSpawn", "InitialSpawn", InitialSpawn)

MîngeBag.
21.09.2009, 12:09
local normal_sound = "sound/radio/vip.wav"
function InitialSpawn( ply )
for k,v in pairs(player.GetAll()) do
v:EmitSound(superadmin_sound, 500, 100)
end
end
hook.Add("PlayerInitialSpawn", "InitialSpawn", InitialSpawn)


ich muss dich korigieren ; )

du hast oben local normal_sound... aber beim emit wird der superadmin_sound abfgefragt.




local normal_sound = "sound/radio/vip.wav"
function InitialSpawn( ply )
for k,v in pairs(player.GetAll()) do
v:EmitSound(normal_sound, 500, 100)
end
end
hook.Add("PlayerInitialSpawn", "InitialSpawn", InitialSpawn)



so trifft es das eher. Wir selber sehen die fehler, aber wenn man kein lua kann wird er den fehler wohl kaum erkennen, auch bein simplen scripts.

Joker
21.09.2009, 12:14
Hab's übersehen. Kommt davon, weil ich mich eher nach Fehlermeldungen orientiere als den Code nachträglich zu kontrollieren.
Übrigens wäre es besser, wenn du statt den LUA-Tag den PHP-Tag für LUA-Codes benutzt, da der LUA-Tag noch nicht ausgereift ist und die Zahlen mitkopiert.

MîngeBag.
21.09.2009, 12:23
nope bei mir kopiert es die zahlen nicht ^^ nur er schreibt alles ohne lücken und enter hintereinander :P , ich änder es ma kopier bereit für ihn , danke für die Information.

PHP shockt ; )