Forum

> > CS2D > Scripts > Fragen: Wie geht ein Menü mit mehreren Seiten?
Forums overviewCS2D overview Scripts overviewLog in to reply

German Fragen: Wie geht ein Menü mit mehreren Seiten?

16 replies
To the start Previous 1 Next To the start

old Fragen: Wie geht ein Menü mit mehreren Seiten?

Bowlinghead
User Off Offline

Quote
Hallo,
Hier ist meine Frage:
Ich will auchmal ENDLICH Lua-Scripts erlernen. Ich wollte anfangen mit einem Kaufscript wo ich Waffen kaufen kann die man Normal nicht kaufen kann wie z.B. Laser. Ich will ein Script machen der dann so aussieht das er über 2 Seiten geht. Wie mache ich das?
Er sollte ca. so aussehen:

1: Waffe|Text
2: Waffe|Text
3: Waffe|Text
4: Waffe|Text
5: Waffe|Text
6: Waffe|Text
7: Waffe|Text
8: Next Site|Text
9: Back|Text



>Ich habe noch einpaar andere Fragen, soll ich ein neues Thread machen oder soll ich hier Fragen? Es geht noch um denn gleichen Script.<

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

RAVENOUS
BANNED Off Offline

Quote
Sofern du lernwillig bist, ist das alles kein Problem.

Ich nehme einfach mal an du hast dich mit den Grundlagen von Lua ja schon vertraut gemacht, falls nicht dann klick mal hier.

Falls du nun im sys-Ordner nachschaust findest du info.txt und darin:

1
2
3
4
menu(id, title, button)					on Lua menu button selection
-id: player who clicked a Lua menu button
-title: title of the Lua menu the player clicked
-button: id of button. 1-9 or 0 for cancel and X (closing)

1
2
3
4
5
6
7
8
9
10
11
- menu(id,"title,b1,b2,...,b9")	Open a menu on the screen of a certain player (id=player id)
				or at the screen of every player (id=0)!
				title = title of the menu
				b1-b9 = button captions,
				use empty strings ("") for buttons you don't need! Attach @b at the
				end of title for a bigger menu or @i for an invisible menu
				Put ( and ) around a button caption to create a disabled button
				Put a | followed by a short text behind a button caption to add
				an additional description to a button
				Note that the title and all buttons are in one single string
				parameter with "," as separator!

Im menu-hook überprüfst du einfach:
1
2
3
4
5
if title=="omghxxor" then
if button==1 then
-- lol
end
end

der menu-hook wird aufgerufen wenn du ne menu-function aufrufst, und darin nach dem title des menus fragst.

Damit solltest du eigentlich viel anfangen können


Edit: Die anderen Fragen kannst du auch hier stellen, erspart viele Threads.

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

Bowlinghead
User Off Offline

Quote
Achwas jeah Danke :D.
Du hast mich auf neue Ideen gebracht. Ich habe bis jetzt nur auf dieser Seite Lua gelernt (Auf Deutsch und etwas auf der hier (Die Seite die du meintest). Ich wollte aber das Script mit Serveraction machen, also wenn ich F2-F4 Drücke. Der/Das (Der oder Das?) Addhook ist ja
1
serveraction
Also müßte dort stehen:

1
addhook("serveraction","irgendein.text")

...

Ich habe mir mal ein Script gemacht. Er geht auch (Das mit denn Text hinter denn Waffen, das soll der Preis sein. Dazu habe ich auch eine Frage.) (Ja ich weiß es ist vom "samples/classes.lua" geklaut).
Spoiler >


Jetzt kommen meine anderen Fragen:

>Dies klappt zwar wunderbar aber, wenn ich etwas anderes auswähle, ist das vorherige weg. Wie kann ich es machen, das ich das alte dann noch behalte?√
A: Ich muß kein "parse (speedmod...) und so machen sondern nur ein "parse (equip "..id.." 0")


>Wie kann ich es machen, das mir das Geld abgezogen wird? Soll ich mit Vergleichsoperatoren arbeiten? (">","<")
1
If [GELD] > 10.000 then [GELD] = [GELD] - 10.000

Falls dies stimmt, wie heißt das Geld in Counter-Strike 2D? money ? Das muß ich dann nähmlich mit [GELD] austauschen.
im info.txt finde ich keine Infos darüber

>Ich habe gelesen, das ich ein "@b" dranhängen muß(Beim Titel) damit ich ein größeres Menü kriege. Meine Frage: Wie benutze ich das? Meint man das Titel im Menü für die Waffen (Also in meinen Script: Select your Class@b?) Oder muß ich für mehr als nur 9 etwas anderes machen?

>Woher kenne ich die Addhooks?√
A: Ich gucke einfach in info.txt dort sind alle Addhooks.

>Wieso weiß ich eigendlich das ich "parse ("speedmod" ..id.. " 0")" eingeben muß? Steht das irgendwo? Also ich meine das Wort "speedmod".

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

RAVENOUS
BANNED Off Offline

Quote
Ich gehe nun einfach mal auf deine Fragen ein, da es scheint dass du den Rest verstanden hättest.

Quote
Wie kann ich es machen, das mir das Geld abgezogen wird? Soll ich mit Vergleichsoperatoren arbeiten? (">","<")


Exakt.

Quote
Falls dies stimmt, wie heißt das Geld in Counter-Strike 2D? money ? Das muß ich dann nähmlich mit [GELD] austauschen.
im info.txt finde ich keine Infos darüber


Doch, findest du.

Spoiler >


Darin befindet sich "money".

Vielleicht kennst du ja:
1
if player(id,"money")==16000 then


Quote
Ich habe gelesen, das ich ein "@b" dranhängen muß(Beim Titel) damit ich ein größeres Menü kriege. Meine Frage: Wie benutze ich das? Meint man das Titel im Menü für die Waffen (Also in meinen Script: Select your Class@b?) Oder muß ich für mehr als nur 9 etwas anderes machen?


Du hast es richtig gemacht, hinter den Titel @b für großes, @i für unsichtbares Menü.

Quote
Wieso weiß ich eigendlich das ich "parse ("speedmod" ..id.. " 0")" eingeben muß? Steht das irgendwo? Also ich meine das Wort "speedmod".


ta-daa

War mir eine Freude, und Zeitvertreib zugleich.

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

Bowlinghead
User Off Offline

Quote
Hi,

Ich habe noch ein Problem.
Also, ich habe jetzt ca. 3 Stunden daran gehangen diesen Script zu machen. Weißt du was doof ist? Er geht nicht (Also er startet Garnicht). Hier der Script: (Natürlich vom Bsp. kopiert <Sag es aber keinen :D)
More >


>Habe ich das "@b" falsch gesetzt? Oder sind dies zu viele buttons/Waffen?

>Habe ich das mit denn Geld (money) richtig benutzt? Mit "==" heißt es ja nur, falls das Geld GENAU 16000 ist, kriege ich die Waffe. Wenn ich ">=" benutze heißt das, das wenn ich mehr oder genau gleich viel geld habe, das ich die Waffe kriege, oder nicht?

>Ist i eigendlich etwas besonderes? In vielen Scripts taucht die Variable auf, wie in meinen (geklauten :D) Script:
1
2
3
4
5
function initArray(m)
     local array = {}
     for i = 1, m do
          array[i]=0
     end

Ist i vllt. etwas besonderes? Oder ist das so eine "selbst gemachte" Regel*, das man i für was besonderes nimmt?

>Diese "Commands", kann ich die alle in meine Script einbauen? Achja Was ist "fn57"? Da steht das ist eine Waffe, welche ist das? Ich kenn keine die so heißt.

* Was meinte ich mit "selbst gemacht"? Ja z.B. die "selbst gemachte" Regel, das man [Tab] benutzt damit der Script ordenlicher ist, es ist keine Pflicht, es wird aber trodtzdem gemacht.
Danke @Tobey, der meine Frage bis jetzt mehr als Gut beantwortet

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

RAVENOUS
BANNED Off Offline

Quote
Schmeiss das verkackte, veraltete Sample weg und mach's selber. Das nötige Wissen solltest du haben, und fürchte dich nicht. Es ist einfach als es aussieht, solche Samples behindern einen nur in seiner Freiheit, wenn du das eben schnell machst kann ich die Fehler auch schnell bearbeiten.

ja >= is auch ein zulässiger Operator. In dem Fall größer/gleich. Ja, du solltest die Waffe demnach erhalten.

i ist einfach nur eine variable. man könnte auch xyz nehmen, ist ähnlich wie dem tabben eine selbsternannte Regel die sich einfach festgemustert hat.

Probieren geht über studieren! FN57 ist die selbstverständlich erkannbare Anti-Terroristen-Waffe Five-Seven!!
Nein, ich habs grad selber testen müssen, wtf.

Und jetzt machs selber. Auf.

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

Bowlinghead
User Off Offline

Quote
Ok :D, bin dabei Bin aber immernoch etwas am gucken, wie ich die Zeichen machen muß :D. Aber immer seltener.
~~ Ich bin am Scripten uuuuund...
Du hast recht. Sooo schwer ist es garnicht.
Hier ist mein Script, er funktioniert noch nicht... Die Console sagt mir nur

1
2
----- Server started -----
LUA ERROR: sys/lua/Unit2.lua:79: 'end' expected (to close 'function' at line 26) near '<eof>'

Aber wo ist function zu nahe an einem end?
Zeile 26 ist bei "-- Menu Settings" die Zeile mit
1
function wpn.menu(id,menu)

Achja Mein Script:
Spoiler >



>Das mit denn Team
•Ich habe keine ahnung was das ist, ich meine, es öffnet das Menü, wenn ich joine.


>Das mit denn Geld in "-- Menu Settings"
•Ich wollte es erst einfügen, aber dann dachte ich mir, ich kann das später machen, ich will erstmal das der Script läuft.
>Sorry das mein Script nicht mit [Tab] benutzt wurde,
naja es wurde zwar mit [Tab] benutzt aber es hat mein Script noch unübersichtlicher gemacht, das tut mir leid.
•Es ist 03:27 Uhr. Villeicht editiere ich das morgen, weil keiner sonst hoffentlich das bis dahin sieht

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

ohaz
User Off Offline

Quote
user Bowlinghead has written
Ist i vllt. etwas besonderes? Oder ist das so eine "selbst gemachte" Regel*, das man i für was besonderes nimmt?
i steht für integer. Da bei Zählvariablen normalerweise mit ganzen Zahlen gezählt wird, nimmt man dafür auch gerne einen Integer. Daher der Variablenname i. Kannst auch jeden anderen nehmen, aber es hat sich so eingebürgert, dass i verwendet wird

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

Bowlinghead
User Off Offline

Quote
Danke @ Tobey:

Du hast mir nochmal gesagt wann ich ein "end" setzten muss. Danke, das wusste ich noch nicht.
Also ich habe jetzt mein Script nochmal komplett neu geschrieben aber die Console sagt mir
Danke @TheKilledDeath:

Du hast mir nochmal genau beschrieben was i heißt, auch wenn es einfach ein anderen Namen haben kann.

1
2
3
----- Server started -----
LUA ERROR: sys/lua/Unit3.lua:3: unfinished string near '"Black Market,RPG
Launcher|$15.000$,Grenade Launcher|$10.000$,Rocket Launcher|$12.500$,'

Wo ist der Fehler? Ich habe dort doch ein " gesetzt...

SCRIPT:
More >


Das mit denn Preisen mache ich später, der Script soll erst einmal laufen.

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

Bowlinghead
User Off Offline

Quote
user Yasday has written
Der string darf mit " und ' nicht über mehere Zeilen gehen ( kann nicht sehen ob es so ist, wegen iPod, könnte aber der Fall sein ).
Achso... Danke ! Du warst richtig... DANKE!!!^

~EDIT~:

Ich habe noch ein problem. Da steht,
More >


Und was soll das jetzt? Es hat ja irgendetwas mit "minute" zu tun...oder nicht? Also mache ich jetzt mal alles was zu "minute" als Kommentar.
Jetzt sieht der Script so aus:
More >


Aber jetzt kommt in der Fehlermeldung:
More >


Was ist denn 'nil' ? (nil = nichts/false/0 <Meine ich)
edited 1×, last 26.04.11 07:08:29 pm

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

Yasday
User Off Offline

Quote
Spoiler >

Sollte jetzt einigermaßen funktionieren...

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

Bowlinghead
User Off Offline

Quote
@ Yasday: Danke das du mir hilfst, aber er geht immernoch nicht!

Da steht

1
2
----- Server started -----
LUA ERROR: sys/lua/Unit3.lua:59: 'end' expected (to close 'function' at line 16) near '<eof>'

Tobey hat mir gesagt, das <eof> ein "end of function" Fehler ist. Also habe ich die Zeile umgeschrieben, und hinter der Funktion ein "end" gemacht. Mir ist schon bewusst das der Script dann, egal was ich mache, nicht läuft. Ich habe es aus Spaß gemacht, und man sehe da! Er funktioniert, aber leider nur Halb .
Also hier der Script:

Spoiler >



>@Yasday: Warum hast du dort ein Table gesetzt?
Doch nicht etwa, weil diese Punkte in meinen addhooks (z.B. wpn.menu) als Table gesehen wurden, oder? Das sollen gar keine Tables sein. Nur einfache Variablen.

>Was funktioniert nur Halb? Also wenn ich die Serveraction Tasten 1-3 Drücke, kommt das Menü aber wenn ich eine Waffe auswähle kommt nichts. Ich habe anschließend in der Console das hier gefunden:
Spoiler >


>Was soll das heißen?

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

Yasday
User Off Offline

Quote
1. Du musst die Funktion variable schließen, sorry das ich's vergessen hab.

2. wpn.menu ist das selbe wie wpn["menu"], du versuchst also auf einen Index einer Tabelle zuzugreifen.

3. Hat nichts mit der Lua zu tun, wurde schon in einem anderen Thread beantwortet.

old Re: Fragen: Wie geht ein Menü mit mehreren Seiten?

Bowlinghead
User Off Offline

Quote
JUHU !!! ES GEHT !!! ICH FRESS 'N BESSEN!
Mein Fehler: Wie Yasday es gesagt hat:

1
1. Du musst die Funktion variable schließen, sorry das ich's vergessen hab.

Ich habe 1 End vergessen!!! Aber ich habe mit einem Normalen Schreib programm geschrieben. Jetzt schreibe ich mit einem, das extra für Lua ausgelegt ist. Jetzt werde ich bestimmt keine "end"'s vergessen!
Danke an alle, die mir geholfen haben!
Ich habe jetzt auch schon eingefügt, das es was kostet und das eine Nachricht kommt was man kauft, und falls es nicht geht, "Not enough Money". Danke

Juhu, mein erster Lua-Script

∗Danke an:∗
•Tobey
•Yasday
•TheKilledDeath
•TimeQuest
•Nove
>Ich hoffe ich habe keinen vergessen :D!
edited 1×, last 27.04.11 03:42:49 pm
To the start Previous 1 Next To the start
Log in to reply Scripts overviewCS2D overviewForums overview