Forum Tibia
Wszystko dotyczące Tibi i nie tylko.
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Poradnik jak tworzyc qesty pod tibie 7.6

 
Napisz nowy temat   Odpowiedz do tematu    Forum Tibia Strona Główna -> Skrypty do OTS
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
vilagie




Dołączył: 22 Mar 2006
Posty: 25
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Czw 19:41, 23 Mar 2006    Temat postu: Poradnik jak tworzyc qesty pod tibie 7.6

To jest prosty poradnik jak robic proste questy .
Ten skrypt dziala na otsach pod 7.6 ale wydaje mi sie powinien rowniez dzialac na 7.5 (tyle ze inne nr itemow).
Jezeli masz jakis zwiazek z skryptami to prosze nie komentuj prostoty tego poradnika. Wiem ze mozna dodac full fajnych opcji itd. No ale to ma byc prosty poradnik zeby troszeczke odspamic forum .
Duza litera q (Q) oznacza tu skrot od "quest"
Teraz zrob w folderze data/actions/scripts w twoim otsie plik twojego nowego questu z rozszezeniem *lua(np. quest.lua) i wklej do niego ten skrypt:


Kod:
function onUse(cid, item, frompos, item2, topos)

if item.uid == 10000 then
queststatus = getPlayerStorageValue(cid,10000)
if getPlayerLevel(cid) >= XXX then
if queststatus == -1 then


doPlayerSendTextMessage(cid,22,"Znalazles platynki.")
doPlayerAddItem(cid,2152,100)
setPlayerStorageValue(cid,10000,1)


else
doPlayerSendTextMessage(cid,22,"Przeszukales juz ta skrzynke.")
end
end
end
endTeraz mala edycja tego skryptu:
1."10000" - Ta liczba nie moze ci sie powtozyc przy robieniu questow. Najlepiej zeby byla powyzej 10000 (zeby nie kolidowala z nr.itemow) i w kazdym nowym Q dodawaj zwiekszona liczne o 1 (10001,10002,...). Zapisz sobie ta liczbe na kartce.
2."XXX" - Zamiast XXX wstaw wymagany lvl do ukonczenia questu. Jezeli nie chcesz aby byla takie ograniczenie po prostu wpisz "0".
3.doPlayerSendTextMessage(cid,22,"Znalazles platynki.")&doPlayerSendTextMessage(cid,22,"Przeszukales juz ta skrzynke.") - Zamiast tego wpisz co ma sie wyswietlic jezeli Q zostanie wukonany (1 linia) i jezeli Quest zostal wykonany a osoba sproboje ponownie otwozyc skrzynie (2 linia).
4. doPlayerAddItem(cid,2152,100) - No i doszlismy do najlepszego . Edytujemy co jest w nawiasach. "Cid" zostawiamy w spokoju. "2152" to nr itemu jaki dostaniemy po wykonaniu Q (tutaj platynka). "100" oznacza ilosc itemow jaka dostaniesz po wykonaniu Q (czyli tutaj 100 platynek). Jezeli chcemy uzyskac z Q wiecej niz 1 item (np. k-set) to kopiujemy ta linijke i wklejamy nizej. Np.

Kod:
doPlayerSendTextMessage(cid,22,"Znalazles tyle platynek ze nie wiesz co z nimi zrobisz.")
doPlayerAddItem(cid,2152,100)
doPlayerAddItem(cid,2152,100)
doPlayerAddItem(cid,2152,100)
doPlayerAddItem(cid,2152,100)
doPlayerAddItem(cid,2152,100)
doPlayerAddItem(cid,2152,100)
setPlayerStorageValue(cid,10000,1)Teraz juz tylko formalnosci. Zapisujemy plik i zamykamy go. Wchodzimy do katalogu data/actions i otwieramy plik actions.xml . Teraz pod linijka <actions> (2 linijka od gory) wpisujemy cos takiego

Kod:
<action uniqueid="10000" script="quest.lua" />i zmieniamy :
1. uniqueid="10000" - na nr ktory zapisalismy w skrypcie.
2. script="quest.lua" - tu podajemy nazwe pliku z naszym Q.
Zapisujemy i zamykamy plik. Teraz edytujemy mapke i idziemy do miejsca gdzie ma byc Q. Stawiamy jakis item (Niekoniecznie skrzynke. Moze byc kamien czy drzewo.) i klikamy na niego PPM. Wybieramy "properties" i w unique id wpisujemu nr Q (w przykladzie 10000). Zatwierdzamy i zapisujemy mapke.
No i cala filozofia robienia prostych questow.
Zrobiles juz kilka Q za pomoca tego poradnika? Malo ci? Wiec czytaj skrypty i proboj sie ich nauczyc za pomaca prob i bledow. Niedawno na forum ukazal sie ogolny poradnik swozony przez Lencu. Polecam przeczytanie tego poradnika gdyz jest tam jest niezle wporwadzenie do twozenia questow i skryptow. Jezeli do tego jeszcze dozucisz uzywanie opcji "szukaj" na forum to niedlugo zaczniesz wymiatac w skryptach . Poczatki sa zawsze najtrudniejsze a potem juz z gorki idzie.
Powodzenia wszystkim.

@edit
A dlaczego lepiej jest robic questy za pomoca skryptu a nie w edytorze map? Bo mozna pododawac kilka ciekawych funkcji. Oto kilka przykladow (dodajemy tak jak bysmy dodawali nagrode):

Kod:
doPlayerAddSkillTry(cid,5,10000)Dodaje postaci skilla "5" ilosc 10000. Nie pamietam dokladnie nr skilli ale 5 to chyba byla tarcza tak wiec wpisujac to doda nam oprocz itemqw skill .

Kod:
doPlayerAddHealth(cid, -500)Dodajac ta linijke sprawi ze otwierajac skrzynke postac straci 500 hp (gdyby bylo bez minusa to by uleczylo o 500 hp) czyli sredni mag zginie wykonujac Q a knight juz nie.

Kod:
npos = {x=115, y=211, z=8}
doTeleportThing(cid,npos)te dwie linijki trzeba dac razem ( najpierw npos =..). Spowoduje to ze postac ktora wykona Q zostanie teleportowana do na pozycje {x=115, y=211, z=8}.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Gość







PostWysłany: Wto 21:31, 20 Mar 2007    Temat postu:

yhy
Powrót do góry
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Tibia Strona Główna -> Skrypty do OTS Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin