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

Sprzedaż wielu sztabek jednym kliknięciem + zabezpieczenie


Rekomendowane odpowiedzi

Opublikowano

Udostępniam wam swój stary quest, pisałem go dla Nevrisa.

 

Nie widziałem wcześniej takiego, a jeśli był to zamknąć :)

 

Testowanie pod każdym kątem, działa w 100% jeśli poprawnie wgracie.

 

 

 

 

quest sprzedaz_sztabek begin
    state start begin
        when 80007.use begin
            local aktualna_kasa = pc.get_money()
            local ilosc_sztuk_sztabek = pc.countitem(80007)
            local cena_jednej_sztaby = 2000000
            if ilosc_sztuk_sztabek * cena_jednej_sztaby + aktualna_kasa < 1999000000 then
                local wszystko = ilosc_sztuk_sztabek*cena_jednej_sztaby
                local ilosc_sztuk_sztabek = pc.countitem(80007)
                pc.remove_item(80007, ilosc_sztuk_sztabek)
                pc.change_money(wszystko)
            elseif ilosc_sztuk_sztabek * cena_jednej_sztaby + aktualna_kasa > 1999000000 then
                local pula_kasy_za_jakie_mozesz_sprzedac_sztabki = math.floor(1999000000 - aktualna_kasa)
                local maksymalna_ilosc_sztabek = math.floor(pula_kasy_za_jakie_mozesz_sprzedac_sztabki / cena_jednej_sztaby)
                local kasa_za_sztabki = maksymalna_ilosc_sztabek * cena_jednej_sztaby
                pc.remove_item(80007, maksymalna_ilosc_sztabek)
                pc.change_money(kasa_za_sztabki)
            else
                pc.remove_item(80007, 1)
                pc.change_money(2000000)
            end
        end
        when 80006.use begin
            local aktualna_kasa = pc.get_money()
            local ilosc_sztuk_sztabek = pc.countitem(80006)
            local cena_jednej_sztaby = 1000000
            if ilosc_sztuk_sztabek * cena_jednej_sztaby + aktualna_kasa < 1999000000 then
                local wszystko = ilosc_sztuk_sztabek*cena_jednej_sztaby
                local ilosc_sztuk_sztabek = pc.countitem(80006)
                pc.remove_item(80006, ilosc_sztuk_sztabek)
                pc.change_money(wszystko)
            elseif ilosc_sztuk_sztabek * cena_jednej_sztaby + aktualna_kasa > 1999000000 then
                local pula_kasy_za_jakie_mozesz_sprzedac_sztabki = math.floor(1999000000 - aktualna_kasa)
                local maksymalna_ilosc_sztabek = math.floor(pula_kasy_za_jakie_mozesz_sprzedac_sztabki / cena_jednej_sztaby)
                local kasa_za_sztabki = maksymalna_ilosc_sztabek * cena_jednej_sztaby
                pc.remove_item(80006, maksymalna_ilosc_sztabek)
                pc.change_money(kasa_za_sztabki)
            else
                pc.remove_item(80006, 1)
                pc.change_money(1000000)
            end
        end
    end
end

 

 

 

 

 

Wersja na wklej.to / pastebin.com

http://pastebin.com/Sr4vFs7F
http://wklej.to/sOExq



 





I'm here for You, not for myself

Always help You


 

Opublikowano

Bezsensem jest stosowanie zmiennej do jednorazowego użytku, chyba, ze mówimy o tablicach.

Ogólnie questa można napisać ~2 razy krócej.

Opublikowano

Bezsensem jest stosowanie zmiennej do jednorazowego użytku, chyba, ze mówimy o tablicach.

Ogólnie questa można napisać ~2 razy krócej.

Albo i 3:)

Wiem,że hejt dostane,ale się uczę powoli :)

Można to zrobić tak,że pojawia się okienko:

 

Ile Sztabek chcesz sprzedać:

 

-2

-5

-10

-30

-50 np.

 

I u góry licznik ile masz sztabek :)

Gdy sprzedasz dostaniesz hajs.

5_Przezroczyste.png

 

Jeśli szukasz forum na silniku Invision Power Board,Serwer dedykowanego,czy nawet Strony www pod twój serwer metin2 zapraszam na GG : 47637476

 

 

Opublikowano

Osobiście proponuje Ci to wykonać w prostszy sposób.

Otóż wykonać wszystko na 1x when.

Zrobić lokalną tablicę np.

 

local A = {
     [ID] = ilość_yang
     [ID2] = ilość_yang2
}

Lokalnie dodać również możliwość zmiany maksymalnej ilości yang - nie każdy posiada limit 1,999,999,999. A dodam od siebie że przy jakichkolwiek edycjach ułatwi to robotę zarówno dla osób wykorzystujących ten quest jak i dla Ciebie samego.

A przede wszystkim zrezygnuj z tak długich lokalnych. :)

 

Nie odbieraj tego jako hejt, bo w założeniu nie mam tego na celu. Tylko stosowanie tego co wypisałem Ci na górze znacznie ułatwi Ci pracę.

 

Co do skracania kodu... Bezsensem jest to w tej sytuacji ponieważ on jest bardzo krótki, działa? Działa. Jeżeli działa to znaczy że służy w odpowiedni sposób. :)

dCrwk2h.gif

Opublikowano

(...) Co do skracania kodu... Bezsensem jest to w tej sytuacji ponieważ on jest bardzo krótki, działa? Działa. Jeżeli działa to znaczy że służy w odpowiedni sposób. :)

 

Wiktor prosta zależność: Skracanie kodu na sile, choćby zaoszczędzili te kilka bajtów jest wprost proporcjonalne do przedłużania E-Penisów ów osobników.

Opublikowano

Testowanie pod każdym kątem, działa w 100% jeśli poprawnie wgracie.

Co do skracania kodu... Bezsensem jest to w tej sytuacji ponieważ on jest bardzo krótki, działa? Działa. Jeżeli działa to znaczy że służy w odpowiedni sposób. :)

Wiktor prosta zależność: Skracanie kodu na sile, choćby zaoszczędzili te kilka bajtów jest wprost proporcjonalne do przedłużania E-Penisów ów osobników.

 

Co do skracania to już nawet można olać te tablice, ale po co kilkukrotnie pobierać ta samą zmienną? Totalny bezsens i totalny brak zrozumienia używania zmiennych. Połowa z tego questa nie jest potrzebna.

 

A co do braku błędów... nie wiem jak to testowałeś, ale tu na gołe oko widać minimum 1 błąd.

Opublikowano

Wlasnie!

"Testowanie pod każdym kątem, działa w 100% jeśli poprawnie wgracie."

 

Jak mozna niepoprawnie wgrac?

To jest tylko quest, tego sie nie da zjebac przy wgrywaniu, jak juz to przy pisaniu. ;)

Opublikowano

Wlasnie!

"Testowanie pod każdym kątem, działa w 100% jeśli poprawnie wgracie."

 

Jak mozna niepoprawnie wgrac?

To jest tylko quest, tego sie nie da zjebac przy wgrywaniu, jak juz to przy pisaniu. ;)

Hmmm... jedyne co mi przychodzi do głowy to kilkukrotne kompilowanie questa za pomocą ./qc bez czyszczenia object... :D

Autor questa w pewnym momencie pogubił się w tym co pisze. :P

Opublikowano

Uwierzcie mi że niektórzy potrafią wykonać nawet w tak prostej rzeczy swoje magiczne sztuczki które spowodują brak poprawnego skompilowania kodu. :)

dCrwk2h.gif

Opublikowano

Uwierzcie mi że niektórzy potrafią wykonać nawet w tak prostej rzeczy swoje magiczne sztuczki które spowodują brak poprawnego skompilowania kodu. :)

@Svope, Ty się zajmij lepiej query :D Pozdrów Chwasta ode mnie.

 

Co do questa, jeśli ktoś nie potrafi takiego napisać to to już jest ostateczność. Można by to duuuuużo lepiej napisać, oczywiście nie uwieńczam tutaj autorowi tego tematu :)

ZcWbjGf.png


Serdecznie zapraszam :)

Opublikowano

@ Inkscape

 

Nie ma tutaj błędów gdyż quest działał poprawnie na serwerze, uwierz :)

 

Testowałem to pod każdym kątem i warunkiem i wszystko jest si.

 

Limit można przecież zmienić :)

 

 

Ja też się dopiero uczę także nie jestem taki mądry jak ty  ale w niczym się nie pogubiłem :)

 

@ Svope

 

Dzięki za podsunięcie ale nie ogarniam tych tablic własnie..




 





I'm here for You, not for myself

Always help You


 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...