xElf
Advanced User
- Joined
- Apr 6, 2011
- Messages
- 364
- Reaction score
- 48
Cze??! Od razu chcia?bym powiedzie?, ?e jest to jedyny poradnik stworzony z mojej r?ki, o lua oraz c++. Bardziej si? skupiam na HTML'u wi?c, to owe b?d? najcz??ciej ujawniane, blasku poranka. Znale?? je mo?ecie w poradnikach, innych. A teraz, godnie zacznijmy!
Przedstawi? wam dwa j?zyki programowania. Tibia jest generalnie z nich skonstruowana.
C++:
Gdy zaczynamy nauk? najlepiej zaopatrzy? si? w jak?? popularn? literatur?, dobrze jest kupi? ksi??k? „Thinking In C++”. Autor ksi??ki mia? na celu oswojenie i nauczenie nas j?zyka nie zupe?nie od podstaw - Bruce Eckel napisa? ksi??k?, kt?ra ma wprowadzi? nas do zaawansowanego ?wiata c++ wi?c, szczerze m?wi?c, nie polecam pocz?tkuj?cemu owej czyta?. Przygotowaniem mo?e by? "Od zera do gier Kodera", kt?ra te? jest bardzo dobr? ksi??k?, lecz nie podchodz?c? pod zaistnia?e szczeg??y.
Tibie mo?emy edytowa? w c++, zarazem jak i silniki. Dodaje on nam wi?ksze mo?liwo?ci, ni? posiada lua, dlatego w?a?nie, polecam wyku? go bardziej (oczywi?cie lua, te? jest wyj?tkowo potrzebny).
Lua:
Lua jest j?zykiem prostym i nie wymaga on, rzeczy kt?re mog? przyprawi? nam problem?w w c++.
Nasz poradnik lua b?dzie si? sk?ada? z 6-ciu punkt?w:
Pocz?tek i koniec skryptu
Skrypt rozpoczynamy od deklaracji funkcji, a odbywa to si? tak:
end - pokazuje, w kt?rym miejscu skrypt si? ko?czy.
Funkcje rozpoczynaj?ce skrypt lua:
Spis funkcji zaczerpni?ty z poradnika Karpio(**************)!
If'y
W programowaniu mo?emy u?ywa? warunk?w, a dok?adniej - "co? r?wna si? czemu?".
Ka?dy warunek musi by? zako?czony endem!
P?tle i Tablice
P?tle:[/
S? dwa rodzaje p?tli(for i while)
a). P?tla for:
P?tla for wykonuje okre?lon? ilo?? razy ten sam kod, i jest najcz??ciej u?ywan?.
W praktyce:
Wyja?nienie:
b). P?tla while:
P?tla ta jest wykonywana do miejsca gdzie warunek w niej postawiony nie zostanie wykonany:
P?tla ta m?wi nam, ?e je?eli zmienna(10) b?dzie wi?ksza od 5 to dostaniemy item o id 2000(backpack) i zmienna zostanie zwi?kszona o 5.
Tablice:
Tablice wykorzystujemy do zapisu wi?kszej ilo?ci danych, s? one zawsze oddzielone przecinkiem, s? trzy rodzaje tablic, ale dzisiaj poka?? wam tylko dwie:
]Teraz nauczymy si? jak zapisywa? tablice, oraz pobiera? z nich dane
Dane z tej tablicy s? pobierane za pomoc? funkcji "tablica" [index].
Funkcje zwi?zane z tablicami( )
Po??czenie p?tli for z tablic? wygl?da tak:
Znaczek # sprawia, ?e zostaje zwr?cona warto?? z tablicy.
Zmienne
Zmienne mog? by? globalne oraz lokalne, u?ywane s? do zapami?tywania danych oraz przekazywania ich.
Zmienne globalne:
S? mniej wykorzystywane przez skrypter?w, zmienne te s? najd?u?ej przechowywane w pami?ci silnika, na przyk?ad:
Zmienne lokalne:
S? one cz??ciej wykonywane przez skryptor?w, silnik kr?tko je przechowuje w pami?ci:
Rozpoczynamy je s?owem local np.
Przyk?ad u?ycia w skrypcie zmiennej lokalnej:
Funkcje LUA
Spis funkcji lua znajdziemy pod linkiem:
Komentarze
W lua mamy komentarze blokowe oraz liniowe:
Komentarze liniowe:
Komentarze blokowe:
Komentarze blokowe wykorzystujemy do podawania autora, nazwy skryptu, wersji etc.
Zezwalam na kopiowanie moich poradnik?w, z tym, ?e na ko?cu powinien zawsze istnie? takowy obrazek:
Kod:
?eby zadzia?a?o, ko?cowy tag "
"!
Je?li znalaz?e? jakie? nie doci?gni?cie, lub b??d - poinformuj mnie o tym! B?d? wi?cej ni? szcz??liwy, ?eby go poprawi?.
Serdecznie dzi?kuj?, za przeczytanie.
Regards,
Rea~
Przedstawi? wam dwa j?zyki programowania. Tibia jest generalnie z nich skonstruowana.
C++:
Ten tekst udost?pni?a mi ciocia wikipedia!C++ – j?zyk programowania og?lnego przeznaczenia.
Umo?liwia abstrakcj? danych oraz stosowanie kilku paradygmat?w programowania: proceduralnego, obiektowego i generycznego. Charakteryzuje si? wysok? wydajno?ci? kodu wynikowego, bezpo?rednim dost?pem do zasob?w sprz?towych i funkcji systemowych, ?atwo?ci? tworzenia i korzystania z bibliotek (napisanych w C++, C lub innych j?zykach), niezale?no?ci? od konkretnej platformy sprz?towej lub systemowej (co gwarantuje wysok? przeno?no?? kod?w ?r?d?owych) oraz niewielkim ?rodowiskiem uruchomieniowym. Podstawowym obszarem jego zastosowa? s? aplikacje i systemy operacyjne.
Gdy zaczynamy nauk? najlepiej zaopatrzy? si? w jak?? popularn? literatur?, dobrze jest kupi? ksi??k? „Thinking In C++”. Autor ksi??ki mia? na celu oswojenie i nauczenie nas j?zyka nie zupe?nie od podstaw - Bruce Eckel napisa? ksi??k?, kt?ra ma wprowadzi? nas do zaawansowanego ?wiata c++ wi?c, szczerze m?wi?c, nie polecam pocz?tkuj?cemu owej czyta?. Przygotowaniem mo?e by? "Od zera do gier Kodera", kt?ra te? jest bardzo dobr? ksi??k?, lecz nie podchodz?c? pod zaistnia?e szczeg??y.
Tibie mo?emy edytowa? w c++, zarazem jak i silniki. Dodaje on nam wi?ksze mo?liwo?ci, ni? posiada lua, dlatego w?a?nie, polecam wyku? go bardziej (oczywi?cie lua, te? jest wyj?tkowo potrzebny).
Lua:
Lua jest j?zykiem prostym i nie wymaga on, rzeczy kt?re mog? przyprawi? nam problem?w w c++.
Nasz poradnik lua b?dzie si? sk?ada? z 6-ciu punkt?w:
Code:
1. Pocz?tek i koniec skryptu
2. If’y
3. P?tle i Tablice
4. Zmienne
5. Funkcje LUA
6. Komentarze
Pocz?tek i koniec skryptu
Skrypt rozpoczynamy od deklaracji funkcji, a odbywa to si? tak:
Code:
function onLogin(cid)
--Nasz kod.
end
end - pokazuje, w kt?rym miejscu skrypt si? ko?czy.
Funkcje rozpoczynaj?ce skrypt lua:
PHP:
Actions
onUse(cid, item, fromPosition, itemEx, toPosition)
Creaturescripts
onLogin(cid)
onLogout(cid)
onAdvance(cid, skill, oldLevel, newLevel)
onStatsChange(cid, attacker, type, combat, value)
onDirection(cid, old, current)
onSendMail(cid, receiver, item, openbox)
onReceiveMail(cid, sender, item, openbox)
onTradeRequest(cid, target, item)
onTradeAccept(cid, target, item, targetItem)
onJoinChannel(cid, channel, users)
onLeaveChannel (cid, channel, users)
onLook(cid, thing, position, lookDistance)
onThink(cid, interval)
onTextEdit(cid, item, newText)
onReportbug(cid, comment)
onAreaCombat(cid, tileItem, tilePosition, isAggressive)
onTarget(cid, target)
onFollow(cid, target)
onCombat(cid, target)
onAttack(cid, target)
onCast(cid, target)
onKill(cid, target, lastHit)
onDeath(cid, corpse, deathList)
onPrepareDeath(cid, deathList)
Globalevents
onThink(interval, lastExecution, thinkInterval)
onStartup()
onShutdown()
onRecord(current, old, cid)
onTimer()
Movements
onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
onEquip(cid, item, slot)
onDeEquip(cid, item, slot)
onAddItem(moveItem, tileItem, position, cid)
onRemoveItem(moveItem, tileItem, position, cid)
Spells
onCastSpell(cid, var)
Talkactions
onSay(cid, words, param, channel)
Weapons
onUseWeapon(cid, var)
If'y
W programowaniu mo?emy u?ywa? warunk?w, a dok?adniej - "co? r?wna si? czemu?".
Code:
if – Warunek co? r?wna si? czemu?
elseif – Mo?emy go u?ywa? po if’ie ile razy tylko zechcemy.
else – Je?eli poprzednie warunki nie zosta?y spe?nione to wykonamy fragment za else.
then – U?ywamy po zapisie if’a.
P?tle i Tablice
P?tle:[/
S? dwa rodzaje p?tli(for i while)
a). P?tla for:
P?tla for wykonuje okre?lon? ilo?? razy ten sam kod, i jest najcz??ciej u?ywan?.
W praktyce:
Code:
for p?tla = 1, 100 do
Code:
for – jest to nazwa naszej p?tli.
p?tla – jest zmienna utworzon? na potrzeby p?tli.
1, 100 – m?wi nam ile razy dany kod ma zosta? wykonany w tym przypadku sto razy.
do – u?ywamy w p?tli for.
P?tla ta jest wykonywana do miejsca gdzie warunek w niej postawiony nie zostanie wykonany:
Code:
local zmienna = 10
while(zmienna > 5) do
doPlayerAddItem(cid, 2000, 1)
zmienna = zmienna + 5
end
Tablice:
Tablice wykorzystujemy do zapisu wi?kszej ilo?ci danych, s? one zawsze oddzielone przecinkiem, s? trzy rodzaje tablic, ale dzisiaj poka?? wam tylko dwie:
Code:
1. {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15} – Rodzaj w kt?rym warto?ci s? zapisywane po kolei.
2. {x=1000,y=1000,z=7} – Tym rodzajem tablic najcz??ciej zapisujemy pozycje.
Code:
local tablica = {1,2,3,4,5,6,7,8,9,10} – tak wygl?da zapis tablicy.
Funkcje zwi?zane z tablicami( )
Po??czenie p?tli for z tablic? wygl?da tak:
Code:
local numery_id = {2000,2001,2002,2003}
for p?tla = 1, #numery_id do
doPlayerAddItem(cid, numery_id[p?tla], 1)
end
Zmienne
Zmienne mog? by? globalne oraz lokalne, u?ywane s? do zapami?tywania danych oraz przekazywania ich.
Zmienne globalne:
S? mniej wykorzystywane przez skrypter?w, zmienne te s? najd?u?ej przechowywane w pami?ci silnika, na przyk?ad:
Code:
Id = 2000 -- tworzymy je tak samo tylko bez przedrostka.
S? one cz??ciej wykonywane przez skryptor?w, silnik kr?tko je przechowuje w pami?ci:
Rozpoczynamy je s?owem local np.
Code:
local id = 2000
Code:
function onSay(cid, words, param)
local id = 2000
if doPlayerAddItem(cid, id, 1) then
end
end
Funkcje LUA
Spis funkcji lua znajdziemy pod linkiem:
Komentarze
W lua mamy komentarze blokowe oraz liniowe:
Komentarze liniowe:
Code:
doPlayerAddItem(cid, 2000, 1) -- Funkcja ka?e doda? item graczowi. To jest komentarz liniowy
Komentarze blokowe wykorzystujemy do podawania autora, nazwy skryptu, wersji etc.
Code:
--[[
Autor : Reaper
Wersja : 1.0
To jest komentarz blokowy.
]]--
Zezwalam na kopiowanie moich poradnik?w, z tym, ?e na ko?cu powinien zawsze istnie? takowy obrazek:
Kod:
Code:
[IMG]http://i55.tinypic.com/6oprpe.png[IMG]
Je?li znalaz?e? jakie? nie doci?gni?cie, lub b??d - poinformuj mnie o tym! B?d? wi?cej ni? szcz??liwy, ?eby go poprawi?.
Serdecznie dzi?kuj?, za przeczytanie.
Regards,
Rea~