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

[Błąd]''zmień tryb edycji'' NIE DZIAŁA !


Remotion

Rekomendowane odpowiedzi

Opublikowano

Witam ,mam problem a mianowicie odkryłem że funkcja ''zmien tryb edycji'' nie działa .

Napisałem wczoraj poradnik, i chcąc coś sprawdzić zmieniłem tryb edycji na ten :

 

90254997700303719276.jpg

 

 

i o dziwo po zmianie tego trybu na ''normalny'' bez tej każdej spacji tekstów typu <span style = itp itd NIC SIĘ NIE STAŁO ..

zmieniałem kilka naście razy tym przełącznikiem i nic się nie działo..

 

a nie chciałbym aby moja praca poszła na marnę i wszystko z tego tematu było takie ''felerne'' i nie przejrzyste :)

--moze to tylko u mnie tak nie idzie więc proszę modów o zmianę trybu edycji w tym temacie <3

http://www.mpcforum.pl/topic/550296-spis-wszystkich-questow-jakie-byly-na-mpc/

 

wiem ,że to siię da zrobić (zmienic ten tryb edycji) bo gdy klikam edytuj to na sekundę pojawia się stary tryb edycji (ten który był)

 

46273949890330441304.jpg

 

 

gdyby udało się to zrobić to dziękuję . :):)

 

 

 

<p><span style="color: #ffa500">HI MPCFORUM</span> , sporządzenie tego spisu zajęło mi kilkanaście ładnych

godzin ,szukanie w Pisaniu/poprawie i innych źródłach. Nie dodałem do 'spisu' ''autorów questów'' z prostej przyczyny skąd mamy mieć pewność że ta osoba napisała ten quest ,dodamy że np quest dodał JAN a tak naprawdę napisał Go Andrzej , więc z przyczyn czysto technicznych nie podałem autorów questów w spisie .<span style="color: #ffa500">Jakiś quest jest Twój ? Napisz o tym w komentarzach</span> . Jeżeli jakiś quest nie zadziała (co może się zdarzyć ,ale raczej nie powinno)

to proszę napisać w komentarzach poprawię go . Znalazłeś kolejny quest ? Daj go w komentarzach - dodam go. Małe wprowadzenie ode mnie ,wielu z was zapewne myśli że aby było kilka ''zakładek'' u NPC trzeba połączyć questy . NIe tak to nie działa , wystarczy że wgracie quest tym <span style="color: #ffa500">poradnikiem</span> :

http://www.mpcforum.pl/topic/163124-tutwgrywanie-questow-na-serwer/

Backup tematu w spoilerze gdyby z jakichś przyczyn temat zostałby skasowany

 

Witam,

bardzo dużo osób się mnie pyta:

*Jak wgrać jakieś questy?

*Co zrobić by działały?

*Dlaczego nie działają?

Więc chciałbym krok po kroku opisać jak wgrać nowe questy na serwer a jak "przeinstalować" stare.

Tak Więc Mały Download:

WinSCP - Program łączący się z SFTP naszego serwera. Obsługa jak i instalacja tego programu jest bardzo prosta.

DOWNLOAD:

<a class="bbc_url" href="http://www.idg.pl/ftp/pc_11168/WinSCP.3.8.2.html" rel="nofollow external" title="Zewnętrzny odnośnik">http://www.idg.pl/ft...nSCP.3.8.2.html</a>

SKAN:

Strona www.virustotal.com na razie nie odpowiada...

No to zaczynamy!

1. Tworzenie Własnego Questu Lub Zapisywanie Czyjegoś Z MPC Forum

Spoiler

Tutaj posłużę się napisanym questem przez siebie dla tego poradnika:

Spoiler

quest zadanie begin

        state start begin

                when login or levelup with pc.level() > 7 begin

                        set_state(information)

                end

        end

      

        state information begin

                when letter begin

                        local v = find_npc_by_vnum(20016)

                        if v != 0 then

                                target.vid("__TARGET__", v, "Kowal")

                        end

                        send_letter("Znajdź Kowala")

                end

                when button or info begin

                    say_title("Znajdź Kowala")

                    say("")

                                        say("Musisz znaleźć Kowala,")

                    say("ma on dla Ciebie pewną wiadomość!")

                    say("Nie każ mu długo na siebie czekać.")

                    say("")

                                        say_title("Informacja")

                                        say_reward("Kowal znajduje się w Pierwszej Wiosce")

                end

                when 20016.chat."Znalazłem Cię!" begin

                        target.delete("__TARGET__")

                                                        say_title("Kowal:")

                                                        say("")

                                                        say("No Świetnie!")

                                                        say("Ciesze się, że trafiłeś do mnie..")

                                                        say("Tak więc jestem kowalem i ulepszam przedmioty.")

                                                        say("Jak będziesz kiedyś chciał coś ulepszyć,")

                                                        say("po prostu mi to przynieś!")

                                                        wait()

                                                        say_title("Kowal:")

                                                        say("Teraz otrzymasz ode mnie małą pomoc.")

                                                        say_reward("Otrzymano: 1.000.000 Yang")

                                                        say_reward("Otrzymano: 500.000 PD")

                                                        say_reward("Otrzymano: Bojowa Tarcza +9")

                                                pc.change_money(1000000)

                                                pc.give_exp2(500000)

                                                pc.give_item2(13009, 1)

                                                        clear_letter()

                                                        set_state(__THEEND__)

                end

        end

        state __THEEND__ begin

        end

end

Quest polega na tym, że jak nabijemy 7 poziom pojawia się nam z boku menu zwój w którym jest informacja o tym by iść do kowala, po kliknięciu na niego otrzymujemy nagrodę.

Tutaj jak napisać własny quest:

<a class="bbc_url" href="http://www.mpcforum.pl/topic/124484-tutpisanie-questow/" title="">http://www.mpcforum....isanie-questow/</a>

2. Zapisywanie Questu Pod Odpowiednim Rozszerzeniem

Spoiler

Jak wiadomo questy na serwer są zapisywane pod rozszerzeniem *.quest (np. Bambus3k.quest) By stworzyć nowy quest z tym rozszerzeniem to najlepiej użyć takiego schematu:

1. Wchodzimy na dysk na którym chcemy zapisać / napisać nowy quest. (lub Mój Komputer)

2. Na górze mamy pasek edycji w którym jest opcja "narzędzia" obok są "plik", "edycja", "widok", "ulubione"

3. Wybieramy opcję "narzędzia" ---> "opcje folderów" ---> "widok" Powinno pojawić się coś takiego:

Spoiler

4. Odznaczamy opcję: "ukryj rozszerzenia znanych typów plików" i zatwierdzamy zmiany.

Co nam to dało? A no to, że widzimy wszystkie rozszerzenia plików na własnym komputerze (np. plik "spolszczenie" zamienił się w plik "spolszczenie.exe" lub plik tekstowy "notatki" zamienia się w plik też tekstowy z widocznym rozszerzeniem *.txt czyli "notatki.txt"

5. Klikamy prawym przyciskiem myszy na wolny obszar (np. pulpit) i dajemy "nowy" --> "dokument tekstowy"

6. Pojawia się plik o nazwie "Nowy Dokument tekstowy.txt" zmieniamy jego nazwę na "zadanie.quest" po czym system się nas zapyta:

Jeśli zmienisz rozszerzenie nazwy pliku, plik może stać się niezdatny do użytku.

Czy na pewno chcesz zmienić rozszerzenie?

Definitywnie wybieramy "TAK" plik przyjmuje inną nazwę i inne rozszerzenie znaczy to, że przypisaliśmy mu nazwę "zadanie" a rozszerzenie "quest"

7. Gdy już mamy ten plik zapisany otwieramy go jakimś edytorem tekstowym może to być złożony edytor (np. notepad++) lub bardziej coś prostszego (np. notatnik).

8. Wklejamy do niego zawartość naszego questa który podałem wcześniej lub piszemy sami albo... pobieramy treść questa z forum od jakiegoś użytkownika.

9. Zapisujemy w nim zmiany i quest już jest gotowy do wgrania na serwer.

3. Wgrywanie Questu Na Własny Serwer Metin2

Spoiler

1. Łączymy się z naszym serwerem przez program WinSCP który dodałem w DOWNLOAD. Konfiguracja tego programu na plikach Rain!:

Czerwonym prostokątem oznaczone pola których nie musimy zmieniać.

Zielonym prostokątem jest zaznaczony przycisk logowania który się aktywuje po wypełnieniu powyższych pól.

Spoiler

UWAGA!!!

Zalogowanie się na SFTP serwera jest możliwe tylko po odświeżeniu IP w konsoli BSD komendą

/etc/rc.d/netif restart

2. Po zalogowaniu dzieli nam ekran komputera na dwa inne. Z lewej strony widać pliki znajdujące się na naszym komputerze z prawej pliki serwerowe. Od razu znajdujemy się w folderze z prawej strony "root" z którego cofamy się (folder na samej górze z strzałeczką i dwiema kropkami) i wchodzimy do folderu z questami czyli:

/usr/rain/channel/share_data/locale/hongkong/quest/

3. Z lewej strony okna wybieramy "Deskop" lub jak ktoś ma polską wersję "WinSCP" to wybiera "Pulpit"

4. Szuka tam pliku z nazwą "zadanie.quest" który klawiszem "F5" kopiuje na prawą stronę podzielonego ekranu czyli stronę serwerową. Screen:

Spoiler

5.Mamy już plik wgrany na SFTP Serwera!! Teraz trzeba tylko poprawnie dodać go do gry.

4. Wgrywanie Questu Do Gry Metin2

Spoiler

1. Przełączmy się na nasze BSD i otwieramy katalog quest komendą:

cd /usr/rain/channel/share_data/locale/hongkong/quest/

2. Jeżeli z powrotem pojawi się konsola "kaszanka:" to znak, że otworzyliśmy folder quest, jeżeli wyskoczy jakiś błąd typu:

Przepisana nasza cała ścieżka a na końcu "No such file or directory" to znaczy, że nie odnalazł naszej ścieżki czyli podaliśmy błędny dostęp do tego katalogu co należy poprawić.

3. wpisujemy komendę na wgranie Questu na Serwer Metin2 mianowicie:

./qc nazwa_pliku.quest

w naszym przypadku to nazwą pliku jest zadanie.quest czyli wpisujemy:

./qc zadanie.quest

4. Jeżeli wyskoczy napis: "Segmentatnion fault (core dumped)" to znak, że ten plik nie istnieje... Musieliśmy podać błędną nazwę lub nie jest to rozszerzenie *.quest

5. Gdy ścieżka jest poprawna zaczyna się kompilacja questu na serwer. Quest jest wczytywany linijka po linijce przy czym przetwarzane są dane z godnością wszystkich funkcji w pliku GAME. Po przejechaniu wszystkich linijek pojawia się na ekranie BSD taki napis: (SCREEN) to znak, że quest jest wczytany POPRAWNIE do ostatniego state i można już włączyć serwer by sprawdzić jak funkcjonuje w grze.

Spoiler

6. Jeżeli po kompilacji pod questem wyskoczy nam krótka informacja (komentarz) i "(core dumped)" to znak, że niestety ten quest ma w sobie błąd.. w linijce która tam jest zapisana (SCREEN) tutaj akurat linijka 27 nie znany status (czyli coś pomieszaliśmy z funkcją set_state(status) w tej właśnie linijce. Akurat jest to mój celowy błąd pisząc questa z state które nie jest do niczego przypisane...

Spoiler

7. Jeżeli nasz quest kończy się na STATE: __THEEND__ a podczas kompilacji zatrzymał się w połowie to znak, że w quescie są źle dodane polskie znaki!! W tej sytuacji najlepiej pozbyć się wszystkich znaków diakrytycznych.! I skompilować quest jeszcze raz.

Spoiler

8. W przeciwnym razie jak wszystko ładnie się skompilowało możemy przystąpić do włączania serwera!

Wpisujemy w BSD komendę wycofania się do folderu "root" w którym są skrypty rozruchowe naszego serwera "./start"

cd

Kolejno znany każdemu skrypt:

./start

5. Różnica Między "sh make" a "./qc nazwa_pliku.quest"?

Spoiler

Więc różnica polega na tym, że skrypt "./qc nazwa_pliku.quest" dogrywa nam do serwera nasz nowy quest a komenda "sh make"

usuwa cały katalog "object" kompilując wszystkie questy na nowo i wgrywając je w katalog "object". Komenda "sh make" pobiera nazwy questów z pliku "hongkong_list" który znajduje się w folderze z questami wygląda on tak: (przykładowo)

Spoiler

arena_manager.quest

give_basic_weapon.quest

levelup.quest

kowal_new.quest

blacksmith.quest

neutral_warp.quest

skill_group.quest

guild_ranking.quest

guild_war_bet.quest

guild_war_join.quest

guild_war_observer.quest

fisher.quest

zamiana.quest

eventnote.quest

boss.quest

ksiazka.quest

gmchange.quest

tanakadrop.quest

warehouse.quest

is.quest

christmas_santa.quest

christmas_tree.quest

years_greetings.quest

make_wonso.quest

find_squareguard.quest

buy_fishrod.quest

horse_guard.quest

pony_levelup.quest

horse_levelup.quest

horse_menu.quest

horse_revive.quest

horse_summon.quest

horse_upgrade.quest

horse_upgrade2.quest

manwoo.quest

item_mall.quest

marriage_manage.quest

upgrade_refine_scroll.quest

priv_empire.quest

guild_building_npc.quest

training_grandmaster_skill.quest

priv_guild.quest

mining.quest

guild_building_melt.quest

japan_invader_kill.quest

rice_cake_tiger.quest

hair_shop.quest

guild_building_alter_of_power.quest

forked_road.quest

oxevent.quest

npc_talk.quest

reset_scroll.quest

skill_reset2.quest

map_warp.quest

deviltower_zone.quest

cube.quest

hair.quest

check_trans_ticket.quest

spider_dungeon_2floor.quest

siege.quest

mgmt.quest

goto_empire_castle.quest

move_ring.quest

check_collect_reward.quest

miasto_duchow.quest

horse_exchange_ticket.quest

horse_ride.quest

guild_building.quest

fortune_telling.quest

goldaxe.quest

sayall.quest

guild_manage.quest

staruszka.quest

info.quest

bron30.quest

main_quest_lv1.quest

main_quest_lv2.quest

main_quest_lv3.quest

main_quest_lv4.quest

main_quest_lv7.quest

main_quest_lv10.quest

main_quest_lv15.quest

main_quest_lv20.quest

main_quest_lv25.quest

collect_quest_lv30.quest

collect_quest_lv40.quest

collect_quest_lv50.quest

collect_quest_lv60.quest

collect_quest_lv70.quest

collect_quest_lv80.quest

poziom.quest

kon.quest

kon_bojowiec.quest

kon_militar.quest

is.quest

zal.quest

info.quest

yohan.quest

item_change_sex.quest

change_empire.quest

pony_buy.quest

polowania_01.quest

polowania_02.quest

event_stone1.quest

event_stone2.quest

info_all.quest

player_online.quest

subquest_02.quest

subquest_03.quest

subquest_04.quest

subquest_05.quest

subquest_07.quest

subquest_09.quest

change_name.quest

shazi.quest

metin_stone_01.quest

metin_stone_02.quest

 

Na końcu widać kilka razy użyty odstęp, jest to specjalnie zrobione gdyż nie wczytuje ostatniego questu... Przyciśnięcie kilka razy [ENTER] powoduje to, że wszystkie questy z tej listy są wgrane na nowo. Gdy chcemy wgrać w ten sposób swój quest musimy go gdzieś wkleić w środek lub na sam koniec tej listy ale wtedy uwzględniamy ten klawisz 2x [ENTER]

6. Gdy Wgrywałem Questy Wyskoczyło Mi "./qc Permission Denied" !?

Spoiler

Oznacza to, że na questy nie są nadane odpowiednie uprawnienia czyli "chmod"

Jak nadać uprawnienia? Prosto... używając programu "WinSCP"

1. Logujemy się tak jak to było opisane wcześniej i wchodzimy do katalogu z questami.

2. Kombinacją klawiszy "ctrl+a" zaznaczamy wszystkie questy na serwerze (prawa strona ekranu) i klikamy prawym przyciskiem myszy i z okna dialogowego wybieramy "właściwości" (ang. properties) po czym pojawia się okno windowsa w którym dodajemy uprawnienia.

W okienku "osiemnastokow" wpisujemy:

0777

czyli maksymalnie największe prawa jakie możemy nadać jednemu użytkownikowi i ewentualnie można dodać dziedziczenie tych uprawnień na kolejne katalogi jak byśmy nadawali prawa np. na cały katalog "hongkong" SCREEN:

Spoiler

Myślę, że teraz już nie będzie problemów z wgraniem questów!!! Niech mi tylko ktoś napisze na pw , że nie potrafi wgrać ! :<

By Bambus3k! ^^..

 

Quest po wgraniu 'wgra się' do object w germany -> quest ,i wtedy możecie wgrać innego questa do tego samego NPC ,po czym gdy wejdziecie do gry wasz NPC będzie już miał 2 zakładki 'questów' ale to tylko taka informacja mini dla was .

Poradnik dzięki któremu masowo wgracie questy na serwer :

http://www.mpcforum.pl/topic/427789-tut-masowe-wgrywanie-questow-na-serwer/

<span style="color: #ffa500">Backup</span> tematu:

 

Witam Wszystkich Userów i Administrację mpc forum =) .

Dzisiejszy tutek może i mały, ale bardzo pomocny =).

Zapewne nie raz męczyliście się by dogrywać setki questów na wasz prywatny serwer [...] .

Teraz to już nie problem ! =) .

Wpisujemy następujące komendy :

1) -- Tworzymy plik wykonywalny shella (.sh)

ee /wasza ścieżka do plików/guest.sh

2) -- wklejamy tam następującą zawartość :

#!/bin/sh
cd quest
ls *.quest > locale_list --- ta cmd doda nam wszystkie pliki z .quest do pliku locale_list (nie wklejać z tym komentarzem xP)
sleep 3
#!/usr/local/bin/python
import os
os.system('rm -rf object')
for line in file('locale_list'):
        if os.system('./qc ' + line):
                print 'Error occured on compile ' + line
                import sys
                sys.exit(-1)
cd

3) -- Wychodzimy i wpisujemy :

chmod -R 777 /wasza ścieżka do plików/quest.sh

4) -- Odpalamy i cieszymy się dodanym do pliku locale_list i skompilowanymi questami (wgranymi) na swoim serwerze mt2 =) .

5) -- Jeżeli ktoś nie wie jak to odpalić, robi się to tak :

cd /twoja ścieżka do plików/ && ./quest.sh

Skrypt działa na plikach 2k10/11, na dedykach również =), przy okazji wymagany jest python =) .

Jak go zainstalować ? -- jeżeli go nie mamy

Otóż w taki sposób :

Wpisujemy następujące cmd :

1) -- By zainstalować pythona :  

cd /usr/ports/lang/python27 && make install clean

2) --  Robimy mu symlinka :

cd /usr/bin && ln -s /usr/local/bin/python2.7 python

Pozdrawiam Badar .

P.S : jeżeli Ci tym pomogłem, możesz zostawić +'a  .

 

 

A może chciałbyś zostać Quest Writerem i zacząć pisać questy ,aby potem trafiły do tej listy?

http://www.mpcforum.pl/topic/268558-mega-tutorial-od-zera-do-quest-writera/

Backup tematu ,gdyby kolega usunął tak jak xDestruckt <img alt=" " class="bbc_emoticon" src="http://www.mpcforum.pl/public/style_emoticons/default/smile.png">

 

Witam !

Po pierwsze co chciałbym powiedzieć,to wiem że był podobny tutorial,tyle że mało obszerny,mało przekazujący.

Po drugie chciałbym wspomnieć,że zacząłem tutorial pisać na kacu po nieodespanym Sylwestrze,więc za jakiekolwiek błędy przepraszam.

Po trzecie - jeśli czegoś nierozumiesz,nie minusuj - pisanie questów,tak jak i pisanie stron WWW,czy aplikacji komputerowych wymaga ćwiczeń i czasu.

Wstęp

 

 

Questy do gry Metin2 pisane są w języku LUA - niektórzy z was może się już z nim spotkali,jest używany w wielu grach Online i nie tylko.

Edytor LUA - polecam Notepad++ - sam go używam nie tylko do LUA,lecz i do PHP oraz CSS.

Jeśli czegoś nierozumiesz,potrzebujesz więcej informacji - odsyłam do manuala

http://www.lua.org/manual/5.1/

 

 

Część 0 - LUA i pliki serwerowe

 

 

Oczywiście,questy pod grę Metin2 mają swoją budowę - rozpoczynają się linijkami

quest nazwa begin -- Coś w rodzaju indeksu
state start begin -- rozpoczęcie questa w grze

Oraz mają swoje własne funkcje - patrz rozdział "Lista funkcji".

 

 

Część I - zmienne i operatory

 

 

Zmienne

Może najpierw zaczniemy od tego....czym jest właściwie zmienna ?

Zmienna to nic innego,jak zarezerwowane miejsce w pamięci komputera (w tym wypadku serwera) dla różnych typów danych,zaczynając od liczb całkowitych aż po tekst.

Jak wygląda zmienna ?

Zmienne w języku LUA wyglądają tak:

zmienna1 = 'jakiś tam tekst'   -- zmienna tekstowa,inaczej "string"
zmienna2 = 7   -- zmienna liczbowa
zmienna3 = TRUE -- zmienna typu bool (true lub false - prawda lub fałsz)

Jak można zauważyć, przypisanie tekstu do zmiennej tekstowej musi się zaczynać znakiem  ' oraz  kończyć  ' .

Przypisanie liczby do zmiennej liczbowej wygląda podobnie - tylko tutaj nie nie opatrujemy liczby znakami '' .

Zasięg zmiennych w języku LUA można określić na dwa sposoby:

local zmienna = TRUE -- zmienna lokalna,czyli zmienna która została wywołana wewnątrz jakiegoś bloku kodu (pętli,instrukcji warunkowej,funkcji itd) i wraz z zamknięciem tego bloku kodu ta zmienna poprostu "ginie".
zmienna = TRUE -- zmienna globalna,czyli dostępna w całym queście.

WAŻNE !

Nazwy zmiennych nie mogą nosić nazw:

end,

if,

while,

and,

or .

Powyższe nazwy są zarezerwowane przez język LUA i użytkownik nie ma możliwości użycia tych nazw.

Język LUA odróżnia wielkie litery oraz małe,więc zmienne "zmienna1" oraz "Zmienna1" to dwie inne zmienne;właśnie tym sposobem możemy ominąć ograniczenia nazw zmiennych stosując np.

zamiast zmiennej "end" zmienną "End" itd.

Operatory

Operatory to nic innego,jak funkcje matematyczne na zmiennych.

W LUA istnieją takie operatory:

> - większy,
< - mniejszy,
== - równy (WAŻNE ! Pojedynczy znak "=" oznacza przypisanie !)
<= - mniejszy lub równy,
>= - większy lub równy.
++ - inkrementacja zmiennej (dodawanie do zmiennej 1)
-- - dekrementacja (odejmowanie od zmiennej 1)

Operatory przydadzą się nam w dalszej części tutoriala,lecz lepiej zaznajomić się z nimi podczas poznawania zmiennych.

 

 

Część II - instrukcje warunkowe oraz komentarze

 

 

Instrukcje warunkowe

Instrukcje warunkowe - praktycznie najważniejsza część pisania questów.

Bez tego ani rusz !

-Instrukcja warunkowa if

Instrukcja warunkowa if ma bardzo prostą budowę :

if warunek then
instrukcja
end

Powyższa instrukcja zostanie wykonana gdy spełni się jakiś warunek.

Jeśli nie zostanie on spełniony,instrukcja nie wykona się.

Warunkiem może być praktycznie wszystko,dam wam przykład na podstawie dwóch zmiennych :

quest nazwa begin
state start begin
zmienna1 = 20
zmienna2 = 5
if zmienna1 > zmienna2 then
chat("zmienna1 jest większe od zmienna2 !")
end
end
end

Pomyślcie teraz,czy powyższa instrukcja się wykona ? Na czym polega ?

Powyższa instrukcja wykona się,gdy zmienna1 będzie większa od zmienna2 - tak jest ? Tak,więc instrukcja się wykona - w rezultacie na chacie w grze wyświetli się

tekst "zmienna1 jest większe od zmienna2 !".

Ważne ! Każda instrukcja warunkowa, pętla(o tym później) oraz funkcja musi być zakończona wyrazem "end". Na przykład

quest nazwa begin

state start begin

end

end

-Instrukcja warunkowa if-else

Instrukcja ta jest dopełnieniem wcześniejszej.

Tyle,że jeśli tutaj warunek się spełni, zostanie wykonana pierwsza instrukcja, jeśli się nie spełni, druga.

Przykład:

quest test begin
state start begin
fail1=50
fail2=50
if fail1~=fail2 then
chat("tekst numer jeden")
else
chat("tekst numer dwa")
end

Pierwsze,co rzuciło się w oczy pewnie nowy operator - "~=" (można też użyć !=) - jest to tzw. negacja, czyli "po polsku" przeczenie. Czyli np. zmienna1 NIE równa się zmiennej2 , zmienna tekstowa jest inna od drugiej zmiennej tekstowej etc.

Drugie co rzuciło się w oczy - wyraz else - po angielsku oznacza on poprostu inaczej,czyli kod po przetłumaczeniu na język zrozumiały dla nas,wyglądałby tak:

fail1 to jest 50
fail2 to jest 50
jeśli fail1(50) nierówna się fail2(50) zrób
wyświetl tekst numer jeden na chacie
lub jeśli fail1 równa się fail2
wyświetl tekst numer dwa na chacie
koniec

Myślę,że zrozumieliście .

-Instrukcja warunkowa when

Instrukcja when - bardzo mało informacji o niej w internecie,możliwe że jest to instrukcja warunkowa napisana przez twórców gry.

Więc tak,składnia when wygląda tak:

when warunek with coś begin
instrukcja
end

Dalej wam niestety nie powiem,sam dokońca nie rozumiem tej instrukcji,jeśli się dowiem czegoś więcej to napiszę.

Komentarze

Co to są komentarze ?

Komentarze to nic innego,jak nic nieznaczące dla gry,jak i dla kompilera LUA ciągi znaków pomagające quest writerowi w zorientowaniu się w kodzie skryptu (tak,tak,quest writer może się pogubić we własnym kodzie....),lub jeśli quest pisze kilka osób,komentowane są niektóre elementy,żeby praca przebiegała sprawniej i szybciej.

Jak stosować komentarze w języku LUA ?

-Komentarze jednolinijkowe

Komentarze jednolinijkowe rozpoczyna się dwoma myślnikami "--" ,po tych myślnikach kod nie jest traktowany jako kod tylko nic nieznaczący tekst.

[.....]
if zmienna>zmienna13 then -- to jest właśnie komentarz
[....]

-Komentarze wielolinijkowe

Komentarze wielolinijkowe zaczynamy od " --[[ " oraz kończymy "]]"

[....]
--[[
if zmienna==kowal then
chat("Tak,to jest kowal !")
end
]]
[....]

W powyższym kodzie kompilator pominie linie między znakami "--[[" oraz "]]" .

 

 

 

Lista funkcji

 

 

Najbardziej przydatne

chat() - Pisze na chacie wiadomość tekstową
chat("Tutaj tekst")
say() - Pisze wiadomość w okienku
say("Witaj na serwerze xxx ! Na początek dostaniesz startowy ekwipunek....")
say_reward() - pisze w okienku na ciemno-pomarańczowo,używane głównie do pisania nagród itd.
say_reward("Zbroja z czarnej stali+9")
say_item() - wyświetla w okienku obrazek przedmiotu
say_item(19) - wyświetli się obrazek Miecza +9

Inne

__give_char_priv()
addimage()
addmapsignal()
affect.add() - Dodaj się jakiś wpływ (nie wiem za bardzo)
affect.remove() - Wiadomo, usuwa UP
affect.remove_bad() - Usuwa się negatywny wpływ np. spowolnienie chyba
affect.remove_good() - Usuwa pozytywny wpływ np. aure
bool_to_str() - Nie wiem ale to jest jakiś algorytm który coś oblicza
building.get_land_id() - Nie wiem
building.get_land_info() - Nie wiem
building.has_land() - Nie wiem
building.set_land_owner() -- Nie wiem
char_log() -Wpisuje coś w MySQL do jakiegoś loga itp. (?)
chat() - Pisze na czacie wiadomość tekstową
clear_server_timer() - Resetuje zegar serwa (z tym zegarem to lepiej sie nie bawic)
clearmapsignal() - Nie wiem
cleartimer() - Resetuje jakiś stoper (np. w misjach na czas)
cmdchat() - pisze coś na czacie (?)
color(r,g, - to służy do wpisywania kolorów w postaci R,B,G
complete_quest() - Kończy questa (?)
complete_quest_state() - Nie wiem
confirm() - potwierdzenie
sys_log() - Pisze coś w systemowym logu (?)
d.check_eliminated() - Sptawdza ile mobów zostało zabitych chyba
d.clear_regen() - Nie wiem
d.count_monster() - ilość jakiś potworów
d.exit() - wiadomo
d.exit_all() - wiadomo
d.exit_all_to_start_position() - koniec czegoś tam i powraca do pierwszej pozycji ( czyli do pierwszego state)
d.get_kill_mob_count() - Ile jeszcze mobów trzeba zabić (taki licznik jakby)
d.get_kill_stone_count() - UP tylko że metinów (kamieni)
d.get_map_index() - Nie wiem
d.getf() - Nie wiem
d.is_unique_dead() - Sprawdza czy jest na dedzie (  )
d.is_use_potion() - Nie wiem ale coś związane z potami
d.join() - Nie wiem
d.jump_all() - Nie wiem
d.jump_all_local() - Nie wiem
d.kill_unique() - Nie wiem
d.new_jump()
d.new_jump_all()
d.purge() - To samo co komenda /purge
d.purge_unique() - UP tylko że coś inaczej
d.regen_file()
d.revived()
d.select() - Coś takiego jak funkcja Select()
d.set_dest()
d.set_exit_all_at_eliminate()
d.set_regen_file()
d.set_unique()
d.set_warp_at_eliminate()
d.setf()
d.spawn() - Chyba przywołuje jakiegoś moba (tak po nazwie zobaczyłem)
d.spawn_goto_mob() - Teleportuje gracza do moba chyba
d.spawn_group() - Przywołuje grupke mobów
d.spawn_mob() - Przywołuje moba
d.spawn_move_group() - Nie wiem
d.spawn_move_unique() - Nie wiem
d.spawn_name_mob() - Nie wiem
d.spawn_stone_door()
d.spawn_unique()
d.spawn_wooden_door()
d.unique_get_hp_perc()
d.unique_set_def_grade()
d.unique_set_hp()
d.unique_set_maxhp()
delay()
find_npc_by_vnum()
find_pc_by_name()
find_pc_cond()
game.drop_item()
game.get_event_flag()
game.get_guild_name()
game.get_safebox_level()
game.get_warp_guild_war_list()
game.open_mall() - Otwiera item shopk'a
game.open_safebox() - Otwiera magazyn 
game.request_make_guild()
game.set_event_flag()
game.set_safebox_level()
get_global_time() - Sprawdza która jest godzina
get_locale() - Sprawdza z jakiego jest państwa O_o
get_server_timer_arg()
get_time() - Sprawdza czas...
guild.around_ranking_string()
guild.get_any_war()
guild.get_ladder_point()
guild.get_name()
guild.get_rank()
guild.get_reserve_war_table()
guild.get_warp_war_list()
guild.high_ranking_string()
guild.is_bet()
guild.is_war()
guild.level()
guild.name()
guild.war_bet()
guild.war_enter()
highscore.register()
highscore.show()
horse.advance()
horse.feed()
horse.get_grade()
horse.get_health()
horse.get_health_pct()
horse.get_hp()
horse.get_level()
horse.get_stamina()
horse.get_stamina_pct()
horse.is_dead()
horse.is_mine
horse.is_riding()
horse.revive()
horse.ride()
horse.set_level()
horse.summon()
horse.unride()
horse.unsummon()
input() - Robi takiego textbox gdzie się wpisuje text, no wiesz co 
is_test_server() - Chyuba sprawdza czy serw jest GM MODE
item.get_count()
item.get_level()
item.get_name()
item.get_refine_vnum()
item.get_size()
item.get_socket()
item.get_sub_type()
item.get_type()
item.get_value()
item.get_vnum()
item.has_flag()
item.next_refine_vnum()
item.remove()
item.set_socket()
item_name()
loop_timer()
makequestbutton()
marriage.divorce_time_check()
marriage.end_wedding()
marriage.engage_to()
marriage.find_married_vid()
marriage.get_married_time()
marriage.get_wedding_list()
marriage.join_wedding()
marriage.marry_to()
marriage.remove()
marriage.set_to_marriage()
marriage.warp_to_my_marriage_map()
marriage.wedding_dark()
marriage.wedding_snow()
marriage.wedding_music()
marriage.wedding_is_playing_music()
math.floor()
math.max()
math.mod()
math.random()
member.chat()
member.clear_ready()
member.set_ready()
mob.spawn()
mob.spawn_group()
mob_name()
mob_vnum()
next_time_is_now()
next_time_set()
notice()
npc.dec_remain_hairdye_count()
npc.dec_remain_skill_book_count()
npc.get_empire()
npc.get_race()
npc.get_remain_hairdye_count()
npc.get_remain_skill_book_count()
npc.getrace()
npc.is_near()
npc.is_near_vid()
npc.is_pc()
npc.is_quest()
npc.kill() - Zabija npc  npc.kill(20016)   20016 to id kowala
npc.lock()
npc.open_shop() - Otwiera sklepik NPC'ta
npc.purge() - wiadomo (nie które funkcjepomijam bo są bardzo proste  )
npc.unlock()
npc_get_job()
npc_is_same_empire()
npc_is_same_job()
number()
party.chat()
party.clear_ready()
party.get_max_level()
party.get_near_count()
party.getf()
party.is_leader()
party.is_party()
party.run_cinematic()
party.setf()
party.setqf()
party.show_cinematic()
party.syschat()
pc.aggregate_monster()
pc.change_alignment()
pc.change_gold()
pc.change_money()
pc.change_sp()
pc.changealignment()
pc.changegold()
pc.changemoney()
pc.clear_skill()
pc.clear_sub_skill()
pc.clear_one_skill()
pc.count_item()
pc.countitem()
pc.delqf() - Usuwa coś w MySQL w tabeli quest
pc.destroy_guild() - wiadomo (nie będe już pisał "wiadomo")
pc.enough_inventory()
pc.forget_my_attacker()
pc.get_armor()
pc.get_empire()
pc.get_equip_refine_level()
pc.get_exp()
pc.get_gold()
pc.get_guild()
pc.get_horse_level()
pc.get_hp()
pc.get_job()
pc.get_leadership()
pc.get_level()
pc.get_local_x()
pc.get_local_y()
pc.get_map_index()
pc.get_max_hp()
pc.get_max_sp()
pc.get_money()
pc.get_name()
pc.get_next_exp()
pc.get_part()
pc.get_playtime()
pc.get_sex()
pc.get_skill_level()
pc.get_sp()
pc.get_start_location()
pc.get_vid()
pc.get_war_map()
pc.get_weapon()
pc.get_x()
pc.get_y()
pc.getarmor()
pc.getcurrentmapindex()
pc.getempire()
pc.getf()
pc.getgold()
pc.getguild()
pc.gethp()
pc.getleadership()
pc.getmaxhp()
pc.getmaxsp()
pc.getmoney()
pc.getname()
pc.getplaytime()
pc.getqf(name)
pc.get_skill_group()
pc.getsp()
pc.getweapon()
pc.getx()
pc.gety()
pc.give_exp(ilość expa)
pc.give_exp2(jak up)
pc.give_exp_perc(exp w procentach)
pc.give_gold(funkcja na kase)
pc.give_item() - To nie daje itema tylko range chyba
pc.give_item2(ID ITEMA)
pc.give_item_from_special_item_group(ID ITEMA Z ITEMSHOPA)
pc.give_lotto()
pc.has_guild() - Zwraca, czy jesteśmy w gildii (1), czy nie (0)
pc.has_master_skill() -Zwraca, czy mamy skille na G (1), czy nie (0)
pc.hasguild() - To samo co pc.has_guild()
pc.have_map_scroll()
pc.have_pos_scroll()
pc.in_dungeon() - Sprawdza czy jesteśmy w v1 (1), lub nie ma nas tam czyli zwraca (0)
pc.is_guild_master() - wiadomo
pc.is_horse_alive() - wiadomo
pc.is_married() - wiadomo
pc.is_mount() - wiadomo
pc.is_polymorphed() - Sprawdza czy jesteśmy zamienieni za pomocą poli (1) a jak nie to zwraca (0)
pc.isguildmaster() - wiadomo
pc.mount() - wiadomo
pc.pc_attract_ranger()
pc.polymorph(id_moba) - Zamienia nas w moba
pc.refine_equip() - wiadomo
pc.remove_from_guild() - Wywala z gilldi
pc.remove_item(id_tema) - Kasuje nam jakiś item z eq
pc.remove_polymorph() - wiadomo
pc.removeitem() - wiadomo
pc.reset_point() - Resetuje punkty ale niewiem czy skilli czy statusu
pc.revive_horse()
pc.select() - To samo co funkcja Select() tylko czymś się tóżni (nie wiem czym :P )
pc.set_part()
pc.set_warp_location()
pc.set_warp_location_local()
pc.setf()
pc.setqf(nazwa,wartość)
pc.set_skill_group() - Zmienia nas np. z mentala na bodego
pc.set_skill_level() - Zmienia nam np. Aure z 1 na P
pc.unmount()
pc.warp() - Teleportuje nas
pc.warp_exit()
pc.warp_local()
pc.warp_to_guild_war_observer_position() - Teleportuje nas na wojne gildi jak obserwator
pc.is_clear_skill_group()
pc_find_skill_teacher_vid()
pc_find_square_guard_vid()
pc_get_exp_bonus() - Daje nam bonusa na exp np. 50% (tylko dla nas!)
pc_get_village_map_index() - nie wiem
pc_is_novice() - Sprawdza czy mamy lvl niższy od 15
q.done() - wiadomo
q.getcurrentquestindex()
q.no_send()
q.set_clock()
q.set_clock_name()
q.set_clock_value()
q.set_counter()
q.set_counter_name()
q.set_counter_value()
q.set_icon()
q.set_quest_state()
q.set_state()
q.set_title()
q.set_title2()
q.setstate()
q.start()
q.yield()
raw_script()
restart_quest() - Restartuje qesta
say() - Pisze na ekranie jakiś tekst (wiadomo..)
say_npc_name() - nie wiem za bardzo
say_pc_name() - pisze cos tam na nick gracza???
say_reward() - Tym piszemy np.  say_reward("Otrzymałeś Miecz +9")
say_title() - Tytuł ten taki na żółto
say_item() - Wyskakuje obrazek itema chyba?
say_item_vnum() - jak up
select() - Tym robimy np. wybór  TAK lub NIE    przykład: select ( "Tak","Nie" ) zwraca 1 gdy nacisnie sie na tak a zwraca 2 gdy naciśnie się na Nie
select_table()
clear_letter() - Usuwa litery z ekranu
send_letter() - Pisze, coś jak say()
send_letter_ex()
server_loop_timer()
server_timer()
set_quest_state() - Zmienia state quest'a
set_state() - Zmieina state
setbgimage()
setcolor()
setleftimage()
setmapcenterposition()
setskin()
setstate()
show_horse_menu() - Pokazuje menu konia
skill_group_dialog()
syschat() - Coś debuguje (?)
table.insert()
table.foreach()
table.foreachi()
table.getn()
table_get_random_item()
target.clear()
target.delete()
target.id()
target.npc()
target.pc()
target.pos()
target.vid()
test_chat()
time_hour_to_sec()
time_min_to_sec()
timer() - licznik , stoper
tonumber()
tostring()
type()
wait() - Tworzy przycisk "Dalej"
pc.is_engaged()
time_to_str() - Zmeina czas (liczby) na słowo chyba
string.format()
math.ceil() -- aufrunden mathematisch
pc.is_gm() - sprawdza czy dana osoba to gm jak true to zwraca 1 jak false 0...
pc.get_gm_level()
pc.get_alignment() - Zwraca range gracza...
pc.get_real_alignment() - nie wiem
pc.learn_grand_master_skill() - Wbija skill np. Z G1 na G2 (musi być na G!!!) i wbija tylko o1
pc.is_skill_book_no_delay() - Sprawdza czy ktoś ma użyty zwój egzo czy nie. Wiadomo 1 lub 0
pc.remove_skill_book_no_delay() - Usuwa działanie zwoja egzo
__get_empire_priv_string() - Priv Zuo na jedno królestwo
__give_empire_priv()
npc.get_guild()
pc.mining() - sprawdza czy aktualnie korzystasz z kilofa (?)
d.notice() - coś związane z notatkami ale nie mam pojęcia co to jest "d"
pc.ore_refine()
under_han()
d.kill_all() - Zabija all potwory z całej mapki (?)
d.setqf()
__get_guild_priv_string()
__give_guild_priv()
__get_guildid_byname()
item.get_id()
item.select() - wybierasz item z eq
select_item() - co up
item.select_cell()
pc.diamond_refine()
__fish_real_refine_rod()
__refine_pick()
item.get_cell()
building.reconstruct()
arena.start_duel() - rozpoczyna pvp na arenie
arena.get_duel_list() - wiadomo
arena.add_observer() - Dodaje obserwatora do pvp na arenie
arena.is_in_arena()
BuildSkillList()
notice_all()
warp_all_to_village() - Wszystkich teleportuje do M1 (swojego królestwa)
say_in_map() - Domyślcie się bo ja nie wiem
goldbar.quest()
warp_all_in_map() - Wszystkich teleportuje na jakąś mapke (cool)
regen_in_map() - all potworom z mapki regenuje się full hp
kill_all_in_map() - zabija all na mapie O_o
notice_in_map()
forked.decdeadcount()
forked.cleardeadcount()
forked.setdeadcount()
forked.initkillcount()
forked.inckillcount()
forked.initmobkillcount()
forked.incmobkillcount()
forked.getmobkillcount()
warp_all_except_my_empire_in_map()
warp_all_my_empire_in_map()
forked.initforked()
warp_to_village() - psiałem juz wczesinej
forked.getdeadcount()
forked.incbosskillcount()
forked.getbosskillcount()
forked.getsungziposx()
forked.getsungziposy()
forked.getpassstartposx()
forked.getpassstartposy()
forked.getsungzimapindex()
forked.getpassmapindex()
forked.getpassmapindexbyempire()
get_start_mapindex()
get_start_pos_X()
get_start_pos_Y()
forked.getsungzipath()
forked.getpasspath()
forked.getpasspathbyempire()
forked.isforkedmapindex()
forked.issungzimapindex()
warp_all_to_village_except_my_empire()
is_allow_map()
oh.candidacy_list()
oh.election()
oh.candidacy_name()
oh.candidacy()
oh.takemonarchmoney()
pc.teleport() - Teleportuje gracza
oh.isguildmaster()
oh.candidacycount()
affect.remove_hair() - Usuwa fryz 
affect.add_hair() - Dodaje fryz 
affect.add_collect()
affect.add_collect_point()
pc.get_premium_remain_sec() - Daje komus konto premium
oh.ismonarch() - hmmm
oh.spawnmob() - Jak jest gm do mobyu się odradzają (?)
oh.monarchbless()
oh.monarchpowerup()
oh.monarchdefenseup()
pc.send_block_mode()
command("tutaj komenda gma któta ma być wpisana na chacie np . /mob 1903")
oxevent.get_status()
oxevent.open() - Otwiera OX
oxevent.close()
oxevent.quiz()
oxevent.end_event()
oxevent.get_attender()
oxevent.give_item() - Daje itemy za wygraną w OX
oxevent.end_event_force()
forked.getlevellimit()
mgmt.monarch_state() - sPRAWDZA CZY JEST GM
mgmt.monarch_change_lord() - Zmienia króla (chyba w wojnie królestw)
oh.frog_to_empire_money()
oh.spawnguard()
oh.info()
oh.transfer()
oh.warp()
pc.change_sex() - zmienia plec
pc.change_empire() - Zmeina królestwo
pc.get_change_empire_count() - Ile razy zmienił królestwo
get_quest_state() - Wiadomo (State questa sprawdza)
affect.remove_collect()

Listę funkcji pozwoliłem sobie wziąść z kursu użytkownika MrOMGWTF -

http://www.mpcforum.pl/topic/122517-kurs-kurs-pisania-questow/

,ponieważ nie odpisuje na PW.

 

 

Ostatnia aktualizacja 21 stycznia 2012 18:00

#drobne poprawki stylistyczne i dokładniejsze wytłumaczenie instrukcji warunkowych

Widzę dość duże zainteresowanie tutorialem  / kursem . Chyba wezmę się za jego kontynuację.

 

 

<span style="color: #ffa07a">No to teraz czas na</span> <span style="font-size: 18px;"><span style="color: #ffa500">SPIS WSZYSTKICH</span></span><span style="font-size: 10px;">(większej większości)</span> <span style="color: #00ff00">questów</span> <span style="color: #ffff00">na</span><span style="font-size: 18px;"><span style="color: #ffa500"> MPC FORUM</span></span> !

<span style="color: #ffa500">1</span>.</p>

<ul class="bbc">

<li><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">Kupno bonusu stałego typu +5000 Tys deffa ,wart. ataku itp</span></span></li>

</ul>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">?---na stałe ,tzn ''tyle ile masz yang'' tyle razy sobie kupisz =) aby zakupić należy posiadać : Krwisty Kamień(30190) oraz 1KK yang</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">u NPC : </span></span><span style="color: #006666"><span style="font-size: 10px;">20091 </span></span><span style="font-size: 14px;">Seona-Peyounga .</span></p>

<p style="text-align: left">Quest :</p>

<p style="text-align: left">

quest gogame begin

        state start begin

                when 20091.chat."Kup bonus na zawsze !" begin

                        -----------------------------

                        local brak_kasa = "Niestety, ale nie masz 1.000.000.000 Yang."

                        local brak_item = "Niestety, ale nie masz tyle Krwistych kamieni(50)"

                        -----------------------------

                        local money = 1000000000

                        local ID = 30190

                        -----------------------------

                        local a = select("+5000 Obrony","+140 Wartości Ataku","+50% Speeda","+15% szybkosc Ataku","Anuluj")

                        if a == 5 then

                                return

                        elseif a == 1 then

                                if pc.count_item(ID) >= 50 then

                                        if pc.get_money() >= money then

                                                pc.change_money(pc.get_money() - money)

                                                pc.remove_item(ID, 50)

                                                affect.add_collect(apply.DEF_GRADE_BONUS, 5000, 60*60*24*365*60)

                                        else

                                                say(brak_kasa)

                                        end

                                else

                                        say(brak_item)

                                end

                        elseif a == 2 then

                                if pc.count_item(ID) >= 50 then

                                        if pc.get_money() >= money then

                                                pc.change_money(pc.get_money() - money)

                                                pc.remove_item(ID, 50)

                                                affect.add_collect(apply.ATT_GRADE_BONUS, 140, 60*60*24*365*60)

                                        else

                                                say(brak_kasa)

                                        end

                                else

                                        say(brak_item)

                                end

                        elseif a == 3 then

                                if pc.count_item(ID) >= 50 then

                                        if pc.get_money() >= money then

                                                pc.change_money(pc.get_money() - money)

                                                pc.remove_item(ID, 50)

                                                affect.add_collect(apply.MOV_SPEED, 50, 60*60*24*365*60)

                                        else

                                                say(brak_kasa)

                                        end

                                else

                                        say(brak_item)

                                end

                        elseif a == 4 then

                                if pc.count_item(ID) >= 50 then

                                        if pc.get_money() >= money then

                                                pc.change_money(pc.get_money() - money)

                                                pc.remove_item(ID, 50)

                                                affect.add_collect(apply.ATT_SPEED, 15, 60*60*24*365*60)

                                        else

                                                say(brak_kasa)

                                        end

                                else

                                        say(brak_item)

                                end

                        end

                end

        end

end

</p>

<p style="text-align: left">Funkcje do zmiany kupowanych bonów tzn możecie sobie zmienić że zamiast 5000k Defa idzie kupić na stałe</p>

<p style="text-align: left"><span style="color: #ffa500">odporność</span> na surę czy szanse na <span style="color: #ffa500">krytyka</span> =)</p>

<p style="text-align: left">

affect.add_collect(apply.STR, xxx, 60*60*24*365*60) --- sila

affect.add_collect(apply.INT, xxx, 60*60*24*365*60) --- inteligencja

affect.add_collect(apply.CON, xxx, 60*60*24*365*60) --- energia zyciowa

affect.add_collect(apply.DEX, xxx, 60*60*24*365*60) --- zrecznosc

affect.add_collect(apply.ATT_SPEED, xxx, 60*60*24*365*60) --- szybkosc ataku

affect.add_collect(apply.MOV_SPEED, xxx, 60*60*24*365*60) --- szybkosc poruszania sie

affect.add_collect(apply.CAST_SPEED, xxx, 60*60*24*365*60) --- szybkosc magi

affect.add_collect(apply.HP_REGEN, xxx, 60*60*24*365*60) --- regeneracja pz

affect.add_collect(apply.SP_REGEN, xxx, 60*60*24*365*60) --- regeneracja pe

affect.add_collect(apply.POISON_PCT, xxx, 60*60*24*365*60) --- otrucie

affect.add_collect(apply.STUN_PCT, xxx, 60*60*24*365*60) --- omdlenie

affect.add_collect(apply.SLOW_PCT, xxx, 60*60*24*365*60) --- spowolnienie

affect.add_collect(apply.CRITICAL_PCT, xxx, 60*60*24*365*60) --- krytyk

affect.add_collect(apply.PENETRATE_PCT, xxx, 60*60*24*365*60) --- przeszywka

affect.add_collect(apply.ATTBONUS_HUMAN, xxx, 60*60*24*365*60) --- na ludzi

affect.add_collect(apply.BLOCK, xxx, 60*60*24*365*60) --- blok ciosow

affect.add_collect(apply.IMMUNE_STUN, xxx, 60*60*24*365*60) --- nno

affect.add_collect(apply.IMMUNE_SLOW, xxx, 60*60*24*365*60) --- nns</p>

<p>MAX_HP --- pukty zycia

MAX_SP --- pukty energi

CON --- energia zyciowa

INT --- inteligencja

STR --- sila

DEX --- zrecznosc

ATT_SPEED --- szybkosc ataku

MOV_SPEED --- szybkosc poruszania sie

CAST_SPEED --- szybkosc magi

HP_REGEN --- regeneracja puktow zycia

SP_REGEN --- regeneracja puktow energi

POISON_PCT --- szansa na otrucie

STUN_PCT --- szansa na omdlenie

SLOW_PCT --- szansa na spowolnienie

CRITICAL_PCT --- szansa na krytyczne uderzenie

PENETRATE_PCT --- szansa na przyszywajace uderzenie

ATTBONUS_HUMAN --- silny przeciwko ludzia

ATTBONUS_ANIMAL --- silny przeciwko zwierzeta

ATTBONUS_ORC --- silny przeciwko orka

ATTBONUS_MILGYO --- silny przeciwko mistyka

ATTBONUS_UNDEAD --- silny przeciwko nieumarlym

ATTBONUS_DEVIL --- silny przeciwko diabla

STEAL_HP --- szansa na kradziez putkow zycia

STEAL_SP --- szansa na kradziez putkow energi

MANA_BURN_PCT --- nie mam pojecia

DAMAGE_SP_RECOVER --- nie wiem

BLOCK --- szansa na blok ciosow

DODGE --- szansa na unikniecie ciosu

RESIST_SWORD --- odpornosc na miecze

RESIST_TWOHAND --- odpornosc na miecze dwureczne

RESIST_DAGGER --- odpornosc na sztylety

RESIST_BELL --- odpornosc na dzwony

RESIST_FAN --- odpornosc na wachlarze

RESIST_BOW --- odpornosc na luki

RESIST_FIRE --- odpornosc na ogien

RESIST_ELEC --- odpornosc na blyskawice

RESIST_MAGIC --- odpornosc na magie

RESIST_WIND --- odpornosc na wiatr

REFLECT_MELEE --- szansa na odbiecie ???

REFLECT_CURSE --- szansa na odbiecie klatwy ( ??? )

POISON_REDUCE --- odpornosc na otrucie

KILL_SP_RECOVER --- obrazenia absorbowane przez pukty energi

EXP_DOUBLE_BONUS --- szansa na podwojna ilosc doswiadczenia

GOLD_DOUBLE_BONUS --- szansa na podwojna ilosc yang

ITEM_DROP_BONUS --- szansa na bonus doswiadczenia

POTION_BONUS --- mikstury iles % efekt podniesiony

KILL_HP_RECOVER --- obrazenia absorbowane przez pukty zycia

IMMUNE_STUN --- nie wrazliwy na omdlenie

IMMUNE_SLOW --- nie wrazliwy na spowolnienie

IMMUNE_FALL --- nie wrazliwe na upadek

BOW_DISTANCE --- dlugosc zasiegu zluku ( chyba )

ATT_GRADE_BONUS --- wartosc ataku

DEF_GRADE_BONUS --- obrona

MAGIC_ATT_GRADE --- wartosc magicznego ataku

MAGIC_DEF_GRADE --- obrona magicza

CURSE_PCT --- szansa na klatwe ( ??? )

MAX_STAMINA --- pukty wytrzymalosci

ATT_BONUS_TO_WARRIOR --- silny przeciwko wojownika

ATT_BONUS_TO_ASSASSIN --- silny przeciwko ninja

ATT_BONUS_TO_SURA --- silny przeciwko sura

ATT_BONUS_TO_SHAMAN --- silny przeciwko szmananem

ATT_BONUS_TO_MONSTER --- silny przeciwko potwora

RESIST_WARRIOR --- odpornosc na wojownika

RESIST_ASSASSIN --- odpornosc na ninje

RESIST_SURA --- odpornosc na sure

RESIST_SHAMAN --- odpornosc na szamna

 

 

<span style="color: #ffa500">2</span>.</p>

<ul class="bbc">

<li>Drop itemku (80007) po zabiciu 2ch potworów/ludzi wpada od razu do plecaka</li>

</ul>

<p>

http://wklej.to/J6Di4

</p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;"><span style="color: #00ff00">4</span>.Przemiana w mooba jakiego się chce u NPC (80022)</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">?</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

[/size][/font][/left]

[left][font="tahoma, helvetica, arial, sans-serif"][size=3]http://wklej.to/wMlYH

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span></p>

<p style="text-align: left"><span style="color: #00FF00"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">5</span></span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">.Przemiana w mooba jakiego się chce w itemie (20010)</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

http://wklej.to/LYz09

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;"><span style="color: #00ff00">6</span>.Quest od @xDes.... zakladka u NPC z jakas informacja od was i opcją ''<span style="color: #ffa500">Anuluj</span>''</span></span></p>

<p>

http://wklej.to/hrwWm

</p>

<p style="text-align: left"><span style="color: #FFA500"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">7.</span></span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">hair.quest do którego zostały dodane wszystkie nowe fryzurki + te standardowe co są =)</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

http://wklej.to/DbOAB

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="color: #FFA500"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">8</span></span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">.Loteria itemów , do loteri potrzeba biletu .</span></span></p>

<p>

http://wklej.to/1H4Hh

 

<span style="color: #ffa500">9</span>.Kryształ dla GM --Dużo funkcji do zabawy !!

 

http://wklej.to/uLlHr

<span style="color: #ffa500">10</span>.Przywołanie NPC (tylko dla GM)

 

http://wklej.to/KqkkE

</p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;"><span style="color: #ffff00">11</span>.Quest u mikołaja , wymiana skarpetek na prezenty</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

http://wklej.to/dll1p

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;"><span style="color: #FFA500">12</span>.</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">Najlepszy quest na teleportacje u jakiegos npc na mapę o wybranym indexie mapy i kordach dla kazdego królestwa</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

http://wklej.to/MbOhh

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;"><span style="color: #FFA500">13</span>.</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">Bank u Dozorcy + standadowe opcje które ma ( BEZ BUGU )</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

http://wklej.to/M9ZHC

</span></span>

<span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;"><span style="color: #FFA500">14</span>.Quest ''Wymianka'' wymieniacie sobie jakiś item za inny item --bardziej rozbudowany z OBRAZKAMI</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

http://wklej.to/WceRU

</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

</span></span></p>

<p><span style="color: #ffa500">15</span>.Wymianka ,bez obrazków (można przerobić 'dla każdej klasy')

 

<a class="bbc_url" href="http://wklej.to/mJj3o" rel="nofollow external" title="Zewnętrzny odnośnik">

http://wklej.to/mJj3o

</a>

<span style="font-size: 12px; font-family: tahoma, helvetica, arial, sans-serif; text-align: left; color: rgb(255, 165, 0); ">16</span><span style="font-size: 12px; font-family: tahoma, helvetica, arial, sans-serif; text-align: left; ">.Dokupienie punktów statystyk (siła,wit,zr,int)</span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">*+10 pkt kosztuje 5 krwistych i 1kkk ,może dokupić tyle ile mu się podoba ,i na ile go stać..</span></span></p>

<p>

http://wklej.to/MmUpU

 

<span style="color: #00ff00">17</span>.Eq + lvl + koń NA START (pozmieniajcie sobie itemy itp)

 

<a class="bbc_url" href="http://wklej.to/NPgFv" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/NPgFv</a>

 

Questy <span style="color: #ff0000">Bambuska</span> (100%) :

<span style="color: #ffd700">18</span>.Zmiana ilości Yang w eq (u Kapitana)

 

http://wklej.to/OoYKd

 

<span style="color: #008000">19</span>.Quest podnosi rangę gracza (Kapitan)

 

http://wklej.to/nbtnC

 

<span style="color: #ffd700">20</span>.Zmiana płci u Kapitana (nie trzeba czekać 3 dni do zmiany)

 

http://wklej.to/OBiZQ

 

<span style="color: #ffff00">21</span>.Doładowanie pkt. doświadczenia

 

http://wklej.to/lICUi

 

<span style="color: #ffd700">22</span>.Skille na P na start (od 5 poziomu) Kapitan

 

http://wklej.to/BaQpH

 

<span style="color: #ffd700">23</span>.Przywołanie partnera (kapitan)

 

http://wklej.to/u5DK5

 

<span style="color: #ffd700">24</span>.Pisanie na ogolnym do każdego królestwa (jako GRACZ: wiadomosc)

 

http://wklej.to/4gUVN

 

<span style="color: #ffd700">25</span>.Zmiana nicku w grze (działa tylko na SF2010*)

 

ttp://wklej.to/8nWvm

</p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;"><span style="color: #daa520">26</span>.Quest Odpowiadający Za Znalezienie Odpowiedniego NPC</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">

*Quest Odpowiadający Za Znalezienie Odpowiedniego NPC</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">-Pojawia się za każdym razem gdy się zalogujemy. Znika kiedy klikniemy na szukanego NPC.</span></span></p>

<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">*Opis Questu

-Po zalogowaniu pojawia się zwój w rogu ekranu po otwarciu krótka wyskakuje informacja.

-Otrzymuje: Zadanie znalezienia NPC -> Kapitan.

-Otrzymuje: Informacja u Kapitana i krótki opis..</span></span></p>

<p><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;"><a class="bbc_url" href="http://wklej.to/09ton" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/09ton</a>

27.Qu</span></span><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">est Odpowiadający Za Logowanie (EQ na Start)</span></span>

http://wklej.to/AsT68

 

/////Questy innych autorów :

<span style="color: #ffa500">27</span>.Quest polegający na zabiciu 30 dzikusów (sługów)

 

http://wklej.to/TCrzp

 

<span style="color: #ffa500">28</span>.Wejście do Atlantydy od 80 lvl.

 

<a class="bbc_url" href="http://wklej.to/DTvyF" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/DTvyF</a>

 

<span style="color: #ffa500">29</span>.Po wbiciu 75lvl musimy zniszczyć 50 metinów na 75lvl (bez limitu czasu)

 

<a class="bbc_url" href="http://wklej.to/U8wS2" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/U8wS2</a>

 

<span style="color: #ffa500">30</span>.Po wbiciu 60lvl mamy quest na zabicie pająków o ID:2034/2036 szt : <span style="color: #ffa500">450</span>

 

http://wklej.to/eIRbH

 

<span style="color: #00ff00">31</span>.Pierścień teleportacji - NORMALNY / Standardowy

 

http://wklej.to/esDL4

 

<span style="color: #00ff00">32</span>.Informacja o serwerze na start (jakie itemy dostaniemy itp)

 

http://wklej.to/2RQXM

 

<span style="color: #ffa500">33</span>.Niszczenie metinów dla Octavio (10 metinów o ID:<span style="color: #ffa500">8039</span>)

 

<a class="bbc_url" href="http://wklej.to/GYqcc" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/GYqcc</a>

 

<span style="color: #ffa500">34</span>.Po wbiciu 41lvl otrzymujemy na 20min. bonusy : +20 do szybkosci atk. i +50 do obrony

 

http://wklej.to/SxHDL

 

<span style="color: #00ff00">35</span>.Licznik zabitych potworów

 

http://wklej.to/EOPQm

 

<span style="color: #ffa500">36</span>.Gaduła - Quest dla ludzi lubiących dużo czytać i rozmawiać z NPC <img alt=" " class="bbc_emoticon" src="http://www.mpcforum.pl/public/style_emoticons/default/tongue.png">

 

http://wklej.to/0x9de

 

<span style="color: #ffa500">37</span>.Po zdobyciu itemu(obojętnie jakiego) 30lvl+ zaczyna się quest ..

 

http://wklej.to/tdJ1q

 

<span style="color: #ffa500">38</span>.''<span style="color: #00ff00">Bieganina</span>'' - bieganie do różnych NPC

 

http://wklej.to/6md2U

 

<span style="color: #ffa500">39</span>.Gdy zniszczymy metina(8027) temu kto go zniszczyl po kilku sek. pokaże się wybór miejsca do którego może się teleportnąć

 

http://wklej.to/XY85K

 

<span style="color: #ffff00">40</span>.''Nick'' zabił ... - INFORMACJE O ZABITYM BOSIE

 

http://wklej.to/5RQdA

 

<span style="color: #ffa500">41</span>.Misja na zabicie zjawy //by <span style="color: #000000">xDeStRuCtx</span>

 

http://wklej.to/W6ZXY

 

<span style="color: #00ff00">42</span>.Po użyciu itemu dostajemy 11 lvl konia

 

http://wklej.to/E4M6E

 

<span style="color: #00ff00">43</span>.Quest odtrutka dla dziecka

 

http://wklej.to/ESGhD

 

<span style="color: #ffa500">44</span>.Quest na resp wiedzmy (zamiast indexatlantydy wpiszcie index mapy na ktorej ma sie respic)

 

http://wklej.to/oXEyy

 

<span style="color: #ffa500">45</span>.Ciekawy quest - Siano dla Yonah'a

 

http://wklej.to/EM17v

 

<span style="color: #ffa500">46</span>.Drop itemku z każdego potwora (5%) // nie dropi z ludzi

 

http://wklej.to/QgCe8

 

<span style="color: #ffa500">47</span>.Misja u kapitana polegająca na zabiciu królowej pająków

 

http://wklej.to/9odAD

 

<span style="color: #ffa500">48</span>.Zabicie królowej pająków dla Krwistego Kamienia

 

http://wklej.to/3XRlp

 

<span style="color: #ffa500">49</span>.Gdy użyjemy itemu dostajemy +1 lvl konia.

 

http://wklej.to/DWjZm

 

<span style="color: #ffa500">50</span>.Gdy użyjemy itemu dostajemy +200 pkt do rangi.

 

http://wklej.to/z7lHc

 

<span style="color: #00ff00">51</span>.Wymiana rudy na bonus.

 

http://wklej.to/fjZQG

 

<span style="color: #00ff00">52</span>.Auto informacja o logowaniu

 

http://wklej.to/UcjTi

 

Małe queściki o Demon Tower (DT)

<span style="color: #ffff00">53</span>.Wywala graczy z innego imperium po użyciu itemu (nie działa na SF2010) // by WoJjtek

 

http://wklej.to/7FfKQ

 

<span style="color: #ffff00">54</span>.10 Pięter (10 piętro ) w DT po ripperze jest Niebieska Śmierć //by Tenma v1

 

http://wklej.to/yCLYx
@Edit. Znalazlem jeden blad w tlumaczeniu tego questa. Nalezy zamienic to :[code]
d.notice("Nie wiem1"..d.getf("stone_count").."Nie wiem 2")
[font=tahoma, helvetica, arial, sans-serif][size=3][left]

na[/left]

[/size][/font]<span style="font-family: tahoma, helvetica, arial, sans-serif; font-size: 12px; text-align: left; ">

</span></p>
<p style="text-align: left"><span style="font-family: tahoma, helvetica, arial, sans-serif"><span style="font-size: 12px;">d.notice("Zostalo"..d.getf("stone_count").."pieczeci")

</span></span></p>

<p>

 

<span style="color: #ffff00">55</span>.Wersja z 3 kowalami po zabiciu śmierci // tenma v2

 

http://wklej.to/jdXSM

 

<span style="color: #ffff00">56</span>.Standardowe DT (9 poziomów) -- Oryginalne

 

http://wklej.to/Qektg

 

Inne questyyyy :

<span style="color: #ffa500">57</span>.Kupno broni na 30lvl (nietypowe)

 

http://wklej.to/HAHfA

 

<span style="color: #ffa500">58</span>.Wytwarzanie magicznego metalu

 

http://wklej.to/vXWu9

proszę pamiętać ze w metnie sa 2 ID magicznych metali

1. 1do ulepszania 2.drugi do wytw. boga smokow (nie do ulepszania) i nie jestem pewien czy w quescie jest ten dobry ;p)

 

<span style="color: #ffa500">59</span>.Ogony wężów dla NPC

 

http://wklej.to/lResl

 

<span style="color: #ffa500">60</span>.Zabijanie orków z bonusem !

 

<a class="bbc_url" href="http://wklej.to/Z08Hi" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/Z08Hi</a>

 

<span style="color: #ffa500">61</span>.Wymiana sztabek na kasę i odwrotnie ** MOŻLIWE ŻE TEN QUEST Się nie wgra.

 

<a class="bbc_url" href="http://wklej.to/wtSEB" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/wtSEB</a>

 

<span style="color: #ffa500">62</span>.Ciekawy quest ''Prezent dla córki kowala''

 

http://wklej.to/ojUOX

 

<span style="color: #00ff00">63</span>.Dzięki temu questowi , możemy kupić sobie lepszą rangę .

 

http://wklej.to/12kvN

 

<span style="color: #ffff00">64</span>.Quest polegający na zabijaniu demonów

 

<a class="bbc_url" href="http://wklej.to/md0zw" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/md0zw</a>

 

<span style="color: #ff0000">65</span>.Komnata smoka // edit by Czarny =)

 

http://wklej.to/fceKF

 

<span style="color: #ffa500">66</span>.Quest ''Zniszcz Armię Zinów''

 

http://wklej.to/b4ruz

 

<span style="color: #ffa500">67</span>.Zadanie polegające na zabicu 30 dzikich psów u Kapitana.

 

http://wklej.to/FJ3hX

 

<span style="color: #ffa500">68</span>.Świąteczny queścik z Mikołajem

 

http://wklej.to/xKtRP

 

<span style="color: #dda0dd">69</span>.Zniszcz 30 metinów.

 

http://wklej.to/W5Ccx

 

<span style="color: #ffa500">70</span>.Quest item dla Uriela

 

http://wklej.to/sIczM

 

<span style="color: #ffa500">71</span>.Quest otwiera kilka sklepów te liczby(24,25) to ID shopów w navicat (tam ustawiacie,dodajecie sklepy)

 

http://wklej.to/T1YW9

 

<span style="color: #ffa500">72</span>.Pierścień teleportacji --wszystkie mapy.

 

http://wklej.to/rdfgK

 

<span style="color: #ffa500">73</span>.Dzięki itemowi 30204 GM może pokazać wszystkim swój status

 

http://wklej.to/6VqVs

 

<span style="color: #ffa500">74</span>.Npc o id : 20041 daje item [<span style="color: #000000"><span style="font-size: 12px;">Wpisz ID itemku] </span></span><span style="font-size: 12px;">za darmo.</span>

<span style="font-size: 12px;">

http://wklej.to/ZumbX

</span>

<span style="font-size: 12px;"><span style="color: #ffa500">75</span>.Działająca Arena Walk.</span>

<span style="font-size: 12px;"><span style="color: #ffa500">

http://wklej.to/SwUWB

</span></span>

<span style="color: #ffa500">76</span>.Zmiana królestwa

 

http://wklej.to/C61Dn

 

<span style="color: #ffa500">77</span>.Event Tanaka

 

http://wklej.to/xCYKj

 

<span style="color: #ffa500">78</span>.Zabij szpony w V2 //by JozekPralka

 

http://wklej.to/K61uG

 

<span style="color: #ffa500">79</span>.Zabij umarłego rozpruwacza . //JozekPralka

 

http://wklej.to/HkYp9

 

<span style="color: #ffff00">80</span>.Quest u Koe-Pung'a polegający na zabiciu Króla demonów //JozekPralka

 

http://wklej.to/5RIsM

 

<span style="color: #00ff00">81</span>.Quest ''<span style="color: #00ffff">Wpłata na event</span>'' -- Chyba każdy już się domyśla co to za quest <img alt=" " class="bbc_emoticon" src="http://www.mpcforum.pl/public/style_emoticons/default/tongue.png">

 

http://wklej.to/SNeqv

 

<span style="color: #00ff00">82</span>.Zadanie u Koe ,aby zdobyć Kamien (do wejscie,do groty) trzeba ubić <span style="color: #ff0000">czerwonego smoka</span>

 

http://wklej.to/pItK5

 

<span style="color: #00ff00">83</span>.Zebranie 30 pamiątek (URIEL)

 

http://wklej.to/NUL2z

 

<span style="color: #00ff00">84</span>.Kup konia --Kazdy lvl(11,21,30) za inną cenę

 

http://wklej.to/S0APt

 

<span style="color: #00ff00">85</span>.Za zabicie czerwonego smoka dostajemy kilka itemków (mozna zmienić na innego moba)

 

http://wklej.to/tWJxZ

 

<span style="color: #ffa500">86</span>.Ranga ''Rycerski'' Na początek gry

 

http://wklej.to/Jk7w4

 

<span style="color: #ffff00">87</span>.Zaje....isty quest ''<span style="color: #00ffff">licytacja</span>'' --domyślcie się na czym polega =)

 

http://wklej.to/y9lG6

 

<span style="color: #00ff00">88</span>.Quest ''Wladcy'' // Początkujący'ego (kilkanascie questow up są jego)

 

http://wklej.to/xTLAZ

 

<span style="color: #ffa500">89</span>.<span style="color: #00ffff">Kapitan rozdaje itemy</span>

 

http://wklej.to/HjcQa

 

<span style="color: #ffa500">90</span>.Zabij metiny

 

<a class="bbc_url" href="http://wklej.to/NjajF" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/NjajF</a>

 

<span style="color: #ffa500">91</span>.Quest ''Smocza Kula''

 

<a class="bbc_url" href="http://wklej.to/BRJvP" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/BRJvP</a>

 

<span style="color: #ee82ee">92</span>.Przywołane trzech(3) bossów

 

http://wklej.to/pxMjU

patrzac mysle ze moze nie zadzialac ten quest , dodajcie na sam poczatek :</p>

<p style="text-align: left"><span style="color: #000000"><span style="font-size: 10px;">quest zniszcz_wszystkie_metiny </span></span></p>

<p style="text-align: left"><span style="color: #000088"><span style="font-size: 10px;">begin</span></span></p>

<p style="text-align: left"><span style="color: #000000"><span style="font-size: 10px;">        state start </span></span></p>

<p style="text-align: left"><span style="color: #000088"><span style="font-size: 10px;">begin</span></span></p>

<p>

 

QUESTY NA MOUNTYy ------ polecam najbardziej te Badara (95)

<span style="color: #ee82ee">93</span>.Quest na Mounty v1 // ?? udostepnil szczepan44 by wiesio

 

<a class="bbc_url" href="http://wklej.to/j0Z3H" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/j0Z3H</a>

 

<span style="color: #ffa500">94</span>.Quest na Mounty v2 //sarda

 

http://wklej.to/ElmsH

 

<span style="color: #0000ff">95</span>.Quest na Mounty v3 //Quori

 

http://wklej.to/chJip

 

<span style="color: #00ff00">96</span>.Quest na Mounty // Badar

 

 

<span style="color: #ffa500">97</span>.Quest na Mounty z bonami // LubianyIKochany

 

http://wklej.to/Ih4gV

 

Znowuu inneeeeeee :

<span style="color: #00ff00">98</span>.Nowa receptura , quest u Soona :

 

http://wklej.to/Ngaxy

 

<span style="color: #ffff00">99</span>.Gracz .. awansował na .. level . Gratulujemy !

 

http://wklej.to/5lRmu

 

<span style="color: #fff0f5">100</span>.Quest blokujące dalsze wbijanie lvl'a (zmieniacie tylko to 80 (max poziom) //Bambus3k

 

http://wklej.to/IJFxH

 

<span style="color: #ffa500">101</span>.Po osiągnieciu lvl podanych w quescie dostajemy dane itemy

 

http://wklej.to/w1SsX

 

<span style="color: #ffa500">102</span>.Quest Bambuska którego podobno Domkis za 150zł kupił.

<span style="color: #FFA500">

http://wklej.to/qAR9G

</span>

<span style="color: #00ff00">103</span><span style="color: #FFA500">.</span>Quest ''Notatki'' by xXAsparteXx

 

http://wklej.to/ClvGW

 

<span style="color: #00ff00">104</span>.Darmowa przepustka do V2 // GracjanP

 

http://wklej.to/gWZZG

 

<span style="color: #00ff00">105</span>.Quest do Starszej Pani // Bambus3k

 

http://wklej.to/lU7wM

 

<span style="color: #00ff00">106</span>.Pierscien TP dla Serwerów 4Fun (wgrac do object do folderu 80009 ,podmienic tamtą zawartosc pliku na tą <img alt=" " class="bbc_emoticon" src="http://www.mpcforum.pl/public/style_emoticons/default/smile.png">

 

<a class="bbc_url" href="http://wklej.to/37hR8" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/37hR8</a>

 

<span style="color: #00ff00">107</span>.Mainquestlvl1 by niewiem

 

http://wklej.to/SIBqZ

 

<span style="color: #00ff00">108</span>.Quest na grotę by Shittshet

 

http://wklej.to/noD5Z

 

<span style="color: #ffa500">109</span>.Quest z ripperem //Bambus3k

 

http://wklej.to/wIZfS

 

<span style="color: #ff0000">110</span>.Pierscien anty-expa (dla dropa) //Badar

 

http://wklej.to/bvsYV

wersja z tabami <span style="color: #000000"><span style="font-size: 10px;">http</span></span><span style="color: #666600"><span style="font-size: 10px;">:</span></span><span style="color: #880000"><span style="font-size: 10px;">//wklej.to/dnc8A</span></span>

 

<span style="color: #00ff00">111</span>.Quest ''odszkodowanie'' by Poczatkujacy pomysl pegas10

 

http://wklej.to/58XtQ

 

<span style="color: #ffa500">112</span>.Kupno rangi -Można kupić nawet nie mając yang. //Wisz

 

http://wklej.to/1nSOh

 

<span style="color: #ffff00">113</span>.Kupno rangi -bez bugu ,trzeba mieć hajs z tym że quest działa na zasadzie [+] więc zamiast tracić 2kkk na rycerski można kupić kilkanascie razy przyjazny ,tak dlugo az dojdzie do rycerskiego , i koleś taniej będzie miał =)  //BlondynX

 

http://wklej.to/zjzug

 

<span style="color: #ffa500">114</span>.Po kliknieciu na Seon-Hae jest wybór map .

 

http://wklej.to/PAmXI

 

<span style="color: #ffa500">115</span>.1k sztabek wymieniamy na zbroję Hwang , dla swojej klasy postaci.

 

<a class="bbc_url" href="http://wklej.to/3Z49N" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/3Z49N</a>

 

<span style="color: #00ff00">116</span>.Wymiana yang na sztabki.

 

http://wklej.to/zhSB1

 

<span style="color: #00ff00">117</span>.Wymiana sztabek na yang

 

http://wklej.to/JzZ02

 

<span style="color: #ffa500">118</span>.Magiczny kamień teleportacji.

 

http://wklej.to/AZ4Av

 

<span style="color: #ffff00">119</span>.Po kliknięciu na item 30000 dostaje się skile na <span style="color: #ff0000">P</span>

 

<a class="bbc_url" href="http://wklej.to/sJeax" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/sJeax</a>

 

<span style="color: #ffff00">120</span>.Klikamy w item i przywoluje mooba o id 1093

 

http://wklej.to/Bj6PL

oczywiście itemek w item_proto serwerowym subtype 18 a type 10 czy na odwrót, nie pamiętam(jak bedziemy mieli to w pierscieniu dosw np to wtedy te subtype zmieniamy aby item sie nie zakladal)

 

<span style="color: #ffa500">121</span>.Licznik zabitych potworów u NPC

 

http://wklej.to/0ThKh

 

<span style="color: #ffa500">122</span>.Po zabiciu mooba o id:21344 pojawia sie npc na 20sek. na danych koordach

 

http://wklej.to/MZkU2

 

<span style="color: #00ff00">123</span>.U NPC 20013 można wziąść 86lvl za darmo.

 

http://wklej.to/HxnWK

 

<span style="color: #ffff00">124</span>.Co 30min. serwer[quest] pisze jakis tekst jako GM (te złote pismo)

 

http://wklej.to/KCqIF

 

<span style="color: #00ff00">125</span>.Zbroj mistrz //<a class="bbc_url" href="http://www.mpcforum.pl/user/370130-expressioon/" title="">ExPrEsSiOoN</a>

 

http://wklej.to/DmgzV

 

<span style="color: #ffa500">126</span>.Questy smocze kule

http://www.mpcforum.pl/topic/399350-questnajnowsze-questy/

</p>

<p> </p>

<p>Questy BIOLOG ...</p>

<p><span style="color:#ffa500;">127</span>.

</p>

<p>Witam

W tym temacie przedstawiam serię questów "Analiza Biologa" edytowane przeze mnie </p>

<p>Nowości:

Na początku dodam, że często widywałem quest na 40lvl, gdzie Kamień po oddaniu Ksiąg dropiło się w V1. Ja to poprawiłem tak aby ten kamień dropił tak jak na PL'u, czyli w świątyni.</p>

<p>Questy przebiegają normalnie.

Bierzemy misje, dropimy itemki, oddajemy, odbieramy nagrodę.

Tylko w tym przypadku umożliwiłem w pewnym sensie wybierania rozwoju własnej postaci już od 30 poziomu dzięki tym questom.</p>

<p>Otóż, gdy oddamy kamień i pójdziemy do Beak-Go, ten da nam dowyboru jeden z bonusów wybranych przez nas na stałe.

Są to bonusy:

- silny przeciwko wojownikom

- silny przeciwko Ninjom

- silny przeciwko Surom

- silny przeciwko Szamanom</p>

<p>Nagrody:

Za misje 30lvl:

- jeden z wybranych bonusów: +10%

- szybkość poruszania się 10%

- 5x szkatułka wodza orków</p>

<p>Za misje 40lvl:

- jeden z wybranych bonusów: +15%

- szybkość ataku: 10%

- 5x szkatułka Królowej Pająków</p>

<p>Za misje 50lvl:

- jeden z wybranych bonusów: +20%

- Obrona +200

- 5x szkatułka Króla Demonów</p>

<p>Za misje 60lvl:

- jeden z wybranych bonusów: +25%

- Wartość ataku +150

- 5x szkatułka Dziewięciu Ogonów</p>

<p>Za misje 70lvl:

- jeden z wybranych bonusów: +30%

- Bonus: Silny Przeciwko Ludziom +15%

- 5x szkatułka Pustynnego Żółwia</p>

<p>Za misje 80lvl:

- jeden z wybranych bonusów: +35%

- bonus: Wartość Ataku +20%

- 5x Szkatułka Zjawy Zółtego Tygrysa</p>

<p>Jak wgrać quest??

http://www.mpcforum.pl/topic/163124-tutwgrywanie-questow-na-serwer/

</p>

<p>

Na jakie serwery jest ten quest??

Polecam użyć jego na serwer easy, pvp, a nawet normal. Jest to doskonały quest pozwalający samemu wybrać kierunek rozwijania naszej postaci.</p>

<p>Ważne:

Itemki oddaje się jedna po drugiej, nie ma limitu czasowego</p>

<p>

Quest 30lvl

 

----------------------------------------------------
-- Serwer Rehab
-- Quest Edit by Flexior
-- Analiza Biologa 30lv
----------------------------------------------------
quest collect_quest_lv30  begin
state start begin
  when login or levelup with pc.level >= 30 and pc.level <= 90 begin
   set_state(information)
  end
end</p>
<p>state information begin
  when letter begin
   local v = find_npc_by_vnum(20084)
   if v != 0 then
    target.vid("__TARGET__", v, "Analiza Biologa - Zeby Orka")
   end
   send_letter("Analiza Biologa - Zeby Orka")
  end</p>
<p>  when button or info begin
     say_title("Analiza Biologa - Zeby Orka")
     say("")
     say("Biolog Chaegirab, uczen Uriela,")
     say("wlasnie Cie szukal. Prosze idz")
     say("do niego i zaoferuj mu swoja pomoc")
     say("")
  end
 
  when __TARGET__.target.click or
   20084.chat."Znajdz Biologa" begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   ---               l
   say("Niebiosa, prosze pomozcie mi...")
   say("Badam wszystkie rodzaje potworow w tym ")
   say("imperium. Jest bardzo duzo rzeczy,")
   say("ktore musza zostac zrobione. Nie mam")
   say("czasu abym mogl sam wybrac sie na wyprawe.")
   say("Prosze, pomoz mi.")
   wait()
   say("Aktualnie badam Zeby Orka.")
   say("Musze przeprowadzic kilka eksperymentow,")
   say("dlatego potrzebuje kilku Zebow Orka.")
   say("Czy moglbys przyniesc mi 10 Zebow Orka?")
   say("Prosze, pomoz mi! Zawsze przynos mi po jednym,")
   say("abym mial czas na ich dokladne przebadanie!")
   say("")                                     
   set_state(go_to_disciple)
   pc.setqf("duration",0)
   pc.setqf("collect_count",0)
   pc.setqf("drink_drug",0)
  end
end</p>
<p>state go_to_disciple begin
  when letter begin
   send_letter("Zadanie Specjalne - Zeby Orka")
  
  end
  when button or info begin
   say_title("Znajdz Zeby Orka")
   ---               l
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("szuka Zebow Orka.")
   say("Zawsze przynos mu po jednym, aby mial czas")
   say("na ich dokladne przebadanie.")
   say("Zebow orka szukaj u Czarnych Orkow!")
   say("")
   say_item_vnum(30006)
   say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Zebow Orka.")
   say("")
  end
 
  when 71035.use begin --°g´bĂĤô
   if get_time() < pc.getqf("duration") then
    say("")
    say("ÁŮ¤ŁĄiĄH¨ĎĄÎ°g´bĂĤô")
    say("")
    return
   end
   if pc.getqf("drink_drug")==1 then
    say("")
    say("¤w¸g¨ĎĄÎ¤F1ڏ")
    say("")</p>
<p>    return
   end
   if pc.count_item(30006)==0 then
    say("Biolog Chaegirab:")
    say("Co? Nie przyniosles mi zadnych")
    say("Zebow Orka?...")
    say("")
    return
   end
   item.remove()
   pc.setqf("drink_drug",1)
  end</p>
<p> 
  when 20084.chat."Zeby Orka" with pc.count_item(30006) >0   begin
   if get_time() > pc.getqf("duration") then
    say("Biolog Chaegirab:")
    ---               l
    say("Oh!! Znalazles!")
    say("Pozwol, ze rzuce okiem...")
    say("Jeszcze chwilke.")
    say("")
    pc.remove_item("30006", 1)
    pc.setqf("duration",get_time()+0*0*0)
    wait()
   
    local pass_percent
    if pc.getqf("drink_drug")==0 then
     pass_percent=70
    else 
     pass_percent=90
    end
   
    local s= number(1,100)
    if s<= pass_percent  then
       if pc.getqf("collect_count")< 9 then  --10­óĄH¤U
      local index =pc.getqf("collect_count")+1
      pc.setqf("collect_count",index)  --¨úąo¤@­óŽÉ +1
      say("Biolog Chaegirab:")
      say("Oh!! Ten Zab Orka jest doskonalej jakosci!")
      say("Przynies mi jeszcze".." "..10-pc.getqf("collect_count").. " Zebow Orka.")
      say("Prosze, sprobuj je znalezc!")
      say("")
      pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
      return
     end
     say("Biolog Chaegirab:")
     say("Oh, zebrales juz wszystkie?")
     say("Dobra robota...")
     say("Ale poczekaj!")
     say("Aby zakonczyc swoja prace, potrzebuje")
     say("abys przyniosl dla mnie jeszcze jeden przedmiot!")
     say("")
     pc.setqf("collect_count",0)
     pc.setqf("drink_drug",0)
     pc.setqf("duration",0)
     set_state(key_item)
     return
    else       
    say("Biolog Chaegirab:")
    say("Ten Zab orka jest zlej jakosci!")
    say("Sprobuj przyniesc inny!")
    say("Prosze, pomoz mi!")
    pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
    return
    end
  else
    say("Biolog Chaegirab:")
    say("Jeszcze nie skonczylem badac ostatniego Zebu Orka!")
    say("Wroc pozniej, kiedy juz skoncze!")
    say("")
    return
  end</p>
<p>end
end</p>
<p>
state key_item begin
  when letter begin
   send_letter("Zadanie Specjalne - Zeby Orka")
  
   if pc.count_item(30220)>0 then
    local v = find_npc_by_vnum(20084)
    if v != 0 then
     target.vid("__TARGET__", v, "Analiza Biologa - Zeby Orka")
    end
   end</p>
<p>  end
  when button or info begin
   if pc.count_item(30220) >0 then
    say_title("Znalazles kamien duszy!")
    say("")
    ---               l
    say("Wroc do biologa, aby")
    say("odniesc mu kamien!")
    say("")
    return
   end
   say_title("Kamien Duszy")
   say("")
   ---               l
   say("Zebrales juz wszystkie 10 Zebow!")
   say("Teraz, biolog potrzebuje ostatni")
   say("przedmiot, aby zakonczyc swoje badania!")
   say_item_vnum(30220)
   say("Mozesz go znalezc zabijajac orki")
   say("w Dolinie Seungryong!")
   say("")
  end
 </p>
<p>
  when 635.kill or
    636.kill or
    637.kill  begin
   local s = number(1, 50)
   if s == 1 and pc.count_item(30220)==0 then
    pc.give_item2(30220, 1)
    send_letter("Wroc do biologa!") 
   end
  end
  when __TARGET__.target.click  or
   20084.chat."Znalazlem Kamien Duszy" with pc.count_item(30220) > 0  begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   say("Oh, Znalazles!")
   say("Bardzo Tobie dziekuje!")
   say("")
   say_reward("Mozesz teraz isc do Baek-Go po nagrode!")
   say("")
   pc.remove_item(30220,1)
   set_state(__reward)
  end
 
end
state __reward begin
  when letter begin
   send_letter("Analiza Biologa - Nagroda")
  
   local v = find_npc_by_vnum(20018)
   if v != 0 then
    target.vid("__TARGET__", v, "Baek-Go")
   end</p>
<p>  end
  when button or info begin
   say_title("Skonczyles analize biologa!")
   ---               l
   say("Biolog Chaegirab wysyla Cie")
   say("po nagrode do Baek-Go!")
   say("")
  end
 
  when __TARGET__.target.click  or
   20018.chat."Nagroda"  begin
   target.delete("__TARGET__")
   say("Baek-Go:")
   say("Hmm, a wiec Biolog")
   say("wyslal Cie po nagrode?")
   say("Zobaczmy, co tam masz...")
   say("")
   wait()
   say_title("Wybierz rodzaj bonusu jaki chcesz otrzymać ")</p>
<p>         local s = select("10% na Wojowników", "10% na Ninje", "10% na Sury", "10% na Szamanów")
      if s == 1 then
     affect.add_collect(apply.POINT_ATTBONUS_WARRIOR, 10, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 10% na Wojowników")
     say_reward("Otrzymałeś bonus: 10% Szybkosci poruszania się ")
     say_reward("Otrzymałeś 5x Szkatułkę Wodza Orków")
      elseif s == 2 then
     affect.add_collect(apply.POINT_ATTBONUS_ASSASSIN, 10, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 10% na Ninje")
     say_reward("Otrzymałeś bonus: 10% Szybkosci poruszania się ")
     say_reward("Otrzymałeś 5x Szkatułkę Wodza Orków")
    elseif s == 3 then
     affect.add_collect(apply.POINT_ATTBONUS_SURA, 10, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 10% na Sury")
     say_reward("Otrzymałeś bonus: 10% Szybkosci poruszania się ")
     say_reward("Otrzymałeś 5x Szkatułkę Wodza Orków")
    elseif s == 4 then
     affect.add_collect(apply.POINT_ATTBONUS_SHAMAN, 10, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 10% na Szamanów")
     say_reward("Otrzymałeś bonus: 10% Szybkosci poruszania się ")
     say_reward("Otrzymałeś 5x Szkatułkę Wodza Orków")
    end</p>
<p>   pc.give_item2(50070)
   pc.give_item2(50070)
   pc.give_item2(50070)
   pc.give_item2(50070)
   pc.give_item2(50070)
   affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60) --60Ś~</p>
<p>   clear_letter()
   set_quest_state("collect_quest_lv40", "run")
   set_state(__complete)
  end
  
end</p>
<p>state __giveup__ begin
  when 20084.chat."Poddajesz sie?" begin
   say("Biolog Chaegirab:")
   say("Czy jestes pewien, ze chcesz sie poddac!?")
   say("Nie bedziesz mial szansy, aby zaczac")
   say("ponownie!")
   end
  end
state __complete begin
end
end</p>
<p>

</p>

<p>Quest 40lvl

 

----------------------------------------------------
-- Serwer Rehab
-- Quest Edit by Flexior
-- Analiza Biologa 40lv
----------------------------------------------------
quest collect_quest_lv40  begin
state start begin
end
state run begin
  when login or levelup with pc.level >= 40 and pc.level <= 90 begin
   set_state(information)
  end
end</p>
<p>state information begin
  when letter begin
   local v = find_npc_by_vnum(20084)
   if v != 0 then
    target.vid("__TARGET__", v, "Analiza Biologa - Ksiegi Klatw")
   end
   send_letter("Analiza Biologa - Ksiegi Klatw")
  end</p>
<p>  when button or info begin
   say_title("Analiza Biologa - Ksiegi Klatw")
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("wlasnie Cie szukal. Prosze idz")
   say("do niego i zaoferuj mu swoja pomoc")
   say("")
  end
 
  when __TARGET__.target.click or
   20084.chat."Znajdz Biologa" begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   ---               l
   say("Niebiosa, prosze pomozcie mi...")
   say("Badam wszystkie rodzaje potworow w tym ")
   say("imperium. Jest bardzo duzo rzeczy,")
   say("ktore musza zostac zrobione. Nie mam")
   say("czasu abym mogl sam wybrac sie na wyprawe.")
   say("Prosze, pomoz mi.")
   say("Wynagrodze Cie za to.")
   wait()
   say("Aktualnie badam Ksiegi Klatw.")
   say("Musze przeprowadzic kilka eksperymentow,")
   say("dlatego potrzebuje kilku Ksiag Klatw.")
   say("Czy moglbys przyniesc mi 15 Ksiag Klatw?")
   say("Prosze, pomoz mi! Zawsze przynos mi po jednej,")
   say("abym mial czas na ich dokladne przebadanie!")
   say("")                                       
   set_state(go_to_disciple)
   pc.setqf("duration",0)  -- ĄiĄH¸Ő¸ŐŞşŽÉśˇ
   pc.setqf("collect_count",0)----ˇX¨úąoŞşŞŤŤ~ĽĆśq
   pc.setqf("drink_drug",0) ------ˇV łÜ°g´bĂĤôŞş¸Ü 1
  end
end</p>
<p>state go_to_disciple begin
  when letter begin
   send_letter("Zadanie Specjalne - Ksiegi Klatw")
  
  end
  when button or info begin
   say_title("Znajdz Ksiegi Klatw")
   ---               l
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("szuka Ksiag Klatw.")
   say("Zawsze przynos mu po jednej, aby mial czas")
   say("na ich dokladne przebadanie.")
   say("Ksiag Klatw szukaj pod Swiatynia Hwang!")
   say("")
   say_item_vnum(30047)
   say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Ksiag Klatw")
   say("")
  end
 
  when 71035.use begin --°g´bĂĤô
   if get_time() < pc.getqf("duration") then
    say("")
    say("ÁŮ¤ŁĄiĄH¨ĎĄÎ°g´bĂĤô")
    say("")
    return
   end
   if pc.getqf("drink_drug")==1 then
    say("")
    say("¤w¸g¨ĎĄÎ¤F1ڏ")
    say("")
    return
   end
   if pc.count_item(30047)==0 then
    say("Biolog Chaegirab:")
    say("Co? Nie przyniosles mi zadnych")
    say("Ksiag Klatw?...")
    say("")
    return
   end</p>
<p>   item.remove()
   pc.setqf("drink_drug",1)
  end</p>
<p> </p>
<p> 
  when 20084.chat."Ksiegi Klatw" with pc.count_item(30047) >0   begin
   if get_time() > pc.getqf("duration") then
    say("Biolog Chaegirab:")
    ---               l
    say("Oh!! Znalazles!")
    say("Pozwol, ze rzuce okiem...")
    say("Jeszcze chwilke.")
    say("")
    pc.remove_item(30047, 1)
    pc.setqf("duration",get_time()+0*0*0) -----------------------------------22??
    wait()
   
    local pass_percent
    if pc.getqf("drink_drug")==0 then
     pass_percent=70
    else 
     pass_percent=90
    end
   
    local s= number(1,100)
    if s<= pass_percent  then
       if pc.getqf("collect_count")< 14 then  --15­óĄH¤U
      local index =pc.getqf("collect_count")+1
      pc.setqf("collect_count",index)  -- ¨úąo¤F¤@­ó+1
      say("Biolog Chaegirab:")
      say("Oh!! Ta Ksiega Klatw jest doskonalej jakosci!")
      say("Przynies mi jeszcze".." "..15-pc.getqf("collect_count").. " Ksiag Klatw")
      say("Prosze, sprobuj je znalezc!")
      say("")
      pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
      return
     end
     say("Biolog Chaegirab:")
     say("Oh, zebrales juz wszystkie?")
     say("Dobra robota...")
     say("Ale poczekaj!")
     say("Aby zakonczyc swoja prace, potrzebuje")
     say("abys przyniosl dla mnie jeszcze jeden przedmiot!")
     say("")
     pc.setqf("collect_count",0)
     pc.setqf("drink_drug",0)
     pc.setqf("duration",0)
     set_state(key_item)
     return
    else       
    say("Biolog Chaegirab:")
    say("Ta Ksiega Klatw jest zlej jakosci!")
    say("Sprobuj przyniesc inna!")
    say("Prosze, pomoz mi!")
    pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
    return
   end
  else
    say("Biolog Chaegirab:")
    say("Jeszcze nie skonczylem badac ostatniej Ksiegi!")
    say("Wroc pozniej, kiedy juz skoncze!")
    say("")
    return
  end</p>
<p>end
end</p>
<p>state key_item begin
  when letter begin
   send_letter("Zadanie Specjalne - Ksiegi Klatw")
  
   if pc.count_item(30221)>0 then
    local v = find_npc_by_vnum(20084)
    if v != 0 then
     target.vid("__TARGET__", v, "Analiza Biologa - Ksiegi Klatw")
    end
   end</p>
<p>  end
  when button or info begin
   if pc.count_item(30221) >0 then
    say_title("Znalazles kamien duszy!")
    say("")
    ---               l
    say("Wroc do biologa, aby")
    say("odniesc mu kamien!")
    say("")
    return
   end</p>
<p>   say_title("Kamien Duszy")
   say("")
   ---               l
   say("Zebrales juz wszystkie 15 Ksiag!")
   say("Teraz, biolog potrzebuje ostatni")
   say("przedmiot, aby zakonczyc swoje badania!")
   say_item_vnum(30221)
   say("Mozesz go znalezc zabijajac ezoteryków")
   say("w Świątyni!")
   say("")
  end
 </p>
<p> </p>
<p>  when 731.kill or
    733.kill or
    734.kill or
    732.kill begin
   local s = number(1, 50)
   if s == 1 and pc.count_item(30221)==0 then
    pc.give_item2(30221, 1)
    send_letter("Wroc do biologa!") 
   end
  end</p>
<p> 
  when __TARGET__.target.click  or
   20084.chat."Znalazlem Kamien Duszy" with pc.count_item(30221) > 0  begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   say("Oh, Znalazles!")
   say("Bardzo Tobie dziekuje!")
   say("")
   say_reward("Mozesz teraz isc do Baek-Go po nagrode!")
   say("")
   pc.remove_item(30221,1)
   set_state(__reward)
  end
 
end
state __reward begin
  when letter begin
   send_letter("Analiza Biologa - Nagroda")
  
   local v = find_npc_by_vnum(20018)
   if v != 0 then
    target.vid("__TARGET__", v, "Baek-Go")
   end</p>
<p>  end
  when button or info begin
   say_title("Skonczyles analize biologa!")
   ---               l
   say("Biolog Chaegirab wysyla Cie")
   say("po nagrode do Baek-Go!")
   say("")
  end
 
  when __TARGET__.target.click  or
   20018.chat."Nagroda"  begin
   target.delete("__TARGET__")
   say("Baek-Go:")
   say("Hmm, a wiec Biolog")
   say("wyslal Cie po nagrode?")
   say("Zobaczmy, co tam masz...")
   say("")
   wait()
   say_title("Wybierz rodzaj bonusu jaki chcesz otrzymać ")</p>
<p>         local s = select("15% na Wojowników", "15% na Ninje", "15% na Sury", "15% na Szamanów")
      if s == 1 then
     affect.add_collect(apply.POINT_ATTBONUS_WARRIOR, 15, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 15% na Wojowników")
     say_reward("Otrzymałeś bonus: 10% Szybkosci ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Królowej Pająków")
      elseif s == 2 then
     affect.add_collect(apply.POINT_ATTBONUS_ASSASSIN, 15, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 15% na Ninje")
     say_reward("Otrzymałeś bonus: 10% Szybkosci ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Królowej Pająków")
    elseif s == 3 then
     affect.add_collect(apply.POINT_ATTBONUS_SURA, 15, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 15% na Sury")
     say_reward("Otrzymałeś bonus: 10% Szybkosci ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Królowej Pająków")
    elseif s == 4 then
     affect.add_collect(apply.POINT_ATTBONUS_SHAMAN, 15, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 15% na Szamanów")
     say_reward("Otrzymałeś bonus: 10% Szybkosci ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Królowej Pająków")
    end</p>
<p>  
   affect.add_collect(apply.ATT_SPEED,10,60*60*24*365*60) --- ˇV60Ś~ 
   pc.give_item2(50073)
   pc.give_item2(50073)
   pc.give_item2(50073)
   pc.give_item2(50073)
   pc.give_item2(50073)
  
   clear_letter()
   set_quest_state("collect_quest_lv50", "run")
   set_state(__complete)
  end
  
end</p>
<p>
state __giveup__ begin
  when 20084.chat."Poddajesz sie?" begin
   say("Biolog Chaegirab:")
   say("Czy jestes pewien, ze chcesz sie poddac!?")
   say("Nie bedziesz mial szansy, aby zaczac")
   say("ponownie!")
   end
  end
state __complete begin
end
end

</p>

<p>Quest 50lvl

 

----------------------------------------------------
-- Serwer Rehab
-- Quest Edit by Flexior
-- Analiza Biologa 50lv
----------------------------------------------------
quest collect_quest_lv50  begin
state start begin
end
state run begin
  when login or levelup with pc.level >= 50 and pc.level <= 90 begin
   set_state(information)
  end
end</p>
<p>state information begin
  when letter begin
   local v = find_npc_by_vnum(20084)
   if v != 0 then
    target.vid("__TARGET__", v, "Analiza Biologa - Pamiatki po Demonie")
   end
   send_letter("Analiza Biologa - Pamiatki po Demonie")
  end</p>
<p>  when button or info begin
   say_title("Analiza Biologa - Pamiatki po Demonie")
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("wlasnie Cie szukal. Prosze idz")
   say("do niego i zaoferuj mu swoja pomoc")
   say("")
  end
 
  when __TARGET__.target.click or
   20084.chat."Znajdz Biologa" begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   ---               l
   say("Niebiosa, prosze pomozcie mi...")
   say("Badam wszystkie rodzaje potworow w tym ")
   say("imperium. Jest bardzo duzo rzeczy,")
   say("ktore musza zostac zrobione. Nie mam")
   say("czasu abym mogl sam wybrac sie na wyprawe.")
   say("Prosze, pomoz mi.")
   say("Wynagrodze Cie za to.")
   wait()
   say("Aktualnie badam Pamiatki po Demonie.")
   say("Musze przeprowadzic kilka eksperymentow,")
   say("dlatego potrzebuje kilku Pamiatek po Demonie.")
   say("Czy moglbys przyniesc mi 15 Pamiatek po Demonie?")
   say("Prosze, pomoz mi! Zawsze przynos mi po jednej,")
   say("abym mial czas na ich dokladne przebadanie!")
   say("")                                     
   set_state(go_to_disciple)
   pc.setqf("duration",0)  --ĄiĄH¸Ő¸ŐŞşŽÉśˇ
   pc.setqf("collect_count",0)-- ¨úąoŞşŞŤŤ~ĽĆśq
   pc.setqf("drink_drug",0) --łÜ°g´bĂĤôŞş¸Ü1
  end
end</p>
<p>state go_to_disciple begin
  when letter begin
   send_letter("Zadanie Specjalne - Pamiatki po Demonie")
  
  end
  when button or info begin
   say_title("Znajdz Pamiatki po Demonie")
   ---               l
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("szuka Pamiatek po Demonie.")
   say("Zawsze przynos mu po jednej, aby mial czas")
   say("na ich dokladne przebadanie.")
   say("Pamiatek po Demonie szukaj w Wiezy Demonow!")
   say("")
   say_item_vnum(30015)
   say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Pamiatek po Demonie")
   say("")
  end
 
  when 71035.use begin --°g´bĂĤô
   if get_time() < pc.getqf("duration") then
    say("")
    say("ÁŮ¤ŁĄiĄH¨ĎĄÎ°g´bĂĤô")
    say("")
    return
   end
   if pc.getqf("drink_drug")==1 then
    say("")
    say("¤w¸g¨ĎĄÎ¤F1ڏ")
    say("")
    return
   end
   if pc.count_item(30015)==0 then
    say("Biolog Chaegirab:")
    say("Co? Nie przyniosles mi zadnych")
    say("Pamiatek po Demonie?...")
    say("")
    return
   end</p>
<p>   item.remove()
   pc.setqf("drink_drug",1)
  end</p>
<p>
   
  when 20084.chat."Pamiatki po Demonie" with pc.count_item(30015) >0   begin
   if get_time() > pc.getqf("duration") then
    say("Biolog Chaegirab:")
    ---               l
    say("Oh!! Znalazles!")
    say("Pozwol, ze rzuce okiem...")
    say("Jeszcze chwilke.")
    say("")
    pc.remove_item(30015, 1)
    pc.setqf("duration",get_time()+0*0*0) ----------------22??
    wait()
   
    local pass_percent
    if pc.getqf("drink_drug")==0 then
     pass_percent=70
    else 
     pass_percent=90
    end
   
    local s= number(1,100)
    if s<= pass_percent  then
       if pc.getqf("collect_count")< 14 then  --15­óĄĽşˇ
      local index =pc.getqf("collect_count")+1
      pc.setqf("collect_count",index)  --¨úąo¤@­óŽÉ+1
      say("Biolog Chaegirab:")
      say("Oh!! Ta Pamiatka po Demonie jest doskonalej jakosci!")
      say("Przynies mi jeszcze".." "..15-pc.getqf("collect_count").. " Pamiatek po Demonie")
      say("Prosze, sprobuj je znalezc!")
      say("")
      pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
      return
     end
     say("Biolog Chaegirab:")
     say("Oh, zebrales juz wszystkie?")
     say("Dobra robota...")
     say("Ale poczekaj!")
     say("Aby zakonczyc swoja prace, potrzebuje")
     say("abys przyniosl dla mnie jeszcze jeden przedmiot!")
     say("")
     pc.setqf("collect_count",0)
     pc.setqf("drink_drug",0)
     pc.setqf("duration",0)
     set_state(key_item)
     return
    else       
    say("Biolog Chaegirab:")
    say("Ta Pamiatka po Demonie jest zlej jakosci!")
    say("Sprobuj przyniesc inna!")
    say("Prosze, pomoz mi!")     
    pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
    return
    end
  else
    say("Biolog Chaegirab:")
    say("Jeszcze nie skonczylem badac ostatniej Pamiatki!")
    say("Wroc pozniej, kiedy juz skoncze!")
    say("")
    return
  end</p>
<p>end
end</p>
<p>
state key_item begin
  when letter begin
   send_letter("Zadanie Specjalne - Pamiatki po Demonie")
  
   if pc.count_item(30222)>0 then
    local v = find_npc_by_vnum(20084)
    if v != 0 then
     target.vid("__TARGET__", v, "Analiza Biologa - Pamiatki po Demonie")
    end
   end</p>
<p>  end
  when button or info begin
   if pc.count_item(30222) >0 then
    say_title("Znalazles kamien duszy!")
    say("")
    ---               l
    say("Wroc do biologa, aby")
    say("odniesc mu kamien!")
    say("")
    return
   end</p>
<p>   say_title("Kamien Duszy")
   say("")
   ---               l
   say("Zebrales juz wszystkie 15 Pamiatek!")
   say("Teraz, biolog potrzebuje ostatni")
   say("przedmiot, aby zakonczyc swoje badania!")
   say_item_vnum(30222)----------Żu¤`ĆFĆFťÎĄŰ
   say("Mozesz go znalezc zabijajac Podle Demony")
   say("w Wiezy Demonow")
   say("")
  end
 </p>
<p>  when 1031.kill or
    1032.kill or
    1033.kill or
    1034.kill  begin
   local s = number(1, 50)
   if s == 1 and pc.count_item(30222)==0 then
    pc.give_item2(30222, 1)
    send_letter("Wroc do biologa!") 
   end
  end</p>
<p> </p>
<p> 
  when __TARGET__.target.click  or
   20084.chat."Znalazlem Kamien Duszy" with pc.count_item(30222) > 0  begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   say("Oh, Znalazles!")
   say("Bardzo Tobie dziekuje!")
   say("")
   say_reward("Mozesz teraz isc do Baek-Go po nagrode!")
   say("")
   pc.remove_item(30222,1)
   set_state(__reward)
  end
 
end
state __reward begin
  when letter begin
   send_letter("Analiza Biologa - Nagroda")
  
   local v = find_npc_by_vnum(20018)
   if v != 0 then
    target.vid("__TARGET__", v, "Baek-Go")
   end</p>
<p>  end
  when button or info begin
   say_title("Skonczyles analize biologa!")
   ---               l
   say("Biolog Chaegirab wysyla Cie")
   say("po nagrode do Baek-Go!")
   say("")
  end
 
  when __TARGET__.target.click  or
   20018.chat."Nagroda"  begin
   target.delete("__TARGET__")
   say("Baek-Go")
   say("Hmm, a wiec Biolog")
   say("wyslal Cie po nagrode?")
   say("Zobaczmy, co tam masz...")
   say("")
   wait()
   say_title("Wybierz rodzaj bonusu jaki chcesz otrzymać ")</p>
<p>         local s = select("20% na Wojowników", "20% na Ninje", "20% na Sury", "20% na Szamanów")
      if s == 1 then
     affect.add_collect(apply.POINT_ATTBONUS_WARRIOR, 20, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 20% na Wojowników")
     say_reward("Otrzymałeś bonus: +200 Obrony")
     say_reward("Otrzymałeś 5x Szkatułkę Króla Demonów")
      elseif s == 2 then
     affect.add_collect(apply.POINT_ATTBONUS_ASSASSIN, 20, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 20% na Ninje")
     say_reward("Otrzymałeś bonus: +200 Obrony")
     say_reward("Otrzymałeś 5x Szkatułkę Króla Demonów")
    elseif s == 3 then
     affect.add_collect(apply.POINT_ATTBONUS_SURA, 20, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 20% na Sury")
     say_reward("Otrzymałeś bonus: +200 Obrony")
     say_reward("Otrzymałeś 5x Szkatułkę Króla Demonów")
    elseif s == 4 then
     affect.add_collect(apply.POINT_ATTBONUS_SHAMAN, 20, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 20% na Szamanów")
     say_reward("Otrzymałeś bonus: +200 Obrony")
     say_reward("Otrzymałeś 5x Szkatułkę Króla Demonów")
    end</p>
<p>
   affect.add_collect(apply.DEF_GRADE_BONUS,200,60*60*24*365*60) -----ˇV60Ś~
   pc.give_item2(50081)
   pc.give_item2(50081)
   pc.give_item2(50081)
   pc.give_item2(50081)
   pc.give_item2(50081)
 
   clear_letter()
   set_quest_state("collect_quest_lv60", "run")
   set_state(__complete)
  end
  
end</p>
<p>state __giveup__ begin
  when 20084.chat."Poddajesz sie?" begin
   say("Biolog Chaegirab:")
   say("Czy jestes pewien, ze chcesz sie poddac!?")
   say("Nie bedziesz mial szansy, aby zaczac")
   say("ponownie!")
   end
  end
state __complete begin
end
end

</p>

<p>Quest 60lvl

 

----------------------------------------------------
-- Serwer Rehab
-- Quest Edit by Flexior
-- Analiza Biologa 60lv
----------------------------------------------------
quest collect_quest_lv60  begin
state start begin
end
state run begin
  when login or levelup with pc.level >= 60 and pc.level <= 90 begin
   set_state(information)
  end
end</p>
<p>state information begin
  when letter begin
   local v = find_npc_by_vnum(20084)
   if v != 0 then
    target.vid("__TARGET__", v, "Analiza Biologa - Matowe Lody")
   end
   send_letter("Analiza Biologa - Matowe Lody")
  end</p>
<p>  when button or info begin
   say_title("Analiza Biologa - Matowe Lody")
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("wlasnie Cie szukal. Prosze idz")
   say("do niego i zaoferuj mu swoja pomoc")
   say("")
  end
 
  when __TARGET__.target.click or
   20084.chat."Znajdz Biologa" begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   ---               l
   say("Niebiosa, prosze pomozcie mi...")
   say("Badam wszystkie rodzaje potworow w tym ")
   say("imperium. Jest bardzo duzo rzeczy,")
   say("ktore musza zostac zrobione. Nie mam")
   say("czasu abym mogl sam wybrac sie na wyprawe.")
   say("Prosze, pomoz mi.")
   say("Wynagrodze Cie za to.")
   wait()
   say("Aktualnie badam Matowe Lody.")
   say("Musze przeprowadzic kilka eksperymentow,")
   say("dlatego potrzebuje kilku Matowych Lodow.")
   say("Czy moglbys przyniesc mi 20 Matowych Lodow?")
   say("Prosze, pomoz mi! Zawsze przynos mi po jednym,")
   say("abym mial czas na ich dokladne przebadanie!")
   say("")                                       
   set_state(go_to_disciple)
   pc.setqf("duration",0)  -- ĄiĄH¸Ő¸ŐŞşŽÉśˇ
   pc.setqf("collect_count",0)----ˇX¨úąoŞşŞŤŤ~ĽĆśq
   pc.setqf("drink_drug",0) ------ˇV łÜ°g´bĂĤôŞş¸Ü 1
  end
end</p>
<p>state go_to_disciple begin
  when letter begin
   send_letter("Zadanie Specjalne - Matowe Lody")
  
  end
  when button or info begin
   say_title("Znajdz Matowe Lody")
   ---               l
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("szuka Matowych Lodow.")
   say("Zawsze przynos mu po jednym, aby mial czas")
   say("na ich dokladne przebadanie.")
   say("Matowych Lodow szukaj na Gorze Sohan!")
   say("")
   say_item_vnum(30050)
   say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Matowych Lodow")
   say("")
  end
 
  when 71035.use begin --°g´bĂĤô
   if get_time() < pc.getqf("duration") then
    say("")
    say("ÁŮ¤ŁĄiĄH¨ĎĄÎ°g´bĂĤô")
    say("")
    return
   end
   if pc.getqf("drink_drug")==1 then
    say("")
    say("¤w¸g¨ĎĄÎ¤F1ڏ")
    say("")
    return
   end
   if pc.count_item(30050)==0 then
    say("Biolog Chaegirab:")
    say("Co? Nie przyniosles mi zadnych")
    say("Matowych Lodow?...")
    say("")
    return
   end</p>
<p>   item.remove()
   pc.setqf("drink_drug",1)
  end</p>
<p> 
  when 20084.chat."Matowe Lody" with pc.count_item(30050) >0   begin
   if get_time() > pc.getqf("duration") then
    say("Biolog Chaegirab:")
    ---               l
    say("Oh!! Znalazles!")
    say("Pozwol, ze rzuce okiem...")
    say("Jeszcze chwilke.")
    say("")
    pc.remove_item(30050, 1)
    pc.setqf("duration",get_time()+0*0*0) -----------------------------------22??
    wait()
   
    local pass_percent
    if pc.getqf("drink_drug")==0 then
     pass_percent=70
    else 
     pass_percent=90
    end
   
    local s= number(1,100)
    if s<= pass_percent  then
       if pc.getqf("collect_count")< 19 then  --20­óĄĽşˇ
      local index =pc.getqf("collect_count")+1
      pc.setqf("collect_count",index)  -- ¨úąo¤F¤@­ó+1
      say("Biolog Chaegirab:")
      say("Oh!! Ten Matowy Lod jest doskonalej jakosci!")
      say("Przynies mi jeszcze".." "..20-pc.getqf("collect_count").. " Matowych Lodow")
      say("Prosze, sprobuj je znalezc!")
      say("")
      pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
      return
     end
     say("Biolog Chaegirab:")
     say("Oh, zebrales juz wszystkie?")
     say("Dobra robota...")
     say("Ale poczekaj!")
     say("Aby zakonczyc swoja prace, potrzebuje")
     say("abys przyniosl dla mnie jeszcze jeden przedmiot!")
     say("")
     pc.setqf("collect_count",0)
     pc.setqf("drink_drug",0)
     pc.setqf("duration",0)
     set_state(key_item)
     return
    else       
    say("Biolog Chaegirab:")
    say("Ten Matowy Lod jest zlej jakosci!")
    say("Sprobuj przyniesc inna!")
    say("Prosze, pomoz mi!")
    pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
    return
   end
  else
    say("Biolog Chaegirab:")
    say("Jeszcze nie skonczylem badac ostatniego Lodu!")
    say("Wroc pozniej, kiedy juz skoncze!")
    say("")
    return
  end</p>
<p>end
end</p>
<p>
state key_item begin
  when letter begin
   send_letter("Zadanie Specjalne - Matowe Lody")
  
   if pc.count_item(30223)>0 then
    local v = find_npc_by_vnum(20084)
    if v != 0 then
     target.vid("__TARGET__", v, "Analiza Biologa - Matowe Lody")
    end
   end</p>
<p>  end
  when button or info begin
   if pc.count_item(30223) >0 then
    say_title("Znalazles kamien duszy!")
    say("")
    ---               l
    say("Wroc do biologa, aby")
    say("odniesc mu kamien!")
    say("")
    return
   end</p>
<p>   say_title("Kamien Duszy")
   say("")
   ---               l
   say("Zebrales juz wszystkie 20 Lodow!")
   say("Teraz, biolog potrzebuje ostatni")
   say("przedmiot, aby zakonczyc swoje badania!")
   say_item_vnum(30223)
   say("Mozesz go znalezc zabijajac lodowe potwory")
   say("na Gorze Sohan!")
   say("")
  end
 </p>
<p> </p>
<p>  when 1102.kill or
    1103.kill or
    1104.kill or
    1106.kill begin
   local s = number(1, 50)
   if s == 1 and pc.count_item(30223)==0 then
    pc.give_item2(30223, 1)
    send_letter("Wroc do biologa!") 
   end
  end</p>
<p> 
  when __TARGET__.target.click  or
   20084.chat."Znalazlem Kamien Duszy" with pc.count_item(30223) > 0  begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   say("Oh, Znalazles!")
   say("Bardzo Tobie dziekuje!")
   say("")
   say_reward("Mozesz teraz isc do Baek-Go po nagrode!")
   say("")
   pc.remove_item(30223,1)
   set_state(__reward)
  end
 
end
state __reward begin
  when letter begin
   send_letter("Analiza Biologa - Nagroda")
  
   local v = find_npc_by_vnum(20018)
   if v != 0 then
    target.vid("__TARGET__", v, "Baek-Go")
   end</p>
<p>  end
  when button or info begin
   say_title("Skonczyles analize biologa!")
   ---               l
   say("Biolog Chaegirab wysyla Cie")
   say("po nagrode do Baek-Go!")
   say("")
  end
 
  when __TARGET__.target.click  or
   20018.chat."Nagroda"  begin
   target.delete("__TARGET__")
   say("Baek-Go:")
   say("Hmm, a wiec Biolog")
   say("wyslal Cie po nagrode?")
   say("Zobaczmy, co tam masz...")
   say("")
   wait()
   say_title("Wybierz rodzaj bonusu jaki chcesz otrzymać ")</p>
<p>         local s = select("25% na Wojowników", "25% na Ninje", "25% na Sury", "25% na Szamanów")
      if s == 1 then
     affect.add_collect(apply.POINT_ATTBONUS_WARRIOR, 25, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 25% na Wojowników")
     say_reward("Otrzymałeś bonus: +150 Wartości Ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Dziewięciu Ogonów")
      elseif s == 2 then
     affect.add_collect(apply.POINT_ATTBONUS_ASSASSIN, 25, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 25% na Ninje")
     say_reward("Otrzymałeś bonus: +150 Wartości Ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Dziewięciu Ogonów")
    elseif s == 3 then
     affect.add_collect(apply.POINT_ATTBONUS_SURA, 25, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 25% na Sury")
     say_reward("Otrzymałeś bonus: +150 Wartości Ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Dziewięciu Ogonów")
    elseif s == 4 then
     affect.add_collect(apply.POINT_ATTBONUS_SHAMAN, 25, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 25% na Szamanów")
     say_reward("Otrzymałeś bonus: +150 Wartości Ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Dziewięciu Ogonów")
    end
  
   affect.add_collect(apply.ATT_GRADE_BONUS,150,60*60*24*365*60)--ˇX100Ś~ 
   pc.give_item2(50077)
   pc.give_item2(50077)
   pc.give_item2(50077)
   pc.give_item2(50077)
   pc.give_item2(50077)
  
   clear_letter()
   set_quest_state("collect_quest_lv70", "run")
   set_state(__complete)
  end
  
end

state __complete begin
end
end

</p>

<p>Quest 70lvl

 

----------------------------------------------------
-- Serwer Rehab
-- Quest Edit by Flexior
-- Analiza Biologa 70lv
----------------------------------------------------
quest collect_quest_lv70  begin
state start begin
end
state run begin
  when login or levelup with pc.level >= 70 and pc.level <= 90 begin
   set_state(information)
  end
end</p>
<p>state information begin
  when letter begin
   local v = find_npc_by_vnum(20084)
   if v != 0 then
    target.vid("__TARGET__", v, "Analiza Biologa - Konary Zelkova")
   end
   send_letter("Analiza Biologa - Konary Zelkova")
  end</p>
<p>  when button or info begin
   say_title("Analiza Biologa - Konary Zelkova")
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("wlasnie Cie szukal. Prosze idz")
   say("do niego i zaoferuj mu swoja pomoc")
   say("")
  end
 
  when __TARGET__.target.click or
   20084.chat."Znajdz Biologa" begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   ---               l
   say("Niebiosa, prosze pomozcie mi...")
   say("Badam wszystkie rodzaje potworow w tym ")
   say("imperium. Jest bardzo duzo rzeczy,")
   say("ktore musza zostac zrobione. Nie mam")
   say("czasu abym mogl sam wybrac sie na wyprawe.")
   say("Prosze, pomoz mi.")
   say("Wynagrodze Cie za to.")
   wait()
   say("Aktualnie badam Konary Zelkova.")
   say("Musze przeprowadzic kilka eksperymentow,")
   say("dlatego potrzebuje kilku Konarow Zelkova.")
   say("Czy moglbys przyniesc mi 25 Konarow Zelkova?")
   say("Prosze, pomoz mi! Zawsze przynos mi po jednym,")
   say("abym mial czas na ich dokladne przebadanie!")
   say("")             
   set_state(go_to_disciple)
   pc.setqf("duration",0)  -- ĄiĄH¸Ő¸ŐŞşŽÉśˇ
   pc.setqf("collect_count",0)--¨úąoŞşŞŤŤ~ĽĆśq
   pc.setqf("drink_drug",0) --łÜ°g´bĂĤôŞş¸Ü 1
  end
end</p>
<p>state go_to_disciple begin
  when letter begin
   send_letter("Zadanie Specjalne - Konary Zelkova")
  
  end
  when button or info begin
   say_title("Znajdz Konary Zelkova")
   ---               l
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("szuka Konarow Zelkova")
   say("Zawsze przynos mu po jednym, aby mial czas")
   say("na ich dokladne przebadanie.")
   say("Konarow Zelkova szukaj w zwyklym i czerwonym lesie")
   say("")
   say_item_vnum(30165)
   say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Konarow Zelkova")
   say("")
  end
 
  when 71035.use begin --°g´bĂĤô
   if get_time() < pc.getqf("duration") then
    say("ÁŮ¤ŁĄiĄH¨ĎĄÎ°g´bĂĤô")
    return
   end
   if pc.getqf("drink_drug")==1 then
    say("¤w¸g¨ĎĄÎ¤F1ڏ")
    return
   end
   if pc.count_item(30165)==0 then
    say("Biolog Chaegirab:")
    say("Co? Nie przyniosles mi zadnych")
    say("Konarow Zelkova?...")
    say("")
    return
   end</p>
<p>   item.remove()
   pc.setqf("drink_drug",1)
  end
  when 2301.kill or
    2302.kill or
    2303.kill or
    2304.kill or
    2305.kill or
    2311.kill or
    2312.kill or
    2313.kill or
    2314.kill or
    2315.kill  begin
   local s = number(1, 5)
   if s == 1 and pc.count_item(30165)==0 then
    pc.give_item2(30165)
   end
  end</p>
<p> 
  when 20084.chat."Konary Zelkova" with pc.count_item(30165) >0   begin
   if get_time() > pc.getqf("duration") then
    say("Biolog Chaegirab:")
    ---               l
    say("Oh!! Znalazles!")
    say("Pozwol, ze rzuce okiem...")
    say("Jeszcze chwilke.")
    say("")
    pc.remove_item(30165, 1)
    pc.setqf("duration",get_time()+0*0*0)------------------22­ó¤pŽÉ
    wait()
   
    local pass_percent
    if pc.getqf("drink_drug")==0 then
     pass_percent=70
    else 
     pass_percent=90
    end
   
    local s= number(1,100)
    if s<= pass_percent  then
       if pc.getqf("collect_count")< 24 then  --25­óĄĽşˇ
      local index =pc.getqf("collect_count")+1
      pc.setqf("collect_count",index)  --¨úąo¤F¤@­ó+1
      say("Biolog Chaegirab:")
      say("Oh!! Ten Konar Zelkova jest doskonalej jakosci!")
      say("Przynies mi jeszcze".." "..25-pc.getqf("collect_count").. " Konarow Zelkova")
      say("Prosze, sprobuj je znalezc!")
      say("")
      pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
      return
     end
     say("Biolog Chaegirab:")
     say("Oh, zebrales juz wszystkie?")
     say("Dobra robota...")
     say("Ale poczekaj!")
     say("Aby zakonczyc swoja prace, potrzebuje")
     say("abys przyniosl dla mnie jeszcze jeden przedmiot!")
     say("")
     pc.setqf("collect_count",0)
     pc.setqf("drink_drug",0)
     pc.setqf("duration",0)
     set_state(key_item)
     return
    else       
    say("Biolog Chaegirab:")
    say("Ten Konar Zelkova jest zlej jakosci!")
    say("Sprobuj przyniesc inny!")
    say("Prosze, pomoz mi!")
    pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
    return
    end
  else
    say("Biolog Chaegirab:")
    say("Jeszcze nie skonczylem badac ostatniego Konaru!")
    say("Wroc pozniej, kiedy juz skoncze!")
    say("")
    return
  end</p>
<p>end
end</p>
<p>state key_item begin
  when letter begin
   send_letter("Zadanie Specjalne - Konary Zelkova")
  
   if pc.count_item(30224)>0 then
    local v = find_npc_by_vnum(20084)
    if v != 0 then
     target.vid("__TARGET__", v, "Analiza Biologa - Konary Zelkova")
    end
   end</p>
<p>  end
  when button or info begin
   if pc.count_item(30224) >0 then
    say_title("Znalazles kamien duszy!")
    say("")
    ---               l
    say("Wroc do biologa, aby")
    say("odniesc mu kamien!")
    say("")
    return
   end</p>
<p>   say_title("Kamien Duszy")
   say("")
   ---               l
   say("Zebrales juz wszystkie 25 Konarow Zelkova")
   say("Teraz, biolog potrzebuje ostatni")
   say("przedmiot, aby zakonczyc swoje badania!")
   say_item_vnum(30224)----------°­¤ěĆFťÎĄŰ
   say("Mozesz go znalezc zabijajac potwory") 
   say("w zwykłym i czerwonym lesie")
   say("")
  end
 </p>
<p>
  when 2301.kill or
    2302.kill or
    2303.kill or
    2304.kill or
    2305.kill or
    2311.kill or
    2312.kill or
    2313.kill or
    2314.kill or
    2315.kill begin
   local s = number(1, 50)
   if s == 1 and pc.count_item(30224)==0 then
    pc.give_item2(30224)
    send_letter("Wroc do biologa!") 
   end
  end</p>
<p> 
  when __TARGET__.target.click  or
   20084.chat."Znalazlem Kamien Duszy" with pc.count_item(30224) > 0  begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   say("Oh, Znalazles!")
   say("Bardzo Tobie dziekuje!")
   say("")
   say_reward("Mozesz teraz isc do Baek-Go po nagrode!")
   say("")
   pc.remove_item(30224,1)
   set_state(__reward)
  end
 
end
state __reward begin
  when letter begin
   send_letter("Analiza Biologa - Nagroda")
  
   local v = find_npc_by_vnum(20018)
   if v != 0 then
    target.vid("__TARGET__", v, "Baek-Go")
   end</p>
<p>  end
  when button or info begin
   say_title("Skonczyles analize biologa!")
   ---               l
   say("Biolog Chaegirab wysyla Cie")
   say("po nagrode do Baek-Go!")
   say("")
  end
 
  when __TARGET__.target.click  or
   20018.chat."Nagroda"  begin
   target.delete("__TARGET__")
   say("Baek-Go:")
   say("Hmm, a wiec Biolog")
   say("wyslal Cie po nagrode?")
   say("Zobaczmy, co tam masz...")
   say("")
   wait()
   say_title("Wybierz rodzaj bonusu jaki chcesz otrzymać ")</p>
<p>         local s = select("30% na Wojowników", "30% na Ninje", "30% na Sury", "30% na Szamanów")
      if s == 1 then
     affect.add_collect(apply.POINT_ATTBONUS_WARRIOR, 30, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 30% na Wojowników")
     say_reward("Otrzymałeś bonus: +15% na Ludzi")
     say_reward("Otrzymałeś 5x Szkatułkę Pustynnego Żółwia")
      elseif s == 2 then
     affect.add_collect(apply.POINT_ATTBONUS_ASSASSIN, 30, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 30% na Ninje")
     say_reward("Otrzymałeś bonus: +15% na Ludzi")
     say_reward("Otrzymałeś 5x Szkatułkę Pustynnego Żółwia")
    elseif s == 3 then
     affect.add_collect(apply.POINT_ATTBONUS_SURA, 30, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 30% na Sury")
     say_reward("Otrzymałeś bonus: +15% na Ludzi")
     say_reward("Otrzymałeś 5x Szkatułkę Pustynnego Żółwia")
    elseif s == 4 then
     affect.add_collect(apply.POINT_ATTBONUS_SHAMAN, 30, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 30% na Szamanów")
     say_reward("Otrzymałeś bonus: +15% na Ludzi")
     say_reward("Otrzymałeś 5x Szkatułkę Pustynnego Żółwia")
    end</p>
<p>   affect.add_collect_point(POINT_DEF_BONUS,15,60*60*24*365*60) --60łâ 
   pc.give_item2(50076)
   pc.give_item2(50076)
   pc.give_item2(50076)
   pc.give_item2(50076)
   pc.give_item2(50076)</p>
<p>   clear_letter()
   set_quest_state("collect_quest_lv80", "run")
   set_state(__complete)
  end
  
end</p>
<p>
state __giveup__ begin
  when 20084.chat."Poddajesz sie?" begin
   say("Biolog Chaegirab:")
   say("Czy jestes pewien, ze chcesz sie poddac!?")
   say("Nie bedziesz mial szansy, aby zaczac")
   say("ponownie!")
   end
  end
state __complete begin
end
end

</p>

<p>Quest 80lvl

 

----------------------------------------------------
-- Serwer Rehab
-- Quest Edit by Flexior
-- Analiza Biologa 80lv
----------------------------------------------------
quest collect_quest_lv80  begin
state start begin
end
state run begin
  when login or levelup with pc.level >= 80 and pc.level <= 90 begin
   set_state(information)
  end
end</p>
<p>state information begin
  when letter begin
   local v = find_npc_by_vnum(20084)
   if v != 0 then
    target.vid("__TARGET__", v, "Analiza Biologa - Certyfikaty Tugyisa")
   end
   send_letter("Analiza Biologa - Certyfikaty Tugyisa")
  end</p>
<p>  when button or info begin
   say_title("Analiza Biologa - Certyfikaty Tugyisa")
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("wlasnie Cie szukal. Prosze idz")
   say("do niego i zaoferuj mu swoja pomoc")
   say("")
  end
 
  when __TARGET__.target.click or
   20084.chat."Znajdz Biologa" begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   ---               l
   say("Niebiosa, prosze pomozcie mi...")
   say("Badam wszystkie rodzaje potworow w tym ")
   say("imperium. Jest bardzo duzo rzeczy,")
   say("ktore musza zostac zrobione. Nie mam")
   say("czasu abym mogl sam wybrac sie na wyprawe.")
   say("Prosze, pomoz mi.")
   say("Wynagrodze Cie za to.")
   wait()
   say("Aktualnie badam Certyfikaty Tugyisa")
   say("Musze przeprowadzic kilka eksperymentow,")
   say("dlatego potrzebuje kilku Certyfikatow Tugyisa.")
   say("Czy moglbys przyniesc mi 30 Certyfikatow Tugyisa?")
   say("Prosze, pomoz mi! Zawsze przynos mi po jednym,")
   say("abym mial czas na ich dokladne przebadanie!")
   say("")                                       
   set_state(go_to_disciple)
   pc.setqf("duration",0)  -- ĄiĄH¸Ő¸ŐŞşŽÉśˇ
   pc.setqf("collect_count",0)----ˇX¨úąoŞşŞŤŤ~ĽĆśq
   pc.setqf("drink_drug",0) ------ˇV łÜ°g´bĂĤôŞş¸Ü 1
  end
end</p>
<p>state go_to_disciple begin
  when letter begin
   send_letter("Zadanie Specjalne - Certyfikaty Tugyisa")
  
  end
  when button or info begin
   say_title("Znajdz Certyfikaty Tugyisa")
   ---               l
   say("")
   say("Biolog Chaegirab, uczen Uriela,")
   say("szuka Certyfikaty Tugyisa.")
   say("Zawsze przynos mu po jednej, aby mial czas")
   say("na ich dokladne przebadanie.")
   say("Certyfikatow Tugyisa szukaj na Wezowym Polu!")
   say("")
   say_item_vnum(30166)
   say_reward("Do tej pory zebrales".." "..pc.getqf("collect_count").." Certyfikatow Tugyisa")
   say("")
  end
 
  when 71035.use begin --°g´bĂĤô
   if get_time() < pc.getqf("duration") then
    say("")
    say("ÁŮ¤ŁĄiĄH¨ĎĄÎ°g´bĂĤô")
    say("")
    return
   end
   if pc.getqf("drink_drug")==1 then
    say("")
    say("¤w¸g¨ĎĄÎ¤F1ڏ")
    say("")
    return
   end
   if pc.count_item(30166)==0 then
    say("Biolog Chaegirab:")
    say("Co? Nie przyniosles mi zadnych")
    say("Certyfikatow Tugyisa?...")
    say("")
    return
   end</p>
<p>   item.remove()
   pc.setqf("drink_drug",1)
  end
 
  when 1401.kill or
    1402.kill or
    1403.kill or
    1601.kill or
    1602.kill or
    1603.kill  begin
   local s = number(1, 5)
   if s == 1 and pc.count_item(30166)==0 then
    pc.give_item2(30166, 1)
   end
  end</p>
<p> 
  when 20084.chat."Certyfikaty Tugyisa" with pc.count_item(30166) >0   begin
   if get_time() > pc.getqf("duration") then
    say("Biolog Chaegirab:")
    ---               l
    say("Oh!! Znalazles!")
    say("Pozwol, ze rzuce okiem...")
    say("Jeszcze chwilke.")
    say("")
    pc.remove_item(30166, 1)
    pc.setqf("duration",get_time()+0*0*0) -----------------------------------22??
    wait()
   
    local pass_percent
    if pc.getqf("drink_drug")==0 then
     pass_percent=70
    else 
     pass_percent=90
    end
   
    local s= number(1,100)
    if s<= pass_percent  then
       if pc.getqf("collect_count")< 29 then  --30­óĄH¤U
      local index =pc.getqf("collect_count")+1
      pc.setqf("collect_count",index)  -- ¨úąo¤F¤@­ó+1
      say("Biolog Chaegirab:")
      say("Oh!! Ten Certyfikat Tugyisa jest doskonalej jakosci!")
      say("Przynies mi jeszcze".." "..30-pc.getqf("collect_count").. " Certyfikatow Tugyisa")
      say("Prosze, sprobuj je znalezc!")
      say("")
      pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
      return
     end
     say("Biolog Chaegirab:")
     say("Oh, zebrales juz wszystkie?")
     say("Dobra robota...")
     say("Ale poczekaj!")
     say("Aby zakonczyc swoja prace, potrzebuje")
     say("abys przyniosl dla mnie jeszcze jeden przedmiot!")
     say("")
     pc.setqf("collect_count",0)
     pc.setqf("drink_drug",0)
     pc.setqf("duration",0)
     set_state(key_item)
     return
    else       
    say("Biolog Chaegirab:")
    say("Ten Certyfikat Tugyisa jest zlej jakosci!")
    say("Sprobuj przyniesc inny!")
    say("Prosze, pomoz mi!")
    pc.setqf("drink_drug",0)  --ĂĤôŞěŠl¤Ć
    return
   end
  else
    say("Biolog Chaegirab:")
    say("Jeszcze nie skonczylem badac ostatniego Certyfikatu!")
    say("Wroc pozniej, kiedy juz skoncze!")
    say("")
    return
  end</p>
<p>end
end</p>
<p>
state key_item begin
  when letter begin
   send_letter("Zadanie Specjalne - Certyfikaty Tugyisa")
  
   if pc.count_item(30225)>0 then
    local v = find_npc_by_vnum(20084)
    if v != 0 then
     target.vid("__TARGET__", v, "Analiza Biologa - Certyfikaty Tugyisa")
    end
   end</p>
<p>  end
  when button or info begin
   if pc.count_item(30225) >0 then
    say_title("Znalazles kamien duszy!")
    say("")
    ---               l
    say("Wroc do biologa, aby")
    say("odniesc mu kamien!")
    say("")
    return
   end</p>
<p>   say_title("Kamien Duszy")
   say("")
   ---               l
   say("Zebrales juz wszystkie 30 Certyfikatow!")
   say("Teraz, biolog potrzebuje ostatni")
   say("przedmiot, aby zakonczyc swoje badania!")
   say_item_vnum(30225)
   say("Mozesz go znalezc zabijajac potwory")
   say("na Wezowym Polu!")
   say("")
  end
 </p>
<p> </p>
<p>  when 1401.kill or
    1402.kill or
    1403.kill or
    1601.kill or
    1602.kill or
    1603.kill  begin
   local s = number(1, 50)
   if s == 1 and pc.count_item(30225)==0 then
    pc.give_item2(30225, 1)
    send_letter("Wroc do biologa!") 
   end
  end</p>
<p> 
  when __TARGET__.target.click  or
   20084.chat."Znalazlem Kamien Duszy" with pc.count_item(30225) > 0  begin
   target.delete("__TARGET__")
   say("Biolog Chaegirab:")
   say("Oh, Znalazles!")
   say("Bardzo Tobie dziekuje!")
   say("")
   say_reward("Mozesz teraz isc do Baek-Go po nagrode!")
   say("")
   pc.remove_item(30225,1)
   set_state(__reward)
  end
 
end
state __reward begin
  when letter begin
   send_letter("Analiza Biologa - Nagroda")
  
   local v = find_npc_by_vnum(20018)
   if v != 0 then
    target.vid("__TARGET__", v, "Baek-Go")
   end</p>
<p>  end
  when button or info begin
   say_title("Skonczyles analize biologa!")
   ---               l
   say("Biolog Chaegirab wysyla Cie")
   say("po nagrode do Baek-Go!")
   say("")
  end
 
  when __TARGET__.target.click  or
   20018.chat."Nagroda"  begin
   target.delete("__TARGET__")
   say("Baek-Go:")
   say("Hmm, a wiec Biolog")
   say("wyslal Cie po nagrode?")
   say("Zobaczmy, co tam masz...")
   say("")
   wait()
   say_title("Wybierz rodzaj bonusu jaki chcesz otrzymać ")</p>
<p>         local s = select("35% na Wojowników", "35% na Ninje", "35% na Sury", "35% na Szamanów")
      if s == 1 then
     affect.add_collect(apply.POINT_ATTBONUS_WARRIOR, 35, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 35% na Wojowników")
     say_reward("Otrzymałeś bonus: +20% wartości Ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Zjawy Żółtego Tygrysa")
      elseif s == 2 then
     affect.add_collect(apply.POINT_ATTBONUS_ASSASSIN, 35, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 35% na Ninje")
     say_reward("Otrzymałeś bonus: +20% wartości Ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Zjawy Żółtego Tygrysa")
    elseif s == 3 then
     affect.add_collect(apply.POINT_ATTBONUS_SURA, 35, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 35% na Sury")
     say_reward("Otrzymałeś bonus: +20% wartości Ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Zjawy Żółtego Tygrysa")
    elseif s == 4 then
     affect.add_collect(apply.POINT_ATTBONUS_SHAMAN, 35, 60*60*24*365*60) --60Ś~
     say_reward("Otrzymałeś bonus: 35% na Szamanów")
     say_reward("Otrzymałeś bonus: +20% wartości Ataku")
     say_reward("Otrzymałeś 5x Szkatułkę Zjawy Żółtego Tygrysa")
    end
   
   affect.add_collect_point(POINT_ATT_BONUS,20,60*60*24*365*60) --60łâ  
   pc.give_item2(50078)
   pc.give_item2(50078)
   pc.give_item2(50078)
   pc.give_item2(50078)
   pc.give_item2(50078)
  
   clear_letter()
   set_state(__complete)
  end
  
end</p>
<p>
state __complete begin
end
end

</p>

<p>Download (Wszystkie questy w paczce):

http://www.speedyshare.com/files/26979174/Analiza_Biologa_by_Flexior.rar

</p>

<p>Skan:

http://www.virustotal.com/file-scan/report.html?id=8c483878fdf2ca0eac713a302c35ce184f8ec713a4d7ceaf2a19f51a40f6e922-1298220761

</p>

<p>Jeśli Tobie się nie przydało to trudno, nie musisz mi dawać za to -</p>

<p>Natomiast jeśli ten quest Ci się przydał to prosiłbym o wręczenie +</p>

<p>Zakaz Kopiowania na inne fora bez mojej zgody

</p>

<p> </p>

<p>

Ufff trochę się napisałem szukając tego itp .itd <img alt=" " class="bbc_emoticon" src="http://www.mpcforum.pl/public/style_emoticons/default/tongue.png">

Questy będę dodawał na bieżąco , nie są to jeszcze wszystkie na MPC ,ale te śmieszne 91 które tutaj dodałem zajęły mi

jakieś 5 godzin (a niby to zwykłe kopiuj wklej)

Jeszcze dzisiaj dodam kilkanaście do 100 --jeżeli będę miał czas i chęcie ; )

Jezeli mnie zmobilizujecie .. chyba wiecie co mam na myśli <img alt=" " class="bbc_emoticon" src="http://www.mpcforum.pl/public/style_emoticons/default/tongue.png">

Źródła :

http://www.mpcforum.pl/topic/150398-tutdown-npc-do-zabawy/

http://czarny-questy.cba.pl

http://www.mpcforum.pl/topic/512416-questykilka-questow-do-zabawy-i-nie-tylko/

http://www.mpcforum.pl/topic/223876-pisanie-poprawa-questw/

http://www.mpcforum.pl/topic/454720-tut-lista-questow/

http://www.mpcforum.pl/topic/434966-tut-spis-questow/

http://www.mpcforum.pl/topic/227209-tut-spis-wszystkich-questow/

Dodatkowe przydatne tematy =)

1.Jak pisać dungeony by kwiatmix

 

Witajcie mpcforum, w tym tutku postaram się pomóc wam w napisaniu dungeona.

Zaczynamy od wszystkich funkcji "dungeonowych", oczywiście można używać innych funkcji niż tylko te.

Nie opisze wszystkich, ale postaram się jak najwięcej: (mogą być błędy)

d.check_eliminated -- sprawdza czy zabiliśmy wszytkie potwory
d.clear_regen -- usuwa regen
d.count_monster -- (chyba) działa jak pc.getqf("moby", pc.setqf("moby")+1)
d.exit -- wywala osobę z dungeonu która np. porozmiawia z mpc
d.exit_all -- wywala wszystkich z dungeonu
d.exit_all_to_start_position -- wywala wszystkich z dungeonu, do miejsca w którym zaczynaliśmy
d.get_kill_mob_count -- ilość zabitych potworów ?
d.get_kill_stone_count -- ilość zabitych metków?
d.get_map_index -- sprawdza index mapy
d.getf -- działa jak pc.getqf() tyle, że dla grazczy z całego dungeonu
d.is_unique_dead -- nie wiem
d.is_use_potion -- nie wiem
d.join -- teleportuje do dungeonu wszystkich z PT, lub jedną osobę, użwa się ją, np. d.join(66) -- 66 to index mapy
d.jump_all -- teleportuje wszystkich z mapy do deungeona używamy jej: d.jump_all(id_mapy, kordy, koedy)
d.jump_all_local -- nie wiem
d.kill_unique -- nie wiem
d.new_jump -- teleportuje osobe w dungeonie na dane kordy d.new_jump(id_mapy, kordy, kordy)
d.new_jump_all -- teleportuje wszystkich z dungeonu na dane kordy d.new_jump_all(id_mapy, kordy, kordy)
d.purge -- działa jak purge
d.purge_unique -- nie wiem
d.regen_file -- resp potworów z regenu
d.revived -- nie wiem
d.select -- nie wiem
d.set_dest -- nie wiem
d.set_exit_all_at_eliminate -- wywala wszystkich po zabiciu all potworów
d.set_regen_file -- ustawia plik regen
d.set_unique -- nie wiem
d.set_warp_at_eliminate -- ustala warp po wyeliminowaniu potworów
d.setf -- działa jak pc.setqf() tyle, że dla wszystkich w dungeonie
d.spawn -- nie wiem
d.spawn_goto_mob -- nie wiem
d.spawn_group -- nie wiem
d.spawn_mob -- spawn moba, używamy: d.spawn(id_moba, kordy, kordy)
d.spawn_move_group -- nie wiem
d.spawn_move_unique -- nie wiem
d.spawn_name_mob -- spawnuje moba po nazwie ?
d.spawn_stone_door -- spawnuje kamienne drzwi ?
d.spawn_unique -- nie wiem
d.spawn_wooden_door -- spawnuje drewniane drzwi?
d.unique_get_hp_perc -- nie wiem
d.unique_set_def_grade -- nie wiem
d.unique_set_hp -- nie wiem
d.unique_set_maxhp -- nie wiem
d.kill_all -- zabija wszystkie potwory
d.setqf -- działa jak, pc.setqf() z tym że tylko w dungeonie
d.getqf -- działa jak, pc.getqf() z tym że tylko w dungeonie
d.notice -- działa jak notice_in_map tyle, że w dungeonie
pc.in_dungeon -- sprawdza czy jesteśmy w dungeonie

Dobrze skoro już wiemy o funkcjach, napiszemy swojego pierwszego dungeona.

quest kwiatmix_dungeon begin -- zaczynamy questa
state start begin -- zaczynamy state
when id_npc.chat."Chcę wejść do Dungeonu by kwiatmix!" begin -- tworzymy chat u npc "id_npc"
say_reward("Nazwa Npc:")
say("Chcesz wejść do dungeonu?")
local wejscie = select("Tak.", "Nie.")
if wejscie == 2 then
return
elseif wejscie == 1 then
say_reward("Nazwa Npc:")
say("Okej, przeteleporuje ciebie.")
wait()
d.join(66) -- rozpoczynamy dungeon
pc.setqf("dungeon", 1)
end -- kończymy if wejscie
end -- konczymy when id_npc.chat.
when login with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin -- pc.get_map_index() sprawdza czy jesteśmy na mapie o id 66
if pc.getqf("dungeon") > 0 then -- sprawdza czy zalogowaliśmy się poprzez rozmowe z npc "pc.setqf("dungeon", 1)
pc.setqf("dungeon", 0)
d.notice("Witajcie w dungeonie by kwiatmix!")
d.notice("Rozwalcie metina i idźcie dalej...")
d.spawn_mob("id_metka", kordy, kordy)
end -- kończymy pc.getqf()
end -- kończymy when login
when id_metka.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin -- gdy zabijemy metka
d.notice("Brawo, rozwaliliście metina!")
timer("tele", 5) -- timer do teleportu ustawiony na 5 sekund
end -- zamykamy when id_metka.kill
when tele.timer begin
d.new_jump_all(66, kordy, kordy)
d.regen_file("data/dungeon/nasz_regen.txt") -- miejsce naszego regenu
end -- kończymy when tele
when id_potwora.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin -- gdy zabijemy potwora
if d.getf("drop") < 1 then
local drop = math.random(100)
if drop == 1 then -- szansa na drop 100%
pc.give_item2(id_itemka, 1)
pc.setf("drop", 1)
d.notice(pc.get_name().."Zdobył nazwa przedmiotu.")
end -- kończy if drop
end -- kończy if d.getf()
end -- kończy when kill
when id_npc.take with item.vnum == id_przedmiotu and d.getf("drop") > 0 begin
d.notice("Brawo, macie tutaj kowali!")
npc.purge() -- usuwamy id_npc
item.remove() -- usuwamy id_przedmiotu
d.clear_regen() -- usuwamy regen
d.kill_all() -- zabijamy wszystkie potwory
local kowale = {20074, 20075, 20076}
d.spawn_mob(kowale[number(1,3)], 425, 216); -- respi losowego moba, z local kowale
d.setqf("can_refine", 2) -- pozwala na ulepszenie przedmiotu
timer("wywalamy", 20) -- 20 sekund do wyrzucenia wszystkich z dungenu
end -- kończymy when id_npc
when wywalamy.timer begin
d.exit_all() -- wyrzucamy wszystkich z dungeonu
end -- kończymy when timer
end -- kończymy state
end -- kończymy questa

Quest z tabami: <a class="bbc_url" href="http://wklej.to/YeNTI" rel="nofollow external" title="Zewnętrzny odnośnik">http://wklej.to/YeNTI</a>

W ten sposób właśnie napisaliśmy swojego pierwszego dungeona.

Jeżeli napisałem coś źle, proszę o poprawkę w postach

Życzę udanego pisanie questów, lajkujcie mnie

 

2.Komendy wszystkie po Polsku :

http://www.mpcforum.pl/topic/65970-komendy-wszystkie-po-polsku/

backup tematu:

http://wklej.to/owXkQ

</p>

<p> </p>

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...