Hallo ich helfe derzeit einem Freund und er hat folgendes Problem
- Wenn er auf ein Schild bei der Fahrschule Klicken möchte kommt dies
Error:
Lua
[15:19:38] ERROR: /fraktionen/fahrschule/funktionen.lua:20: attempt to perform arithmetic on a userdata value
Tabelle:
local result = dbPoll(dbQuery(handler, "SELECT * FROM userdata")-1)
Oder!
local result = dbPoll ( dbQuery ( handler, "SELECT ?? FROM ?? WHERE ?? = ?", "LookoutsA", "achievments", "UID", playerUID[pname] ), -1 )
Alles anzeigen
Vielen Dank im Vorraus für die Hilfe
Die Funktion zeile 15 - 35
Lua
local Marker1 = createMarker(1374.0849609375, 404.88519287109, 19.955516815186, "corona", 1.0, 255, 255, 255, 200) -- Eingang
-- Draussen: 1372.0050048828, 405.87298583984, 19.7578125
local Marker2 = createMarker(-2026.8883056641, -103.60192108154, 1035.1834716797, "corona", 1.0, 255, 255, 255, 200) -- Ausgang
setElementInterior(Marker2, 3)
local Marker3 = createMarker(1393.3563232422, 423.72183227539, 19.970623016357, "corona", 1.0, 255, 255, 255, 200) -- Unten Dach
-- Unten: 1393.9295654297, 425.08511352539, 19.973478317261
local Marker4 = createMarker(1389.4227294922, 405.15219116211, 28.755516052246, "corona", 1.0, 255, 255, 255, 200) -- Oben Dach
-- Oben: 1390.1716308594, 406.57540893555, 28.755516052246
local Tafel = createObject(2164, 1369.7309570313, 401.30838012695, 18.53846244812, 0, 0, 270)
addEventHandler( "onElementClicked", getRootElement(),
function ( theButton, theState, player )
if theState == "down" and theButton == "left" then
if(source == Tafel) then
if(tonumber(getElementData(player, "Clicked")) == 1) then return end
local mymysql = dbQuery(handler, "SELECT * FROM userdata")
--local result = dbExec ( handler)
if ( result or not ( result ) > 0) then
local row = mysql_fetch_assoc(result)
triggerClientEvent("onFahrschulTafelClick", player, row['Autofuehrerschein'] or 0, row['LKWfuehrerschein'] or 0, row['Helikopterfuehrerschein'] or 0, row['FlugscheinKlasseA'] or 0, row['Motorbootschein'] or 0, row['Angelschein'] or 0, row['Motorradtfuehrerschein'] or 0)
setElementData(player, "Clicked", 1)
else
local query2 = "INSERT INTO userdata ( Autofuehrerschein, LKWfuehrerschein, Helikopterfuehrerschein, FlugscheinKlasseA, Motorbootschein, Angelschein, Motorradtfuehrerschein ) VALUES ( '0', '0', '0', '0', '0', '0', '0' )"
local result2 = dbExec( handler, query2 )
local row = mysql_fetch_assoc(result2)
triggerClientEvent("onFahrschulTafelClick", player, row['Autofuehrerschein'] or 0, row['LKWfuehrerschein'] or 0, row['Helikopterfuehrerschein'] or 0, row['FlugscheinKlasseA'] or 0, row['Motorbootschein'] or 0, row['Angelschein'] or 0, row['Motorradtfuehrerschein'] or 0)
setElementData(player, "Clicked", 1)
end
end
end
end )
addCommandHandler("pruefen",
function(player, cmd, target, schein)
if not(target) then outputChatBox("Benutze: /pruefen [Spieler] [Schein]", player, 200, 0, 0, false) return end
if not(schein) then outputChatBox("Benutze: /pruefen [Spieler] [Schein]", player, 200, 0, 0, false) return end
local target = getPlayerFromName(target)
if not(target) then outputChatBox("Spieler nicht gefunden!", player, 200, 0, 0, false) return end
local schein = tostring(schein)
if(schein == "Autofuehrerschein") or (schein == "LKWfuehrerschein") or (schein == "Helikopterfuehrerschein") or (schein == "FlugscheinKlasseA") or (schein == "Motorbootschein") or(schein == "Angelschein") or(schein == "Motorradtfuehrerschein") then else outputChatBox("Ungueltiger Schein!", player, 200, 0, 0, false) return end
if (getElementData(player, "pruefling")) then outputChatBox("Du bist bereits in einer Pruefung!", player, 200, 0, 0, false) return end
local x, y, z = getElementPosition(player)
local x1, y1, z1 = getElementPosition(target)
if(getDistanceBetweenPoints3D(x, y, z, x1, y1, z1) > 15) then outputChatBox("Du bist zu weit von dem Spieler weg!", player, 200, 0, 0, false) return end
setElementData(target, "fahrpruefung", true)
setElementData(player, "fahrpruefung", true)
setElementData(player, "pruefling", getPlayerName(target))
setElementData(player, "schein", schein)
outputChatBox("Du bist nun in einer Fahrpruefung mit "..getPlayerName(target)..".", player, 200, 100, 0)
outputChatBox("Benutze /endpruefung 0, um den Pruefling nicht zu Bestehen, 1 Um die Pruefung zu bestehen.", player, 200, 100, 0)
outputChatBox("Du bist nun in einer Fahrpruefung. Fahrlehrer: "..getPlayerName(player).." Schein: "..schein, target, 200, 100, 0)
end)
addCommandHandler("endpruefung",
function(player, cmd, var)
if not(var) then outputChatBox("Benutze: /endpruefung [0/1] | 0 = Nicht bestanden, 1 = Bestanden", player, 200, 0, 0, false ) return end
if not(getElementData(player, "pruefling")) then outputChatBox("Du bist in keiner Pruefung!", player, 200, 0, 0, false) return end
local user = getPlayerFromName(getElementData(player, "pruefling"))
if not(user) then outputChatBox("Kritischer Fehler, Spieler nicht Online!", player, 200, 0, 0, false)
setElementData(player, "fahrpruefung", false)
setElementData(player, "pruefling", nil)
setElementData(player, "schein", nil)
return end
local var = tonumber(var)
if(var == 0) then
setElementData(player, "fahrpruefung", false)
setElementData(player, "pruefling", nil)
setElementData(player, "schein", nil)
setElementData(user, "fahrpruefung", false)
outputChatBox("Die Pruefung wurde Beendet. Der Buerger ist Durchgefallen.", player, 0, 200, 0, false)
outputChatBox("Die Pruefung wurde Beendet. Tut uns leid, du bist Durchgefallen.", user, 230, 0, 0, false)
elseif(var == 1) then
local schein = getElementData(player, "schein")
setElementData(player, "fahrpruefung", false)
setElementData(player, "pruefling", nil)
setElementData(player, "schein", nil)
setElementData(user, "fahrpruefung", false)
outputChatBox("Die Pruefung wurde Beendet. Der Buerger hat Bestanden.", player, 0, 200, 0, false)
outputChatBox("Die Pruefung wurde Beendet. Herzlichen Glueckwunsch, du hast die Pruefung Bestanden.", user, 0, 230, 0, false)
if(schein == "Autofuehrerschein") then
setElementData(user, "Autofuehrerschein", 1)
elseif(schein == "LKWfuehrerschein") then
setElementData(user, "LKWfuehrerschein", 1)
elseif(schein == "Helikopterfuehrerschein") then
setElementData(user, "Helikopterfuehrerschein", 1)
elseif(schein == "flugschein") then
setElementData(user, "FlugscheinKlasseA", 1)
elseif(schein == "Motorbootschein") then
setElementData(user, "Motorbootschein", 1)
elseif(schein == "Angelschein") then
setElementData(user, "Angelschein", 1)
elseif(schein == "Motorradtfuehrerschein") then
setElementData(user, "Motorradtfuehrerschein", 1)
end
else return end
end)
addEventHandler("onMarkerHit", Marker4,
function(hitElement)
if(getElementType(hitElement) == "vehicle") then return end
if(getPedOccupiedVehicle(hitElement)) then return end
if(canEnterFahrschule(hitElement) == false) then return end
setElementPosition(hitElement, 1393.9295654297, 425.08511352539, 19.973478317261)
end)
addEventHandler("onMarkerHit", Marker3,
function(hitElement)
if(getElementType(hitElement) == "vehicle") then return end
if(getPedOccupiedVehicle(hitElement)) then return end
if(canEnterFahrschule(hitElement) == false) then return end
setElementPosition(hitElement, 1390.1716308594, 406.57540893555, 28.755516052246)
end)
addEventHandler("onMarkerHit", Marker1,
function(hitElement)
if(getElementType(hitElement) == "vehicle") then return end
if(getPedOccupiedVehicle(hitElement)) then return end
setElementPosition(hitElement, -2027.1169433594, -105.62176513672, 1035.171875)
--setElementInterior(hitElement,3,-2027.1169433594,-105.62176513672,1035.171875)
end)
addEventHandler("onMarkerHit", Marker2,
function(hitElement)
if(getElementType(hitElement) == "vehicle") then return end
if(getPedOccupiedVehicle(hitElement)) then return end
setElementPosition(hitElement, 1372.0050048828, 405.87298583984, 19.7578125)
end)
function canEnterFahrschule(element)
if vioGetElementData ( player, "fraktion" ) == 15 then end
if(getElementData(element, "fahrstunde") == true) then return true; end
return false;
end
function change_price_func(var, text)
if(var == 1) then
local result = mysql_query(handler,"UPDATE scheinpreise SET FSCHEIN = '"..text.."'")
if(result) then
outputChatBox("Fuehrerscheinpreis auf "..text.."$ geaendert!", source, 0, 200, 0, false)
else
outputChatBox("Fehler beim Setzen des Preises!", source, 200, 0, 0, false)
end
elseif(var == 2) then
local result = mysql_query(handler,"UPDATE scheinpreise SET LKWSCHEIN = '"..text.."'")
if(result) then
outputChatBox("LKW-Preis auf "..text.."$ geaendert!", source, 0, 200, 0, false)
else
outputChatBox("Fehler beim Setzen des Preises!", source, 200, 0, 0, false)
end
elseif(var == 3) then
local result = mysql_query(handler,"UPDATE scheinpreise SET HELISCHEIN = '"..text.."'")
if(result) then
outputChatBox("Helipreis auf "..text.."$ geaendert!", source, 0, 200, 0, false)
else
outputChatBox("Fehler beim Setzen des Preises!", source, 200, 0, 0, false)
end
elseif(var == 4) then
local result = mysql_query(handler,"UPDATE scheinpreise SET FLUGSCHEIN = '"..text.."'")
if(result) then
outputChatBox("Flugscheinpreis auf "..text.."$ geaendert!", source, 0, 200, 0, false)
else
outputChatBox("Fehler beim Setzen des Preises!", source, 200, 0, 0, false)
end
elseif(var == 5) then
local result = mysql_query(handler,"UPDATE scheinpreise SET BOOTSSCHEIN = '"..text.."'")
if(result) then
outputChatBox("Bootsscheinpreis auf "..text.."$ geaendert!", source, 0, 200, 0, false)
else
outputChatBox("Fehler beim Setzen des Preises!", source, 200, 0, 0, false)
end
elseif(var == 6) then
local result = mysql_query(handler,"UPDATE scheinpreise SET ANGELSCHEIN = '"..text.."'")
if(result) then
outputChatBox("Angelscheinpreis auf "..text.."$ geaendert!", source, 0, 200, 0, false)
else
outputChatBox("Fehler beim Setzen des Preises!", source, 200, 0, 0, false)
end
end
end
addEvent("onFahrschulPreisAender", true)
addEventHandler("onFahrschulPreisAender", getRootElement(), change_price_func)
Alles anzeigen
Neue Errors:
[15:26:23] WARNING: /fraktionen/fahrschule/funktionen.lua:21: Bad argument @ 'dbExec' [Expected string at argument 2, got none]
[15:26:23] ERROR: /fraktionen/fahrschule/funktionen.lua:29: bad argument #1 to 'mysql_fetch_assoc' (mysqlResult expected, got table)