Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

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

Respekt: 205,3
Respekt: 205,3Respekt: 205,3

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_.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-12-02, 16:24


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Poka? funkcj? inspect.

Postaw piwo autorowi tego posta
 

 
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

Respekt: 205,3
Respekt: 205,3Respekt: 205,3

U?ywam inspect do czytania danych podanych w tabeli(bez definiowania jej funkcji)

local check exports["DB3"]:dbGet("SELECT * FROM konto WHERE login=?",nazwa)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-12-02, 17:54


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

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.

Postaw piwo autorowi tego posta
 

 
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

Respekt: 205,3
Respekt: 205,3Respekt: 205,3

Tabeli mysql

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-12-02, 18:20


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-12-02, 18:24


Eitho







Wiek: 24
Na forum: 3489 dni
Posty: 330
Nick w MP: Eitho

Piwa: 746

Respekt: 256,5
Respekt: 256,5Respekt: 256,5Respekt: 256,5

Co ty si? tak uczepi?e? tej funkcji.. Przecie? inspect jest wbudowane w MTA.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-12-02, 18:37


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

M?j b??d, nie mia?em okazji korzysta? z tej funkcji i o niej zapomnia?em. Sorki.

Postaw piwo autorowi tego posta
 

 
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

Respekt: 205,3
Respekt: 205,3Respekt: 205,3

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? ;x
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? ;x

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-12-03, 19:28


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

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) >= ileWyplacathen
    outputChatBox("Wyplacasz: " .. ileWyplaca .. "$"plr02550)

    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(plrileMaszPrzySobieJakWyplacisz)
    triggerClientEvent ("saldoPoWplaceniuKasyNaGui"resourceRootsaldoPoOperacji)
else
    outputChatBox("Nie mo?esz tego zrobi?!"plr25500)
    outputChatBox("W banku masz tylko: " .. tonumber(check[1].bank) .. "$"plr02550)
end


Postaw piwo autorowi tego posta
 

 
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

Respekt: 205,3
Respekt: 205,3Respekt: 205,3

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)) >= (ileWplacathen -- 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? ;x

[ 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)


Postaw piwo autorowi tego posta
 

 
Tagi: bankomat
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Odpowiedz do tematu

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku