Strona Główna Belxena 8.4 RPG

Forum poświęcone powstawaniu Belxena OTS


#1 2009-05-02 01:04:23

Wiesiu

Administrator

Zarejestrowany: 2009-04-03
Posty: 59
Punktów :   

Kolorowy napis nad itemem

Dzisiaj mam dla was skrypt, który co określoną ilość milisekund na danych pozycjach wyświetla dowolny tekst wpisany przez ciebie w dowolnym kolorze o raz jakiś losowy efekt magiczny. To tyle opisu, zaczynamy.

Skrypt
Są dwie wersje:

    * jeżeli masz folder globalevents
    * jeżeli go nie masz


Na początku, jeżeli masz globalevents:
Tworzysz plik o nazwie magic effects.lua w folderze data/globalevents/scripts i do niego wklejasz:
Kod:

-- Magic effects by Gelio
local pozycje = {
{pos = {x=123, y=123, z=7}, tekst = "TP room"},
{pos = {x=123, y=128, z=7}, tekst = "Depot"}
}
local kolor = TEXTCOLOR_RED   -- Jakim kolorem jest dany napis
local efekt = {odEfektu = 1, doEfektu=66}  -- Jaki efekt sie wyswietla
function onThink(interval, lastExecution)
for i=1, #pozycje do
    local efektLosowy = math.random(efekt.odEfektu,efekt.doEfektu)
    doSendMagicEffect(pozycje[i].pos,efektLosowy)
    doSendAnimatedText(pozycje[i].pos,pozycje[i].tekst,kolor)
end
return TRUE
end

A następnie do globalevents.xml w folderze data/globalevents dodajesz:
Kod:

<globalevent name="magicEffects" interval="3" script="magic effects.lua"/>

Na czerwono zaznaczyłem co ile sekund ma się powtarzać efekt. Na górze skryptu jest pełna konfiguracja.

Dla osób, które nie mają globalevents:
Do globals.lua znajdującym się w folderze data/ dodajemy na końcu:
Kod:

-- Magic effects by Gelio
local pozycje = {
{pos = {x=123, y=123, z=7}, tekst = "TP room"},
{pos = {x=123, y=128, z=7}, tekst = "Depot"}
}
local kolor = TEXTCOLOR_RED   -- Jakim kolorem jest dany napis
local efekt = {odEfektu = 1, doEfektu=66}  -- Jaki efekt sie wyswietla
local coIleMilisekund = 3 * 1000   -- Co ile milisekund? Początkowo co 3.
function efekt()
for i=1, #pozycje do
    local efektLosowy = math.random(efekt.odEfektu,efekt.doEfektu)
    doSendMagicEffect(pozycje[i].pos,efektLosowy)
    doSendAnimatedText(pozycje[i].pos,pozycje[i].tekst,kolor)
end
addEvent(efekt,coIleMilisekund)
end
addEvent(efekt,10*1000)

Konfigurujemy tak samo jak poprzedni skrypt. Na niektórych silnikach ten sposób nie działa. Ale to tylko 1% silników. Należy sobie dostosować efekty, ponieważ nie każdy silnik ma efekty z 8.4. Efekty można zobaczyć w global.lua/constant.lua lub po prostu zmieniać po kolei.


http://images.net.pl/file/u6iur6fo6sojbxta16uv.jpg

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.cll.pun.pl www.online-menager.pun.pl www.hubiofmaster.pun.pl www.tacbi.pun.pl www.highriskboys.pun.pl