Wysłany: 2019-12-02, 15:09
kamison
Przyszły programista .lua
Wiek: 25 Na forum: 3302 dni Posty: 391
Nick w MP: kamison
Piwa : 594
Dobry, mam problem napisa?em prosty skrypt bankomatu.
Funkcja wp?acania i wyp?acania dzia?a, aczkolwiek nie do ko?ca.
(przy wp?acie nie ma ?adnego problemu) je?li chc? wyp?aci? pieni?dze np. 70$ z bankomatu (na koncie mam 100$) to i tak nie chce si? wykona? (...)
Co ciekawe, kwot? 10-1 wyp?aca normalnie, tak samo jak i ca?? ilo?? pieni?dzy z bazy.
if ( inspect ( check [ 1 ]. bank + 0 )) >= ileWyplaca then -- sprawdza czy masz hajs na koncie i czy nie chcesz wyplacic mnie jak 0
outputChatBox ( "wyplacasz: " .. ileWyplaca .. "$" , plr , 0 , 255 , 0 )
local saldoPoOperacji = ( check [ 1 ]. bank + 0 ) - ileWyplaca
local ustawNoweSaldoPoOperacji = exports [ "DB3" ]: dbSet ( "UPDATE konto SET bank = ? WHERE login =?" , saldoPoOperacji , nazwa )
local ileMaszPrzySobieJakWyplacisz = check [ 1 ]. pieniadze + ileWyplaca
local wpiszHajsDoBanku = exports [ "DB3" ]: dbSet ( "UPDATE konto SET pieniadze = ? WHERE login =?" , ileMaszPrzySobieJakWyplacisz , nazwa )
local ustawAktualnyHajsGraczowi = setPlayerMoney ( plr , ileMaszPrzySobieJakWyplacisz )
triggerClientEvent ( "saldoPoWplaceniuKasyNaGui" , resourceRoot , saldoPoOperacji )
else
outputChatBox ( "Nie mo?esz tego zrobi?!" , plr , 255 , 0 , 0 )
outputChatBox ( "W banku masz tylko: " ..( inspect ( check [ 1 ]. bank + 0 )).. "$" , plr , 0 , 255 , 0 )
end
jpg ni?ej
Podpis
Coś tam kiedyś robiłem.
DC: kamison_.
Wysłany: 2019-12-02, 16:24
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
Wysłany: 2019-12-02, 16:54
kamison
Przyszły programista .lua
Wiek: 25 Na forum: 3302 dni Posty: 391
Nick w MP: kamison
Piwa : 594
U?ywam inspect do czytania danych podanych w tabeli(bez definiowania jej funkcji)
local check = exports [ "DB3" ]: dbGet ( "SELECT * FROM konto WHERE login=?" , nazwa )
Wysłany: 2019-12-02, 17:54
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
To co robi ten inspect tutaj
?if?( inspect ( check [ 1 ]. bank ?+? 0 )) ?> =? ileWyplaca ? then ?
Czytasz dane w tabeli MySQL czy swojej w kodzie? Bo tutaj odwolujesz si? do jakiej? funkcji, pewnie dlatego nie wykonuje si? wyp?ata.
Wysłany: 2019-12-02, 18:17
kamison
Przyszły programista .lua
Wiek: 25 Na forum: 3302 dni Posty: 391
Nick w MP: kamison
Piwa : 594
Wysłany: 2019-12-02, 18:20
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
No to wklej te funkcje albo poka? ca?y kod. Bo dane z bazy pobierasz za pomoc? funkcji dbGet, kt?ra kilka wypowiedzi wy?ej wklei?e?.
Albo po prostu zrob eksperyment i przer?b ten warunek sprawdzaj?cy.
Wysłany: 2019-12-02, 18:24
Eitho
Wiek: 24 Na forum: 3489 dni Posty: 330
Nick w MP: Eitho
Piwa : 746
Co ty si? tak uczepi?e? tej funkcji.. Przecie? inspect jest wbudowane w MTA.
Wysłany: 2019-12-02, 18:37
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
M?j b??d, nie mia?em okazji korzysta? z tej funkcji i o niej zapomnia?em. Sorki.
Wysłany: 2019-12-03, 13:42
kamison
Przyszły programista .lua
Wiek: 25 Na forum: 3302 dni Posty: 391
Nick w MP: kamison
Piwa : 594
Dobra, sprawa wygl?da w ten spos?b.
Nic nie przerabia?em w kodzie, ale np. jak wp?ac? 255$ i chc? wyci?gn?? 61$ to nie mog?, ale ju? 240$ mog?
I teraz opcja nr dwa ^^
Jak wp?ac? 255$ i wyci?gn? 250$=5$ zostaje, ale i tak mog? jeszcze raz wyci?gn?? tak? kwot?
Wysłany: 2019-12-03, 19:28
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
Jeste? w stanie wstawi? r?wnie? kod od wp?acania?
W tym czasie, spr?buj podmieni? sw?j kod na ten i daj zna? czy co? pomog?o:
if ( tonumber ( check [ 1 ]. bank ) >= ileWyplaca ) then
outputChatBox ( "Wyplacasz: " .. ileWyplaca .. "$" , plr , 0 , 255 , 0 )
local saldoPoOperacji = ( tonumber ( check [ 1 ]. bank ) - ileWyplaca )
local ileMaszPrzySobieJakWyplacisz = ( tonumber ( check [ 1 ]. pieniadze ) + ileWyplaca )
exports [ "DB3" ]: dbSet ( "UPDATE konto SET bank = bank - " .. ileWyplaca .. " WHERE id = " .. nazwa .. " LIMIT 1" )
exports [ "DB3" ]: dbSet ( "UPDATE konto SET pieniadze = pieniadze + " .. ileWyplaca .. " WHERE id = " .. nazwa .. " LIMIT 1" )
setPlayerMoney ( plr , ileMaszPrzySobieJakWyplacisz )
triggerClientEvent ( "saldoPoWplaceniuKasyNaGui" , resourceRoot , saldoPoOperacji )
else
outputChatBox ( "Nie mo?esz tego zrobi?!" , plr , 255 , 0 , 0 )
outputChatBox ( "W banku masz tylko: " .. tonumber ( check [ 1 ]. bank ) .. "$" , plr , 0 , 255 , 0 )
end
Wysłany: 2019-12-03, 19:42
kamison
Przyszły programista .lua
Wiek: 25 Na forum: 3302 dni Posty: 391
Nick w MP: kamison
Piwa : 594
Wp?ata i wyp?ata nie r??ni si? za bardzo
Zobacz? ten po poprawkach
Ni?ej kod wp?aty:
if tonumber ( sprawdzIleMa ) >= tonumber ( ileWplaca ) and ( inspect ( pieniadze )) >= ( ileWplaca ) then -- sprawdza czy nie chcesz wplacic wiecej jak masz
outputChatBox ( "wplacasz: " .. ileWplaca .. "$" , plr , 0 , 255 , 0 )
local saldoPoOperacji = ( check [ 1 ]. bank ) + ( ileWplaca )
local wpiszHajsDoBanku = exports [ "DB3" ]: dbSet ( "UPDATE konto SET bank = ? WHERE login = ? " , saldoPoOperacji , nazwa )
local roznica = sprawdzIleMa - ileWplaca
local zmienHajsPrzySobie = exports [ "DB3" ]: dbSet ( "UPDATE konto SET pieniadze = ? WHERE login = ? " , roznica , nazwa )
local ustawAktualnyHajsGraczowi = setPlayerMoney ( plr , roznica )
triggerClientEvent ( "saldoPoWplaceniuKasyNaGui" , resourceRoot , saldoPoOperacji )
else
outputChatBox ( "Nie mo?esz tego zrobi?!" , plr , 255 , 0 , 0 )
outputChatBox ( "Masz przy sobie tylko: " .. sprawdzIleMa .. "$" , plr , 0 , 255 , 0 )
end
end
[ Dodano : 2019-12-03, 20:02 ]
Dobra, problem w tym, ?e zwraca komunikat
Kod:
unknown column 'test' in 'where clause'
dotyczy tych dw?ch update?w kolumn
i w sumie prawid?owo bo takiej kolumny nie ma, 'test' to login gracza, kt?ry dokonuje transakcji - problem w tym, ?e sam tego nie naprawi?
[ Dodano : 2019-12-03, 20:10 ]
Okej, przy takim uk?adzie dzia?a ale nadal jest problem z wyp?aceniem r??nych kwot
exports [ "DB3" ]: dbSet ( "UPDATE konto SET bank = bank - " .. ileWyplaca .. " WHERE login = ? LIMIT 1" , nazwa )
exports [ "DB3" ]: dbSet ( "UPDATE konto SET pieniadze = pieniadze + " .. ileWyplaca .. " WHERE login = ? LIMIT 1" , nazwa )
Tagi: bankomat
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: