Callback Problem (table: 0x7fcbe9c26f80) statt (Job ausgabe)

2 Beiträge · 2.481 Aufrufe
27.01.2022, 10:08 #1

Guten Morgen,

ich bin ganz frisch bei euch und habe natürlich auch sofort eine Frage die evtl. für den ein oder anderen hier gar kein Problem ist

doch ich scheitere seit gestern circa 18Uhr an diesem Problem da ich einfach nicht erkenne was ich da falsch mache.


Da ich mir gerade unsicher bin ob ihr alle Dateien braucht oder nur

die Server und client.lua poste ich noch die manifest dazu.


fxmanifest.lua :

fx_version "cerulean"
game 'gta5'

author 'verp3iler'
description 'WK-Scripts'
version '0.01'

server_scripts {
    '@mysql-async/lib/MySQL.lua',
    '@es_extended/locale.lua',
    'config.lua',
    'server/server.lua',
    'server/wk_Sfunktion.lua'
}

client_scripts {
    'user/client.lua',
    'user/wk_Cfunktion.lua',
    "@es_extended/locale.lua"
}

files({
    'html/*'
})


server.lua

ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
print("Wk-Framework-Server: Status: gestarted")



ESX.RegisterServerCallback('getCurrentJob', function(source, cb)
    local xPlayer = ESX.GetPlayerFromId(source)
    print(xPlayer.identifier)
    
    
    MySQL.Async.fetchAll('SELECT * FROM users WHERE identifier = @identifier', {
        ['@identifier'] = xPlayer.getIdentifier,
    }, function(result)
        cb(result[1].job)
        
    end)
end)

Client.lua

 ESX = nil 

 Citizen.CreateThread(function()
     while ESX == nil do 
        Citizen.Wait(200)
         TriggerEvent("esx:getSharedObject", function(obj) ESX = obj end)
     end
 end) 
 print("Wk-Framework-CLient: Status: gestarted")



RegisterCommand('checkJob', function(source, args, raw)
    ShowNotification('Vor Callback! ')

    ESX.TriggerServerCallback('getCurrentJob', function(jobname)
        ShowNotification('Dein Aktueller Job: ' .. jobname)        
    end)

    ShowNotification('Nach Callback! ')
end)



function ShowNotification(text)
    SetNotificationTextEntry('STRING')
    AddTextComponentString(text)
    DrawNotification(false, true)
end



Dazu muss ich sagen das der Befehl: "checkJob" anerkannt wird. Aber wenn man ihn ausführt kommt keinerlei

Fehlermeldung und die "Notifikation callback wird einfach garnicht angezeigt. Die Notifikation "vor cb und nach cb" werden angezeigt.



ich warte nur darauf das jetzt einer von euch kommt und mir sagt eyyy dudeee...

da fehlt ein PUNKT oder ein KOMMA an der stelle. :D :D


mfg Andre


Huch Nachtrag: "die server.lua wird laut Konsole ohne Probleme geladen."



Sobald ich den Befehl eingebe kommt in der Konsole diese Meldung:
pasted-from-clipboard.png


mache ich

print(xPlayer.job) 
kommt diese Ausgabe: 
table: 0x7fcbed4ee320

normalerweise müsste dort doch mein aktueller Job ausgegeben werden. :(

Zuletzt bearbeitet von verp3iler am 27.01.2022, 11:00 (4×)
01.02.2022, 22:00 #2

Das geht nicht weil mysql den Datentyp nicht unterstützt.


print(json.decode(x.Player.job))


aber auf der Client Seite kommst du auch leichter an den Job


ESX = nil
Citizen.CreateThread(function()
    while ESX == nil do
        TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
        Citizen.Wait(0)
    end

    while ESX.GetPlayerData().job == nil do
        Citizen.Wait(10)
    end

    PlayerData = ESX.GetPlayerData()
    ShowJob()
end)

function ShowJob()
if PlayerData.job.name ~= "" then
print("Dein name ist" .. PlayerData.job.name)
else
print("Du hast keinen Name, lol")
end
end
Zuletzt bearbeitet von Neverg.one Roleplay am 01.02.2022, 22:07 (2×)
Melde dich an, um zu antworten.
© 2026 GTA-FIVEM.ORGImpressumDatenschutzNutzungsbedingungenCookiesShimo Forum