Gui Problem

  • Hallo


    ich habe folgendes Problem.


    Ich möchte dass sich ein Gui öffnet wenn man in einen Marker läuft.
    Dies funktioniert auch nur leider öffnet sich das Gui nicht nur bei einem Spieler sondern bei allen.


    Wäre nett wenn mir jmd weiterhelfen kann ;)

  • Es können nur Vermutungen angestellt werden ohne Code.
    Ich denke es liegt daran, dass beim Triggern des Events anstatt dem Spieler bei welchem das GUI geöffnet werden soll,
    root(getRootElement()) übergeben wird.

  • Das von meinem Vorposter benannte Problem ließe sich mithilfe eines optionalen Parameters der Funktion triggerClientEvent beheben.




    Zitat von MTA: SA Wiki


    sendTo: The event will be sent to all players that are children of the specified element. By default this is the root element, and hence the event is sent to all players. If you specify a single player it will just be sent to that player. This argument can also be a table of player elements.

    https://wiki.multitheftauto.com/wiki/TriggerClientEvent

  • Es wäre gut wenn du das Script offenbaren würdest damit wir dort eventuell ein Fehler erkennen können.
    Ich würde dir das Event "onClientMarkerHit" empfehlen.
    Dann könntest du den EventHandler so auf bauen: addEventHandler("onClientMarkerHit",DEINMARKER,DEINEFUNKTION)


    Wenn du hier klickst kannst du dir die Eventbeschreibung einmal durchlesen.


    https://wiki.multitheftauto.com/wiki/OnClientMarkerHit


    Das ganze funktioniert aber nur bei einem Clientseitigen Marker!

  • hier nochmal der code


    local bobMarker = createMarker ( -1430.0601,-620.153,6165.3134765625, "corona", 3 ,255,0,0,0)




    start = {
    label = {}
    }
    start.label[1] = guiCreateLabel(100, 0, 1914, 122, "Hallo "..getPlayerName(getLocalPlayer())..". Gehe zu Bob, er wird dir sagen wie es weitergeht.", false,player)
    guiSetFont(start.label[1], "sa-header")
    guiLabelSetColor(start.label[1], 0, 24, 254)
    guiSetVisible(start.label[1],false)


    function Bob (player)
    guiSetVisible(start.label[1],true)
    end
    addEventHandler("onClientMarkerHit", startMarker, Bob)



    EDIT// Also es funktioniert immernoch nicht

  • Mars:


    So funktioniert es.
    function showGUI_func(hitPlayer)
    if hitPlayer==getLocalPlayer() then
    guiSetVisible(DEIN_GUI,true)
    showCursor(true)
    end
    end
    addEventHandler("onClientMarkerHit",deinmarker, showGUI_func)



    Die Funktion öffnet das Gui nur bei dem Spieler, welcher den Marker betreten hat.

    Mitglied seit dem 12.12.2012
    Du brauchst eine Internetseite für dein Projekt, Unternehmen oder Clan ?
    Dann schreib mir einfach eine PN mit allen Details

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!