Hallo liebe community,
ich habe ein kleines problem mit meinem fraktionskassensystem.
1. wenn ich z.b. geld abhebe / einzahle, wird der wert in der xml nicht geändert.
2. wenn ich geld abheben will, dann gibt es ein bad argument problem.
Clientseitig einzahlen:
Lua
function onFKassenBtn1()
local frow, fcolumn = guiGridListGetItemText ( fkassenGrid, guiGridListGetSelectedItem ( fkassenGrid ), 1 )
local ID = getElementData(getLocalPlayer(), "Fraktion")
local target = getLocalPlayer()
if tostring(frow) == "Drogen" then
local amount = round(tonumber(guiGetText(fkassenedit)), 0)
triggerServerEvent("fkEinzahlenDrogen", getLocalPlayer(), target, amount, ID)
elseif tostring(frow) == "Material" then
local amount = round(tonumber(guiGetText(fkassenedit)), 0)
triggerServerEvent("fkEinzahlenMaterial", getLocalPlayer(), target, amount, ID)
elseif tostring(frow) == "Geld" then
local amount = round(tonumber(guiGetText(fkassenedit)), 0)
triggerServerEvent("fkEinzahlenGeld", getLocalPlayer(), target, amount, ID)
end
end
addEventHandler("onClientGUIClick", fkasseneinzahlbtn, onFKassenBtn1)
Alles anzeigen
Clientseitig auszahlen:
Lua
function onFKassenBtn2()
local frow, fcolumn = guiGridListGetItemText ( fkassenGrid, guiGridListGetSelectedItem ( fkassenGrid ), 1 )
local ID = getElementData(getLocalPlayer(), "Fraktion")
local target = getLocalPlayer()
if tostring(frow) == "Drogen" then
local amount = round(tonumber(guiGetText(fkassenedit)), 0)
local drogenUser = getLocalPlayer()
triggerServerEvent("fkAuszahlenDrogen", getLocalPlayer(), target, amount, ID)
elseif tostring(frow) == "Material" then
local amount = round(tonumber(guiGetText(fkassenedit)), 0)
triggerServerEvent("fkAuszahlenMaterial", getLocalPlayer(), target, amount, ID)
elseif tostring(frow) == "Geld" then
local amount = round(tonumber(guiGetText(fkassenedit)), 0)
triggerServerEvent("fkAuszahlenGeld", getLocalPlayer(), target, amount, ID)
end
end
addEventHandler("onClientGUIClick", fkassenauszahlbtn, onFKassenBtn2)
Alles anzeigen
Serverseitig einzahlen:
Lua
function fkEinzahlenGeld(player, amount, ID)
local ID = getElementData(player, "Fraktion")
local money = getPlayerMoney(player)
local xmlFile = xmlLoadFile ( "Fraktionskassen/Kassen/"..ID..".xml" )
local geldnode = xmlFindChild( xmlFile, "geld", 0 )
local moneten = xmlNodeGetValue(geldnode)
if (amount > 0) then
if (amount <= money) then
if xmlFile then
if moneten then
xmlNodeSetValue(geldnode, moneten + amount)
takePlayerMoney(player, amount)
outputChatBox("Du hast "..tostring(amount)..",- Revo in die Kasse eingezahlt.", player, 255, 255, 0)
else
outputChatBox("XML-FEHLER!", player, 255, 0, 0)
end
xmlSaveFile(xmlFile)
xmlUnloadFile(xmlFile)
end
else
outputChatBox("Du hast nicht genug Geld dabei.", player, 255, 0, 0)
end
else
outputChatBox("Betrag muss mehr als 0 sein.", player, 255, 0, 0)
end
end
addEvent("fkEinzahlenGeld", true)
addEventHandler("fkEinzahlenGeld", getRootElement(), fkEinzahlenGeld)
Alles anzeigen
Serverseitig auszahlen:
Lua
function fkAuszahlenGeld(player, amount, ID)
local ID = getElementData(player, "Fraktion")
local money = getPlayerMoney(player)
local rang = getElementData(player, "Rang")
local xmlFile = xmlLoadFile ( "Fraktionskassen/Kassen/"..ID..".xml" )
local geldnode = xmlFindChild( xmlFile, "geld", 0 )
local moneten = xmlNodeGetValue(geldnode)
if (amount > 0) then
if (amount <= moneten) then
if rang == 5 then
if xmlFile then
if moneten then
xmlNodeSetValue(geldnode, moneten + amount)
takePlayerMoney(player, amount)
outputChatBox("Du hast "..tostring(amount)..",- Revo aus der Kasse ausgezahlt.", player, 255, 255, 0)
else
outputChatBox("XML-FEHLER!", player, 255, 0, 0)
end
xmlSaveFile(xmlFile)
xmlUnloadFile(xmlFile)
end
else
outputChatBox("Du bist kein Faktionsleader!", player, 255, 0, 0)
end
else
outputChatBox("Du hast nicht genug Geld dabei.", player, 255, 0, 0)
end
else
outputChatBox("Betrag muss mehr als 0 sein.", player, 255, 0, 0)
end
end
addEvent("fkAuszahlenGeld", true)
addEventHandler("fkAuszahlenGeld", getRootElement(), fkAuszahlenGeld)
Alles anzeigen
Ich habe auch alles in der meta eingetragen.
Hier nun der Errorlog:
[2013-07-07 17:25:29] ERROR: Reallife\Fraktionskassen\fraktkasse_s.lua:185: attempt to compare number with nil
die zeile die dies betrifft ist: