[Hilfe] selfmade Fraktions Gui Error

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [Hilfe] selfmade Fraktions Gui Error

    Hallo,
    unser Server hat eine neue Fraktion "Hackers", da aber alle Funktionen über das Textfeld Funktionieren habe ich mir gedacht, ich mache eine GUI.
    ok, GUI erstellt, herum gescriptet, hochgeladen und gestartet : ERROR! Ich habe gesucht und gesucht aber nix mit dem Error anfangen können, ich hoffe ihr könnt mir weiterhelfen.
    ich habe als Hilfe auch Tutorials Verwendet, da ich nicht erfahren bin, auf Buttons Funktionen zu legen, mein Script und den Error werde ich natürlich posten

    Spoiler anzeigen

    ERROR: Loading script failed: [gamemodes]/[vio]/vio/fraktionen/hackers/client.lua:7: unexpected symbol near ','


    LUA-Quellcode: client.lua

    1. local player = getPlayerName
    2. local Fraktion = ( getElementData ( player, "fraktion" ) )
    3. local screenW, screenH = guiGetScreenSize()
    4. addEventHandler( "onClientResourceStart", getRootElement( ),
    5. function ( )
    6. guiSetVisible (Fenster, false)
    7. end
    8. function auf ()
    9. if player Fraktion == 12 then
    10. if guiGetVisible (Fenster) == true then
    11. showCursor (false)
    12. guiSetVisible (Fenster,false)
    13. else
    14. showCursor (true)
    15. guiSetVisible (Fenster,true)
    16. end
    17. end
    18. end
    19. bindKey ( "F6", "down", auf )
    20. addEventHandler("onClientRender", root,
    21. function Fenster()
    22. dxDrawLine((screenW * 0.3073) - 1, (screenH * 0.3358) - 1, (screenW * 0.3073) - 1, screenH * 0.6642, tocolor(255, 255, 255, 255), 1, false) --outline
    23. dxDrawLine(screenW * 0.6927, (screenH * 0.3358) - 1, (screenW * 0.3073) - 1, (screenH * 0.3358) - 1, tocolor(255, 255, 255, 255), 1, false) --outline
    24. dxDrawLine((screenW * 0.3073) - 1, screenH * 0.6642, screenW * 0.6927, screenH * 0.6642, tocolor(255, 255, 255, 255), 1, false) --outline
    25. dxDrawLine(screenW * 0.6927, screenH * 0.6642, screenW * 0.6927, (screenH * 0.3358) - 1, tocolor(255, 255, 255, 255), 1, false) --outline
    26. dxDrawRectangle(screenW * 0.3073, screenH * 0.3358, screenW * 0.3854, screenH * 0.3283, tocolor(35, 35, 35, 255), false) --- Das Fenster
    27. dxDrawText("Hackpad", screenW * 0.3125, screenH * 0.3358, screenW * 0.5276, screenH * 0.4158, tocolor(255, 255, 255, 255), 3.00, "bankgothic", "left", "top", false, false, false, false, false) --Überschrift
    28. dxDrawRectangle(screenW * 0.3333, screenH * 0.4450, screenW * 0.1437, screenH * 0.0442, tocolor(255, 255, 255, 255), false) --rectangle für ATM
    29. dxDrawText("ATM", screenW * 0.3693, screenH * 0.4392, screenW * 0.4370, screenH * 0.4892, tocolor(0, 0, 0, 255), 2.00, "bankgothic", "left", "top", false, false, false, false, false) --ATM Schrift
    30. dxDrawRectangle(640, 610, 276, 54, tocolor(255, 255, 255, 255), false) --Rectangle für Wandets
    31. dxDrawText("Wanteds", screenW * 0.3333, screenH * 0.5067, screenW * 0.4771, screenH * 0.5517, tocolor(0, 0, 0, 255), 2.00, "bankgothic", "left", "top", false, false, false, false, false) --Text Wandets
    32. Wandets = guiCreateButton(0.33, 0.51, 0.14, 0.05, "", true) --Butoon Wandets
    33. guiSetAlpha(Wandets, 0.00)
    34. Name = guiCreateEdit(0.34, 0.02, 0.65, 1.04, "Name", true, Wandets) --edit für Wandets
    35. ATM = guiCreateButton(0.33, 0.44, 0.14, 0.04, "", true) --Button ATM
    36. guiSetAlpha(ATM, 0.00)
    37. end
    38. )
    39. addEventHandler ( "onClientGUIClick", getResourceRootElement(getThisResource()),
    40. function ( )
    41. if (source == Wandets) then
    42. showCursor (false)
    43. guiSetVisible (Fenster, false)
    44. local target = findPlayerByName( target )
    45. if getElementType ( target ) == "player" and vioGetElementData ( target, "loggedin" ) == 1 then
    46. vioSetElementData ( target, "wanteds", 0 )
    47. setPlayerWantedLevel ( target, 0 )
    48. outputChatBox ( "Du hast die Akten von "..getPlayerName(target).." geloescht!", player,255, 255, 0 )
    49. outputChatBox ( "Ein Hacker hat deine Akten geloescht!", target, 255, 255, 0 )
    50. else
    51. triggerClientEvent ( player, "infobox_start", getRootElement(), "\nUngueltiger\nSpieler!", 5000, 125, 0, 0 )
    52. end
    53. end
    54. end
    55. )
    Alles anzeigen
  • Spoiler anzeigen

    LUA-Quellcode

    1. local player = getPlayerName
    2. local Fraktion = ( getElementData ( player, "fraktion" ) )
    3. local screenW, screenH = guiGetScreenSize()
    4. addEventHandler( "onClientResourceStart", getRootElement( ), -- ist das hier nicht eig unnötig da es eh erst getriggert wird wenn man F6 drückt?
    5. function ( )
    6. guiSetVisible (Fenster, false)
    7. end
    8. function auf ()
    9. if player Fraktion == 12 then
    10. if guiGetVisible (Fenster) == true then
    11. showCursor (false)
    12. guiSetVisible (Fenster,false)
    13. else
    14. showCursor (true)
    15. guiSetVisible (Fenster,true)
    16. end
    17. end
    18. end
    19. bindKey ( "F6", "down", auf )
    20. addEventHandler("onClientRender", root,
    21. function Fenster()
    22. dxDrawLine((screenW * 0.3073) - 1, (screenH * 0.3358) - 1, (screenW * 0.3073) - 1, screenH * 0.6642, tocolor(255, 255, 255, 255), 1, false) --outline
    23. dxDrawLine(screenW * 0.6927, (screenH * 0.3358) - 1, (screenW * 0.3073) - 1, (screenH * 0.3358) - 1, tocolor(255, 255, 255, 255), 1, false) --outline
    24. dxDrawLine((screenW * 0.3073) - 1, screenH * 0.6642, screenW * 0.6927, screenH * 0.6642, tocolor(255, 255, 255, 255), 1, false) --outline
    25. dxDrawLine(screenW * 0.6927, screenH * 0.6642, screenW * 0.6927, (screenH * 0.3358) - 1, tocolor(255, 255, 255, 255), 1, false) --outline
    26. dxDrawRectangle(screenW * 0.3073, screenH * 0.3358, screenW * 0.3854, screenH * 0.3283, tocolor(35, 35, 35, 255), false) --- Das Fenster
    27. dxDrawText("Hackpad", screenW * 0.3125, screenH * 0.3358, screenW * 0.5276, screenH * 0.4158, tocolor(255, 255, 255, 255), 3.00, "bankgothic", "left", "top", false, false, false, false, false) --Überschrift
    28. dxDrawRectangle(screenW * 0.3333, screenH * 0.4450, screenW * 0.1437, screenH * 0.0442, tocolor(255, 255, 255, 255), false) --rectangle für ATM
    29. dxDrawText("ATM", screenW * 0.3693, screenH * 0.4392, screenW * 0.4370, screenH * 0.4892, tocolor(0, 0, 0, 255), 2.00, "bankgothic", "left", "top", false, false, false, false, false) --ATM Schrift
    30. dxDrawRectangle(640, 610, 276, 54, tocolor(255, 255, 255, 255), false) --Rectangle für Wandets
    31. dxDrawText("Wanteds", screenW * 0.3333, screenH * 0.5067, screenW * 0.4771, screenH * 0.5517, tocolor(0, 0, 0, 255), 2.00, "bankgothic", "left", "top", false, false, false, false, false) --Text Wandets
    32. Wandets = guiCreateButton(0.33, 0.51, 0.14, 0.05, "", true) --Butoon Wandets
    33. guiSetAlpha(Wandets, 0.00)
    34. Name = guiCreateEdit(0.34, 0.02, 0.65, 1.04, "Name", true, Wandets) --edit für Wandets
    35. ATM = guiCreateButton(0.33, 0.44, 0.14, 0.04, "", true) --Button ATM
    36. guiSetAlpha(ATM, 0.00)
    37. end
    38. )
    39. addEventHandler ( "onClientGUIClick", getResourceRootElement(getThisResource()),
    40. function ( )
    41. if (source == Wandets) then
    42. showCursor (false)
    43. guiSetVisible (Fenster, false)
    44. local target = findPlayerByName( target )
    45. if getElementType ( target ) == "player" and vioGetElementData ( target, "loggedin" ) == 1 then
    46. vioSetElementData ( target, "wanteds", 0 )
    47. setPlayerWantedLevel ( target, 0 )
    48. outputChatBox ( "Du hast die Akten von "..getPlayerName(target).." geloescht!", player,255, 255, 0 )
    49. outputChatBox ( "Ein Hacker hat deine Akten geloescht!", target, 255, 255, 0 )
    50. else
    51. triggerClientEvent ( player, "infobox_start", getRootElement(), "\nUngueltiger\nSpieler!", 5000, 125, 0, 0 )
    52. end
    53. end
    54. end
    55. )
    Alles anzeigen
  • getPlayerName wird nicht ordentlich benutzt
    Außerdem sind da massig andere Fehler drin

    Die fehlerhaften Zeilen:
    1, 2, 7, 8, 12, 13, 15, 18, 25, 47, 51, 52, 56, 57, 59

    Die ... naja ... schlecht gemachten Zeilen:
    5, 37, 38, 39, 40, 41, 49, 53, 54, 55

    Du solltest den Unterschied zwischen serverseitig und clientseitig nachgooglen.
    Außerdem scheinst du dxDraw Funktion und GUI total missverstanden zu haben.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Gelöschter Benutzer ()

  • Bonus schrieb:

    getPlayerName wird nicht ordentlich benutzt
    Außerdem sind da massig andere Fehler drin

    Die fehlerhaften Zeilen:
    1, 2, 7, 8, 12, 13, 15, 18, 25, 47, 51, 52, 56, 57, 59

    Die ... naja ... schlecht gemachten Zeilen:
    5, 37, 38, 39, 40, 41, 49, 53, 54, 55

    Du solltest den Unterschied zwischen serverseitig und clientseitig nachgooglen.
    Außerdem scheinst du dxDraw Funktion und GUI total missverstanden zu haben.
    Die ersten Zeilen die du nennst, beziehen sich auf die definierungen wenn ich schreibe local player = blaba und local fraktion =blalba dann kann ich auch schreiben if player fraktion blabla da es ein definierter begriff ist
  • Nur erstellt man so keine if-Abfrage, da fehlt ein "and".
    Dazu weist du player getPlayerName zu, aber benutzt die Funktion total falsch.
    Dann benutzt du player dauerhaft so, als wäre es ein Spieler, aber mit getPlayerName würdest du lediglich den Namen, nicht das Element bekommen.
    Der Name kann sich im Laufe des Spielens verändern, z.B. beim Einloggen, daher wäre es sowieso nicht ratsam direkt beim Ressourcen-Laden den Namen zu speichern.
    Jedoch hast du es mit getElementData ( player, "fraktion" ) getan, wobei player eben überhaupt nicht existiert und auch wenn du es richtig benutzt hättest, player nur ein Name wäre und kein Element, welches ElementDatas haben kann. Du speicherst eben die Fraktion beim Ressourcen-Beginn, obwohl die Fraktion erst beim Einloggen/Registrieren zugewiesen wird, das heißt da wird immer gespeichert, dass du keine Fraktion hast.

    Ich habe dir zig Zeilen genannt, die du unbedingt ändern solltest.
    Konzentrier dich nicht nur auf die 2-3 Zeilen.