What's new

-Łatwy Linki pomocne skrypterom

De Javu

Advanced User
Joined
Apr 4, 2008
Messages
150
Reaction score
20
Witam​

W tym temacie dam wam par? przydatnych link?w, dzi?ki kt?rym ka?dy b?dzie m?g? zobaczy? na czym polegaj? LUA, XML, SQL, C++ czyli tak zwane j?zyki programowania.

Wikipedia:





\m/ kul \m/

LUA​
1. Czym jest lua?
2. Do czego wykorzystujemy lua w OTSach?
3. Jak napisa? skrypt lua? Podstawy.

1. Czym jest lua?

Lua jest j?zykiem programowania pierwotnie zaprojektowanym dla rozszerzenia funkcjonalno?ci r??nych aplikacji, jednak cz?sto u?ywany jest 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.
?r?d?o:

Tak wi?c, najnormalniej, najzwyklej, po ludzku lua to j?zyk programowania znany ze swojej prostoty i wydajno?ci.

2. Do czego wykorzystujemy lua w OTSach?

W OTSach lua jest jednym z podstawowych j?zyk?w programowania.
J?zyki OTSa:
OTS = C++ sk?adaj?ce si? z dokument?w XML zawieraj?cych (w wi?kszo?ci) odno?niki do lua.

Konkretniej, j?zyk lua jest wykorzystywany w skryptach
- akcji (actions)
- czar?w (spells)
- przemieszczania (movements)
- npc (skrypty do npc)
- akcji s??w (niedos?ownie talkactions)
- innych (config, global itd.)*---------------\/
jednak ka?dy ze skrypt?w lua opr?cz innych* musi by? "podpi?ty" pod odpowiedni dokument XML, ale za to ?aden dokument XML nie musi mie? skryptu lua.

3. Jak napisa? skrypt lua? Podstawy.

Code:
Dobrym plikiem lua, kt?ry jest w otsie, a kt?ry si? przyda do pisania skrypt?w, to global.lua (w folderze data).

Zacznijmy od skryptu akcji (actions).

Code:
[COLOR="#ff0000"]function onUse(cid, item, frompos, item2, topos)[/COLOR]

[COLOR="#0000ff"]doPlayerSay[/COLOR](cid, "[COLOR="SeaGreen"]Napisalem skrypt lua![/COLOR]", 16)
end

I teraz tak:
*Na czerwono zaznaczy?em pocz?tek skryptu - tak zaczyna si? prawie ka?dy skrypt lua z u?yciem. Istniej? r?wnie? inne rodzaje, np. onStepIn (funkcja nadepni?cia) itp. Wa?ne, ?eby zawsze skopiowa? ten pocz?tek do skryptu "z u?yciem". Wa?ne! BEZ TEGO POCZ?TKU SKRYPT NIE B?DZIE DZIA?A?!!!
*Na niebiesko zaznaczy?em FUNKCJ?. Jest to najwa?niejsza cz??? skryptu. Ona opisuje co ma si? wydarzy?. Dla ludzi ze znajomo?ci? podstaw angielskiego, edytowanie skrypt?w nie powinno sprawia? trudno?ci.
>doPlayerSay w wolnym t?umaczeniu znaczy "zr?bGraczPowiedz" <--- mimo tej dziwnej sk?adni chyba wszyscy wiemy o co chodzi?

*Na zielono zaznaczy?em atrybuty funkcji. Opisuj? one konkrety funkcji, oddziela si? je przecinkami. Ten sk?ada si? akurat z:

cid - nie za bardzo wiem o co chodzi, to jest jak umlaut czasownika twardego w niemieckim - do ka?dego skryptu musisz zapami?ta? w?asny "przedrostek".

"Napisa?em skrypt lua!" - tutaj jest tekst kt?ry gracz ma "zrobi?GraczPowiedzie?", czyli po prostu powiedzie?. To mo?e by? "lol", "Nabuchodonozor Drugi", "Je$t3M SwEeT", ale nie mo?e by?: "Nabuchodonozor Drugi d??y? do podboju Egiptu", poniewa? "d??y?" zawiera polskie litery.

16 - tutaj nie mo?na domy?le? si? o co chodzi, trzeba po prostu wiedzie?. Wiedzie?, ?e to jest KOLOR. Kolory oraz inne przydatne rzeczy s? w?a?nie zawarte w global.lua, w tym przypadku:
Code:
TALKTYPE_SAY = 1
TALKTYPE_WHISPER = 2
TALKTYPE_YELL = 3
TALKTYPE_PRIVATE = 4
TALKTYPE_CHANNEL_Y = 5
TALKTYPE_BROADCAST = 9
TALKTYPE_CHANNEL_R1 = 10
TALKTYPE_PRIVATE_RED = 11
TALKTYPE_CHANNEL_O = 12
TALKTYPE_CHANNEL_R2 = 14
[COLOR="#ff8c00"]TALKTYPE_ORANGE_1 = 16[/COLOR]
TALKTYPE_ORANGE_2 = 17

Jest to kolor pomara?czowy, odcie? 1.

*I na pomara?czowo zaznaczy?em koniec. "end" to po angielsku koniec - chyba ka?dy to wie. Ale nie ka?dy wie, ?e "end" w lua nie oznacza ko?ca SKRYPTU, a jedynie koniec FUNKCJI. W bardziej z?o?onych skryptach "end" pojawia si? kilkadziesi?t, kilkaset razy!


Dobrze. To koniec skryptu.
Zapisujemy go w data/actions/scripts jako posag.lua (tu te? odradzam polskich znak?w).
W??czamy OTSa. I co? Nie dzia?a.
Dlaczego?
Poniewa? musimy go, jak ju? wspomnia?em, PODPI?? pod dokument XML. W tym przypadku actions.xml. Znajduje si? on w data/actions. Otwieramy go za pomoc? notatnika i mi?dzy:

Code:
<?xml version="1.0"?>
<actions>

a

Code:
</actions>

wklejamy:

Code:
<action itemid="xxxx" script="posag.lua" />

wtedy po klikni?ciu na item o ID xxxx wy?wietli si? nad nasz? g?ow? tekst albo wklejamy

<action uniqueid (lub actionid)="xxxx" script="posag.lua" />

wtedy po klikni?ciu na przedmiot (byle jaki) o uniqueid (lub actionid), kt?re mo?emy ustawi? w MapEdytorze r?wnym xxxx wy?wietli si? nad nasz? g?ow? tekst.

Download:
-- to plik w notatniku ze wszystkimi funkcjami.
 
Last edited:

Aleq

Active User
Joined
Apr 7, 2008
Messages
87
Reaction score
4
Poradnik ?wietny. Na pewno wielu osobom si? przyda (mi?dzy innymi mi ;]) Brawo!
 
Last edited:
I

Ivellios

Guest
o_O no i czegos sie dowiedzialem :D Teraz zaczne pisac wlasne skrypty :) tylko fajnie jakbym jeszcze wiedzial jak movements i talkactions sie pisze ;)
 

jakosss

User
Joined
Sep 14, 2008
Messages
17
Reaction score
0
Odp: [OT] Pomocne linki

Odp: [OT] Pomocne linki

swietny poradnik, przyda sie :) nie tylko mi
 

Ziutekk

New User
Joined
Nov 12, 2008
Messages
1
Reaction score
0
Odp: [OT] Pomocne linki

Odp: [OT] Pomocne linki

Pomocne te linki tnx, ?e je zamie?ci?e?!!!
 

Merival

User
Joined
Nov 15, 2008
Messages
36
Reaction score
0
Odp: [OT] Pomocne linki

Odp: [OT] Pomocne linki

?adnie ?adnie troche sie z tego dowiedzia?em :p
Pomocny poradnik dla Nowincjuszy
 

Assassin2

User
Joined
Nov 1, 2008
Messages
36
Reaction score
3
Odp: [OT] Pomocne linki

Odp: [OT] Pomocne linki

Widz? ?e wszytko jest ?adnie opisane i zrozumiale dla ka?dego :D na pewno przyda si? nie jednej osobie. Super ?ycz? wi?cej takich poradnik?w... ;)
@Ocena 10/10
Pozdrawiam...
 

Valerian

User
Joined
Jul 25, 2008
Messages
19
Reaction score
2
Odp: [OT] Pomocne linki

Odp: [OT] Pomocne linki

Super temat pomog?e? mi bardzo oceniam cie 10/10 a tak jak napisa? Admin movements i talkactions te? by mi si? przyda?o wiedzie? jak si? to robi to tyle co chcia? bym wiedzie?.
 

szeryfosw

Active User
Joined
Nov 8, 2008
Messages
83
Reaction score
5
Odp: [OT] Pomocne linki

Odp: [OT] Pomocne linki

Poradnik bardzo mi si? podoba, tak jak innym forumowiczom. Bardzo szczeg??owo opisany, estetycznie. Mam nadzieje ?e przyda si? nie jednej osobie. Reput dla Ciebie.
 

daveon

User
Joined
Apr 12, 2008
Messages
21
Reaction score
0
Odp: [OT] Pomocne linki

Odp: [OT] Pomocne linki

,,This file is deleted'' mo?e kto? da? ten pliczek jeszcze raz na speedshare ?
 

amnestic

New User
Joined
Apr 23, 2009
Messages
1
Reaction score
0
Odp: [OT] Linki pomocne skrypterom

Odp: [OT] Linki pomocne skrypterom

Ja prosi?bym o wstawienie tego pliku, o aktualizacje gdy? link wygas?...^^ z g?ry dzi?kuj?.

PS. przyda?y by si? komendy, co jak zrobi? np ?eby m?wi?, chodzi?, czy co? w tym stylu. Komendy do pisania.
 

Maksiorek

New User
Joined
May 21, 2009
Messages
4
Reaction score
0
Odp: [OT] Linki pomocne skrypterom

Odp: [OT] Linki pomocne skrypterom

Naprawd? ?wietny poradnik!!! Dzi?kuj? za wstawk?..:D


@Edit nie zauwa?y?em ?e wygas? link...;/ Jakby m?g? kto? wstawi?, by?bym bardzo wdzi?czny.
 

bikez

New User
Joined
Aug 6, 2009
Messages
2
Reaction score
0
Odp: Linki pomocne skrypterom

?wietne w?a?nie takiego czego? szuka?em.Bardzo mi si? to przyda.Oby tak dalej.:up:
 

dinots

Active User
Joined
Dec 30, 2008
Messages
52
Reaction score
6
Odp: Linki pomocne skrypterom

Poprosz? o rehosta^^ Bo niestety plik usuni?ty:/

Ok, ju? nie trzeba, znalaz?em to w plikach otsa^^ No chyba, ?e masz to przet?umaczone na polski^^ (chocia? mi to nie potrzebne:p)
 
Last edited:
Top