Перейти к содержанию

Ивенты и музыка помогите пожалуйста)


Рекомендуемые сообщения

Ребят а как возможно, и возможно ли впихнуть например в ивент Devil Square Впихнуть музыку свою)

Что бы например пока народ проходит слушали музыку которую я впихну?)))

Ссылка на комментарий
Поделиться на другие сайты

*soundeffect "<effect filename>",<type>;
*soundeffectall "<effect filename>",<type>{,"<map name>"}{,<x0>,<y0>,<x1>,<y1>};

These two commands will play a sound effect to either the invoking
character only ('soundeffect') or multiple characters ('soundeffectall').
If the running code does not have an object ID (a 'floating' NPC) or is
not running from an NPC object at all (an item script) the sound will be
centered on the character who's RID got attached to the script, if any.
If it does, it will be centered on that object. (an NPC sprite)

Effect filename is the filename in a GRF. It must have the .wav extension.

It's not quite certain what the 'type' actually does, it is sent to the
client directly. It probably determines which directory to play the effect
from. It's certain that giving 0 for the number will play sound files from
'\data\wav\', but where the other numbers will read from is unclear.

The sound files themselves must be in the PCM format, and file names
should also have a maximum length of 23 characters including the .wav
extension:

soundeffect "1234567890123456789.wav", 0; // will play the soundeffect
soundeffect "12345678901234567890.wav", 0; // throws gravity error

You can add your own effects this way, naturally.

Изменено пользователем Oxxy
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

*soundeffect "<effect filename>",<type>;

*soundeffectall "<effect filename>",<type>{,"<map name>"}{,<x0>,<y0>,<x1>,<y1>};

These two commands will play a sound effect to either the invoking

character only ('soundeffect') or multiple characters ('soundeffectall').

If the running code does not have an object ID (a 'floating' NPC) or is

not running from an NPC object at all (an item script) the sound will be

centered on the character who's RID got attached to the script, if any.

If it does, it will be centered on that object. (an NPC sprite)

Effect filename is the filename in a GRF. It must have the .wav extension.

It's not quite certain what the 'type' actually does, it is sent to the

client directly. It probably determines which directory to play the effect

from. It's certain that giving 0 for the number will play sound files from

'\data\wav\', but where the other numbers will read from is unclear.

The sound files themselves must be in the PCM format, and file names

should also have a maximum length of 23 characters including the .wav

extension:

soundeffect "1234567890123456789.wav", 0; // will play the soundeffect

soundeffect "12345678901234567890.wav", 0; // throws gravity error

You can add your own effects this way, naturally.

Это прям в скрипт куда то писать или отдельный тхт создавать что бы настроить?

Ссылка на комментарий
Поделиться на другие сайты

Soundeffect работает только на одного персонажа, в твоём случае, если я правильно понял, музыка должна играть для всех одновременно? тогда нужна команда *soundeffectall

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Soundeffect работает только на одного персонажа, в твоём случае, если я правильно понял, музыка должна играть для всех одновременно? тогда нужна команда *soundeffectall

Ну да) я просто не пойму куда её пихать что бы работала в какое именно место )

например вот скрипт


prontera,130,192,5 script Devil Square Guardian#1 406,{
set .@gm_level, 99; // GM level required to start/stop the event

mes "[Devil Square Guardian]";
mes "This is the entrance to ^FF0000Devil Square^000000.";
mes "If you fail or die, the door will close and you must wait until the event starts again to re-enter.";
next;
switch(select("Enter.:Information.:" + ((getgmlevel() >= .@gm_level) ? "GM Menu." : "") + ":Cancel.")) {
case 1:
if (.start != 1) { // registration period
mes "[Devil Square Guardian]";
mes "Devil Square is now closed.";
mes "It will open at these times:";
mes "00:00 , 02:00 , 04:00 , 06:00"; // display your times here
mes "08:00 , 10:00 , 12:00 , 14:00";
mes "16:00 , 18:00 , 20:00 , 22:00";
close;
}
if (BaseLevel < 70 || Zeny < 20000) { // requirements
mes "[Devil Square Guardian]";
mes "You do not meet the requirements to enter Devil Square.";
mes " ";
mes "Requirements:";
mes " - Base Level 70";
mes " - Registration fee 20,000z";
close;
}
Zeny -= 20000;
announce strcharinfo(0)+" has entered Devil Square.", bc_npc;
percentheal 100,100;
warp "ordeal_1-1",183,182;
close;
case 2:
mes "[Devil Square Guardian]";
mes "Inside, you will encounter 3 waves of monsters. The monsters will grow stronger with each wave.";
next;
mes "[Devil Square Guardian]";
mes "If you defeat all the enemies, you will be given the opportunity to open 10 Treasure Chests with items, equipment, and rare cards inside!";
close;
case 3:
mes "[Devil Square Guardian]";
switch (.start) { // event states
case 0: mes "Devil Square has not yet started."; break;
case 1: mes "Devil Square is currently accepting participants."; break;
case 2: mes "Devil Square Event is currently running on Round "+ .round +" with "+ .mob +" monsters remaining."; break;
}
next;
switch(select("Start event.:Stop event.:Cancel.")) {
case 1:
mes "[Devil Square Guardian]";
if (.start)
mes "Devil Square has already started.";
else {
mes "Starting Devil Square...";
donpcevent strnpcinfo(0)+"::onstartEvent";
}
close;
case 2:
mes "[Devil Square Guardian]";
if (!.start)
mes "Devil Square has not yet started.";
else {
mes "Stopping Devil Square...";
donpcevent strnpcinfo(0)+"::onstopEvent";
}
close;
case 3:
break;
}
break;
case 4:
break;
}
mes "[Devil Square Guardian]";
mes "Farewell.";
close;

onstartEvent:
OnClock0000:
OnClock0200:
OnClock0400:
OnClock0600:
OnClock0800:
OnClock1000:
OnClock1200:
OnClock1400:
OnClock1600:
OnClock1800:
OnClock2000:
OnClock2200:
.start = 1;
disablenpc "ord11-12"; //from npc/warps/pvp.txt
disablenpc "Devil Square Guardian#2";
mapannounce "ordeal_1-1","Devil Square is now closed.", bc_map;
getmapxy .@map$, .@x, .@y, 1;
mapwarp "ordeal_1-1", .@map$, .@x, .@y;
killmonsterall "ordeal_1-1";
announce "Devil Square is OPEN. The event will begin in 5 minutes.", bc_all;
sleep 60000;
announce "Devil Square will begin in 4 minutes.", bc_all;
sleep 60000;
announce "Devil Square will begin in 3 minutes.", bc_all;
sleep 60000;
announce "Devil Square will begin in 2 minutes.", bc_all;
sleep 60000;
announce "Devil Square will begin in 1 minute.", bc_all;
sleep 60000;
announce "Devil Square has STARTED!", bc_all;
if ( !getmapusers("ordeal_1-1") )
goto onstopEvent;
.start = 2;
.round = 1;
.mob = 75;
areamonster "ordeal_1-1",183,182,246,244,"[DS] SOLDIER SKELETON",1028,10,strnpcinfo(0)+"::OnDevilDead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ORC ARCHER",1189,15,strnpcinfo(0)+"::OnDevilDead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] SANDMAN",1165,10,strnpcinfo(0)+"::OnDevilDead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ARCHER SKELETON",1016,15,strnpcinfo(0)+"::OnDevilDead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] MINOROUS",1149,15,strnpcinfo(0)+"::OnDevilDead";
areamonster "ordeal_1-1",183,182,246,244,"[DS] REQUIEM",1164,10,strnpcinfo(0)+"::OnDevilDead";
end;

OnDevilDead:
.mob--;
if ( .mob == 25 || .mob == 5 )
announce "Devil Square : "+ .mob +" monsters remaining in round 1.", bc_map;
else if ( .mob <= 0 ) {
announce "Devil Square is entering round 2...", bc_map;
goto OnDevil2;
}
end;

OnDevil2:
.round = 2;
.mob = 70;
areamonster "ordeal_1-1",183,182,246,244,"[DS] GARGOYLE",1253,15,strnpcinfo(0)+"::OnDevilDead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] ALARM",1193,10,strnpcinfo(0)+"::OnDevilDead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] HIGH ORC",1213,10,strnpcinfo(0)+"::OnDevilDead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] INJUSTICE",1257,10,strnpcinfo(0)+"::OnDevilDead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] MIMIC",1191,15,strnpcinfo(0)+"::OnDevilDead2";
areamonster "ordeal_1-1",183,182,246,244,"[DS] WRAITH",1192,10,strnpcinfo(0)+"::OnDevilDead2";
end;

OnDevilDead2:
.mob--;
if ( .mob == 25 || .mob == 5 )
announce "Devil Square : "+ .mob +" monsters remaining in round 2.", bc_map;
else if ( .mob <= 0 ) {
announce "Devil Square is entering round 3...", bc_map;
goto OnDevil3;
}
end;

OnDevil3:
.round = 3;
.mob = 58;
areamonster "ordeal_1-1",183,182,246,244,"[DS] ANOLIAN",1206,15,strnpcinfo(0)+"::OnDevilDead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] WANDERER",1208,15,strnpcinfo(0)+"::OnDevilDead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] DEVIRUCHI",1109,10,strnpcinfo(0)+"::OnDevilDead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] JOKER",1131,15,strnpcinfo(0)+"::OnDevilDead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] MOONLIGHT",1150,2,strnpcinfo(0)+"::OnDevilDead3";
areamonster "ordeal_1-1",183,182,246,244,"[DS] DARK ILLUSION",1302,1,strnpcinfo(0)+"::OnDevilDead3";
end;

OnDevilDead3:
.mob--;
if ( .mob == 25 || .mob == 5 )
announce "Devil Square : "+ .mob +" monsters remaining in the final round.", bc_map;
else if ( .mob <= 0 ) {
announce "Devil Square : CONGRATULATIONS. These 10 Treasure Chests are yours.", bc_map;
goto OnDevil4;
}
end;

OnDevil4:
.round = 4;
.mob = 10;
monster "ordeal_1-1",231,250,"Treasure Chest",1324,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",234,247,"Treasure Chest",1328,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",237,244,"Treasure Chest",1332,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",240,241,"Treasure Chest",1336,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",243,238,"Treasure Chest",1340,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",246,235,"Treasure Chest",1344,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",249,232,"Treasure Chest",1348,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",252,229,"Treasure Chest",1352,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",249,241,"Treasure Chest",1356,1,strnpcinfo(0)+"::OnTreasureDead";
monster "ordeal_1-1",240,249,"Treasure Chest",1360,1,strnpcinfo(0)+"::OnTreasureDead";
end;

OnTreasureDead:
.mob--;
announce "Devil Square : "+ strcharinfo(0) +" has opened the Treasure Chest at Devil Square.", bc_all;
if ( .mob <= 0 )
goto onstopEvent;
end;

onstopEvent:
killmonsterall "ordeal_1-1";
enablenpc "ord11-12"; //from npc/warps/pvp.txt
enablenpc "Devil Square Guardian#2";
.start = .round = .mob = 0;
end;
}

ordeal_1-1,246,245,7 script Devil Square Guardian#2 406,{
mes "[Exit]";
mes "Farewell.";
close2;
warp "SavePoint",0,0;
end;
}

ordeal_1-1 mapflag nowarp
ordeal_1-1 mapflag nowarpto
ordeal_1-1 mapflag noteleport
ordeal_1-1 mapflag monster_noteleport
ordeal_1-1 mapflag nosave SavePoint
ordeal_1-1 mapflag nomemo
ordeal_1-1 mapflag nobranch
ordeal_1-1 mapflag nopenalty
ordeal_1-1 mapflag noicewall

И после какой строки вбить команду?)

Изменено пользователем Fizik
  • Downvote 1
Ссылка на комментарий
Поделиться на другие сайты

Используй

, это первое, второе, когда должна играть музыка?

Сразу как появится первая волна и до самого конца пока не выйдут из ивента)

Ссылка на комментарий
Поделиться на другие сайты

Используй

, это первое, второе, когда должна играть музыка?
[/quote]
Сразу как появится первая волна и до самого конца пока не выйдут из ивента)
[/quote]

Полагаю, после
[code]
announce "Devil Square has STARTED!", bc_all;
[/code]

Изменено пользователем Oxxy
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Используй

, это первое, второе, когда должна играть музыка?
[/quote]
Сразу как появится первая волна и до самого конца пока не выйдут из ивента)
[/quote]

Полагаю, после
[code]
announce "Devil Square has STARTED!", bc_all;
[/code]

Я так же смогу после напимер первой волны сменить музыку да?) если вобью перед второй волной строку с другой wav да?)

Ссылка на комментарий
Поделиться на другие сайты

Спасибо Выручил ))) я кажись понял что делать)))) А то планы на Пару инстансов по мимо Ивентов))) хотелось своей музыки весёлой поставить что бы проходить веселее было )

Ссылка на комментарий
Поделиться на другие сайты

Насколько я помню, ты не можешь сменить или выключить музыку.

Тоесть если я поставлю одну мелодию, то одна и будет весь инстанс?)

Ссылка на комментарий
Поделиться на другие сайты

Насколько я помню, ты не можешь сменить или выключить музыку.

Тоесть если я поставлю одну мелодию, то одна и будет весь инстанс?)

Чет я пасс забыл от акка своего -_-

Нет, если ты включил одну мелодию то ты не сможешь ее выключить или переключить на другую.

Точнее, переключить сможешь, но будут играть сразу две мелодии.

Ссылка на комментарий
Поделиться на другие сайты

Но работать она будет только пока работает Ивент, или Инстанс

Работать она будет пока не закончится, или пока ты не перезайдешь.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика