Forum

> > CS2D > Scripts > Say Script Fehler
Forums overviewCS2D overview Scripts overviewLog in to reply

German Say Script Fehler

3 replies
To the start Previous 1 Next To the start

old Say Script Fehler

Rowly
User Off Offline

Quote
Hallo könnt ihr mir bei meinem Lua Script helfen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
usgnid=
addhook ("say","adminsay")
function adminsay(id,txt)
if (player(id,"usgn")==usgnid) then
msg("©255000000"..(player(id,"name")).."(Admin):"..txt)
return 1
end
end

usgnid=
addhook ("say","adminsay")
function adminsay(id,txt)
if (player(id,"usgn")==usgnid) then
msg("©000000255 "..(player(id,"name")).."(Mod):"..txt)
return 1
end
end

usgnid=
addhook ("say","adminsay")
function adminsay(id,txt)
if (player(id,"usgn")==usgnid) then
msg("©255000255"..(player(id,"name")).."(Vip):"..txt)
return 1
end
end
end

Was habe ich falsch gemacht? Es funktioniert nämlich nicht.

old Re: Say Script Fehler

Bowlinghead
User Off Offline

Quote
Ganz einfach.
Oben bei "usgnid" musst du deine USGN Nummer reinschreiben. Dann wird überprüft, ob deine USGN die angegebene USGN Nummer ist, und dann schreibst du als Admin bzw. Mod oder VIP.

Ausserdem wäre es ratsam die 3 unterschiedlichen Variablen umzubenenen. Nicht nur, weil es sonst nicht funktioniert (Ich weiß nicht, habe ich noch nie probiert), weil es auch noch übersichtlicher ist!
Also ungefähr so:
Btw du kannst das alles in einem Hook machen!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
AdminID = xxxx
ModID = xxxx
VIPID = xxxx
addhook("say","wtf")
function wtf(id,t)
	-- Falls spieler USGN gleich AdminID dann
	if player(id,"usgn")==AdminID then
		msg("©255000000"..(player(id,"name")).."(Admin):"..txt)
		return 1
	elseif player(id,"usgn")==ModID then
		msg("©000000255 "..(player(id,"name")).."(Mod):"..txt)
		return 1
	elseif player(id,"usgn")==VIPID then
		msg("©255000255"..(player(id,"name")).."(Vip):"..txt)
		return 1
	end
end

Somit würde es gehen, wenn du deine USGN Nummer oben reinschreibst.
Es gibt noch eine einfachere Weise (Die ist ähnlich). Man macht ein Table.
Somit kann man unendlich USGN Nummern zu Admin/oder soetwas machen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-- USGN Nummer hier reinschreiben
AdminID = {51028} -- Beispiel
ModID = {}
VIPID = {xxxx}
addhook("say","wtf")
function wtf(id,t)
	-- Falls spieler USGN gleich AdminID dann
	if player(id,"usgn")==AdminID then
		msg("©255000000"..(player(id,"name")).."(Admin):"..txt)
		return 1
	elseif player(id,"usgn")==ModID then
		msg("©000000255 "..(player(id,"name")).."(Mod):"..txt)
		return 1
	elseif player(id,"usgn")==VIPID then
		msg("©255000255"..(player(id,"name")).."(Vip):"..txt)
		return 1
	end
end

Kannst du ja mal testen!

old Re: Say Script Fehler

DC
Admin Off Offline

Quote
einiges.

× erstens: du hast die variable usgnid und die funktion adminsay DREI mal definiert. das funktioniert nicht. du überschreibst die nämlich immer. im endeffekt hast du also nur noch

1
2
3
4
5
6
7
8
usgnid=
addhook ("say","adminsay")
function adminsay(id,txt)
if (player(id,"usgn")==usgnid) then
msg("©255000255"..(player(id,"name")).."(Vip):"..txt)
return 1
end
end

der rest deines scripts wird überschrieben und fällt somit weg.

× zweitens: usgnid= ? du weist der variable gar keinen wert zu. die bedingung wird also niemals erfüllt und es wird niemals etwas passieren

× drittens: da ist ein "end" zu viel wenn ich mich nicht vergucke (einrücken mit tab wäre sinnvoll!)

lösung:
• usgnid einen wert zuweisen
• alles sinnvoll in EINE funktion schreiben und nicht in 3 funktionen mit dem gleichen namen
• ggf. 3 unterschiedliche usgnid variablen einführen falls das alles unterschiedliche usgn ids sein sollen

edit: oh zu langsam.

old Re: Say Script Fehler

Rowly
User Off Offline

Quote
Danke für die Mühe die ihr beide euch gemacht habt!Danke!
Nun hat es funktioniert!
To the start Previous 1 Next To the start
Log in to reply Scripts overviewCS2D overviewForums overview