What's new

-Średni Przewodnik po lua!

xElf

Advanced User
Joined
Apr 6, 2011
Messages
364
Reaction score
48
Witam!
Dzi?, mam zamiar zaprezentowa? m?j ju? zreszt? nie pierwszy, takowy poradnik.
Tak jak sama nazwa wskazuje - jest on o lua. Czy kiedykolwiek marzy?e?, aby zosta? prawdziwym skrypterem? Twoje marzenie dzi? si? spe?ni! W poradniku przebrniemy przez g??wne tajniki lua, kt?re pozwol? wam napisa? chocia?by prosty skrypt. Z w?asnego do?wiadczenia wnioskuj?, ?e wystarczy pozna? tylko podstawy - reszta sama przyjdzie z czasem.
Przed startem chcia?bym tylko przej?? przez par? wa?nych spraw. Na my?li mam oczywi?cie poddzia? kt?ry znajduje si? w ka?dym solidnym poradniku...
Kilka s??w od autora.


Kilka s??w od autora
Pewnie wielu z was zastanawia si?, po co kolejny poradnik o lua. No w?a?nie. Po co? Po co osoba kt?ra posiada tak ma?e poj?cie o lua pisa?a by poradnik? Odpowied? jest prosta... Chcia?bym przywr?ci? martw? stref? tego forum; "Biblioteka kod?w". Ostatnio nic si? w niej niestety nie dzieje. Zmartwi? mnie ten fakt, dlatego w?a?nie pisz? ten poradnik pomimo faktu, ?e czas kt?ry na sko?czenie go po?wi?c? m?g?bym sp?dzi? w ca?kiem inny, lepszy spos?b. Chcia?bym przede wszystkim podzieli? si? z wami informacjami kt?re ja przez sw?j czas nauki zdoby?em (tak naprawd?, nadal si? ucz?). Jest ich sporo, dlatego poradnik przynajmniej powinien by? obszerny, no, ale zobaczymy jak b?dzie.
Druga sprawa, to prawa autorskie. Ju? na pocz?tku musz? wydusi? z siebie jedno, mnie te? cz?sto wkurzaj?ce zdanie... Zastrzegam sobie kopiowania tego poradnika na inne strony bez mojej zgody!
Dla przypomnienia:
Plagiaty w Polsce podlegaj? karze grzywny, ograniczenia wolno?ci, albo pozbawienia wolno?ci do lat 3 (Prawo Autorskie i Prasowe, rozdz. 14., art. 115) - s? ?cigane nie tylko z pow?dztwa cywilnego.

Plagiat jest ?cigany przez prokuratora z pow?dztwa karnego - osoby kt?re go pope?niaj?, s? w kr?tkim czasie wzywane do s?du i przes?uchiwane przez prokuratora, a sprawy tocz? si? szybko, a nie ci?gn? si? latami.
Osobi?cie, pod ?adnym wzgl?dem nie toleruj? plagiat?w! Prosz?, aby? uszanowa? m? ci??k? prac? i chocia? stosowa? si? do spraw zawartych powy?ej. ;)

Dobra, koniec pieprzenia, zabierzmy si? w ko?cu za te lua, o kt?rym przez ca?y czas m?wi?.



Czym jest lua?
Lua − j?zyk skryptowy pierwotnie zaprojektowany dla rozszerzenia funkcjonalno?ci r??nych aplikacji, jednak cz?sto u?ywany jako samodzielny j?zyk. Lua wi??e w sobie prost? sk?adni? procedury (podobn? do Pascala) z konstrukcjami opisu danych opartymi na tablicach asocjacyjnych i rozszerzalnej semantyce.

J?zyk ten zaimplementowany jest jako ma?a biblioteka j?zyka C napisana wg standardu ANSI C. Celami implementacji s?: prostota, wydajno?? i przeno?no?? kodu.

Pro?ciej m?wi?c... Lua jest bibliotek?, tzn. ma?? cz??ci? j?zyka C oraz cpp. Stosujemy owego j?zyka w r??nych grach (nie zdziwi? si? je?li nawet world of warcraft go u?ywa), aczkolwiek pami?tajmy, ?e forum te jest o tibii, wi?c przy tej tematyce pozosta?my. Pisz?c nasz skrypt u?ywamy jakiegokolwiek edytora tekstowego, mo?e to nawet by? notatnik. Nie polecam program?w Microsoft Office :D. My za? b?dziemy u?ywa? notepada++, bardzo przyjazny dla u?ytkownika edytor tekstu. Naprawd?, jest to chyba najlepszy takowy program na rynku. Za nim przejdziemy do praktyki, polecam aby? pobra? go , czyli oficjalnej strony producenta. A teraz wr??my do tematu... Jak napisa? skrypt lua? Skrypt lua piszemy tak, aby silnik wykona? dan? czynno??. Za pomoc? funkcji, tzn. "polece?" g??wnie opieraj?cych si? o j?zyk angielski (dlatego warta jest te? znajomo?? j?zyka angielskiego) "zmuszamy" nasz serwer, ?eby zrobi? to i to, np. doda? wszystkim graczom po 100gp. Wiem, ?e na pocz?tku trudno to zrozumie?, ale najzwyczajniej w ?wiecie, po prostu nie wiem jak to wyt?umaczy? i szczerze m?wi?c w?tpi?, aby kto? umia? zrobi? to w lepszy spos?b, ni? zrobi?em to ja :lol:.


Funkcje
Tak jak ju? wspomina?em w poprzednim poddziale, funkcje to polecenia kt?re silnik ma wykona?. W lua funkcji jest bardzo wiele i dziel? si? one na dwie grupy:
Funkcje podstawowe - zawsze powinny znajdowa? si? na samej g?rze skryptu, m?wi? nam jakie og?lnie czynno?ci maj? by? wykonywane.
Funkcje wt?rne - zawsze s? pod funkcj? podstawow?. W porz?dnym skrypcie jest ich o wiele, wiele wi?cej ni? podstawowych (najcz??ciej jest tylko jedna podstawowa).

Najpierw obadajmy funkcje podstawowe. Lista owych, znajduje si? poni?ej.

G??wne:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
function onStepIn(cid, item, frompos, itemEx, topos)
function onStepOut(cid, item, frompos, itemEx, topos)
function onSay(cid, words, param)
function onEquip(cid, item, slot)
function onDeEquip(cid, item, slot)
function onAddItem(cid, moveitem, tileitem, position)
function onRemoveItem(cid, moveitem, tileitem, position)

Creaturescripts (po zalogowaniu, po zabiciu potwora itp.):
PHP:
function onLogin(cid)
function onLogout(cid)
function onJoinChannel(cid, channel, users)
function onLeaveChannel(cid, channel, users)
function onAdvance(cid, skill, oldLevel, newLevel)
function onLook(cid, thing, position, lookDistance)
function onSendMail((cid, receiver, open, itemBox)
function onReceiveMail(cid, sender, open, itemBox)
function onTradeRequest(cid, target, item)
function onTradeAccept(cid, target, item)
function onTextEdit(cid, item, newText)
function onReportBug(cid, comment)
function onThink(cid, interval)
function onDirection(cid, old, current)
function onOutfit(cid, old, current)
function onStatsChange(cid, attacker, type, combat, value)
function onAreaCombat(cid, ground, position, aggressive)
function onPush(cid, target)
function onTarget(cid, target)
function onFollow(cid, target)
function onCombat(cid, target)
function onAttack(cid, target)
function onCast(cid, target)
function onKill(cid, target, damage, flags)
function onDeath(cid, corpse, deathList)
function onPreprareDeath(cid, deathList)

Globalne:
PHP:
function onStartUp()
function onShutdown()
function onGlobalSave()
function onRecord(current, old, cid)
function onTime(time)
function onThink(interval)

Wyt?umacz? funkcje g??wne, te najcz??ciej u?ywane...

PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
Mo?na to nazwa? "po klikni?ciu". Co to znaczy? Znaczy to, ?e po klikni?ciu na dan? rzecz, co? si? staje. Np. klikam na d?wignie i dostaj? 10gp.

PHP:
function onStepIn(cid, item, frompos, itemEx, topos)
Po wej?ciu na dan? kratk? co? si? dzieje.

PHP:
function onStepOut(cid, item, frompos, itemEx, topos)
Po wyj?ciu z danej kratki co? si? dzieje.

PHP:
function onSay(cid, words, param)
Po napisaniu danej wiadomo?ci co? si? dzieje.

PHP:
function onEquip(cid, item, slot)
Po w?o?eniu do np. plecaka co? si? dzieje.

PHP:
function onDeEquip(cid, item, slot)
Rzadko u?ywane, po wywaleniu czego? z np. plecaka co? si? dzieje.

PHP:
function onAddItem(cid, moveitem, tileitem, position)
Ja osobi?cie tej funkcji nigdy w ?yciu nie u?y?em, ale wydaj? mi si?, ?e u?ywamy jej gdy np. chcemy aby skrypt wywo?a? nast?puj?c? sytuacje:
k?adziemy plate armor na ziemi i dostajemy 500gp. Chyba. :>

PHP:
function onRemoveItem(cid, moveitem, tileitem, position)
Negatywnie do powy?szej funkcji.


Zgaduj?, ?e funkcji wt?rnych jest ponad 200, wi?c opisywanie wszystkich zaj??o by mi wieczno??. Aby nie rozci?ga? posta, umieszcz? je wszystkie w notatniku, kt?rego mo?ecie pobra? .


Okej. Teoria funkcji zosta?a przez Ciebie obalona! Gratuluj? :hah:. B?dziemy ich u?ywa? w poddziale "Pierwszy skrypt".


Zdarzenia
Na Twoim serwerze jest kilka rodzaj?w "zdarze?" (wybaczcie, ale nie wiem jak to nazwa? :().
Lista owych:
ACTIONS - tutaj si? praktycznie dzieje wszystko czego u?yjesz (na co klikniesz).
MOVEMENTS - gdy chcemy, aby nasz skrypt wykonywa? np. takow? akcje: wchodzisz na kratk? i bez ?adnego konkretnego powodu, giniesz.
CREATURESCRIPTS - zwi?zane z logowaniem, ?mierci?, wylogowaniem itp. gracza lub kreatury. Na starszych silnikach tego nie ma!
NPC - no raczej wiadomo.
SPELLS Wszelkie czary wykonywane na serwerze.
TALKACTIONS - wszystko co gracz m?wi. Tak te? si? robi komendy dla Goda (wiem, ?e si? podniecili?cie :p).

Wydaj? mi si?, ?e to wszystko na temat zdarze?, zatem przejd?my do nast?pnego poddzia?u.


If, Else, Elseif, Return, End
If, Else, Elseif, Return, End - czyli np. co ma si? sta?, je?li dana rzecz nie mo?e zosta? wykonana.
Najpro?ciej po prostu przet?umaczy? to na j?zyk polski.
If - je?li
Else - w innym wypadku (inaczej)
Elseif - przeciwnie, je?li
Return - powr?t (prawie zawsze si? tego u?ywa)
End - koniec. U?ywamy tego zawsze, aby zako?czy? sw?j skrypt.

Na razie skryptu pisa? nie b?dziemy, wi?c wyt?umacz? wam to w inny spos?b.
Napiszmy historyjk?, opieraj?c? si? o powy?sze "czynniki".
if (je?li) b?d? mia? wystarczaj?co du?o pieni?dzy, to pojad? do sklepu.
end
Notka: ka?dy if, musi posiada? sw?j w?asny end, o tym troch? p??niej.
Kontynuujmy historyjk?:
else (w innym wypadku) po?ycz? pieni?dze od kolegi.
Notka: else nie musi mie? w?asnego endu, to si? tak?e tyczy elseif'a i returna.
Kontynuuj?c:
elseif (przeciwnie, je?li) kolega nie b?dzie mia? pieni?dzy, to zapytam o nie siostr?.
Tak oto stworzyli?my historyjk?. Podsumowuj?c:
if b?d? mia? wystarczaj?co du?o pieni?dzy, to pojad? do sklepu.
else po?ycz? pieni?dze od kolegi.
elseif kolega nie b?dzie mia? pieni?dzy, to zapytam o nie siostr?.
return true
end
Return true - je?li zastosujemy "return false" to skrypt po prostu nie b?dzie dzia?a? tak jak b?dziemy chcieli.
Ko?czymy historyjk? typowym "the end'em" z tym, ?e tym razem omijamy "the" i wstawiamy tylko "end". ;)
Aha, by?bym zapomnia?. Teraz ostatni warunek "then". U?ywamy go po if'ie. "Then" po polsku, znaczy po prostu "nast?pnie". Nale?y go u?y? w takiej sytuacji:
PHP:
if doPlayerRemoveMoney(cid, 10) then

Bana?, co? No to przejd?my do nast?pnego poddzia?u.


Komentarze
Do naszego skryptu mo?emy doda? komentarze. Czasem s? bardzo pomocne.
Istniej? dwa typy komentarzy, d?ugi i kr?tki.
Kr?tkie umieszczamy po danej funkcji (najcz??ciej wt?rnej). Aby to zrobi?, musimy wstawi? dwa my?lniki po funkcji.
Na przyk?ad:
PHP:
doCreatureAddMana(cid, 5) -- tutaj Tw?j komentarz
Nie mog? one by? zbyt d?ugie, najlepiej ograniczajcie je tylko do jednego akapitu. Gdy komentarz jest d?u?szy, trzeba go umie?ci? w tych znacznikach:
PHP:
--[[
Tw?j komentarz
]]
Takowy komentarz mo?emy umie?ci? prawie wsz?dzie (oczywi?cie, nie w ?rodku funkcji, co by?oby ju? totaln? g?upot? :lol:).


Znaki wi?kszo?ci, mniejszo?ci i r?wno?ci
W tym poddziale nauczymy si? u?ywa? w?a?nie tych znak?w poprawnie. Teraz gdy ju? wiemy jak u?y? warunku if i funkcji, b?dzie nam o wiele ?atwiej to zrozumie?.
PHP:
if getPlayerLevel(cid) < 50 then
Czyli - je?li poziom gracza jest mniejszy (<) ni? 50 to...
PHP:
if getPlayerLevel(cid) > 50 then
Je?li poziom gracza jest wi?kszy (>) ni? 50 to...
PHP:
if getPlayerLevel(cid) <= 50 then
Je?li poziom gracza jest mniejszy lub r?wny (<=) 50 to...
PHP:
if getPlayerLevel(cid) >= 50 then
Je?li poziom gracza jest wi?kszy lub r?wny (>=) 50 to...
PHP:
if getPlayerLevel(cid) ~= 50 then
Je?li gracz nie posiada 50 lvl'a to skrypt zadzia?a.
PHP:
if getPlayerLevel(cid) == 50 then
Tylko je?li poziom gracza jest r?wny 50 skrypt zadzia?a.

To chyba tyle na temat specjalnych znak?w. Twoja wiedza ju? si? ca?kiem powi?kszy?a, co? :O


Zmienne Lokalne i Globalne
W skryptach u?ywamy "zmiennych lokalnych". Trudno to wyt?umaczy?, wi?c wyt?umacz? to w praktyce:
PHP:
local money = 10000
Chodzi o to, ?e gdy w danym miejscu wpiszesz "money" to zamiast w?a?nie tej frazy skrypt u?yje liczby "10000". Niewyobra?alnie przydatne gdy np. du?o razy w skrypcie u?yjemy liczby 10000, a chcemy j? zmieni? na 100. Wtedy zamiast szuka? tych dziesi?ciu tysi?cy, po prostu zmieniamy warto?? lokalnej money. Pro?ciutkie ;).
Natomiast tak si? u?ywa globalnej:
PHP:
globalna = 10000
Wtedy wsz?dzie zamiast "globalna" wy?wietli?o by si? "10000". Globalne troch? trudniej zrozumie?, ale z czasem do tego dojdziecie.


Pierwszy Skrypt
Nareszcie! Nie mog?e? si? tego momentu doczeka?, czy? nie? W tym poddziale napiszemy sw?j pierwszy, prawdziwy skrypt uwzgl?dniaj?c jedn? lokaln?! :eek:ps:

Okej, no, ale co by tu napisa?? Na pocz?tek co? prostego. Napiszmy skrypt dzi?ki kt?remu, po klikni?ciu na d?wignie gracz zostaje tutorem i dostaje 10000gp(1cc).

No to tak, zaczynamy od funkcji podstawowej:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
Tego w nawiasie nie zmieniamy.
Dobra, jest ju? funkcja podstawowa, to teraz dodajmy lokaln? od pieni?dzy, kt?re posta? dostanie (1cc).
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
  local money = 10000
Super, mamy ju? lokaln? i funkcje podstawow?. Niestety skrypt na razie nie b?dzie dzia?a?, bo nie okre?lili?my, itemu, po kt?rym dana czynno?? si? wydarzy. W tym wypadku jest to d?wignia (id 1945).
A wi?c dodajemy funkcje wt?rn? z warunkiem.
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
  local money = 10000
 
   if item.itemid == 1945 then
Ja?niej: "je?li id itemu to 1945 to...
No to teraz trzeba doda? funkcje wt?rne, ?eby gracz zosta? tutorem i dosta? 1cc.
Po edycji, Tw?j skrypt powinien tak oto wygl?da?:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
  local money = 10000
 
   if item.itemid == 1945 then
   setPlayerGroupId(cid, 2)
   doCreatureAddMoney(cid, money)
   doPlayerSendTextMessage(cid,22,"Well done, you're a tutor now!")
Wyja?nienie: "setPlayerGrupId(cid,2)" oznacza to samo co "zmie? rang? gracza". W nawiasach "(cid,2)" ustawiamy rang?, czyli 2 kt?ra jest r?wnoznaczna z pozycj? tutora. "cid" to po prostu nasza posta?, bardzo cz?sto si? tego u?ywa.
"doCreatureAddMoney(cid,money)" - znaczy to "dodaj graczowi pieni?dzy". Cid, ju? wiemy, a "money" to lokalna kt?rej u?yli?my wcze?niej.
Natomiast "doPlayerSendTextMessage(cid,22,"Well done, you're a tutor now!") znaczy "gracz wysy?a wiadomo??". Cid - teraz wiadomo co to znaczy, a wi?c przejd? do reszty. 22 - kolor tekstu kt?ry zostanie wys?any przez gracza (ja da?em 22, czyli ???ty). Tekst umieszczony w cudzys?owie jest wiadomo?ci? kt?ra zostanie wys?ana przez gracza.

Nasz skrypt jest ju? teoretycznie sko?czony, ale dodajmy jeszcze par? rzeczy. Zr?bmy tak, ?eby d?wigni mog?a u?ywa? osoba tylko z poziomem 50, lub wy?szym. Aby to zrobi? musimy zedytowa? nasz pierwszy warunek na:
PHP:
if item.itemid == 1945 and getPlayerLevel(cid) >= 50 then
"And" to najzwyklejsze "i" a "getPlayerLevel(cid) znaczy "level gracza". Cid wiadomo. P??niej mamy ">= 50". Mieli?my ju? o tym w innym poddziale, ale dla przypomnienia. "Je?li poziom gracza jest wi?kszy, lub r?wny 50 to...". :)

Teraz nasz ca?y skrypt powinien wygl?da? w ten spos?b:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
  local money = 10000
 
   if item.itemid == 1945 and getPlayerLevel(cid) >= 50 then
   setPlayerGroupId(cid, 2)
   doCreatureAddMoney(cid, money)
   doPlayerSendTextMessage(cid,22,"Well done, you're a tutor now!")
?wietnie. Teraz musimy doda? warunek "else" (inaczej), ?eby okre?li? co si? stanie je?li gracz nie ma 50 poziomu. No wi?c dodajemy to do skryptu:
PHP:
else
		doPlayerSendCancel(cid,"You don't have the required level to use this.")
Else - ju? wiecie co to znaczy. Funkcja pod warunkiem po prostu zatrzyma skrypt, tak aby nie zosta? on wykonany. Oczywi?cie, dzieje si? tak tylko je?li gracz nie posiada 50 poziomu.

Nasz skrypt wygl?da tak:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
  local money = 10000
 
   if item.itemid == 1945 and getPlayerLevel(cid) >= 50 then
   setPlayerGroupId(cid, 2)
   doCreatureAddMoney(cid, money)
   doPlayerSendTextMessage(cid,22,"Well done, you're a tutor now!")
   
     else
		doPlayerSendCancel(cid,"You don't have the required level to use this.")
Hmmmm.... co? tu jest ?le. No tak! Zapomnieli?my o zako?czeniu (end) i powrocie (return true). A wi?c dodajmy je do skryptu:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
  local money = 10000
 
   if item.itemid == 1945 and getPlayerLevel(cid) >= 50 then
   setPlayerGroupId(cid, 2)
   doCreatureAddMoney(cid, money)
   doPlayerSendTextMessage(cid,22,"Well done, you're a tutor now!")
     
       else
		doPlayerSendCancel(cid,"You don't have the required level to use this.")
   end
return true
         end
Dlaczego s? dwa ko?ce? Nie zapominajmy, ?e ka?dy if te? musi posiada? sw?j w?asny end.

Teraz, ?eby skrypt poprawnie zadzia?a?, trzeba doda? tak? linijk? do actions.xml:
PHP:
<action actionid="eg. 5236" event="script" value="Tutorquest.lua"/>


Gratulacje! W?a?nie napisa?e? sw?j pierwszy skrypt! Mo?esz teraz przej?? do nast?pnego poddzia?u.


P?tle
Pewnie zastanawiacie si?, dlaczeg?? to nie umie?ci?em tak zwanych "p?tli" w skrypcie kt?ry napisali?my powy?ej. Niestety, ale nawet ja nie umiem si? nimi do ko?ca pos?ugiwa?. Znam podstawy, kt?rymi si? z wami ch?tnie podziel?. :)

Nie umiem wyt?umaczy? czym one s?, wi?c po prostu przer?bmy to w praktyce.
To jest p?tla for:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	for var = 1,4 do 
		print(var) 
	end
	return true
end
for var = 1,4 do - to jest nasza p?tla.
print(var) - wydrukuje nam liczby 1-4 (1, 2, 3, 4).
Ka?da p?tla posiada swoj? w?asn? zmienn?, nie mo?e ona wygl?da? w ten spos?b:
PHP:
for var = -1,-4 and var = 1,4 do
Je?li chcia?by?, ?eby Twoja p?tla tak podzia?a?a to musia?by? to zrobi? w ten spos?b:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
  for a = -1,-4 and b = 1,4 do
  print(a ..', ' .. b ..'' || ')
  end
	return true
end
Warto wspomnie?, ?e ka?da p?tla potrzebuje w?asnego end'u.

Teraz u?yjmy p?tli w skrypcie. Za???my, ?e piszemy skrypt, w kt?rym posta? dostaje backpack, a w ?rodku owego znajduj? si? 3 takie same rzeczy.
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local backpack = doPlayerAddItem(cid, 1988, 1)
	for a = 1,3 do
		doAddContainerItem(backpack, 2160, 100)
	end
	return true
end


Teraz troch? na temat p?tli "while"
While, po polsku "podczas".
W praktyce to wygl?da tak:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	while getPlayerLevel(cid) < 100 do
		doPlayerSendTextMessage(cid,22,"You need to reach level 100!")
	end
	return true
end
P?tla while sprawi, ?e wiadomo?? b?dzie wysy?ana, p?ki gracz nie osi?gnie setnego poziomu. While s? prawdopodobnie najprostszymi p?tlami.

P?tle Repeat
P?tla "Reapeat" to praktycznie to samo co "while" z tym, ?e p?tla b?dzie si? powtarza? co najmniej raz a dopiero po tym warunek jest sprawdzany.
Przyk?ad:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local loop = 0
	repeat
		doPlayerSendTextMessage(cid, 22, "I'm still looping.")
		loop = loop + 1
	until loop > 2
        return true
end
Tej p?tli nie b?dziecie zbyt cz?sto u?ywa?.


Koniec
W ko?cu! Nawet nie mo?ecie sobie wyobrazi?, ile czasu sp?dzi?em na pisaniu tego poradnika. Mam nadziej?, ?e Twa wiedza na temat lua si? teraz znacznie powi?kszy?a i umiesz napisa? chocia? prosty skrypt, tak jak zak?ada?em na pocz?tku tego przewodnika.
Na koniec chcia?bym jeszcze przypomnie?, o prawach autorskich (prosz? si? do moich zalece? stosowa?).
By nie wyj?? na z?ego dupka, powiem, ?e par? informacji o p?tlach ?ci?gn??em z poradnika Evil Hero na Otlandzie. Poradnik jest po Angielsku, wi?c du?o ludzi mia?oby problem ze zrozumieniem go, natomiast ja udost?pni?em go w innej wersji, po Polsku.
Szczerze m?wi?c, to przyjemnie pisa?o mi si? ten artyku?.

Czy kto? doceni m? prac?? Tego nie wiem, licz? na was dziubaski!


Pozdrawiam!
 

xKrysteKx

Advanced User
Joined
Oct 5, 2010
Messages
250
Reaction score
29
Odp: Przewodnik po lua!

Poradnik bardzo pi?kny. Jest on napisany przejrzy?cie i bardzo prosto wyt?umaczony. Teraz moim zdaniem ka?dy newbie, kt?ry b?dzie si? bra? za lua powinien przeczyta? ten poradnik.
Oby tak dalej!

Pozdrawiam xKrysteKx!
 

Placek

Blue Waffle
Joined
Sep 30, 2008
Messages
6,793
Reaction score
672
Age
9
Odp: Przewodnik po lua!

Z samego czytania skryptow sie nauczylem w sumie wiekszosci z tego co w poradniku. Przydalo mi sie popatrzec na petle.
Ogolnie wszystlo ladnie i przejzyscie, wypisane najwazniejsze rzeczy i lopatologicznie wytlumaczone co z czym sie je. Z tak historyjka "if bede meic pieniadze". Dobry pomysl na tlumaczenie, napewno latwiej zrozumiec takie cos pierwszy raz niz jak pierwszy skrypt ktory widzisz ma jakies (cid, monay).
Oczywiscie wypisane i opisane najwazniejsze i najczesciej uzywane funkcje, mysle ze bede tu zagladac jak nie bede czegos pamietac. Poradnik fajny.
Zrobisz moze dalsza czesc o tabelach i czyms jeszcze? Przydalo by sie do pisania lepszych skryptow.
Dodatkowo mogl bys opisac, jak pisac zeby byly skrypty przejrzyste i jak najbardziej wydajne.
 

xElf

Advanced User
Joined
Apr 6, 2011
Messages
364
Reaction score
48
Odp: Przewodnik po lua!

No w?a?nie o tablicach zapomnia?em, ale sama wiedza o zmiennych wystarczy. P??niej widz?c skrypty innych u?ytkownik?w, sami zrozumiecie o co w nich chodzi.

@down
Jak zaczyna?em lua to te? czyta?em tamte poradniki i szczerze m?wi?c niczego z nich nie zrozumia?em. ?eby porz?dnie pisa? musia?em przeczyta? te na otlandzie kt?re s? tylko i wy??cznie w wersji angielskiej, co znaczy, ?e po?owa u?ytkownik?w mia?a by problemy ze zrozumieniem owych.
Napracuj? si? i widz? takie komentarze... Dzi?kuj?, panie egoisto - teraz ju? wiem dlaczego spo?eczno?? tego forum ucieka.
@edit2
Bardzo si? ciesz?.
 
Last edited:

AnimaXxX

Advanced User
Joined
Mar 25, 2011
Messages
195
Reaction score
27
Odp: Przewodnik po lua!

S? ju? takie poradniki na forum, nawet lepsze:(
W sumie nie wiem po co komu takie poradniki, w??czasz dokumentacje i masz lepiej opisane ^^

#edit
Twoje PW mnie rozbawi?o : D
 
Last edited:

xElf

Advanced User
Joined
Apr 6, 2011
Messages
364
Reaction score
48
Odp: Przewodnik po lua!

Refresh!
 

xElf

Advanced User
Joined
Apr 6, 2011
Messages
364
Reaction score
48
Odp: Przewodnik po lua!

Refresh, nikt nie skomentuje? ;(
 

Koldo

New User
Joined
Oct 14, 2010
Messages
1
Reaction score
0
Odp: Przewodnik po lua!

Super poradnik! Dzi?ki niemu napisa?em ju? trzy w pe?ni dzia?aj?ce skrypty! Dzi?ki!
 

Broob

Active User
Joined
Nov 10, 2010
Messages
53
Reaction score
10
Age
28
Odp: Przewodnik po lua!

Ja si? dawno w tym bawi?em i dzi?ki temu poradnikowi przypomnia?em sobie wszystko. Super, dzi?ki :D

Poradnik estetycznie napisany, dobre przedstawienie przyk?ad?w i super wyt?umaczy?e? wszystko.

Regards,
Broob :)
 

Barrid

User
Joined
Aug 4, 2011
Messages
37
Reaction score
5
Odp: Przewodnik po lua!

Jest to dosy? kompletny poradnik na temat skryptowania w lua. Na pewno b?dzie dobr? ?ci?g? dla m?odych skrypter?w, kt?rzy jeszcze nie do ko?ca zapami?tali sk?adni? j?zyka oraz nie znaj? wszystkich funkcji. Wida?, ?e postara?e? si? z tym poradnikiem. Oby wi?cej takich.
 
Joined
Jun 16, 2008
Messages
32
Reaction score
1
Odp: Przewodnik po lua!

Super, poradnik zmotywowa? mnie do nauki Lua. ;] Dzi?kuje dopiero zaczynam przygod? i mam nadzieje ?e nie pr?dko sko?cz?. ;)
 

Scutcher

Active User
Joined
Jun 23, 2011
Messages
109
Reaction score
25
Odp: Przewodnik po lua!

Super!? Nie Skomentuje tak...

Poradnik w miar? dobrze napisany, bo ?aden poradnik nie jest opisany w 100% idealnie. Estetyka jest, itp itd etc. Fajnie :)
 

Niunio

Advanced User
Joined
Feb 15, 2010
Messages
154
Reaction score
12
Odp: Przewodnik po lua!

Mo?e by rozszerzy? swoj? wiedz? programistyczn?, wzi?? si? za lua? ^^
?wietnie elfie Ty... Najlepszy poradnik z tych wszystkich, kt?re napisa?e?.
Troch? s?abo z etyk? (rotfl, odegra?em si?), ale prze?yjemy, Czekam na wi?cej.
 

Xentaziz

Advanced User
Joined
Nov 20, 2010
Messages
162
Reaction score
19
Odp: Przewodnik po lua!

My?la?em, ?e jestem szcz??liwym cz?owiekiem, robi? najlepsze poradniki. Wszed?em tutaj aby obczai? jak s?abo sobie radzi konkurencja. Dopiero kiedy ujrza?em Tw?j poradnik wiem jak na prawd? wygl?da definicja zajebisto?ci. Bosko, nieziemsko, grubo to tylko n?dzne s??wka w por?wnaniem z prac? kt?r? wykona?e?. Pozwol? sobie wymieni? pozytywy i ewentualne negatywy (mo?e si? doszukam jednak?e sam w to nie wierz?), wi?c:
Pozytywy:
- Poradnik na temat,
- Wypisane najwa?niejsze rzeczy jak i te szczeg??owe,
- Zachowana estetyka,
- Prawid?owe przedstawienie przyk?ad?w,
- Dodatkowe informacje od autora,
- Pe?na kultura autora do komentarzy u?ytkownik?w forum,
- Artyku? przedstawiony w 100% po polsku,
- Przewodnik napisany samodzielnie (z [bardzo!] niewielk? pomoc? Evil Hero,
Negatywy:
- Brak.

Chcia?bym doda?, ?e uiszczaj?c m?j post jestem na prawd? pod wra?eniem, dzi?ki Tobie zyska?em ca?y kosz wiedzy co za tym idzie jestem o kolejne procenty szcz??liwszym cz?owiekiem. Nawet nie wiesz ile dobrego zrobi?e? dla wielu z nas, po?wi?caj?c swoje cenne godziny na stworzenie owego, idealnego poradnika.
Pozdrawiam, z niecierpliwo?ci? oczekuj? kolejnych poradnik?w, kt?re wysz?y spod Twego pi?ra (b?d? klawiatury & myszki). Wiedz, ?e odwiedzam tnet tylko ze wzgl?du na Twoje dzie?a! Wi?cej, wi?cej takich ludzi jak Ty a ?wiat b?dzie lepszym miejscem!
 

Kasti

User
Joined
Aug 17, 2011
Messages
16
Reaction score
0
Odp: Przewodnik po lua!

skuper naprawde sie przyda?
 

Caliber

Active User
Joined
Jan 26, 2011
Messages
123
Reaction score
1
Odp: Przewodnik po lua!

Mam do Cb pytanie :DD Czy m?g?bym u Cb zacz?c nauk? ? Naprawd? poradnik jest pi?kny.. By?bym wdzi?czny jakby? napisa? jeszcze 1 ;D. Dzi?kuj? i pozdro dla autora.
 

xElf

Advanced User
Joined
Apr 6, 2011
Messages
364
Reaction score
48
Odp: Przewodnik po lua!

no raczej m?g?bym Ci w paru rzeczach pom?c, ale je?li ju? to po wakacjach... Pisz na gadu 366937 to si? zgadamy i om?wimy spraw?.
 

Dubler

Lua Factory =)
Joined
Apr 8, 2009
Messages
1,874
Reaction score
112
Odp: Przewodnik po lua!

jak taki z Ciebie cwaniak to zrob poradnik o object lua -.-
 

xElf

Advanced User
Joined
Apr 6, 2011
Messages
364
Reaction score
48
Odp: Przewodnik po lua!

Ale ja wcale nie cwaniakowa?em xdd O co Ci w og?le chodzi?
 

Aire Zena

Active User
Joined
Aug 23, 2010
Messages
126
Reaction score
3
Odp: Przewodnik po lua!

Fajny poradnik. Na 100% z niego si? czego? naucz? nowego.
Przyda? mi si? :)
 
Top