German Der "menu" Hook wird nicht ausgeführt. Warum?

18 replies
Goto Page
To the start Previous 1 Next To the start
Up
Bowlinghead
User
Offline Off
Hallo,
Hier ist meine Frage:
Ich bin gerade dabei, etwas mit Menüs zu arbeiten aber dann kommt ein komischer unbeabsichtliger der sofort entfernt werden solltener Bug/Fehler.
Hier der Skript:
More >


Wenn ich spawne, dann wird das Menü nicht angezeigt!
Aber in der Konsole (^) wird kein Error oder ähnliches angezeigt:
Spoiler >


Nur das witzige dabei ist, wenn ich denn Menü-Hook ganz weg mache, dann wird das Menü beim spawnen angezeigt! (Aber ich kann nichts drücken, weil der Menü Hook ja weg ist!)

Der Skript denn ihr da oben seht ist der ganze bis-jetzt geschriebene Skript.

------------------------------------------
Ist euch das auch passiert? Was habt ihr gemacht?
Hab ich etwas vergessen?
Ist es ein Bug?
Bin ich zu blöd?
Wer weiß...
------------------------------------------
Share time limited free games here
31.08.11 06:45:27 pm
Up
Anti-Grav
User
Offline Off
function menu!(id,t,b)

das ! muss weg.

Tipp: Lad dir den Sublime Text Editor runter. Der zeigt dir die Syntax von Lua an, so sieht man den Fehler leicht.
edited 1×, last 31.08.11 06:46:31 pm
IMG:http://666kb.com/i/c03qqjjxt4q0cfz1s.png
IMG:http://666kb.com/i/c03qqutalg1c1a2b4.png
IMG:http://666kb.com/i/c03qr0a2394hx8zlc.png
31.08.11 06:46:10 pm
Up
RAVENOUS
BANNED
Offline Off
Mach mal das ! bei
Code:
1
2
addhook("menu","menu!")
function menu!(id,t,b)


Ansonsten, kein Fehler?

Ich denk das ist es. das Ausrufezeichen wird ignoriert, dadurch hat der hook den gleichen Namen wie die Funktion. Da sollte der Fehler liegen.

Generell: Schreib mir ne PM und nie Sonderzeichen in Scripts verwenden.

Edit: Ich bin froh wenn Leute schneller sind als ich zzzzz
"A work of art is the unique result of a unique temperament." - Oscar Wilde
31.08.11 06:47:09 pm
Up
Bowlinghead
User
Offline Off
Ich hatte es erst vorher ohne "!". Dann funktionierte es nicht und es geht mit "!" auch nicht.

Also, es kommt immer noch kein Error oder so


@ Anti Grav's Tipp:
Okay, werde ich mal probieren!
Share time limited free games here
31.08.11 06:50:41 pm
Up
RAVENOUS
BANNED
Offline Off
Also, das menu taucht nicht auf? Sobald du aber den hook entfernst kommt es?

Bau mal ne Funktion a la serveraction ein. Und rufe die Menus dadurch manuell auf. Ansonsten Hilfetexts einbauen die dann angezeigt werden, damit du siehst welcher Part vom Script läuft und welcher abgeschnitten wird etc.
"A work of art is the unique result of a unique temperament." - Oscar Wilde
31.08.11 06:50:43 pm
Up
Anti-Grav
User
Offline Off
Also beim mir, beim Spawn, kommt ein Menu mit:

Heavy

I want it
I dont want it.
IMG:http://666kb.com/i/c03qqjjxt4q0cfz1s.png
IMG:http://666kb.com/i/c03qqutalg1c1a2b4.png
IMG:http://666kb.com/i/c03qr0a2394hx8zlc.png
31.08.11 06:52:28 pm
Up
Bowlinghead
User
Offline Off
What the...?

@ Tobey/RAVENOUS:
Gute idee
(MIt denn Messages)

@ Grav:
Wie zum...?
Kam davor noch ein Menü? Wenn ja, liegt das an mir, nicht am script....

EDIT:
Oh! Serveraction WTF?
Also jetzt kommt ein Error:
Code:
1
LUA ERROR: attempt to call a nil value

Auslöser:
Wenn ich F2/F3/F4 drücke
Zeile:
UNKNOWN!

Ich krieg die Kriese
SAG MIR DIE ZEILE DU VERDAMMTES *PIEP*

Logischer fehler:
Jede Milisekunde werden egal welches Level (Von allen) von 0 auf 1 gesetzt. Das Menü, beim spawnen, kommt nur, wenn mein Level auf 0 ist. Also kann das Menü logischer weise nicht kommen.
Aber ich habe es gerade gefixt und immer noch nichts
edited 1×, last 31.08.11 06:57:41 pm
Share time limited free games here
31.08.11 06:56:58 pm
Up
RAVENOUS
BANNED
Offline Off
Sowieso, wenn ein Menü kommt stimmt die Syntax. CS2D Console prüft das an sich auch durch.

Mach bei "Classes:" mal den Doppelpunkt weg, alles so plain simple wies geht.

Also, die Reihenfolge im Ablauf sollte sein:

Code:
1
2
3
4
5
Startmenu mit welcher Klasse man gerne hätte.

Infos zur Klasse

Check ob man die Klasse wirklich will


So sollte die Abfolge an sich sein. Das der Heavy text am Anfang kommt ist hier schlicht unmöglich oO
"A work of art is the unique result of a unique temperament." - Oscar Wilde
31.08.11 07:02:05 pm
Up
Bowlinghead
User
Offline Off
Jap... Das meinte ich auch.
Also ich habs geändert und es kommt immernoch folgener Error wenn ich Serveraction-drücke.

Code:
1
LUA ERROR: attempt to call a nil value

(Unbekannte/Fehlerhafte Variable/wert kann nicht gelesen werden)


Nach gefühlten 80Jahren des checken des codes sehe ich denn fehler imme noch nicht .

Also an denn vielen Msg2's liegt es nicht, habe ich gerade auch getestet!
Share time limited free games here
31.08.11 07:04:33 pm
Up
RAVENOUS
BANNED
Offline Off
Zeig mal den Script mit der serveraction dabei. Muss ich CS2D echt auf mein Geschäftslaptop ziehen.. zzzz
"A work of art is the unique result of a unique temperament." - Oscar Wilde
31.08.11 07:09:20 pm
Up
Bowlinghead
User
Offline Off
Bist du heute in Creeper stimmung?

Hier:
More >


Btw. immer noch gleicher error
Ich wette es ist irgendetwas mit dem timer... Mit timer habe ich irgendwie immer probleme
Share time limited free games here
31.08.11 07:15:49 pm
Up
RAVENOUS
BANNED
Offline Off
timer empfiehlt dir auch kein Schwein weil die eingebaute timer funktion einfach shit ist.

Bau die timer mal aus, schauen wies dann läuft.
"A work of art is the unique result of a unique temperament." - Oscar Wilde
31.08.11 07:21:31 pm
Up
Bowlinghead
User
Offline Off
Die timer sind wirklich doof xD.
Resultat ohne timer:
Aber es kommt immernoch gleicher Error, gleicher auslöser
-----------
Irgendwo hab ich etwas falsch gemacht
Share time limited free games here
31.08.11 07:25:03 pm
Up
RAVENOUS
BANNED
Offline Off
Das ganze sieht eh komisch aus. Ich helf dir eben privat aus
"A work of art is the unique result of a unique temperament." - Oscar Wilde
31.08.11 08:02:03 pm
Up
Bowlinghead
User
Offline Off
Also hier nochmal der minimalste teil, indem immernoch follgener Error kommt:
Code:
1
LUA ERROR: attempt to call a nil value


Script:
More >


Wenn ich Serveraction drücke kommt kein menü, nur der error.
What the fuck is that?
Share time limited free games here
31.08.11 08:05:14 pm
Up
Anti-Grav
User
Offline Off
Code:
1
2
3
4
5
6
7
8
9
10
11
addhook("serveraction","serveractionl")
function serveracionl(id,action)
if action == 1 then
     if spy[id]==0 and standard[id]==0 and sniper[id]==0 and heavy[id]==0 then
     --     msg("©255000255Welcome "..player(id,"name").." on our Server!")
          menu(id,"Classes,Spy|Click for more informations!,Standard|Click for more information,Sniper|Click for more information,Heavy|Click for more information!")
     else
          msg2(id,"©000255000Welcome back!@C")
     end
end
end


Probier das mal
IMG:http://666kb.com/i/c03qqjjxt4q0cfz1s.png
IMG:http://666kb.com/i/c03qqutalg1c1a2b4.png
IMG:http://666kb.com/i/c03qr0a2394hx8zlc.png
31.08.11 08:10:08 pm
Up
Bowlinghead
User
Offline Off
No. Gleicher Error, gleiche Zeile, alles gleich!
Code:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function initArray(m)
     local array = {}
     for i = 1, m do
          array[i]=0
     end
     return array
end
spy=initArray(32)
standard=initArray(32)
sniper=initArray(32)
heavy=initArray(32)
addhook("serveraction","serveractionl")
function serveracionl(id,action)
     if action == 1 then
          if spy[id]==0 and standard[id]==0 and sniper[id]==0 and heavy[id]==0 then
-- msg("©255000255Welcome "..player(id,"name").." on our Server!")
               menu(id,"Classes,Spy|Click for more informations!,Standard|Click for more information,Sniper|Click for more information,Heavy|Click for more information!")
          else
               msg2(id,"©000255000Welcome back!@C")
          end
     end
end


Wo ist der Fehler? Jetzt muss es doch nicht so schwer sein
Share time limited free games here
31.08.11 08:16:28 pm
Up
Anti-Grav
User
Offline Off
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function initArray(m)
     local array = {}
     for i = 1, m do
          array[i]=0
     end
     return array
end
spy=initArray(32)
standard=initArray(32)
sniper=initArray(32)
heavy=initArray(32)
addhook("serveraction","lol")
function lol(id,action)
     if action == 1 then
           if spy[id]==0 and standard[id]==0 and sniper[id]==0 and heavy[id]==0 then
               menu(id,"Classes,Spy,Standard,Sniper,Heavy")
     end
end
end


So zeigt er das Menu schonmal an.
IMG:http://666kb.com/i/c03qqjjxt4q0cfz1s.png
IMG:http://666kb.com/i/c03qqutalg1c1a2b4.png
IMG:http://666kb.com/i/c03qr0a2394hx8zlc.png
31.08.11 08:17:52 pm
Up
Bowlinghead
User
Offline Off
Das weiß ich xD.
Ich habe ja gerade mit RAVENOUS gechattet, da haben wir (Ich) das auch herrausgefunden...
Share time limited free games here
To the start Previous 1 Next To the start