Nie tylko o Tibii i OTS...
Witam!!
Uczę się robić skrypty i chciałbym abyście mi wytłumaczyli kiedy się pisze: (else, retrun 0, retrun 1, if, end (xd).
Z góry dzięki
Pozdrawiam !!!
Offline
Tu masz link do mojego tematu wszystko wytlumaczone http://tibia11.pun.pl/viewtopic.php?id=6784 .
Offline
Zacznijmy od tego, że sama znajomość LUA na wiele Ci się nie zda w życiu jeśli nie bedziesz znał innych języków programowania (C, C++ lub C#).
Oto przykładowy skrypt w LUA do OTSa:
Spoiler:
function onUse(cid, item, frompos, item2, topos)
if item.uid == 2222 then
doPlayerAddMana(cid,100)
elseif item.uid == 2000 then
doPlayerAddHealth(cid,100)
else
doPlayerSendMessage(cid,22,"To niemozliwe")
end
return 1
end
Jak pewnie zauważyłeś cały ten skrypt podzieliłem na 4 części (nie licze tutaj deklaracji fukcji).
Pierwsza częsć (czerwona) uwzględnia if oraz then. Są to słowa kluczowe, zależne od siebie tzn nie można użyć if jesli nie napiszesz then.
Między nimi jest treść warunku if (if(ang.) = jeśli), całość tej linijki znaczy więc: "jeśli przedmiot ma unique id równe 2222 to".
Do tej częsci skryptu dochodzi jeszcze spełnienie tego warunku, wróćmy więc jeszcze raz do treści linijki powyżej i uzupełnijmy ją wypełniając warunek, teraz cała ta część tego skryptu brzmi tak:
"jeśli przedmiot ma unique id równe 2222 to
dodaj graczowi 100 many" Słowa doPlayerAddMana deklarują tutaj aby graczowi o wartości cid dodano 100 many.
Przejdźmy teraz do drugiej części tego skryptu, zastosowano tutaj wyrażenie elseif ktore nie ma dosłownego tłumaczenia, ale można przyjąć, że znaczy: "jeśli nie to jeśli..."
Stosuje się to gdy chce się mieć kilka możliwości, np. gdy gracz użyje przedmiotu o uid 2222 (unique id) to zrób to, a jeśli gracz użyje przedmiotu o uid 2000 to zrób coś innego.
Treść tej części skryptu znaczy: "jeśli nie to co wyżej, jeśli gracz użyje przedmiotu o uid równym 2000 to dodaj mu 100 hp"
Trzecia część skryptu zawiera wyrażenie else, które znaczy "w przeciwny wypadku" lub "jeśli nie". Jest to ostateczna możliwość zmiany użycia skryptu przez gracza,
gdy żadna powyższa czynność nie zadziałała skrypt przechodzi do else i wykonuje warunek który jest tam zadeklarowany.
Przetłumaczając tą część otrzymamy: "Jeśli item używany przez gracza nie ma uid równego 2222 ani 2000 to napisz do gracza "To niemozliwe"."
Czwarta część skryptu zawiera zakończenia deklarowań else i if, są to słowa "end" (ang. koniec). Szczerze mówiąc jeśli chodzi o return to w LUA nie wiem co to znaczy.
Proszę o komentarze i plusy
W razie pytań pisać w tym temacie.
Poradnik 100% mój.
Offline
Nice Plusik poleci.
To jest ManaHealth Rune ? xD
@down Powiedzmy ze dalem plusika za ciebie.
Ostatnio edytowany przez Dantez (2008-08-16 19:01:33)
2009-02-23 - data mianowania na Redaktora
2010-08-26 - data rezygnacji
Offline
@2Up
Dzięki, muszę Ci powiedzieć, że po przeczytaniu tego poradnika umiem o dużo więcej niż umiałem wcześniej (czyli prawie nic) i dzięki za wytłumaczenie poszczególnych funkcji. Dał bym plusa ale nie mogę bo nie mam wystarczającej ilości postów.
Ostatnio edytowany przez Lokis (2008-08-16 19:01:39)
Offline
No no fajny poradnik i naprawdę można się od niego dosyć dużo nauczyć. Plusik leci
Offline
Dzięki, teraz już wiem duużo więcej o funkcjach, odrazu poprubuje jakieś fajne skrypty zrobić!
Offline