Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends Node
- # SQLite module
- const SQLite = preload("res://lib/gdsqlite.gdns");
- # Variables
- var lista_przedmiotow = [];
- var ekwipunek = [];
- var db
- func _ready():
- # Create gdsqlite instance
- db = SQLite.new();
- # Open item database
- db.open_db("res://baza/baza.db");
- print("danie przedmiotu")
- daj_przedmiot_bohaterowi(str(1), str(3))
- daj_przedmiot_bohaterowi(str(1), str(3))
- print("pierwsza transakcja")
- zdejmij_przedmiot_ze_sklepu(str(1), str(3))
- zdejmij_przedmiot_ze_sklepu(str(1), str(3))
- print("druga transakcja")
- zdejmij_przedmiot_ze_sklepu(str(5), str(30))
- #wyswietl_ekwipunek()
- func daj_przedmiot_bohaterowi(bohaterid, przedmiotid):
- var query = "select ilosc from bohater_przedmiot where bohaterid = " + bohaterid + " AND przedmiotid = " + przedmiotid + ";"
- var result = db.fetch_array(query)
- var ilosc = 0
- for r in result:
- ilosc = r['ilosc']
- print(ilosc)
- if ilosc == 0:
- query = "INSERT INTO bohater_przedmiot (bohaterid, przedmiotid, ilosc) VALUES ('" + bohaterid + "', '" + przedmiotid + "', 1);";
- result = db.query(query)
- else:
- var nowa_ilosc = str(ilosc + 1)
- query = "UPDATE bohater_przedmiot SET ilosc = " + nowa_ilosc + " WHERE bohaterid = " + bohaterid + " AND przedmiotid = " + przedmiotid + ";"
- result = db.query(query);
- func zdejmij_przedmiot_ze_sklepu(sklepid, przedmiotid):
- # sprawdz czy przedmiot jest w sklepie
- # jezeli go nie ma, zwroc wartosc false
- var query = "select ilosc from sklep_przedmiot where sklepid = " + sklepid + " AND przedmiotid = " + przedmiotid + ";"
- var result = db.fetch_array(query);
- if (not result or result.empty()):
- print("NIE MA PRZEDMIOTU")
- return false
- var ilosc
- for r in result:
- ilosc = r['ilosc']
- var nowa_ilosc = str(ilosc - 1)
- print(nowa_ilosc)
- if int(nowa_ilosc) > 0:
- query = "UPDATE sklep_przedmiot SET ilosc = " + nowa_ilosc + " WHERE sklepid = " + sklepid + " AND przedmiotid = " + przedmiotid + ";"
- result = db.query(query);
- else:
- query = "DELETE FROM sklep_przedmiot WHERE sklepid = " + sklepid + " AND przedmiotid = " + przedmiotid +";"
- result = db.query(query)
- return true
- func dodaj_przedmiot(nazwa, opis):
- # Insert new row
- var query = "INSERT INTO przedmiot (nazwa, opis) VALUES ('" + nazwa + "', '" + opis + "');";
- var result = db.query(query);
- if (!result):
- print("Cannot insert data!");
- else:
- print("Data inserted into table.");
- func usun_przedmiot(nazwa):
- # Insert new row
- var query = "DELETE FROM przedmiot WHERE nazwa = '" + nazwa + "';";
- var result = db.query(query);
- if (!result):
- print("Nie udało się usunąć przedmiotu!");
- else:
- print("Przedmiot " + nazwa + " usunięty.");
- func wyswietl_ekwipunek():
- # Get item list from db
- var przedmioty = db.fetch_array("""
- SELECT
- b.imie,
- p.nazwa,
- bp.ilosc
- FROM
- bohater b,
- przedmiot p,
- bohater_przedmiot bp
- WHERE
- b.bohaterid = bp.bohaterid
- AND p.przedmiotid = bp.przedmiotid""");
- if (not przedmioty or przedmioty.empty()):
- print("TABELA PUSTA, NIE WIEM CO SIE DZIEJE, WYCHODZE")
- return;
- for przedmiot in przedmioty:
- # Create new item from database
- var item = {
- 'imie': przedmiot['imie'],
- 'nazwa': przedmiot['nazwa'],
- 'ilosc': przedmiot['ilosc']
- };
- # Add to item list
- ekwipunek.append(item);
- # Print all item
- for i in ekwipunek:
- print("Imie: ", i.imie, " nazwa: ", i.nazwa, " ilosc: ", i.ilosc);
- func wyswietl_przedmioty():
- lista_przedmiotow = []
- # Get item list from db
- var przedmioty = db.fetch_array("SELECT * FROM przedmiot");
- if (not przedmioty or przedmioty.empty()):
- print("TABELA PUSTA, NIE WIEM CO SIE DZIEJE, WYCHODZE")
- return;
- for przedmiot in przedmioty:
- # Create new item from database
- var item = {
- 'przedmiotid': przedmiot['przedmiotid'],
- 'nazwa': przedmiot['nazwa'],
- 'opis': przedmiot['opis']
- };
- # Add to item list
- lista_przedmiotow.append(item);
- # Print all item
- for i in lista_przedmiotow:
- print("Nazwa: ", i.nazwa);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement