Spis tre?ci:
1. Co to w og?le jest?
2. Co to znaczy dla nas, u?ytkownik?w?
3. Gdzie jest ten system?
4. Przyk?adowe skrypty.
1. Co to w og?le jest?
2. Co to znaczy dla nas, u?ytkownik?w?
3. Gdzie jest ten system?
4. Przyk?adowe skrypty.
Na pocz?tek wyjasnie mo?e co to w og?le jest revscriptsys:
1.Co to w og?le jest?
Revscriptsys jest ga??zi? OTServ, jego celem jest poprawienie mo?liwo?ci pisania skrypt?w. Jedna z wa?niejszych zmian jest to, ?e wszystkie funkcje lua przedstawione s? w jako klasy, a nie wolne funkcje. Dzi?ki temu struktura bardziej logiczna.
1.1. Obiekty.
W reverscriptsys przedmioty, pod?o?a, gracze itp. przedstawione s? jako obiekty:
Kod:
item = createItem(2543) -- Tworzenie przedmiotu
item:setCount(88) -- zmiana ilo?ci powyzszego przedmiotu
Przyk?ad pobierania najwy?ej po?o?onego przedmiotu z pod?o?a o danej pozycji:
Kod:
tile = map:getTile(1024, 1024, 7) -- pobieranie pod?o?a z pozycji 1024, 1024, 7
item = tile:getTopItem() -- oraz najwy?ej po?o?onego przedmiotu
Aby wywo?a? obiekt u?ywamy operat?w:
- nak?adanieprzedmiot?w: gdy na?o?one zostan? dwie kupy ;p przedmiot?w (np. 2 razy 10 sztuk monet w jedna kupe 20 sztuk) to jeden z obiektow zostanie zniszczony (ten kt?ry nie zosta? okre?lony)
- wylogowanie gracza: Gdy gracz robi relog, to wszystkie rzeczy jakie nosi trac? odniesienie.
- "." - np. Player.addMoney(player, 100) - dodaje pieni?dze dla gracza; Player to obiekt, a player to gracz kt?ry kas? otrzyma.
- ":" - np. player:addMoney(100) - jak wy?ej, tym razem player to gracz, kt?ry otrzyma kas?.
1.2. Eventy
Revscriptsys posiada zaawansowany system event?w, pozwala to na powi?zanie(?) event?w na starcie i modyfikacji ich parametr?w.
Event'y powi?zane s? za pomoc? funkcji rejestracji. Przyjmuj? one kilka parametr?w, kt?re okre?laj? jak 'the listener works' (wybaczcie, nie wiem jak to przet?umaczy? ;/) i funkcja zwrotna, kt?ra zostanie wywo?ana gdy wyst?pi okre?lone zdarzenie.
Kod:
function testCallback(event)
-- Zrobi co? gdy gracz powie "test event"
end
-- Argumenty s? w porz?dku, typ dopasowania (w dowolnym miejscu w wiadomo?ci)
-- cAsE sensitivity, the string to look for and the callback function (tu tak?e wybaczcie)
registerGenericOnSayListener("substring", false, "test event", testCallback)
1.3. Spis funkcji i event?w.
No dobrze, teraz wiemy ju? na czym stoimy. Dla ciekawskich zamieszczam spis funkcji, event?w:
Spis funkcji:
List of Lua Functions/revscriptsys - OpenTibia Fans
Spis event?w:
List of Lua Events - OpenTibia Fans
2. Co to znaczy dla nas, u?ytkownik?w?
Zaczn? od prawdopodobnie najgorszej wie?ci:
Jak widzicie pisania skrypt?w drastycznie si? zmieni, s?owa Elfa idealnie oddadz? sytuacj? ma?o zaawansowanych skrypter?w:Zaczn? od prawdopodobnie najgorszej wie?ci:
Remere napisał:Oh, and revscriptsys will break backwards compatibility. So be ready for it!![]()
Pewnie zadajecie sobie pytanie: "Czy s? dobre strony tego systemu?".Elf napisał:Obawiam si? przez to, gdy w ?ycie wejdzie revscriptsys odpadnie 98% potencjalnych pseudoskrypter?w i zostanie tylko garstka ludzi, kt?ra tak naprawd? co? umia?a i b?dzie umie?.
Ot?? pozwol? sobie wyrazi? moj? opini? na ten temat. Przede wszystkim rola skryptera na OTSie jest najwa?niejsza, wi?c osoby na tym stanowisku s? bardzo po??dane. Jak wida?, coraz cz??ciej na to stanowisko zg?aszaj? si? ludzie m?odzi, posiadaj?cy znikom? wiedz? na ten temat. Dzi?ki nowemu systemowi, skrypter b?dzie jeszcze bardziej warto?ciow? osob? w dru?ynie, na co jak najbardziej zas?uguje. Oczywi?cie dzi?ki revscriptsys mo?liwo?ci b?d? o wiele wi?ksze, co na pewno wyjdzie na dobre. Ok, nie przed?u?ajmy.
3. Gdzie ten system?
Pewne jest to, ?e znajdzie si? w silniku OTServ w wesji 0.7.0.
Prawdopodobnie b?dzie w najnowszym TFSie (0.4).
Mo?na go tak?e ?ci?gn?? z tej strony:
SourceForge.net Repository - [opentibia] Index of /otserv/branches/revscriptsys2
Te? uwa?acie, ?e skan jest niepotrzebny? =)
oraz w nowym systemie:
Dzi?kuj? za uwag? i pozdrawiam,
Deaven.
Credits:
Autor: Deaven
Zr?d?o: OTFans.net
Zabraniam kopiowania na inne fora. Temat za?o?ony specjalnie dla tibia.net.pl!
PS popracuje nad efektem wizualnym
Pewne jest to, ?e znajdzie si? w silniku OTServ w wesji 0.7.0.
Prawdopodobnie b?dzie w najnowszym TFSie (0.4).
Mo?na go tak?e ?ci?gn?? z tej strony:
SourceForge.net Repository - [opentibia] Index of /otserv/branches/revscriptsys2
Te? uwa?acie, ?e skan jest niepotrzebny? =)
4. Przyk?adowe skrypty.
Skrypt talkactions napisany 'normalnie':
Kod:
function onSay(cid, words, param, channel)
--- words = "/emote"
local text_color = TEXTCOLOR_DARKYELLOW
local separator = "*"
local pos = getCreaturePosition(cid)
if(param ~= '') then
doSendAnimatedText(pos, separator..param..separator, text_color, cid) -- pos
end
return true
end
Kod:
local separator = "*"
local function emoteTxt(event)
local param = event.text:sub(7)
if param then
sendAnimatedText(event.creature:getPosition(), separator..param..separator, TEXTCOLOR_DARKYELLOW)
end
end
registerOnSay("beginning", false, "/emote", emoteTxt)
Eot.
To ju? koniec mojego tematu, mam nadziej?, ?e zyskali?cie dzi?ki niemu troch? wiadomo?ci. Trzeba si? przygotowa? na now? epok? w ?wiecie Open Tibia. Mam tak?e kilka pyta? do [USER]Elf[/USER]a:
- Czy nawi?zali?cie wsp??prac? (z otfans)nad tym systemem?
- Zak?adaj?c, ?e w TFS 0.4 b?dzie nowy system, to czy starsze wersji (0.3/0.2) b?d? dalej rozwijane?
- Uwa?asz, ?e jest to milowy krok dla OTS?w?
- otservlist.org na otlandzie? WTF?
Dzi?kuj? za uwag? i pozdrawiam,
Deaven.
Credits:
Autor: Deaven
Zr?d?o: OTFans.net
Zabraniam kopiowania na inne fora. Temat za?o?ony specjalnie dla tibia.net.pl!
PS popracuje nad efektem wizualnym



