Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Wartość nie spadnie poniżej 0


Kaczus2001

Rekomendowane odpowiedzi

Opublikowano

Witam mam pytanie dalo by rade napisac kod ze w danej tabeli mysql wartosc nie spadnie ponizej zera nawet przy odjeciu -10 a wartosc w tabeli bedzie rowna 5 ? Jezeli tak to jak mozna napiscie kawalek kodu z gory dzieki! Licze na wasza pomoc! :)

//nie umieszczamy reklam w sygnaturach

Opublikowano

f5

Ale jak ma tę wartość = 5

i ma od niej zabrać 10.

To jaki ma być wynik?

0? czy dalej 5?

 

Jak dalej 5, to bardzo prosto:

CREATE TABLE test (n  INT UNSIGNED, s CHAR(1)); // dla przykładu
INSERT INTO test VALUES (0, "a"); // dla przykładu
UPDATE test SET n = n - 1 WHERE n > 0 AND s = "a"; // rozwiązanie

Przykładzik taki.

 

A jak ma być 0, czyli zabrać tyle ile się da to:

CREATE TABLE test (n  INT, s CHAR(1)); // dla przykładu
INSERT INTO test VALUES (5, "a"); // dla przykładu
UPDATE test SET n = GREATEST(n - 10, 0) WHERE s = "a"; // rozwiązanie

Tylko ten kod jeszcze nie jest zbyt idealny, bo nie zaskakuje z INT UNSIGNED

 

Ale mam jeszcze takie cuś:

CREATE TABLE test (n  INT UNSIGNED, s CHAR(1)); // dla przykładu
INSERT INTO test VALUES (5, "a"); // dla przykładu
UPDATE test SET n = IF(n >= 10, n - 10, 0) WHERE s = "a"; // rozwiązanie

I to powinno chyba śmigać bez problemu :P

Obie "10" to ta liczbą którą chcesz odjąć.

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

@Karolina_666

 

Przy zabiciu gracza 

ma do tabeli gracze i do argumentu pkt ma dodac c czyli podzielenie a np 40 b 10 czyli doda 4

 

int c = a/b;

Ale te a/b to są też wartości z MySQL? i też od tego gracza? czy to jest z pluginu?

Jak z pluginu to robisz po prostu update, i wrzucasz tam tę liczbę

"UPDATE table SET points = points + " + c + " WHERE ...";

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...