Tutorial: How to make own pack of scripts

335 views
Skip to first unread message

AionMusic

unread,
Nov 14, 2017, 5:02:29 PM11/14/17
to aion...@googlegroups.com
1. Install and run Notepad++ (or any another text editor)

2. File->New (Ctrl+N)

3. Copy and paste text below:
<?xml version="1.0" encoding="UTF-16" ?>
<lboxes>
 
<lbox>
   
<id>10001</id>
   
<name><![CDATA[01]]></name>
   
<desc><![CDATA[]]></desc>
   
<script><![CDATA[]]></script>
   
<icon>1</icon>
 
</lbox>
</lboxes>


4. For example you want to add that scripts in game:
https://aionmusic.blogspot.ru/2015/01/aion-forgotten-sorrow.html (download Ajin - How close you are (ED) and Aion - Forgotten Sorrow.zip and unpack it somewhere)
Is scripts for musplayer so we will need musplayer script as well, lets take light version (it's just a tutorial, you can use any version if you wish) here 
So, you should have this list of files:
mus_player_light_1.0.lua
Aion ~ Forgotten Sorrow (part_1).lua
Aion ~ Forgotten Sorrow (part_2).lua
Ajin - How close you are (ED) (part_1).lua
Ajin - How close you are (ED) (part_2).lua
Ajin - How close you are (ED) (part_2) and Aion ~ Forgotten Sorrow (part_2).lua

5. Cause it's a tutorial, I'll add just "mus_player_light_1.0", "Aion ~ Forgotten Sorrow (part_1)" and "Aion ~ Forgotten Sorrow (part_2)" in our pack of scripts.
Ok, open that files in Notepad++ as well.

6. In total we need 3 scripts in our park, let's modify our file from step #3:

<?xml version="1.0" encoding="UTF-16" ?>
<lboxes>
 
<lbox>
   
<id>10001</id>
   
<name><![CDATA[01]]></name>
   
<desc><![CDATA[MusPlayer Light (ver 1.0)]]></desc>
   
<script><![CDATA[Here we'll paste a code of musplayer light 1.0 script]]></script>
   
<icon>1</icon>
 
</lbox>
 
<lbox>
   
<id>10002</id>
   
<name><![CDATA[02]]></name>
    
<desc><![CDATA[]]></desc>
    <script><![CDATA[Here should be code of part 1]]></script>
   
<icon>2</icon>
 
</lbox>
 
<lbox>
   
<id>10003</id>
   
<name><![CDATA[03]]></name>
   
<desc><![CDATA[Aion ~ Forgotten Sorrow (p2)]]></desc>
   
<script><![CDATA[And here of part 2]]></script>
   
<icon>2</icon>
 
</lbox>
</lboxes>


If you read carefully, you can notice that I already filled the description fields except description for part #1. Why? Because otherwise when you add that script in game, you'll got a message "this script too large for apply", I recomend you if you not sure to make empty description field for part #1 of any multiparts scripts. And don't forget to change <id> field too. 10001 for first script, 10002 for second, etc.

7. Almost last step, we need to copy-paste code of scripts from each files to script field. As result you should have:

<?xml version="1.0" encoding="UTF-16" ?>
<lboxes>
  <lbox>
    <id>10001</id>
    <name><![CDATA[01]]></name>
    <desc><![CDATA[MusPlayer Light (ver 1.0)]]></desc>
    <script><![CDATA[-- MusPlayer Light (ver 1.0), you can find more scripts at aionmusic.blogspot.com
random=true
wsec=2
share=true
enabled=true
glow=true
jump=false

function s(n)return ("r16"):rep(n) end
function st(n)return "t"..n.." " end
function emp()end

OE=emp
GN=emp
JN=emp
sl=_G.LBoxList
r={}w={}z=0
x=coroutine
y=x.resume
ot=os.time
sct=ot()
PS=H.PlaySound
RM=H.RegisterMenu
SI=H.SetInstrument
SP=H.SetPercussion
msl=nil
msz=0
sync=0
mc=0
nm=0
ft=1.0
mn={}
ch_t={}
cur_m=0
cs=nil

function v()
repeat
new_m=(cur_m+nm)%msz
if(random)then repeat new_m=math.random(0,msz-1)until(cur_m~=new_m)end
cur_m=new_m
set_music(cur_m)
nm=1
_i=cs.s_info
_G.MPlayerSong=_i.name
_G.MPlayerState=1
dsync=5
ntry=64
sync=dsync
_ab=0.005
sync_s={}
ctry=0
slnce=st(_i.temp)..s(64)
for c=0,mc do sync_s[c]=st(240).."r64r64[9]r64r64" end
for c=0,mc do PS(c, slnce)end
repeat
ctry=ctry+1
for c=0,mc do PS(c, sync_s[c])end
if(ctry>ntry)then _ab=_ab*1.5 ntry=math.max(16,ntry*0.5) ctry=0 end
x.yield()
_a=999999999
_b=0
for c=0,mc do _a=math.min(_a,ch_t[c]) _b=math.max(_b,ch_t[c])end
if((_b-_a)<=_ab) then sync=sync-1 else sync=dsync end
until(sync<1)
_G.MPlayerState=2
for c=0,7 do PS(c,r[c])end
x.yield()
until(false)
end

u=x.create(v)

function set_music(n)
cs=msl[mn[n%msz]]
for c=0,7 do SI(c,0)end
r={}
z=0
if(type(cs.r)=="table")then
_sz=table.getn(cs.r)
for c=1,_sz do _tr={cs.r[c]()}
for k,v in pairs(_tr) do if(r[k])then r[k]=r[k].."[1]v10"..v else r[k]=v end end
end
end
if(type(cs.r)=="function")then r={cs.r()}end
ft=(240.0/cs.s_info.temp)-0.1
mc=table.getn(r)-1
for c=1,mc+1 do r[c-1]=r[c].."[9]" end
for c=mc+1,7 do r[c]=st(cs.s_info.temp)..s(1024*8)end
end

function add_mscript(s)
if(s and s.s_info and s.s_info.name and (s.r or s.s_info.run))then
_i=s.s_info
_r=s.r
_p=_i.part
_s=msl[_i.name]
if(_s and (not _s.ct or _s.ct<sct))then _s=nil end
if(_i.run)then _r=_i.run end
if(_p)then if(not _s)then _s={r={},ct=ot()}end _s.r[_p]=_r else _s={r=_r,ct=ot()} _p=0 end
if(not _i.temp)then _i.temp=120 end
_s.s_info=_i
msl[_i.name]=_s
end
end

function f1(k,v)
if(v and v.s_info)then
if(v.s_info.type=="music")then add_mscript(v)end
if(v.s_info.type=="multi_music" and v.s_info.array)then
sz=table.getn(v.s_info.array)
for j=1,sz do _lv={["s_info"]=v.s_info.array[j],["r"]=v.r} add_mscript(_lv)end
end
end
end

function f2(k,v)
if(type(v)=="table" and v.s_info and v.s_info.name)then
mn[msz]=k
msz=msz+1
end
end

function scan()
table.foreach(sl,f1)
table.foreach(msl,f2)
if(msz<3)then random=false end
RM("> Next",2)
if(msz>0)then y(u)end
end

function iOE(b,c,d) if(d==0 and b and w[b])then GN(w[b],ft/c,255,255,255)JN(w[b],16.0/(c+7))end end

function OnSoundPlay(a,b,c,d)
if(cs and cs.s_info.onsound)then cs.s_info.onsound(a,b,c,d)end
if(d)then
if(d>0 and d<6)then SI(a,d-1)
elseif(d>20)then SP(a,d-20)end
end
if(d==9)then ch_t[a]=os.clock() z=z+1 if(z>mc)then z=0 y(u)end end
if(d==12)then scan()end
OE(b,c,d)
end

function setup()
if((not _G.MPlayer) or (not share))then _G.MPlayer={}end
msl=_G.MPlayer
i=1("cdefgab"):gsub(".",function(c)w[c]=i i=i+1 end)
if(wsec<=0)then scan()else PS(2,"t120"..s(wsec*8).."[12]")end
end

function OnInit()
H.SetOutletCount(7)
H.EnableSoundCallback(1)
if(glow)then GN=H.GlowNow OE=iOE end
if(jump)then JN=H.JumpNow OE=iOE end
if(enabled)then setup()end
end

function mf(_a)
if(sync<1)then nm=_a y(u)end
end
mfa={0,1}
function OnMenu(a)
mf(mfa[a])
end
function OnUserSay(str)
str=str:lower()
if(str=="next")then mf(1) end
if(str:len()>4)then for m=0,msz-1 do
if(mn[m]:lower():find(str) ~= nil)then cur_m=m tr=random random=false mf(0)random=tr break end end end
end]]></script>
    <icon>1</icon>
  </lbox>
  <lbox>
    <id>10002</id>
    <name><![CDATA[02]]></name>
    <desc><![CDATA[]]></desc>
    <script><![CDATA[i=0
a={192,120,106,96,176,120,72,204,81,72,404,92,176,120,72,72,402,422,948}
e={105,70,105,70,68,66,64,62,60,58,56,54,52,50,48,105,70,105,70,105,70,66,60,54,52,70}
function s(n)return("r1"):rep(math.floor(n/32))..("r32"):rep(n%32)end
function op1()i=i+1 return s(a[i])end
f=0
function op2()f=(f%26)+1 return "r64t"..e[f]end
t={"t70 r1","o5",0,"v6","b8","o4","l1","b","f16#","v7","b16","o6","v8","f4#","l2","d","r2","g","l8.","f#","a","r1","a16","r16","v9","a4","e","r4","c#","b4","g4","e4","r8.","e8","g8",op1,"d4","f8#","r8","c4#","a8","a#","a4#","c4","e16","l2.","o3","c16#","d4#","r4.","v5","r16.","l4.","o7","r32","r2.","d8","c8#","g#","d16",1,"c8","d#","o2","l32","l16.","g8#","g4#",op2,"l1.","g16#","o8","g16","c","c16","f","f8","d8#","a16#","f16","f4","v10"}
function d(a)k=""a:gsub(".",function(c)u=t[c:byte()-31]if(type(u)=="string")then k=k..u else k=k..u()end end)return k end
function r()
i=0
f=0
return d(" !#$()*+,-.#/2,3789.#:%)>+,A)EBH2#3)LM3.,'FST8';FVD;-F!HQ,$+GU'#A.)3F#A)EA,H#E?N$F%,=+B%B!D;#9)ZREF,$UYX)Y@,[&<%#AQ.4,=#9')?,BF)$F#K!&8<.#:):-#AX0N],B%?=;&'U8?2,Z0@!EQUO+)*U,G%#B+$,?%#HQ$QH!8EQ$QX)?+T,3U)YXYQ%H!,G%.)'FE+,EU)YX#Y@,[)<%'=HF4;?'FH,$!8B)-#Dde):d+T,/#E)?,9)D,=):#EU,Y)XY,X)Y!#9F8$gX)YA[O+$[,L(6'#E?,9#D,=dU2<%:!8<@,/NT)1,:d)],j*H+&3dN#>d;d%]d;dFdFd)Ed,bdFd;d;dM')I4!3'd.I===+O!#n)*+OdXE,B)lEE231#k,3U8E,B)lEBBd3`:/!=dU,?;#m)A2,:31:d#j,L)j7!K+#O)nF,[#([!*d)h@d;dN-d!,Gd+T83#E?,9#D)=4")
,d(" %&#'+2,/0;@!#$,$F)$F#I7N$%)E$!.,:7#OPR-UT8'#E,'#A.)3;A,E)HE?;!8=F,E89F$Q,X?T8'U,YX)Y%,=FH!?.):RXF,D;D+G!#9,ZR:#:;AX%ZF$)D!A,H2)/L&83%)AF247.4=9'F,H$!#B)-#DM,:+ATZ2ZRLCN.)'#$Q$Q$Q%)ZR4,=)6*![,L-5F8X0d50d_)B%X,$#BN)B%,AF)H!-8XF_)B%A!8YF+,Y)$H%H+A#9AM)3F%H_B%X,$)B!#?8YF#-8XFd+2,<7#O)[L(,h)6*71#1)1''d#9,h86&,'dN#Kd;dFd;dFdAd)$dFdFd;d;dCd50d50M4d+23`:/=d,?V2)3V#m)A,:31:d#hFh)o#j,o6#(7(,n*@dN)Kd%Kd!O,n#(,nd=d+T8/F#G;-;):")
,d(" 0!.#12,4#6;.)<%=!,BF%)GJ+M:Q%&3F!8=F,E89F$Q,HQE+8D;-FX)G%#B0,E!D+XF#$RA)3F8E,$FBF2#'0S%.)ZC+`#IUa8I+`#3Ua83+`#^Ua8^!`RI+8JN)]T#1,X#4A)$0%?W9;Ab!#b)$F*#(+8=5)3!8E+,GF!8HQ$+)GF(#L)(#L)6,*;GF8X)G%#BQ+,'F)B%B,=+G!?%.)Z;,=+)XF2'7.3,:Cd50dCd50@d5Qd;d;dFd;dFdFdFdFdFd;d;dCd50dCd0d50d5d;d;d;d;d50;F")
,d(" 5!.,/#4%)?#=+)AF2#/57N$C.)'#$Q$Q)$F!8G,:%R4,=)6*50FG2I7&8I,=@![%E;![L5Q8XN#X)H;#A)$W!c;T#'U8E,'#A.)3;,AEH)E#?T,'#A.)3FAE#A,H)E#?N$%)E!,D+)XF$RA&)3F8E,$F)BQ,G!8?N.)'#]T1,X#4A,$W#],B%?=9d@+2):#Z:Q,O)[L(f6dT,'F)G;-;4%H+,A%A!8YF_)E%YHA!8EUX)YA[O$;+,/F#G;-;d2,40UO)/#i)i!''d#9,h86&,'d)?d>d$d;dFd$d%$dFd$d;d;dC+`:#/)<Q,?V23V#m)AdAEmAAX,A)E#A`/):/!#'-dM)/+<U8];+)EBBd2';7d;VU35Vd5d;d;d_JdN$qHd,B%X$)B!#?8YF#-,XF_)B%,A!8Y")
,d(" C%#>)=>!M'.,'0QE+8=5W=50T'FN#$Q$Q%.)ZFE+,EFXQ3:N#]T1,X)4#A,$5!A)EBF237&8^C+)$#bA%ACd50dCdW2,iQT1d)];N,$%)E+R$%)E+#H%)E;d#?d;d)BdFHd7+jd!Ad%bdFdFd;d;dCd50dCd0d50d5d;d;d;d;d50;F")
,d(" C%#D)>K!M35;%$QHQ#B+$,?%#HQ$Q)HQH!8HW+T30FG!,G%.)';,=FB=FH!8?N)'%=H!,X%E;![L-%:0$F)BQ_$NE%M^.#4,=#6)*Q?ZW-0=5;#$+(L,D%#HF!,9F8$QHQ,E+8D#3%H!8HWT,'QD;#9.ZREF,$;%B8=F,H!8G,ZR:):;A#X5NX)H;d2#:+)'!#'Z7L)(f6*,:@d+T3F_)BQNB%EF$+<F,H;$)H#-F8X%)E!8O)[,AF%E!YF+3F_)B%AFH_B%,EF)$d+2,:07)/#:):11d#>F_,$F!XFYF8A)Yd>dDd#Ad9d,*7dFdFdFdFd?d+8cd)31#k)3-V1VlE31k3T3!'Wd.:?DDGdM'#<+8E,B)lU];dN.ZdT1,3213:/d!8?)6@GDd+j,L#j!hdoj,o6d)(@dRL)^dT8'F#9;=;)4")
,d(" C%.)'C,=N)$Q#$Q!:RXF,D;8D;)9,:QX%EQ=#9)ZW,-d@N2'%:)Z'Z@'d!T,'F)98YF_)BQNBQEQ+Y#GF_,$Q)HQ!,'F#9;=;d_2)1Q%4+:#i)i::d#?;U$RX)A#Y)X#Y+HdX]d)]!$d#]d;dFdFdFdFdEd)cd;dM,3)33#':d50dN)'#I!)id%.:dT',3213:/d8>)p--d?d#6@d)Gd,=d_BQN)B%,AF)HNB%,EF)$NB;")
,d(" C!)$55%?5de'dNBQ!?;=;T4F_EQNEQ,$Q)HQBQBQBQd2107%,1QTidFj_*H+&/d;d;dFd;dFdFdFdFdFd;d;dM8/)<i%Z#1d.)3>-cJdM3#3)3d.'dT:5Fd8K;N)J=d>dpd%n@d_$qHd+8'F_)BQBQ+<")
end
s_info={["type"]="music",["name"]="Aion ~ Forgotten Sorrow",["temp"]=70,["part"]=1}]]></script>
    <icon>2</icon>
  </lbox>
  <lbox>
    <id>10003</id>
    <name><![CDATA[03]]></name>
    <desc><![CDATA[Aion ~ Forgotten Sorrow (p2)]]></desc>
    <script><![CDATA[i=0
a={100,100,116,116,100}
e={105,70,68,66,64,62,60,58,56,54,52,58,70,50,48,46,44,42,40,38,78}
function s(n)return("r1"):rep(math.floor(n/32))..("r32"):rep(n%32)end
function op1()i=i+1 return s(a[i])end
f=0
function op2()f=(f%21)+1 return "r64t"..e[f]end
t={"","o6",0,"v7","f8#","o4","a8","o7","v8","c8#","r8","e8","o3","o2","d8","b8","o5","r4.","v6","a4","f4#","c4#","l2.","f#","v9","o8","c16#","d16","e16","f16#","a16","l4.","b","d","r2","g8","r4","e4","d4","b4",op2,"l8.","c#","a","e","g","r16","g16","b16","r8.",op1,"r2.","c8","g4","c4","c16","l1","v5","g8#","g#",1,"l2","v10","l1.","r32","r16.","r1"}
function d(a)k=""a:gsub(".",function(c)u=t[c:byte()-31]if(type(u)=="string")then k=k..u else k=k..u()end end)return k end
function r()
i=0
f=0
return d(" !#$'().#).)023*8/9.#)+;:!/;8<=>?(@2$E(3#4(GHI#L%L08JQH(.,#U02/#/23#O8>X#@H2EH#UH/H23H(PNH*H*H*H*H?LHD$!8GD^4*2/'(+#$(&#$E(@2+]#7H%&H'+H$H+H(&H#$H2EH,M%_@bQ")
,d(" %#&!(&/#&/&23+6#70()*!?7*25D-#C%$*/H'IJ1%KH!CCC2/#/23#O8>X#@H,2UH*0/H#THDH*H/H%ZH'8+H*H1HRH*H*H*H*H*H*HDHB*`!_2Lb`")
,d(" *!(+*0)*-#$%)&2+08$'.#)+;:/D-C%(./#C02E8)*#G(.*H-I#MBNH!.++2C#C2U*X#7H,2VHDH*HDH*H+H(/H*H*H1HRH*H*H*H*H*H*HDHBQ!_2Kb")
,d(" *!()1#)24*8.1-#&%$*&!?(A*-#C%(+*#&!FDHIKN2:DQH#+TT2+#+2E*X#AHDHT*H%TH*&HN!WH*H*H*H/H?2[H'$(@2+]#7%C08&1/1$!GD4H*H.H#)H*H*H*HDHB*_2JbN")
,d(" *,#$%+*&!+25*-(/%$0:#;+,&1C1C1C1H!IJ*;<(=#O>P'(:H#.TT,(E#T(WP&8/'2/Y.#+).2)!&H.THDH*HDH*H*H*H*H*H1H18FSED(5D8FBH*H0&H*H*H*H(.HEHBN_27b*")
,d(" *-#$1,$1(/B10?@*23D#4DH,IMBNH%(CDU#T1$!Y/%2$!#&%2$DHEHDH#CHDH*H*H/H(ZH/H0?2@H18G*$^3*8/1&BG*($83H*H/H*H*H*H*HDHBa_2KbN`")
,d(" RHSH%(TDV*W-P&8/*0.*()*8+2)HUH#FH+HDH*H+H%$H*H!$H1H*%/12&B1&1/1&1H*H*H*H*HCH*HDH-]M`0_Ab*`")
,d(" RHSHbbHDHDH*HDH*H*H*H*H*H1HRH*H*H*H*H*H*HDHB*a'_2JBD*N`")
end
s_info={["type"]="music",["name"]="Aion ~ Forgotten Sorrow",["temp"]=70,["part"]=2}]]></script>
    <icon>2</icon>
  </lbox>
</lboxes>


8. Encode file to UCS2-Little Endian (Encoding->Encode in UCS2-Little Endian), it's important!

9. Save this file as lbox_archived.xml in aion folder/Data/Housing

If you did something wrong, you can compare your result with mine. Or check on errors here: https://www.xmlvalidation.com.
lbox_archived.xml

ima.imp...@gmail.com

unread,
Nov 25, 2017, 7:23:53 AM11/25/17
to Aion Music Scripts
Добрый день. Я задавала вопрос в блоге на тему скрипта ФФ8. Сделала все как описано в инструкции, и теперь musplayer и скрипт с музыкой появились во вкладке депозит, но музыка не играет. Проверила несколько раз, но не смогла найти, где ошиблась. Вот что у меня получилось, если будет минутка, подскажите пожалуйста

<?xml version="1.0" encoding="UTF-16" ?>
<lboxes>
  <lbox>
    <id>10001</id>
    <name><![CDATA[MusPlayer]]></name>
    <desc><![CDATA[MusPlayer (ver 1.083)]]></desc>
    <script><![CDATA[-- MusPlayer (ver 1.083), you can find more scripts at aionmusic.blogspot.com
-- play_list={""}
random=true
wsec=2
 
quality=0.015
function s(n)return ("r16"):rep(n) end
function st(n)return "t"..n.." " end
r={}w={}z=0
x=coroutine
y=x.resume
sl=_G.LBoxList
ms={}
mn=0
cs=nil
mc=0
cm=0
nm=0
ft=2
lm=-1
psz=0
sync=0
ch_t={}
PS=H.PlaySound
RM=H.RegisterMenu
SI=H.SetInstrument
SP=H.SetPercussion
 
function v()
repeat
if(random)then
nm=0
rcm=0
msz=mn if(psz>0)then msz=psz end
repeat rcm=math.random(0,msz) until(lm~=(rcm+nm))
cm=rcm
end
lm=cm+nm
set_music(cm+nm)
nm=1
_i=cs.s_info
PS(0, st(_i.temp).."r1[10]")
a_str=""
if(_i.author)then a_str=" script made by ".._i.author end
H.AlertAll(10, _i.name..a_str.. ". Be patient while channels synchronizing.")
x.yield()
 
dsync=5
ntry=64
sync=dsync
_ab=math.max(quality,0.03)
sync_s={}
ctry=0
slnce=st(_i.temp)..s(64)
for c=0,mc do sync_s[c]=st(180).."l64r[9]rrr" end
for c=0,mc do PS(c, slnce) end
  repeat
    ctry=ctry+1
    for c=0,mc do PS(c, sync_s[c])end
    if(ctry>ntry)then
      _ab=_ab*1.5 ntry=math.max(16,ntry*0.5) ctry=0
      H.SayAll(9, "Synchronizing...[".._ab.."]")
    end
    x.yield()
    _a=999999999
    _b=0
    for c=0,mc do _a=math.min(_a,ch_t[c]) _b=math.max(_b,ch_t[c])end
    if((_b-_a)<=_ab) then sync=sync-1 else sync=dsync end
  until(sync<1)
for c=0,7 do PS(c,r[c])end
x.yield()
until(false)
end
 
function scan()
table.foreach(sl,f)
if((psz>0 and psz<3) or mn<3)then random=false end
RM("> Next",2)
if(not random)then RM("> Prev",3)RM("> Repeat",4)end
if(mn>0)then y(u)end
end
 
u=x.create(v)
function OnSoundPlay(a,b,c,d)
if(cs and cs.s_info.onsound)then cs.s_info.onsound(a,b,c,d)end
if(d)then
if(d>0 and d<6)then SI(a,d-1)
elseif(d>20)then SP(a,d-20)end
end
if(d==9)then ch_t[a]=os.clock() z=z+1 if(z>mc)then z=0 y(u)end
elseif(d==10)then y(u)
elseif(d==12)then scan()
elseif(d==0 and b and w[b])then H.GlowNow(w[b],ft/c,255,255,255)H.JumpNow(w[b],16.0/(c + 7))end
end
 
function add_script(c)
  if(c and c.s_info and c.s_info.name and (c.r or c.s_info.run))then
    _i=c.s_info
    _r=c.r
    csn=mn
    lmn=mn
    fts=0
    if(_i.run)then _r=_i.run end
    if(_i.part)then
      for _c=0,mn-1 do if(_i.name == ms[_c].s_info.name)then csn=_c fts=1 end end
      if(fts==0)then ms[csn]={r={}}mn=mn+1 end
      ms[csn].r[_i.part]=_r
    else
      ms[csn]={r=_r} mn=mn+1
    end
    ms[csn]["s_info"]=_i
    if(_i.temp==nil)then ms[csn].s_info.temp=120 end
 
    if(lmn~=mn)then
      PS(1,"r8[11]")
      H.SayAll(11,mn..": ".._i.name)
    end
  end
end
 
function f(n)
c=sl[n]
if(c and c.s_info and c.s_info.type)then
  if(c.s_info.type=="music")then
    add_script(c)
  end
  if(c.s_info.type=="multi_music" and c.s_info.array)then
    sz = table.getn(c.s_info.array)
    for j=1,sz do
      add_script({["s_info"]=c.s_info.array[j],["r"]=c.r})
    end
  end
end
end
 
function search_script(n)
  cm=(n%psz)
  music_name=play_list[cm+1]
  for c=0,mn-1 do if(music_name == ms[c].s_info.name)then cs = ms[c] end end
end
 
function set_music(n)
if(psz>0)then search_script(n) else cm=n%mn cs=ms[cm]end
for c=0,7 do SI(c,0)end
r={}
z=0
if(type(cs.r)=="table")then
  local sz=table.getn(cs.r)
  for c=1,sz do _tr={cs.r[c]()}
    for k,v in pairs(_tr) do if(r[k])then r[k]=r[k].."[1]v10"..v else r[k]=v end end
  end
end
if(type(cs.r)=="function")then
  r={cs.r()}
end
ft=(240.0/cs.s_info.temp)-0.1
mc=table.getn(r)-1
for c=1,mc+1 do r[c-1]=r[c].."[9]" end
for c=mc+1,7 do r[c]=st(cs.s_info.temp)..s(1024*8)end
end
 
function setup()
i=1("cdefgab"):gsub(".",function(c)w[c]=i i=i+1 end)
PS(1,"r8[11]")
rnd_str=""
if(random)then rnd_str="[random mode]" end
H.SayAll(11,"MusPlayer (ver 1.083) "..rnd_str..":")
if(play_list)then psz=table.getn(play_list)end
if(wsec<=0)then scan()else PS(2,"t120"..s(wsec*8).."[12]")end
end
 
function OnInit()
H.SetOutletCount(7)
H.EnableSoundCallback(1)
setup()
end
 
function mf(_a)
if(sync<1)then nm=_a y(u)end
end
mfa={0,1,-1,0}
function OnMenu(a)
mf(mfa[a])
end
function OnUserSay(str)
str=str:lower()
if(str=="next")then mf(1) end
if(not random)then
if(str=="prev")then mf(-1)end
if(str=="try again")then mf(0)end
end
if(str:len() > 4)then for m=0,mn-1 do
if(ms[m].s_info.name:lower():find(str) ~= nil)then cm=m tr=random random=false mf(0) random=tr break end end end
end]]></script>
    <icon>2</icon>
  </lbox>
  <lbox>
    <id>10002</id>
    <name><![CDATA[FFVIII - Balamb Garden]]></name>
    <desc><![CDATA[Final Fantasy VIII - Balamb Garden]]></desc>
    <script><![CDATA[i=0
a={400,252,92,160,352,184,408,160,304,672,304,200,128,160,156,168,81,100,352,156,200,128,81,100,128}
function s(n)return("r1"):rep(math.floor(n/32))..("r32"):rep(n%32)end
function op1()i=i+1 return s(a[i])end
t={"t82 ","[4]",0,"r1","o4","f4","r8","o5","v9","c4","o6","e4","r4","a8","e8","d4","v10","f8","c8","b8","d8","l4.","c","r2.",op1,"v6","a4","a16","f16","e16","v8","d16","c16","r2","r4.","r16","l32","f","v5","b","a","l8.","g8","[5]","l1","e","l1.","f#","d","[1]","g8#","c8#","f8#","g16","f16#","g","l2","g4","a#","o7",1,"a8#","[22]","x4","d8#","o3","l2.","g4#","g#","f4#","d4#","c4#","b4","r32","r8."}
function d(a)k=""a:gsub(".",function(c)u=t[c:byte()-31]if(type(u)=="string")then k=k..u else k=k..u()end end)return k end
function r()
i=0
return d(" !#$%*(+/)$0%'-().0-(2$0%'-().0-(23*2456,-&+/)-&+/)-&+/)$0%&'HA-().0-(2KL0HNHAHAHA*L6X6'GHGNPAZAHAW!A$3(3'`bO&.Xd&a0G$3(3'.RaL0G'TAB$3(3'.$3'R$3'.$303(3'T]aX0GLG$%*(+/)$0%'-().0-(2$0%'-().0-(23*2456,-Q&9:%:!'(1);C><(=;*?)-Q&9:%:F.1J1K#A'L06NHAHAHA*L6X6'GHGNPAZAHAW!A$3(3'`bO&.XdBT]a0GLG'TABaG']BRBT#&-().0-(2$0%'-().0-(2$0%'-().0-(23*2456,-&+/)-Q&9:%:!$0%'-C*=A'->+0HA-().0-(2KL0HNHAHAHA*L6X6'G")
,d(" !#&'().01()+).01()+).01()+)))2*1AB'-);C><(=;*?'>=<(+);C><(=;*?'>=<(+>+())2&).01()+).01()+Q9-R-*4S.4T.JT3-S4NMA&'-R-*4S.4T.JT3-S4LHW#JTJP&:JTJTJP,']*2']XH*LO&4.TNM!8$0%'-();*?)-Q&9:%:!$0%'-C*=A'->+50HA-().0-(2KL0MNOAMAOALHNWAGAWAOAM!AaLG'RABTBRB3AB`8(-);*0='><(=;*?'>=<(+);C><(=;*?)-Q&9:%:F.1J1K#A06")..s(256)
,d(" !#,'-().0-(2,*+/),+/)$0%7*(2AB'1&;<.01();*@18$0%'-().0-(2$0/7/7:7:7/7/7:A&'(.$0Y7Y7Y7Y7Y7XWA/7/7)76A'`AB.AB]BRB3AB`ABaLG']BRBT#&-().0-(2,*+/),+/)$0%7*(2&+/'>=<(+&;<.01();*@1&+/)$0%&%B%K7'HNPA6APALMNPAWAPAPA67*`.5O]c+XM^F_,_,_7_#7_,_,_")..s(600)
,d(" !8'(-);*0='><(=;*?'>=<(+,).0-(2*28'///4&///4&///4K*LG#[PNH#AL6^F_!7a0G^F_,_,_7_#7_,_,_!8$0%'-C*=A'(1);C><(=;*?'>=<(+)))2&).01()+).01()+Q9-R-*4S.4T.JT3-S4NMA&'-R-*4S.4T.JT3-S4LHW#JTJP&:JTJTJP,']*2']XH*LO&4.TNM8:%:!$0%'-C*=A'(1);C><(=;*?)$0%&%B%K7'LMNOAMAOALHW")
,d(" !8'(1&;<.01();*@1AB'-&;<.01();*@B$0%B%K7*L68N(WAZ8L068N(WAZ80S`5MR%eXO,`.5O]c+XM,S`5M']*g'hXG!8$%'-().0-(2*2&+/'>=<(+&;<.01();*@iD6EH2456K#,'L06NPA6APALMP")
,d(" !8$%'-().0-(2*2AB'1,).0-(@D6EG*6EH2456K#,'L0MNOAMAOALHNWAGAWAOAM!AaLG'RABTB.B`AB$3(3'`$3'ef0RABTB.B`8(-);*0='><(=.0-(2*2&+/'>=<(+&;<.01();*@iD6EH2456#,$0%'-().0-(2$0/7/7:7:7/7/7:A&'(.$0Y7Y7Y7Y7Y7XWA/7/7)76A'`AB.ABaG$3B3(3703(3&3A03(3'.$3'R$3'.$303(3'T]a0GLG$%*(+/),+/),+/)$0%7*(2AB'-&;<.01();*@1&+/'>=<(+)))2&).01()+).01()+Q9-R-*4S.4T.JT3-S4NMA&'-R-*4S.4T.JT3-S4LHW")
,d(" 8*9:%:!$0%'-C*=A$%'-C*=A'-I(6D6EH*6E-8'///4&///4&+++.&+++.&///4&///4&+++Q*9UV!8'(///4&///4#&///4&///4&)))2X6A0TAB$3(3703(3'T]a0G$3(3'`O&aL0G'.ABaXG$3B3(3'`$3'O&).01()+).01()+).01()+)))2*1AB'-,).0-(2*28'///4&///4&///4K*LG#[PNH#AL6^F_!7a0G']B.B`ABaG'.ABTB.B`8(1&;<.01();*@1AB'-,).0-(@D6E3j6EH*6EH#A$0%'-().0-(2$0/7/7:7:7/7/7:A&'(.$0YA,")
,d(" 8*9:%:,:%:F.1J1K#A'L06NPA6APALMNPAWAPAPA67*`.5O]c+XM,S`5MR%eXO,`.5O]c+XM,S`5M']*g'hXG!8(1&;<.01();*@1AB'-,).0-(@D6E3j6EH*6E-8'///4&///4&+++.&+++.&///4&///4&+++Q*9UV!8'(///4&///4#&///4&///4&)))2X6A0TAB$3(3703(3B3'.R,`OB`&ef0RABaG$3B3(3'`$3'O&).01()+).01()+).01()+)))2*1AB'1,).0-(2*28'///4&///4&+++.&+++.&///4&///4&+++Q*9UV!&'(///4")
end
s_info={["type"]="music",["name"]="Final Fantasy VIII - Balamb Garden",["temp"]=82}]]></script>

AionMusic

unread,
Nov 25, 2017, 8:39:32 AM11/25/17
to Aion Music Scripts
Проверил только что у себя, все работает. Вы оба скрипта установили? После того как установили перезаходили в дом?

ima.imp...@gmail.com

unread,
Nov 26, 2017, 1:58:12 AM11/26/17
to Aion Music Scripts
Да, пробовала удалять и снова устанавливать, заходила в дом разными персонажами и просила зайти знакомых. Ни у них, ни у меня музыка не проигрывается :( Очень странно

AionMusic

unread,
Nov 26, 2017, 3:38:41 AM11/26/17
to Aion Music Scripts
Какие либо сообщения в чат идут либо в логе скриптов? Может системные сообщения в чат когда добавляете скрипты.

AionMusic

unread,
Nov 26, 2017, 4:19:35 AM11/26/17
to Aion Music Scripts
Какие либо еще скрипты установлены помимо этих двух?
Reply all
Reply to author
Forward
0 new messages