Forum

> > CS2D > Scripts > Sammelthread/FAQ zu Lua & Editor
ForenübersichtCS2D-Übersicht Scripts-ÜbersichtEinloggen, um zu antworten

Deutsch Sammelthread/FAQ zu Lua & Editor

1.111 Antworten
Seite
Zum Anfang Vorherige 1 213 14 1555 56 Nächste Zum Anfang

alt Re: Sammelthread/FAQ zu Lua & Editor

Stranded-shadowclonk
User Off Offline

Zitieren
scheiße
man aber ich will das der 0 als zahl erkennt und nicht als falsch


EDIT:
Eine Frage:
wie kann ich so machen dass immer nach einer Minute alle CT's 8000$ bekommen?
1× editiert, zuletzt 04.05.09 16:30:48

alt Re: Sammelthread/FAQ zu Lua & Editor

Todesengel
User Off Offline

Zitieren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
addhook ("use","be")
function be (id, event, data, x, y)
if (x==23 and y==21) then 
menu (id,"was möchtest du kaufen?,1bier,2bier,3bier") (32)
end end
 
addhook ("menu","das")
function das (id,sel)
if (menu=="was möchtest du kaufen?") then 
if (sel==1 and player (id,"money")>999) then
parse ("sethealth "..id.." "..(player(id,"health")+50))
parse ("setmoney "..id.." "..(player(id,"money")-1000))
end
end
end


Wieso sieht der andere dass Menü nicht wenn er das Triggert ich aber,? ausserdem klappt es von vorne bis hinten nicht.. Bitte Hilfe!

Es soll wenn man eine Funktion daraus auswählt 1000$ Abziehen & 50 HP geben... aber in einen Menü...

Und wie funktioniert dass alles mit dem Array?


Habs mal verbessern lassen vom Schinken.. von dem die ganze sache ja auch kommt...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function initArray(m)
 local array = {}
 for i = 1, m do
  array[i]=0
 end
 return array
end
be=initArray(32)
 
addhook ("use","be")
function be (id, event, data, x, y)
if (x==23 and y==21) then 
menu (id,"Wenn du Denkst dass du doof bist Zahle 1k,Okay ich Zahle,Ich Zahle vielleicht...,Ich Zahle Nicht!")
end end
 
addhook ("menu","das")
function das (id,sel)
if (menu=="Wenn du Denkst dass du doof bist Zahle 1k") then 
if (sel==1 and player (id,"money")>999) then
parse ("sethealth "..id.." "..(player(id,"health")+50))
parse ("setmoney "..id.." "..(player(id,"money")-1000))
end
end
end
2× editiert, zuletzt 04.05.09 17:32:52

alt Re: Sammelthread/FAQ zu Lua & Editor

Roni
User Off Offline

Zitieren
BeLiioN hat geschrieben
Help....


Woran liegt es dass nur ich dass Script sehe? und benutzen kann?.......

kann sein das du das scirpt so gebaut hast das nur ein user es bnuetzen kann (hatte sowas ähnliches in einem meiner scripts)

alt Re: Sammelthread/FAQ zu Lua & Editor

Todesengel
User Off Offline

Zitieren
Keine Ahung, jedenfalls hab ich mir dass von Schinken erklären lassen, der hat dass also erstellt.


Gibt es da Unterschiede, und wenn ja wo?


bezw, kann man dass Ändern?

alt Re: Sammelthread/FAQ zu Lua & Editor

Kiffer-Opa
User Off Offline

Zitieren
Man sollte auf keinen Fall Lua-Debug-Meldungen anschalten und gleichzeitig Logfiles anlegen, wenn man den »always«-hook braucht. Die Logfiles werden sonst bei Dauerbetrieb riesig.
CS2D denkt hier leider noch nicht so gut mit, wie es sollte. Andererseits nervt es, dass ich mich als Scripter nun auch um sowas kümmern muss. Kann man nicht standardmäßig alle always- und second-hooks unterdrücken, das würde die Server mit Logdateien entlasten.

Kann mir jemand sagen, wie ich störende Log-Zeilen loswerde? Folgeder Code unterdrückt leider nicht wie gewünscht alle Zeilen mit »kogg_hud« (sie sind sowohl in der Konsole als auch in der Datei noch drin):
1
2
3
4
5
6
7
8
function kogg_stoplog(line)
	if(string.find(line,"kogg_hud") ~= nil) then
		return 1	-- don't log this line
	else
		return 0   -- log this line
	end
end
addhook("log","kogg_stoplog")
Wo ist der Haken?

alt Re: Sammelthread/FAQ zu Lua & Editor

Roni
User Off Offline

Zitieren
also das addhook würde ich persönlich ja oben haben aber ich weiß nciht ob das auswirklungen auf das script hat.
außerdem solltet du dann auch die message für diesen hook stoppen da dieser ja dann noch öfters als der always befehl (ander hooks gibts ja auch noch).

alt Re: Sammelthread/FAQ zu Lua & Editor

Noobiwan Kenoobi
User Off Offline

Zitieren
Ich habe eine Bitte:
Kann jemand mir einen Lua Script machen, dass wenn man "heal" schreibt, das Leben wieder aufgefüllt wird?

Wäre nämlich ziemlich nützlich auf Zombie Maps.

EDIT: Achja und man kann sich nur 1 Mal in einer Runde heilen
1× editiert, zuletzt 06.05.09 18:06:45

alt Re: Sammelthread/FAQ zu Lua & Editor

DC
Admin Off Offline

Zitieren
Kiffer-Opa: ich sehe da spontan keinen fehler im script. möglicherweise ist da was mit dem log hook nicht in ordnung.

Roni: Nein, wo das adhook steht ist völlig egal (es sollte nur nicht innerhalb der funktion stehen die es added :D)

Noobiwan Kenoobi: das würde einen fast schon unbesiegbar machen. man kann ja einfach "say heal" auf irgendeine taste binden...

alt Re: Sammelthread/FAQ zu Lua & Editor

Stranded-shadowclonk
User Off Offline

Zitieren
und wieder werde ich einfach nicht beachtet -.- ... egal ihr habt bestimmt was besseres zutun
Stranded-shadowclonk hat geschrieben
scheiße
man aber ich will das der 0 als zahl erkennt und nicht als falsch


EDIT:
Eine Frage:
wie kann ich so machen dass immer nach einer Minute alle CT's 8000$ bekommen?

alt Re: Sammelthread/FAQ zu Lua & Editor

Kiffer-Opa
User Off Offline

Zitieren
TheKilledDeath hat geschrieben
1/0 ist auch true/false

Falsch!
1 bzw. 0 und true bzw. false sind von verschiedenen Datentypen.
1 und 0 sind beides vom Typ number.
true und false sind vom Typ boolean.
Die statements 1==true sowie 0==false geben jeweils false zurück, weil der Operator »==« immer false ausgibt, wenn die beiden Operanden von verschiedenen Datentypen sind. Es erfolgt ferner keine automatische Konvertierung von Datentypen bei »==«:
Zitat
The conversion rules of §2.2.1 do not apply to equality comparisons. Thus, "0"==0 evaluates to false, and t[0] and t["0"] denote different entries in a table.


@Stranded-shadowclonk:
Dein Fehler: Für das unerwartete boolean kann nur die Funktion »player(id,"money")« zuständig sein. Sie gibt immer false zurück, wenn der Spieler mit der ID id nicht existiert. Anders kann ich mir die Fehlermeldung nicht erklären.
Ersetzen wir die Funktion »player« durch »false«, sähe dein Code dann so aus:
1
parse ("setmoney "..taxi.." "..false+15))
Und mit false+15 kann Lua natürlich nix anfangen...

Das bedeutet auch, du hast vermutlich irgendwo vergessen, zu überprüfen, ob es den Spieler überhaupt gibt. Benutze hierfür player(id,"exists"). Die gibt true zurück, wenn der Spieler mit der ID id im Spiel ist, ansonsten false.
1× editiert, zuletzt 06.05.09 18:21:21

alt Re: Sammelthread/FAQ zu Lua & Editor

ohaz
User Off Offline

Zitieren
klar ist mir klar das 1;0 sowohl number als auch boolean sein kann. allerdings kann 1 auch als boolean true verwendet werden. Das problem ist auch bei mir öfters aufgetreten, ich konnte es nur lösen indem ich auf die nummern 4 und 5 ausgewichen bin

alt Re: Sammelthread/FAQ zu Lua & Editor

Kiffer-Opa
User Off Offline

Zitieren
@TheKilledDeath: Das ist aber merkwürdig. Das würde ja bedeuten, dass das »CS2D-Lua« nicht so arbeitet, wie es im Lua 5.1 Reference Manual angegeben ist. Das will ich aber partout nicht glauben!

Übrigens habe ich NICHT gesagt, dass die 1 ein boolean oder eine number sein kann. Ich meinte, dass 1 in Lua immer eine number ist und true immer ein boolean, also genau das Gegenteil! Außerdem kann man diese beiden Typen auch nicht einfach so konvertieren:
Wenn ich tonumber(true) benutze, wird nil und nicht 1 zurückgegeben, weil nur bei strings oder numbers überhaupt eine number zurückgegeben werden kann. Bei allen anderen Datentypen wird immer nil zurückgegeben, so auch bei boolean.
Eine Funktion toboolean(variable) gibt es nicht im Lua Reference Manual 5.1.

Wenn das nicht so wäre, dann müsste folgendes statement true zurückgeben:
1
true==1
doch es wird false zurückgegeben, also ist true ungleich 1!

Aber wenn du sagst, dass sei öfters aufgetreten, dann beleg dies bitte mal mit einem Codebeispiel und der Ausgabe, die dabei herauskam.

alt Re: Sammelthread/FAQ zu Lua & Editor

Doomer
User Off Offline

Zitieren
ich hätte da mal ne frage.
ich nutze die classes sample aus meinem lua ordner
aber gibt es einen script um die klasse aller spieler zu sehen?
ebenso will ich noch wissen wie man die klasse wechseln kann ohne zu reconnecten.
Zum Anfang Vorherige 1 213 14 1555 56 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtCS2D-ÜbersichtForenübersicht