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

[TuT] Funkcja sprawdzająca, czy zniszczyliśmy metina


Rekomendowane odpowiedzi

Opublikowano

metin pozwala nam na dopisywanie funkcji do questlibu, czyli ich zbioru, nie trzeba kombinować z includami(requirami) niepotrzebnie robiąc sobie przy tym problemów.

 

 

kod funkcji o nazwie get_metin() zwracającą 0 lub 1, w zależności od tego czy mob to metin czy nie. funkcja mogłaby wyglądać np. tak

 

function get_metin()
local metin_table = {8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015, 8016, 8017, 8018, 8019, 8020, 8021, 8022, 8023, 8024, 8025, 8026, 8027}
for i=1,27 do
if mob_vnum() == metin_table[i] then
return 1
else
return 0
end
end
end

 

WIEM, że zamiast tablicy możnaby użyć prostego ifa, aczkolwiek to jest sposób dla tych mniej zaawansowanych, dzięki tablicy można bardzo łatwo dopisywać nowe metiny, których teraz wszędzie pełno. Wystarczy do tablicy, po przecinku dopisać id metina, a następnie dodać 1 obieg do funkcji, w tym wypadku po 8027 dopisać(pamietajac o przecinku) 8028, a w pętli 27 zmienić na 28.

 

 

dwa, dopisanie funkcji do quest_functions

 

get_metin

 

Tyle, nic więcej.

 

 

trzy, zastosowanie w queście(przykład)

 

when kill with get_metin()==1 begin

 

 

przejdzie do dalszej części questa tylko po zniszczeniu metina.

 

cztery, pojęcie metina ;o

w funkcji w tablicy dopisane są te metiny:

 

8001 Metin Cierpienia <5lvl>

8002 Metin Walki <10lvl>

8003 Metin Bitwy <15lvl>

8004 Metin Chciwosci <20lvl>

8005 Metin Czerni <25lvl>

8006 Metin Ciemnosci <30lvl>

8007 Metin Zazdrosci <35lvl>

8008 Metin Duszy <40lvl>

8009 Metin Cienia <45lvl>

8010 Metin Twardosci <50lvl>

8011 Metin Diabla <55lvl>

8012 Metin Upadku <60lvl>

8013 Metin Smierci <65lvl>

8014 Metin Morderstwa <70lvl>

8015 Metin Twardosci <50lvl>

8016 Metin Diabla <55lvl>

8017 Metin Upadku <60lvl>

8018 Metin Smierci <65lvl>

8019 Metin Morderstwa <70lvl>

8020 Kamien Shinsoo <1lvl>

8021 Kamien Jinno <1lvl>

8022 Kamien Chunjo <1lvl>

8023 Kamien Imperialny <1lvl>

8024 Metin Pung-Ma <75lvl>

8025 Metin Ma-An <80lvl>

8026 Metin Tu-Young <85lvl>

8027 Metin Jeon-Un <90lvl>

 

 

 

to tyle, pjona.


 

Opublikowano

Fajne takie ułatwienia, dobry pomysł, że jak zabijemy metka z indexu pierdolnie nam true, a jak będzie spoza wywali false.

Dobre zastosowanie do questów, aczkolwiek ja nie lubię bawić się w takie rzeczy.

 

Jednak jest to dobry pomysł, za wykonanie i wymyślenie, zalajkuję =)

Opublikowano

Tak nie prościej? :s

function get_metin()
 if npc.get_race() >= 8001 and npc.get_race() <= 8027 then
return 1
 end
 return 0
end

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

metin pozwala nam na dopisywanie funkcji do questlibu, czyli ich zbioru, nie trzeba kombinować z includami(requirami) niepotrzebnie robiąc sobie przy tym problemów.

 

 

kod funkcji o nazwie get_metin() zwracającą 0 lub 1, w zależności od tego czy mob to metin czy nie. funkcja mogłaby wyglądać np. tak

 

function get_metin()
local metin_table = {8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015, 8016, 8017, 8018, 8019, 8020, 8021, 8022, 8023, 8024, 8025, 8026, 8027}
for i=1,27 do
if mob_vnum() == metin_table[i] then
return 1
else
return 0
end
end
end

 

WIEM, że zamiast tablicy możnaby użyć prostego ifa, aczkolwiek to jest sposób dla tych mniej zaawansowanych, dzięki tablicy można bardzo łatwo dopisywać nowe metiny, których teraz wszędzie pełno. Wystarczy do tablicy, po przecinku dopisać id metina, a następnie dodać 1 obieg do funkcji, w tym wypadku po 8027 dopisać(pamietajac o przecinku) 8028, a w pętli 27 zmienić na 28.

 

 

dwa, dopisanie funkcji do quest_functions

 

get_metin

 

Tyle, nic więcej.

 

 

trzy, zastosowanie w queście(przykład)

 

when kill with get_metin()==1 begin

 

 

przejdzie do dalszej części questa tylko po zniszczeniu metina.

 

cztery, pojęcie metina ;o

w funkcji w tablicy dopisane są te metiny:

 

8001 Metin Cierpienia <5lvl>

8002 Metin Walki <10lvl>

8003 Metin Bitwy <15lvl>

8004 Metin Chciwosci <20lvl>

8005 Metin Czerni <25lvl>

8006 Metin Ciemnosci <30lvl>

8007 Metin Zazdrosci <35lvl>

8008 Metin Duszy <40lvl>

8009 Metin Cienia <45lvl>

8010 Metin Twardosci <50lvl>

8011 Metin Diabla <55lvl>

8012 Metin Upadku <60lvl>

8013 Metin Smierci <65lvl>

8014 Metin Morderstwa <70lvl>

8015 Metin Twardosci <50lvl>

8016 Metin Diabla <55lvl>

8017 Metin Upadku <60lvl>

8018 Metin Smierci <65lvl>

8019 Metin Morderstwa <70lvl>

8020 Kamien Shinsoo <1lvl>

8021 Kamien Jinno <1lvl>

8022 Kamien Chunjo <1lvl>

8023 Kamien Imperialny <1lvl>

8024 Metin Pung-Ma <75lvl>

8025 Metin Ma-An <80lvl>

8026 Metin Tu-Young <85lvl>

8027 Metin Jeon-Un <90lvl>

 

 

 

to tyle, pjona.

 

Można dodać, żeby automatycznie sprawdzało ilość pozycji w tabeli, wystarczy zrobić to tak:

for i=1,table.getn(metin_table) do

Opublikowano

@UP

jeden chuj :D

 

@sunushi

WIEM, że zamiast tablicy możnaby użyć prostego ifa, aczkolwiek to jest sposób dla tych mniej zaawansowanych, dzięki tablicy można bardzo łatwo dopisywać nowe metiny, których teraz wszędzie pełno. Wystarczy do tablicy, po przecinku dopisać id metina, a następnie dodać 1 obieg do funkcji, w tym wypadku po 8027 dopisać(pamietajac o przecinku) 8028, a w pętli 27 zmienić na 28.


 

Opublikowano

when kill with

get_metin

()==1

Czyli, że gdy rozbije, ta ?

 

Dzięki, przyda się, przy robieniu dropu, lajk się należy

ePc0b.jpg

mcn_cc.pl - banda złodziei

;)

Piszę questy na zamówienie - Zostanę questerem na serwerze dedykowanym - Na zlecenie napiszę questy - Zakoduję stronę HTML5/CSS3

Opublikowano

Od kiedy tablice i pętle są łatwiejsze od warunku? :s

 

No to jest łatwiejsze, sam tego używam, ale autor napisał taką funkcję, a ja tylko zrobiłem, że sprawdza ilość pozycji w tabelce. Np. za pomocą npc.race można robić coś takiego:

say_title(mob_name(npc.race)..":")

Pobiera ci id npc i pokazuje jego nazwę w tytule.

Opublikowano

@2up

kurwa, nie łatwiejsze, tylko nie chciałoby mi się tłumaczyć totalnym laikom (80% tego forum) jak dodać własny warunek, dlatego dałem tą jebaną tablicę. tu trzeba tylko zwiększyć przebieg pętli i dopisać id do tablicy, to chyba każdy zrozumie.


 

Opublikowano

@2up

kurwa, nie łatwiejsze, tylko nie chciałoby mi się tłumaczyć totalnym laikom (80% tego forum) jak dodać własny warunek, dlatego dałem tą jebaną tablicę. tu trzeba tylko zwiększyć przebieg pętli i dopisać id do tablicy, to chyba każdy zrozumie.

 

Tacy newbie nie wiedzą co to tablica.

Opublikowano

No jakby na to nie patrzył to u Ciebie trzeba zmieniać 2 rzeczy (dodać id do tablicy + zwiększyć liczbę w pętli), u mnie wystarczy zmienić drugi warunek ;) Osobiście o pętlach i tablicach dowiedziałem się ~pół roku po tym, jak zacząłem swoją przygodę z questami tak więc nie wiem czy tak dla laików, którzy nawet nie wiedzą gdzie trzeba wgrywać questy. Pomysł jak najbardziej działa tylko że ta pętla wykonuje się przy każdorazowym zabiciu jakiegoś potwora czy też gracza, dlatego bym to przemyślał.

 

P.S. Wrzuć troszkę na luz

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Tablica to zbędny kawałek kodu... można to zrobić inaczej i wiele szybciej,

nie pruj się tak idioto do innych ;)

Opublikowano

@up

Tablica zbędny kawałek kodu ?

Ty wiesz ile ona daje ?

Dzięki niej można np. skrócić kod, który ma z 50 linijek do jakiś 30, kod jest czytelniejszy...

 

Polecam używać tablice =)

W tucie mamy dobry przykład.

Opublikowano

Poradnik prosty i łatwy do zrozumienia, przyda się na pewno wielu osobom, dlatego masz laika.

Dodaj jakąś kolorystykę, bo to przyciąga i na pewno o niebo lepiej wygląda.

 

Co do Ciebie Pawemolu - nie dawaj tutaj rad od Bockiego, proszę Cię.

Nadal mu płacisz, aby Ci pomagał? Eh... pozdrawiam.

Opublikowano
nie pruj się tak idioto do innych ;)

pierdol się.

 

 

Sunushi, nie musisz mi mówić co to pętle i ify, zastosowałem tu tablicę tylko dlatego, że każdy laik może bezproblemowo dodać po przecinku id metina, a warunek musiałbym opisywać, bo np. ktoś dodałby metina o id 20000 i warunek zmienił na

if mob_vnum()>= 8001 and mob_vnum() <= 20000 then

 

i byłaby klapa.


 

Opublikowano

pierdol się.

 

 

Sunushi, nie musisz mi mówić co to pętle i ify, zastosowałem tu tablicę tylko dlatego, że każdy laik może bezproblemowo dodać po przecinku id metina, a warunek musiałbym opisywać, bo np. ktoś dodałby metina o id 20000 i warunek zmienił na

if mob_vnum()>= 8001 and mob_vnum() <= 20000 then

 

i byłaby klapa.

Nom dokładnie ;)

Ale w sumie totalny laik nie powinien się brać za takie questy, może to nic zaawansowanego, ale znam takich co when'a użyć nie umią ;D

Opublikowano

Poradnik prosty i łatwy do zrozumienia, przyda się na pewno wielu osobom, dlatego masz laika.

Dodaj jakąś kolorystykę, bo to przyciąga i na pewno o niebo lepiej wygląda.

 

Co do Ciebie Pawemolu - nie dawaj tutaj rad od Bockiego, proszę Cię.

Nadal mu płacisz, aby Ci pomagał? Eh... pozdrawiam.

 

9 miesięcy temu wysłałem mu 10 zł i to za pomoc z php, a nie questami. Poza tym ja mu to dałem z dobroci, bo pisze z nim gdzieś od początku 2010 roku i zasłużył za pomoc. Questy nauczyłem się pisać przy pomocy poradników z mpforum i tą stroną:

http://lua-users.org/

Jak nie wiesz o co chodzi to lepiej niż nie pisz. A poza tym to co ja z kimś piszę na gg ciebie nie dotyczy, więc nie wtrącaj się w nieswoje sprawy i nie pisz swoich poglądów publicznie. A tak apropo to straciło mi się gdzieś gg Bockiego, więc nie mam z nim kontaktu.

 

 

@topic

Jeśli chcecie, żeby ta funkcja działała tylko na potwory wystarczy dodać do tego warunek:

 

 

when kill with get_metin()==1 and not npc.is_pc() begin

Opublikowano

@up

Tablica zbędny kawałek kodu ?

Ty wiesz ile ona daje ?

Dzięki niej można np. skrócić kod, który ma z 50 linijek do jakiś 30, kod jest czytelniejszy...

 

Polecam używać tablice =)

W tucie mamy dobry przykład.

 

x = npc.get_race()
if x >= 8001 and x <= 8027 then

 

I masz jeszcze krótsze

sygna.png
Opublikowano

Przyszło 10 propsów i będą dupę truć.. komuś to się przyda na 100% jak wszystko, a to że można inaczej wie każdy "propsik".. dajcie już tej kwestii spokój..

Opublikowano

@up

można zaoszczędzić zmiennej jak już tak chcecie być oszczędni.

 

Jak dasz zmienną to skrypt wykona tylko raz funkcję, a jak jej nie dasz to 2 razy. Więc bardziej pyli się dać zmienną.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...