Guten Abend,
Ich habe folgendes Problem:
Ich habe ein Script mit dem ich mein Auto verkaufen kann, allerdings kann ich nachdem ich das Auto verkauft habe kein neues mehr kaufen. Wenn ich ein Auto kaufen will gibt er den Fehler "Du hast bereits ein Auto" aus.
Ich habe das ganze auch mit der num_rows überprüft und das Programm gibt mir 1 und nicht 0 aus.
Hier mein Code um Autos zu kaufen:
Lua
addEvent("CarBuy",true)
function CarBuyFunc(lp,veh,price)
local sx,sy,sz = -1935.45764, 269.70041, 44.49506
local query = dbQuery(db,"SELECT * FROM cars WHERE OWNER=?",username)
--...
if money > tonumber(price) then
local result,num_rows = dbPoll(query,-1)
outputChatBox(num_rows) -- gibt 1 und nicht 0 aus.
if num_rows == 0 then
setPlayerMoney(lp,money-price)
local exec = dbQuery(db,"INSERT INTO cars(CARID,SPAWNX,SPAWNY,SPAWNZ,ROTX,ROTY,ROTZ,OWNER,CARKEY,R,G,B,PRICE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)",carid,sx,sy,sz,0,0,50,username,carkey,r,g,b,price)
if exec then
outputDebugString("Inserting Car Shop successfull!")
dbFree(exec)
else
outputDebugString("Inserting Car Shop wasn't successfull!")
end
local spawnedVehicle = createVehicle(carid, sx, sy, sz, 0, 0, 50)
setElementData(spawnedVehicle, "Owner", username)
warpPedIntoVehicle(lp,spawnedVehicle)
else
outputChatBox("You already have a car!",lp,180,0,0,false)
end
else
outputChatBox("You don't have enough money to buy this Car!",lp,180,0,0,false)
end
end
addEventHandler("CarBuy",root,CarBuyFunc)
Alles anzeigen
Hier mein Code um das Auto wieder zu verkaufen:
Lua
ddCommandHandler("sellmycar",
function(player,cmd)
local price
local pName = getElementData(player,"username")
local sql = dbQuery(db,"SELECT * FROM cars WHERE OWNER=?",pName)
local result, num_rows = dbPoll(sql, -1)
local money = getPlayerMoney(player)
if num_rows >= 1 then
for _, row in pairs (result) do
price = row["PRICE"]
end
local sellprice = price * 0.40
dbExec(db,"DELETE FROM cars WHERE OWNER=?",pName )
outputChatBox("You just sold your car for 40% of the original price: "..sellprice,player,0,180,0)
setPlayerMoney(player,money+sellprice,false)
for _, veh in pairs ( getElementsByType("vehicle") ) do
if(tostring(getElementData(veh, "Owner")) == tostring(pName)) then
destroyElement(veh)
end
end
end
end)
Alles anzeigen