PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche 2 kleine Codes! :)



Ensolo
09.05.2014, 19:31
Hey!
Könnte Bitte jemand soetwas für mich coden?
1. Deathmessages (zb. "Du wurdest von (Grün)LordGaga umgebracht" oder "Du wurdest von der (Gelb)Welt umgebracht") oder halt Blau/Rot (Traitor/Dete)).
2. Automatischer Gruppen wechel, dh. dass man nach zb. 1 Stunde eine (ulx) Gruppe nach oben steigt (zb. Gast > Spieler).
Währe euch sehr Dankbar!!
Lg Ensolo :)

Ensolo
10.05.2014, 11:20
Jop, das zweite hat sich erledigt, könnte mir aber noch wer die Deathmessage programmieren? :)

Mentos
17.05.2014, 02:36
Da gibt es hier ein schönes Beispiel (http://wiki.garrysmod.com/page/GM/PlayerDeath).

function OnPlayerDeath( victim, _, attacker )
if ( victim == attacker ) then
chat.AddText( "Du hast dich selbst umgebracht..." )
else
if( attacker:IsPlayer() )
chat.AddText( "Du wurdest von ", Color( 100, 255, 100 ), attacker, " umgebracht." )
else
chat.AddText( "Du wurdest von ", Color( 255, 255, 0), attacker, " umgebracht." )
end
end
end
hook.Add( "PlayerDeath", "UniquePlayerDeathNameLeet", OnPlayerDeath)

Das sollte hinkommen... Chatfarben musst du schon selbst machen...
+Ich habe den Code nicht getestet...

Der Code kommt in eine Autorun-Datei für clients... falls du das nicht kannst, solltest du aufgeben ;D
Scherz... aber da bin ich um diese Uhrzeit zu faul zu erklären...

Dieses Script kann dir nicht sagen, ob er Traitor war oder nicht. Dafür müsste der Client wissen, wer das ist.
Das kann er aber (normalerweise) nicht.

Gruß

Ensolo
17.05.2014, 12:15
Hmm, okay.
Ich habe etwas gefunden, dass einfach einen Roten Text anzeigt wenn man von einem traitor getötet wird.
Vielleicht kannst du ja was damit anfangen :)

if SERVER then
util.AddNetworkString("WhoKilled")
hook.Add("PlayerDeath", "WhoKilled", function( victim, weapon, killer )
net.Start("WhoKilled")
net.WriteString( (killer:IsPlayer() and killer:Nick() or "der Welt") )
net.WriteInt( (killer:IsPlayer() and killer:GetRole() or -1), 8 )
net.Send( victim )
end)
else
net.Receive("WhoKilled", function()
local killer = net.ReadString()
local killer_role = net.ReadInt(8)

local str = "Du wurdest umgebracht von "..killer.."!"
if killer_role == ROLE_INNOCENT then
chat.AddText( Color(0,255,0), str )
elseif killer_role == ROLE_TRAITOR then
chat.AddText( Color(255,0,0), str )
elseif killer_role == ROLE_DETECTIVE then
chat.AddText( Color(0,0,255), str )
else
chat.AddText( Color(255,255,0), str )
end
end)
end

Danke trotzdem!!

Edit: Also, dh. dass man nur noch die formatierung bearbeiten müsste. :)

Mentos
18.05.2014, 20:32
Bitte führe noch die Authorisierung im FAQ aus...
Vorher möchte ich keinen weitergehenden Support anbieten ;I

PS:Script ist schon fertig...
Gruß