Forum poświęcone powstawaniu Belxena OTS
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.
Offline