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

Rekomendowane odpowiedzi

Opublikowano

<>

<>

<>

<>

<>

<>
<>
<>
<>
<>
<>
<>
<>
<>
<>

Witam.

 

Z racji tego że nie ogarniam tablic proszę was o napisanie questa na drop itemów na tablicach właśnie z różną szansą na drop ( szansa ustalona również w tablicy )

 

Chciałbym by z każdego boosa zawsze leciało  5 przedmiotów jednak nie zawsze takich samych, gdyż chce ustalić losowy drop z różną szansą na poszczególne itemy.

 

Napisałem na razie cos takiego i nie wiem jak dalej sie za to zabrać. Proszę o pomoc jeżeli napisanie tego jest w ogóle możliwe.

 

 

 

quest drop begin
    state start begin
        when kill with not npc.is_pc begin
            
            tablice =
            {
            
                    {
                        
                        [1] = {8003},    -- id boosa lub metina
                        [2] = {8004},
                        [3] = {8005},
                        [4] = {8006},
                        [5] = {8007},
                        [6] = {1979},
                    },
                    
                    {
                        {23000, 2},    -- id_przedmiotu, ilosc
                        {23001, 200),
                        {23002, 50),
                        {23003, 3),
                        {23004, 6),
                        {23005, 1),
                        {23006, 3),
                        {23007, 10),
                        {23008, 100),
                        {23009, 45),
                        {23010, 34),
                        {23011, 21),
                        {23012, 10),
                        {23013, 10),
                        {23014, 10),
                        {23015, 15),
                        {23016, 13),
                        {23017, 19),
                        {23018, 17),
                        {23019, 12),
                        {23020, 11),
                        {23021, 9),
                    },
                    
                    {
                        {10, 30}, -- szans na drop przedmiotów. Tez byłaby przydzielana losowo. Raz 10% a raz 30%
                        {10, 80}
                        {20, 40},
                        {30, 90},
                        {5, 30},
                        {5, 10},
                        {5, 10},
                        {5, 10},
                        {5, 10},
                        {5, 10},
                        
                    },
            }
                   

 

 

 

Wersja na wklej.to:

http://wklej.to/PXgIB



 





I'm here for You, not for myself

Always help You


 

Opublikowano

Najważniejsze pytanie - czy SZANSA na drop ma być przypisana DO JEDNEGO DANEGO PRZEDMIOTU czy ma być ona DO WSZYSTKICH PRZEDMIOTÓW, które dropia? 

Przykład:
-Zielona Mikstura

-Czerwona Mikstura

 

--czy do Zielonej i Czerwonej ma być TA SAMA szansa na drop, czy jednak:

---dla Zielonej Mikstury - 5% lub 10%,

---dla Czerwonej Mikstury - 20% lub 50%

 

 

nie daję sobie ręki uciąć

http://wklej.to/c1cZf

 

umarł

Opublikowano

@ Up

 

Dla konkretnego itemu dana szansa np. 5 % lub 10%  - i to tez ma losowo wyliczac ;) Raz 5 a raz 10

 

Każdy item ma mieć własny przedział szans dropu.

 

I hmm.. chciałem by zawsze leciało 5 przedmiotów.

Nigdy mniej ani więcej. Tylko rożne.

Za kazdym razem inna kombinacja ( tutaj to musi byc jakos powiązane z szansą na drop i by było losowe to co wypada )

 

Np. Raz dropi czerwony pot, niebieski, zielony, miecz + 0 i branzoletka +0

 

A drugi raz np jest czerwony pot, branzoletka +9, miecz +9, Hwang i fioletowy pot.

 

Teraz ogarniasz ?




 





I'm here for You, not for myself

Always help You


 

Opublikowano

@up

 

Wystarczy dodać do tablic mooby i przedmioty ?

 

Zawsze wyleci 5 z tego ?

if potwory[npc.get_race()] == false then 

Tutaj zamiast false powinno być true, ponieważ warunek ma sie wykonywac gdy potwory są zdefiniowane w tablicy,  a nie gdy ich nie ma. No chyba że źle to odczytuje.

 

 

Sprawdzę wersje z twoim warunkiem i swoim. Zobaczymy.

game.drop_item_with_ownership(przedmioty[itemz][1], przedmioty[itemz][2], przedmioty[itemz][3], przedmioty[itemz][4], przedmioty[itemz][5])

Tutaj też należy dodać zgodnie do nr 5 by wylatywało zawsze 5 przedmiotów losowych.




 





I'm here for You, not for myself

Always help You


 

Opublikowano

Lepsze jest wrogiem dobrego ... Po co chcesz kombinować ... Czy przewidziałeś konsekwencje dropu przez quest ?? Bo po postach widzę ze nie masz o tym pojęcia 

Uwaga na bandziorów z interentu. 12 latkowie zaczęli prężnie szerzyć i wzmaciać swoje szeregi

Opublikowano

Przepraszam mój błąd.  Zerknąłem tylko na questa ale nie do końca go czytając. Ale mam jedną uwage... taki drop jest na wszystkie Lv z tego co widze, nie ma żadnych przedziałów Lv ( Odniesienie do Mob_drop_item ) , chodzi mi tutaj o to ze na 1 i 99 Lv drop będzie taki sam ?? Tak jest czy znów się mylę :P ??

Uwaga na bandziorów z interentu. 12 latkowie zaczęli prężnie szerzyć i wzmaciać swoje szeregi

Opublikowano

@Up Będzie dokładnie tak - ustawisz drop z piesków jakieś sztabki czy bryły i na 99 lvl będą dropić nawet. Nie ma tu przedziału lvlowego. Nie polecam w ogóle tego rozwiązania. Zrób to przez common_drop_item lub mob_drop_item.

1EPZ6G.gif

Opublikowano

@ 2x Up i Up

 

Owszem macie racje, będzie tak jeśli nie dodasz odpowiedniej funkcji w warunku :)

npc.get_level()
 
local poziom_moba = npc.get_level()
local lv = pc.get_level()
 
if lv - poziom_moba <=15 and lv - poziom_moba >= 15 then   +/- 15 lv róznicy między nami a moobem
 -- drop --
 

I drop tutaj tyczy się tylko potworków które są dodane w tablicy :)

local potwory = 
		{
			{8003, 50},
			{8004, 40},
			{8005, 55},
			{8006, 43},
			{8007, 43},
			{1979, 54},
		}

A w tym quescie można dodać to tutaj :)

if potwory[npc.get_race()] == true && pc.get_level() - potwory[npc.get_level()[2]] <=15 && pc.get_level() - potwory[npc.get_level()[2]] >= 15 then


W miejsce && można wstawić "and" 
Powinno śmigać chyba ze pomyliłem coś 

Cała filozofia panowie :)




 





I'm here for You, not for myself

Always help You


 

Opublikowano

if potwory[npc.get_race()] == true && pc.get_level() - potwory[npc.get_level()[2]] <=15 && pc.get_level() - potwory[npc.get_level()[2]] >= 15 then


W miejsce && można wstawić "and" 
Powinno śmigać chyba ze pomyliłem coś 

Cała filozofia panowie :)

 

&& w Lua działa? w PHP można zamiennie stosować wraz z "and", ale w Lua jeszcze nie widziałem szczerze mówiąc.

 

 

potwory[npc.get_race()]

jeżeli npc.get_race() == 2000 to zwróci nam 2000 wynik z tablicy, a takiego nie ma, tak więc musisz sprawdzić każdy element LUB:

 

 

local potwory = 

{

[2000] = 50,

[5312] = 20,

}

 

i wtedy Twój zapis zadziała poprawnie.

 

 

potwory[npc.get_level()[2]]

Tutaj to już w ogóle mieszanka niezła wyszła.

 

 

potwory[npc.get_level()][2]

 

umarł

Opublikowano

Up

 

Zawsze miałem problem z deklaracja tych tablic.

 

Jeśli tablica będzie taka jak napisałeś wyżej to który zapis jest poprawny ?

potwory[npc.get_level()[2]]  czy potwory[npc.get_level()][2]

A dlaczego trzeba sprawdzać całą tablice ?

Jeżeli zwróci wynik 2000 a nie będzie go w tablicy warunek się nie wykona i jest end. ( chyba że funkcja npc.get_race() nie potrafi wyszukać elementu w tablicy i należy to inaczej zapisać np. table.getn )




 





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ę...