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

[Poprawa] Mała modyfikacja questa na exp


Rekomendowane odpowiedzi

Opublikowano

Witam prosiłbym o pomoc w przerobieniu tego questa

 

quest X4 begin
state start begin
when kill with pc.count_item(72001) >= 1 begin
if pc.getqf("zabici1") <= 99999 then
pc.setqf("zabici1", pc.getqf("zabici1")+1)
pc.give_exp2(3)
elseif pc.getqf("zabici1") > 99999 then
pc.remove_item(72001, 1)
chat("Wykorzystałeś Pierścień Doświadczenia")
pc.delqf("zabici1")
end
end
end
end

 

Chcę aby gdy założę item o id 72001 to żeby dodawało mi o 3expa więcej za każdego moba, i żeby był to przedmiot na czas np 1h i po 1h przestał dzialać !!

 

 

​Z góry dziękuje i proszę o pomoc

Opublikowano

co do czasu to ustawiasz go w navicat w player>item_proto> szukasz id itemu>w value_0 ustawiasz czas, w minutach lub sekundach(nie wiem dokladnie sprawdz sam)

Opublikowano

co do czasu to ustawiasz go w navicat w player>item_proto> szukasz id itemu>w value_0 ustawiasz czas, w minutach lub sekundach(nie wiem dokladnie sprawdz sam)

Tylko że ten quest dziala aż do zabicia 99999 potworów a chcę to zmienić np. na 1h

Opublikowano

1.Chcesz za kazdego moba otrzymywac 3 expa a czas itemu ma trwac 1h? pierwszy mob 3pkt, drugi mob 3pkt, trzeci mob 3pkt. Czyli razem 9pkt.

2.Czy chcesz za kazdego nastepnego moba otrzymywac 3 expa wiecej? tzn: zabijesz pierwszego dostajesz 3 punkty, zabijesz drugiego dostajesz 6 pkt, zabijesz trzeciego dostajesz 9 pkt? Czyli za 3 moby dostajesz 18 pkt.

 

 

@edit

ja bym to zrobil tak:

quest X4 begin
	state start begin
		when kill with 72001.use begin
			pc.give_exp2(3)
			pc.remove_item(72001, 1)
		end
	end
end

a czas trwania itemu vnum_0

Opublikowano

1. nie ma standardowej funkcji na pobranie ilości otrzymywanego expa za zabitego potwora więc zrobienie exp * 3 jest niemożliwe na tą chwilę,

2. próbuj tak:

when kill with not npc.is_pc() and item.select_cell(97) and item.vnum == 72001 or item.select_cell(98) and item.vnum == 72001 begin

 

umarł

Opublikowano

Chodzi mi o to że jak z moba dajmy leci 1expa z każdego

I jak zakładasz ten przedmiot to z moba leci 1expa +3expa

 

Takie coś jak pd tylko nie daje % expa tylko ptk expa

 

 

PS. Jeżeli bije moba bez tego itemka to za każdego leci 1 expa, gdy założe ten item to przez 1h ma lecieć z moba o 3ptk expa więcej = 4 ptk expa i jak ten item się skończy to znów z moba ma lecieć 1 expa ;]

Opublikowano

Czyli za zabitego potwora ma lecieć 3expa czy dany exp * 3? Bo jeżeli to drugie to się nie da, to pierwsze to pc.give_exp(3)

 

umarł

Opublikowano

Czyli za zabitego potwora ma lecieć 3expa czy dany exp * 3? Bo jeżeli to drugie to się nie da, to pierwsze to pc.give_exp(3)

Za zabitego potwora ma leciec ten 1 + 3 expa jak założę ten item to thx :D

 

Najbardziej chodziło mi o to żeby działało to na czas i po np. 1h znikało

Opublikowano

Czas przedmiotu ustawiasz w bazie danych, kolumna value0 w item_proto. Jeżeli chcesz zrobić 3 expa, gdy masz założony przedmiot, to musisz użyć tego co napisałem wyżej:

 

 

when kill with not npc.is_pc() and item.select_cell(97) and item.vnum == 72001 or item.select_cell(98) and item.vnum == 72001 begin
 pc.give_exp(3)
end

 

umarł

Opublikowano

 

Czas przedmiotu ustawiasz w bazie danych, kolumna value0 w item_proto. Jeżeli chcesz zrobić 3 expa, gdy masz założony przedmiot, to musisz użyć tego co napisałem wyżej:

 

 

when kill with not npc.is_pc() and item.select_cell(97) and item.vnum == 72001 or item.select_cell(98) and item.vnum == 72001 begin
 pc.give_exp(3)
end

A mógłbyś wytłumaczyć do czego co jest np ta funkcja

npc.is_pc()

item.select_cell(97)

item.select_cell(98)

 

 

@Edit nie mam pojęcia ale wgrywam te questy 1 po 2 i ku*** żaden nie działa masakra (Quest jest pewnie dobry a mi coś nie działa)

Opublikowano

z4z0l nie rozumiesz o co mu chodzi.

On chce np,

-w navicat masz za pieska 10pkt expa, za dzika 15pkt expa

-w czsie trwania itemu za kazdego moba otrzymuje dodatkowo 3 pkt expa

np: za pieska 10pkt +3pkt=13pkt expa, za dzika 15+3pkt=18 pkt expa itd...

 

VTEX

quest z4z0l ci nie bedzie dzialal bo on podal tylko istotna czesc questa,

quest powinienes wgrywac w takiej formie:

quest X4 begin
	state start begin
		when kill with not npc.is_pc() and item.select_cell(97) and item.vnum == 72001 or item.select_cell(98) and item.vnum == 72001 begin
 pc.give_exp(3)
		end
	end
end
Opublikowano

z4z0l nie rozumiesz o co mu chodzi.

On chce np,

-w navicat masz za pieska 10pkt expa, za dzika 15pkt expa

-w czsie trwania itemu za kazdego moba otrzymuje dodatkowo 3 pkt expa

np: za pieska 10pkt +3pkt=13pkt expa, za dzika 15+3pkt=18 pkt expa itd...

 

VTEX

quest z4z0l ci nie bedzie dzialal bo on podal tylko istotna czesc questa,

quest powinienes wgrywac w takiej formie:

quest X4 begin	state start begin		when kill with not npc.is_pc() and item.select_cell(97) and item.vnum == 72001 or item.select_cell(98) and item.vnum == 72001 begin pc.give_exp(3)		end	endend
Tak go wgrałem dopisałem te częsci stałe

 

Ale muszę wy testować jeszcze raz bo chyba object było zepsute wygeneruje all na nowo

 

Ale dzięki wszystkim :D

 

Po + macie

Opublikowano

z4z0l nie rozumiesz o co mu chodzi.

On chce np,

-w navicat masz za pieska 10pkt expa, za dzika 15pkt expa

-w czsie trwania itemu za kazdego moba otrzymuje dodatkowo 3 pkt expa

np: za pieska 10pkt +3pkt=13pkt expa, za dzika 15+3pkt=18 pkt expa itd...

Opisałem u góry, że nie ma możliwości pobrania ilości otrzymywanego doświadczenia po zabiciu potwora(aktualnymi funkcjami, oczywiście można zrobić funkcję sprawdzającą[chociażby tak jak npc.get_level()]), ale ja nadal nie rozumiem co autor tematu chce osiągnąć. Raz to, raz tamto ;> Jeżeli chce w ten sposób, co napisałeś to mój quest powinien spełnić w połowie tą rolę(teraz wystarczy zrobić tablicę, która wyrzuci nam exp potwora, a to można na różne sposoby - nakieruję troszkę:

http://www.mpcforum.pl/topic/843850-inne-npcget-level-uzupenienie/#entry6219010
).

 

 

Wyjaśnienie funkcji:

 

npc.is_pc() -- jeżeli npc.is_pc() == true to oznacza to, że "zabite coś" jest graczem, ja dodałem tam not przed tą funkcją co oznacza, że zlicza same potwory

item.select_cell(97) -- 97 slot w eq(jest to miejsce na pierścień doświadczenia i inne bajery z type 16 w item_proto na serwerze(o ile dobrze pamiętam), po lewej stronie)

item.select_cell(98) -- to samo co u góry tylko że item po prawej stronie

 

umarł

Opublikowano

Cały czas chodzi mi o to że każdy mob u mnie w navi ma 1 expa!

 

I ja chcę zrobić tak że jak założę item "w tym wypadku pd" to z moba leci mi ten 1expa które jest ustalone w navi + 3expa z questa a jak zdejmę pd lub ono się skończy to dalej leci mi tylko 1 expa z potwora !

 

I nie wiem czaemu mi ten quest nie dziala bez pd leci mi 1expa jak założe pd tez leci mi 1 expa (to pd z id 72001)

 

Quest ma dzialac tak

 

Gdy mam zalozone item o id np. 200093 to z moba leci +3expa gdy zdejmę pd to leci mi tylko 1 expa ak jak ustawiłem w navi

Opublikowano

Opisałem u góry, że nie ma możliwości pobrania ilości otrzymywanego

doświadczenia po zabiciu potwora(aktualnymi funkcjami, oczywiście można

zrobić funkcję sprawdzającą[chociażby tak jak npc.get_level()]), ale ja

nadal nie rozumiem co autor tematu chce osiągnąć. Raz to, raz tamto

;> Jeżeli chce w ten sposób, co napisałeś to mój quest powinien

spełnić w połowie tą rolę(teraz wystarczy zrobić tablicę, która wyrzuci

nam exp potwora, a to można na różne sposoby - nakieruję troszkę:

Pobranie ilosci expa nie bedzie potrzebne bo nie mnożysz/ dzielisz, a tylko dodajesz dana wartosc. To jest sytuacja jak z nagrodami za misje, tez nie potrzebujesz sprawdzac ile postac ma epa zeby dac np. 5kk expa.

Opublikowano

No dobrze, ale nie ma funkcji, która pobierze ilość expa za danego potwora. Sytuacja z nagrodami za misję jest taka, że jest ustalony exp w tabelkach znajdujących się w locale.lua. Tutaj wystarczy zrobić tabelę, która posiada ID potwora oraz exp za niego. Potem tylko to, co dałem u góry czyli when kill [...] i pobrać exp, który można pomnożyć przez 3.

 

umarł

Opublikowano

Ale mi nie trzeba nic pobierać bo każdy mob w navi ma 1expa

 

 

ja chcę tylko część gdy jak zakładam pd to z moba leci o +3 expa więcej

 

zakładam pd o id 72001 i zabijam moba to leci 4expa (1 z navi + 3 expa z pd)

Ściągam pd i leci tylko 1 expa z navi

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...