Miziak
Advanced User
- Joined
- Sep 16, 2008
- Messages
- 175
- Reaction score
- 27
Apeluj? o dok?adne czytanie tego postu bo nie chce czyta? komentarzy takich jak kolegi ni?ej wiem, ?e temat ju? by? co zaznaczy?em w tym te? po?cie ale, zaznaczy?em te? z jakiego powodu napisa?em ten bli?niaczy tamet
Pewnego dnia przeczyta?em ten temat: http://tibia.net.pl/globalevents/104369-7-92-kolorowe-napisy-nad-roznymi-rzeczami.html zapragn??em mie? takie co? na swoim otsie ale, ?e tak si? wyra?? dupa to jest tylko pod SQL a ja mam swojego XML'a z kt?rym nie chc? si? rozstawa? wiec zacz??em poszukiwa? rozwi?zania i w skryptach NPC znalaz?em co? takiego:
A wi?c ca?y skrypt polega na stworzeniu map edytorem gdzie? w podziemiach(je?li chcemy zachowa? dyskrecj?) lub na powierzchni NPC'a o nazwie "Efekt" i po odpowiedniej edycji skryptu da nam nast?puj?cy efekt:
Dobra nie b?d? tak gada? bez celu w niesko?czono?? pora na skrypt wiec:
W data\npc\scripts tworzymy plik efekciarz.lua i wklejamy w nim to:
A w data\npc dodajemy plik efekt.xml i wklejamy do niego:
Oczywi?cie mo?emy dodawa? w?asne napisy dodaj?c now? zmienn? skryptowi:
Pomi?dzy to a to:
Wklejaj?c:
Wydaje mi si?, ?e proste;p
Aha, zapomnia?em doda? kolor tekstu oraz efekt jest losowy!!!
No to by by?o na tyle
Pozdro,
Miziak ;]
Pewnego dnia przeczyta?em ten temat: http://tibia.net.pl/globalevents/104369-7-92-kolorowe-napisy-nad-roznymi-rzeczami.html zapragn??em mie? takie co? na swoim otsie ale, ?e tak si? wyra?? dupa to jest tylko pod SQL a ja mam swojego XML'a z kt?rym nie chc? si? rozstawa? wiec zacz??em poszukiwa? rozwi?zania i w skryptach NPC znalaz?em co? takiego:
i trafi?em tym w sedno sprawy ta funkcja wyzwala si? co oko?o sekund? co przy odpowiednim jej "obrobieniu" dzia?a identycznie jak globaleventsfunction onThink()
end
A wi?c ca?y skrypt polega na stworzeniu map edytorem gdzie? w podziemiach(je?li chcemy zachowa? dyskrecj?) lub na powierzchni NPC'a o nazwie "Efekt" i po odpowiedniej edycji skryptu da nam nast?puj?cy efekt:
Dobra nie b?d? tak gada? bez celu w niesko?czono?? pora na skrypt wiec:
W data\npc\scripts tworzymy plik efekciarz.lua i wklejamy w nim to:
Code:
focus = 0
talk_start = 0
target = 0
following = false
attacking = false
function onThingMove(creature, thing, oldpos, oldstackpos)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
end
function onCreatureTurn(creature)
end
function onCreatureSay(cid, type, msg)
end
function onCreatureChangeOutfit(creature)
end
local gdzie = {
co = {-- w tej tabeli podajemy podtabele z wyswietlanym tekstem i miejscem w ktorym ma sie wyswietlic
{"Depo", {x=799, y=1079, z=3}},
{"Runes", {x=803, y=1079, z=3}},
{"Narzedzia", {x=801, y=1079, z=3}}
},
efekty = {0, 1, 2, 3, 12, 13, 14, 18, 19, 22, 26, 27, 28, 29, 30, 32, 33}, -- efekty ktore pojawiaja sie na danym miejscu
coile = 1.5 -- czas w sekundach miedzy pojawieniami sie efektow
}
function wyswietl(gdzie)
for i=1, #gdzie.co do
doSendAnimatedText(gdzie.co[i][2], gdzie.co[i][1], math.random(1, 254))
doSendMagicEffect(gdzie.co[i][2], gdzie.efekty[math.random(1, #gdzie.efekty)])
end
addEvent(wyswietl,(gdzie.coile*1000),gdzie)
efektstart = 1
end
function onThink()
if efektstart ~= 1 then
addEvent(wyswietl,1,gdzie)
end
end
A w data\npc dodajemy plik efekt.xml i wklejamy do niego:
Code:
<npc name="Efekt" script="data/npc/scripts/efekciarz.lua" autowalk="25" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="128" head="20" body="100" legs="50" feet="99" corpse="2212"/>
</npc>
Oczywi?cie mo?emy dodawa? w?asne napisy dodaj?c now? zmienn? skryptowi:
Pomi?dzy to a to:
Code:
{"Depo", {x=799, y=1079, z=3}},
{"Runes", {x=803, y=1079, z=3}},
Code:
{"Napis", {x=pozycja_x_miejsca, y=pozycja_y_miejsca, z=pozycja_z_miejsca}},
Wydaje mi si?, ?e proste;p
Aha, zapomnia?em doda? kolor tekstu oraz efekt jest losowy!!!
No to by by?o na tyle
Pozdro,
Miziak ;]