Opublikowano 27 Września 202427 Wrz Wgrałem commita od @Sevence a dokładnie ten: [UPDATE] Otwieranie skrzynek nie będzie możliwy, gdy gracz nie ma 3 wolnych miejsc w pionowo. [commit] Lecz mam problem taki że po otworzeniu skrzynki, lecą itemy na ziemie. W quescie dałem warunek sprawdzenia ale nawet to nie trybi. u Sevence akurat działa to: Mimo że dodałem z jego commita, porównywałem też jak ma z plikami 2.1 to i tak to nie trybi mi. test1.mp4 6.37 MB · 1 pobranie Mój char_item -> char_item.cpp Commit : https://github.com/DarkSevence/EntryCore/commit/3df5334eccf83a26970c8d750b492eff10549f21 A o to mój quest: skrzynieklasastart.lua
Opublikowano 27 Września 202427 Wrz to nie błąd tak funkcje masz napisana przecież w kodzie... HasThreeEmptyVerticalSlots() funckaj która sprawdza sloty. if (contiguousFreeSlots >= 3) { return true; } tu masz next funkcje która to sprawdza i to sprawdza tylko 3 wolne sloty pionowo. To nie jest problem.. tylko tak jest napisana funkcja . Pozdrawiam mam nadzieje że rozwiązałem ci problem !
Opublikowano 27 Września 202427 Wrz Ta szkatułka jest zrobiona questem? Jeśli tak to musisz napisać warunek w quescie, który nie pozwoli otworzyć szkatułki jeśli nie masz wystarczającej ilości wolnych slotów. local empty_inventory_count = pc.get_empty_inventory_count() local required_empty_slots = 20 if empty_inventory_count < required_empty_slots then chat("Masz za mało miejsca w ekwipunku, aby otworzyć tę skrzynię!") chat("Potrzebujesz conajmniej " .. required_empty_slots .. " pustych miejsc w ekwipunku! ") return end
Opublikowano 27 Września 202427 Wrz Zastosowanie do takich szkat ma special_item_group, ten quest jest zbedny 😮 Zrozumiałbym zaawansowane questy z jakimiś warunkami, losowaniami czy innym bardziej zaawansowanym kodem ale nie zwykła szkata co daje itemy. Co do samego problemu, sprawdziłbyś czy działa to na innej szkatułce, która ma drop w specialu. Obstawiałbym, że funkcja questowa pomija te sprawdzenie ilości slotów Edytowane 27 Września 202427 Wrz przez unpackboss
Opublikowano 27 Września 202427 Wrz ale w jego quescie nie ma nic o dropie, on tam ma tylko itemy na start ustawione, reszte ma w locale_item_group już spokojnie ...XD
Opublikowano 27 Września 202427 Wrz Programista Nie wyświelta Ci się komunikat [LS;785], więc zacząłbym od sprawdzenia, czy item ma type ITEM_GIFTBOX. Co do reszty tych czarodziei którzy mieszają - xD Edytowane 27 Września 202427 Wrz przez Thorek
Opublikowano 27 Września 202427 Wrz W dniu 27.09.2024 o 17:22, Thorek napisał(a): Nie wyświelta Ci się komunikat [LS;785], więc zacząłbym od sprawdzenia, czy item ma type ITEM_GIFTBOX. Co do reszty tych czarodziei którzy mieszają - xD Problemem tutaj są sloty w ekwipunku, bo jak ma zablokowaną jedną stronę to mu nie blokuje, jak odblokujesz 4 stronę eq to blokada na skrzynki działa normalnie
Opublikowano 27 Września 202427 Wrz Programista W dniu 27.09.2024 o 18:19, Bamboo napisał(a): Problemem tutaj są sloty w ekwipunku, bo jak ma zablokowaną jedną stronę to mu nie blokuje, jak odblokujesz 4 stronę eq to blokada na skrzynki działa normalnie a no to możliwe Edytowane 27 Września 202427 Wrz przez Thorek
Opublikowano 27 Września 202427 Wrz Autor W dniu 27.09.2024 o 17:22, Thorek napisał(a): Nie wyświelta Ci się komunikat [LS;785], więc zacząłbym od sprawdzenia, czy item ma type ITEM_GIFTBOX. Co do reszty tych czarodziei którzy mieszają - xD Wykonałem to na zasadzie skrzyń ucznia, type mam ustawione na 23 Ale system odblokowania EQ bo mam na 4 stronie tylko ustawione coś krzaczy bo jak odblokuje czwartą strone to wtedy działa to W dniu 27.09.2024 o 16:40, Zephyr napisał(a): Ta szkatułka jest zrobiona questem? Jeśli tak to musisz napisać warunek w quescie, który nie pozwoli otworzyć szkatułki jeśli nie masz wystarczającej ilości wolnych slotów. local empty_inventory_count = pc.get_empty_inventory_count() local required_empty_slots = 20 if empty_inventory_count < required_empty_slots then chat("Masz za mało miejsca w ekwipunku, aby otworzyć tę skrzynię!") chat("Potrzebujesz conajmniej " .. required_empty_slots .. " pustych miejsc w ekwipunku! ") return end Dałem ten warunek ale i tak to nie działa No mam w taki sposób: Pokaż ukrytą zawartość quest SkrzyniaKlasy begin state start begin -- Funkcja sprawdzająca miejsce w ekwipunku (przenieś ją na początek bloku) function check_inventory(required_empty_slots) local empty_inventory_count = pc.get_empty_inventory_count() if empty_inventory_count < required_empty_slots then chat("Masz za mało miejsca w ekwipunku, aby otworzyć tę skrzynię!") chat("Potrzebujesz conajmniej " .. required_empty_slots .. " pustych miejsc w ekwipunku! ") return false end return true end when login or levelup with pc.level >= 1 begin -- Sprawdzenie klasy postaci i rozdanie odpowiedniej skrzyni if pc.job == 0 then -- WOJOWNIK pc.give_item2(70095, 1) -- Skrzynia Wojownika elseif pc.job == 1 then -- NINJA pc.give_item2(70097, 1) -- Skrzynia Ninji elseif pc.job == 2 then -- SURA pc.give_item2(70096, 1) -- Skrzynia Sur elseif pc.job == 3 then -- SZAMAN pc.give_item2(70098, 1) -- Skrzynia Szamanów end end -- Sprawdzenie ekwipunku przed otwarciem i usuwanie skrzyni when 70095.use begin -- Skrzynia Wojownika local required_empty_slots = 20 if not check_inventory(required_empty_slots) then return end say("Otworzyłeś Skrzynię Wojownika.") pc.remove_item(70095, 1) -- Możesz dodać tu kod nagrody end when 70097.use begin -- Skrzynia Ninji local required_empty_slots = 20 if not check_inventory(required_empty_slots) then return end say("Otworzyłeś Skrzynię Ninji.") pc.remove_item(70097, 1) -- Możesz dodać tu kod nagrody end when 70096.use begin -- Skrzynia Sur local required_empty_slots = 20 if not check_inventory(required_empty_slots) then return end say("Otworzyłeś Skrzynię Sur.") pc.remove_item(70096, 1) -- Możesz dodać tu kod nagrody end when 70098.use begin -- Skrzynia Szamanów local required_empty_slots = 20 if not check_inventory(required_empty_slots) then return end say("Otworzyłeś Skrzynię Szamanów.") pc.remove_item(70098, 1) -- Możesz dodać tu kod nagrody end end end No a reszta to właśnie jak Bamboo pisał
Opublikowano 27 Września 202427 Wrz Ta funkcja check_inventory wcale ci się nie wykonuje? Spróbuj wrzucić ją do questlib.lua i dodać nazwę do quest_function.
Opublikowano 27 Września 202427 Wrz W dniu 27.09.2024 o 16:52, Bamboo napisał(a): ale w jego quescie nie ma nic o dropie, on tam ma tylko itemy na start ustawione, reszte ma w locale_item_group już spokojnie ...XD jak to nie ma xd chyba ze na item_quest działa teraz special
Opublikowano 27 Września 202427 Wrz W dniu 27.09.2024 o 19:10, unpackboss napisał(a): jak to nie ma xd chyba ze na item_quest działa teraz special no u niego w quescie masz tylko skrzynki na start, a z item_group masz drop z tych skrzynek przecież XD
Opublikowano 27 Września 202427 Wrz No to przecież ta funkcja check się nie wykona skoro te skrzynki maja type pod special i drop tam wtf.
Opublikowano 27 Września 202427 Wrz Autor Rozwiązanie Dobra, moge zamykać temat. Jakiś poradnik kiedyś czytałem na temat ustawiania takich skrzynek na start i że była mowa o subtype 23 i tym special item group Ustawiłem type na 18 tak jak @Sevence mi na pw napisał, w quescie poprawiłem w ten sposób przyznawanie itemów z skrzyni local items = {11802, 7002, 14002, 15002, 16002, 17002, 13002, 12622, 5002} for _, item in ipairs(items) do pc.give_item2(item, 1) end end I już trybi, dziękuje za funkcje @Zephyr
Wgrałem commita od @Sevence a dokładnie ten:

[UPDATE] Otwieranie skrzynek nie będzie możliwy, gdy gracz nie ma 3 wolnych miejsc w pionowo. [commit]
Lecz mam problem taki że po otworzeniu skrzynki, lecą itemy na ziemie.
W quescie dałem warunek sprawdzenia ale nawet to nie trybi.
u Sevence akurat działa to:
Mimo że dodałem z jego commita, porównywałem też jak ma z plikami 2.1 to i tak to nie trybi mi.
Mój char_item -> char_item.cpp
Commit : https://github.com/DarkSevence/EntryCore/commit/3df5334eccf83a26970c8d750b492eff10549f21
A o to mój quest: skrzynieklasastart.lua