Sample Music Project
.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.
Hello and hi!) My dear colleagues!) Honestly, I do not know if this is the first project
of its kind, but it reached the point when I have something to show.
I have noticed for a long time that there are enough musical instruments in RO,
but there is no variability and the bards are rigidly driven into the framework
of certain song skills. And what if, in the breaks between the endless standing
in a party, casting «A Poem of Bragi», would they want to slightly improvise
on favorite instruments?
~~~ About the SMP : ~~~
At the moment the "solo" command only calls up a certain sound sample, animation
of the play on the instrument and emotion, which can be turned off together
with the sound effects in the settings. It is collected exclusively for fun.
For example, playing a show in a RO or conducting a meeting,
you can create a background atmosphere. (!) All samples are taken from videos that demonstrate the sound of musical instruments on YouTube (!)
The project consists of collected clean samples of musical instruments specially
selected for the style of each instrument, so they can be easily distinguished
from each other, even if it's another guitar. The length of the samples varies
from 3 to 26 seconds, they are all collected in .wav format in good quality.
(video quality is quite low, sorry)
~~~ A few statistics that are at the moment : ~~~
+) 821 ~1000 code lines for «@ solo» command activating samples that everyone can hear within the screen
+) 282 355 music samples with 2753 3558 sec (~1 hour) of samples duration in total
+) total weight about 500 mb in grf
[In Video] 00:05 - Bass Guitar - 46 samples x 515 sec
[In Video] 00:58 - Guitar - 17 samples x 155 sec - 21 samples x 274 sec
[In Video] 01:47 - Burning Passion Guitar - 13 samples x 124 sec
[In Video] 02:32 - Loner's Guitar - 9 samples x 99 sec - 17 samples x 155 sec
[In Video] 03:15 - Gentle Breeze Guitar - 15 samples x 135 sec
[In Video] 04:13 - Green Acre Guitar - 14 samples x 159 sec
[In Video] 04:45 - Lute/Oriental Lute - 11 samples x 119 sec
[In Video] 05:29 - Mandolin - 11 samples x 88 sec
[In Video] 06:26 - Electric Guitar - 12 samples x 133 sec
[In Video] 07:38 - Berserk Guitar - 17 samples x 147 sec
[In Video] 08:42 - Cello - 20 samples x 210 sec
[In Video] 09:48 - Violin - 26 samples x 211 sec
[In Video] 10:52 - Gumoongoh - 21 samples x 197 sec
[In Video] 12:09 - Harp, Harp of Nepenthes - 21 samples x 221 sec
[In Video] 13:15 - Green Whistle - 18 samples x 129 sec
[In Video] None - Contrabass - 11 samples x 111 sec - 16 samples x 169 sec
[In Video] None - Oz's New Ukulele - 13 samples x 131 sec
[In Video] None - Hippie Guitar - 30 samples x 295 sec
[In Video] None - Brute Guitar - 13 samples x 146 sec
~~~ About the script part : ~~~
The script was tested on the emulator eAthena, because I was stuck in 2010.
(This script wasn't tested with Herc in the case of this command, but you could test samples with @ sound command I suppose)
In src/common/mmo.h :
(w0w!) find these two lines
#define WEDDING_RING_M 2634
#define WEDDING_RING_F 2635
(w0w!) add after the variables
// @solo
#define GUITAR 1907
#define GUITAR2 1908
#define ELE_GUITAR 1913
#define BER_GUITAR 1920
#define BAS_GUITAR 1919
#define FIRE_GUITAR 1914
#define WATER_GUITAR 1915
#define EARTH_GUITAR 1916
#define WIND_GUITAR 1917
#define CELLO 1925
#define GUMOONGOH 1911
#define GUMOONGOH2 1912
#define HARP 1909
#define HARP2 1910
#define HARP_OF_NEP 1926
#define LUTE 1905
#define LUTE2 1906
#define ORI_LUTE 1918
#define ORI_LUTE2 1922
#define MANDOLIN 1903
#define MANDOLIN2 1904
#define VIOLIN 1901
#define VIOLIN2 1902
#define GREEN_WHISTLE 1930
#define CONTRABASS 1934
#define OZ_UKULELE 1935
#define HIPPIE_GUITAR 1944
#define BRUTE_GUITAR 32100
In src/map/atcommand.c :
ACMD_FUNC(solo)
{
int nameid;
struct item_data* id;
if(sd->weapontype1==W_MUSICAL) {
// Guitar
if(pc_isequipped(sd, GUITAR) || pc_isequipped(sd, GUITAR2)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>21){
clif_displaymessage(fd, "usage: @solo 1-21");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "gui01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "gui02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "gui03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "gui04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "gui05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "gui06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "gui07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "gui08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "gui09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "gui10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "gui11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "gui12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "gui13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "gui14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "gui15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "gui16.wav", 0, AREA);
} else if ( atoi(message) == 17 ) {
clif_soundeffectall(&sd->bl, "gui17.wav", 0, AREA);
} else if ( atoi(message) == 18 ) {
clif_soundeffectall(&sd->bl, "gui18.wav", 0, AREA);
} else if ( atoi(message) == 19 ) {
clif_soundeffectall(&sd->bl, "gui19.wav", 0, AREA);
} else if ( atoi(message) == 20 ) {
clif_soundeffectall(&sd->bl, "gui20.wav", 0, AREA);
} else if ( atoi(message) == 21 ) {
clif_soundeffectall(&sd->bl, "gui21.wav", 0, AREA);
}
return 0;
}
// Electric Guitar
else if(pc_isequipped(sd, ELE_GUITAR)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>12){
clif_displaymessage(fd, "usage: @solo 1-12");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "ele01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "ele02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "ele03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "ele04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "ele05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "ele06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "ele07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "ele08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "ele09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "ele10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "ele11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "ele12.wav", 0, AREA);
}
return 0;
}
// Berserk Guitar
else if(pc_isequipped(sd, BER_GUITAR)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>17){
clif_displaymessage(fd, "usage: @solo 1-17");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "ber01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "ber02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "ber03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "ber04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "ber05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "ber06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "ber07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "ber08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "ber09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "ber10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "ber11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "ber12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "ber13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "ber14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "ber15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "ber16.wav", 0, AREA);
} else if ( atoi(message) == 17 ) {
clif_soundeffectall(&sd->bl, "ber17.wav", 0, AREA);
}
return 0;
}
// Bass Guitar
else if(pc_isequipped(sd, BAS_GUITAR)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>46){
clif_displaymessage(fd, "usage: @solo 1-46");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "bas01.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "bas01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "bas02.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "bas02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "bas03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "bas04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "bas05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "bas06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "bas07.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "bas07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "bas08.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "bas08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "bas09.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "bas09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "bas10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "bas11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "bas12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "bas13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "bas14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "bas15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "bas16.wav", 0, AREA);
} else if ( atoi(message) == 17 ) {
clif_soundeffectall(&sd->bl, "bas17.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "bas17.wav", 0, AREA);
} else if ( atoi(message) == 18 ) {
clif_soundeffectall(&sd->bl, "bas18.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "bas18.wav", 0, AREA);
} else if ( atoi(message) == 19 ) {
clif_soundeffectall(&sd->bl, "bas19.wav", 0, AREA);
} else if ( atoi(message) == 20 ) {
clif_soundeffectall(&sd->bl, "bas20.wav", 0, AREA);
} else if ( atoi(message) == 21 ) {
clif_soundeffectall(&sd->bl, "bas21.wav", 0, AREA);
} else if ( atoi(message) == 22 ) {
clif_soundeffectall(&sd->bl, "bas22.wav", 0, AREA);
} else if ( atoi(message) == 23 ) {
clif_soundeffectall(&sd->bl, "bas23.wav", 0, AREA);
} else if ( atoi(message) == 24 ) {
clif_soundeffectall(&sd->bl, "bas24.wav", 0, AREA);
} else if ( atoi(message) == 25 ) {
clif_soundeffectall(&sd->bl, "bas25.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "bas25.wav", 0, AREA);
} else if ( atoi(message) == 26 ) {
clif_soundeffectall(&sd->bl, "bas26.wav", 0, AREA);
} else if ( atoi(message) == 27 ) {
clif_soundeffectall(&sd->bl, "bas27.wav", 0, AREA);
} else if ( atoi(message) == 28 ) {
clif_soundeffectall(&sd->bl, "bas28.wav", 0, AREA);
} else if ( atoi(message) == 29 ) {
clif_soundeffectall(&sd->bl, "bas29.wav", 0, AREA);
} else if ( atoi(message) == 30 ) {
clif_soundeffectall(&sd->bl, "bas30.wav", 0, AREA);
} else if ( atoi(message) == 31 ) {
clif_soundeffectall(&sd->bl, "bas31.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "bas31.wav", 0, AREA);
} else if ( atoi(message) == 32 ) {
clif_soundeffectall(&sd->bl, "bas32.wav", 0, AREA);
} else if ( atoi(message) == 33 ) {
clif_soundeffectall(&sd->bl, "bas33.wav", 0, AREA);
} else if ( atoi(message) == 34 ) {
clif_soundeffectall(&sd->bl, "bas34.wav", 0, AREA);
} else if ( atoi(message) == 35 ) {
clif_soundeffectall(&sd->bl, "bas35.wav", 0, AREA);
} else if ( atoi(message) == 36 ) {
clif_soundeffectall(&sd->bl, "bas36.wav", 0, AREA);
} else if ( atoi(message) == 37 ) {
clif_soundeffectall(&sd->bl, "bas37.wav", 0, AREA);
} else if ( atoi(message) == 38 ) {
clif_soundeffectall(&sd->bl, "bas38.wav", 0, AREA);
} else if ( atoi(message) == 39 ) {
clif_soundeffectall(&sd->bl, "bas39.wav", 0, AREA);
} else if ( atoi(message) == 40 ) {
clif_soundeffectall(&sd->bl, "bas40.wav", 0, AREA);
} else if ( atoi(message) == 41 ) {
clif_soundeffectall(&sd->bl, "bas41.wav", 0, AREA);
} else if ( atoi(message) == 42 ) {
clif_soundeffectall(&sd->bl, "bas42.wav", 0, AREA);
} else if ( atoi(message) == 43 ) {
clif_soundeffectall(&sd->bl, "bas43.wav", 0, AREA);
} else if ( atoi(message) == 44 ) {
clif_soundeffectall(&sd->bl, "bas44.wav", 0, AREA);
} else if ( atoi(message) == 45 ) {
clif_soundeffectall(&sd->bl, "bas45.wav", 0, AREA);
} else if ( atoi(message) == 46 ) {
clif_soundeffectall(&sd->bl, "bas46.wav", 0, AREA);
}
return 0;
}
// Burning Passion Guitar
else if(pc_isequipped(sd, FIRE_GUITAR)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>13){
clif_displaymessage(fd, "usage: @solo 1-13");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "pas01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "pas02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "pas03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "pas04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "pas05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "pas06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "pas07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "pas08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "pas09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "pas10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "pas11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "pas12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "pas13.wav", 0, AREA);
}
return 0;
}
// Loner's Guitar
else if(pc_isequipped(sd, WATER_GUITAR)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>17){
clif_displaymessage(fd, "usage: @solo 1-17");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "lon01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "lon02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "lon03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "lon04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "lon05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "lon06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "lon07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "lon08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "lon09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "lon10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "lon11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "lon12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "lon13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "lon14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "lon15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "lon16.wav", 0, AREA);
} else if ( atoi(message) == 17 ) {
clif_soundeffectall(&sd->bl, "lon17.wav", 0, AREA);
}
return 0;
}
// Green Acre Guitar
else if(pc_isequipped(sd, EARTH_GUITAR)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>14){
clif_displaymessage(fd, "usage: @solo 1-14");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "acr01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "acr02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "acr03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "acr04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "acr05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "acr06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "acr07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "acr08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "acr09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "acr10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "acr11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "acr12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "acr13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "acr14.wav", 0, AREA);
}
return 0;
}
// Gentle Breeze Guitar
else if(pc_isequipped(sd, WIND_GUITAR)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>15){
clif_displaymessage(fd, "usage: @solo 1-15");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "bre01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "bre02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "bre03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "bre04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "bre05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "bre06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "bre07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "bre08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "bre09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "bre10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "bre11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "bre12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "bre13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "bre14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "bre15.wav", 0, AREA);
}
return 0;
}
// Cello
else if(pc_isequipped(sd, CELLO)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>20){
clif_displaymessage(fd, "usage: @solo 1-20");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "cel01.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "cel02.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "cel03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "cel04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "cel05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "cel06.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "cel07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "cel08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "cel09.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "cel10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "cel11.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "cel12.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "cel13.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "cel14.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "cel15.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "cel16.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel16.wav", 0, AREA);
} else if ( atoi(message) == 17 ) {
clif_soundeffectall(&sd->bl, "cel17.wav", 0, AREA);
} else if ( atoi(message) == 18 ) {
clif_soundeffectall(&sd->bl, "cel18.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel18.wav", 0, AREA);
} else if ( atoi(message) == 19 ) {
clif_soundeffectall(&sd->bl, "cel19.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "cel19.wav", 0, AREA);
} else if ( atoi(message) == 20 ) {
clif_soundeffectall(&sd->bl, "cel20.wav", 0, AREA);
}
return 0;
}
// Gumoongoh
else if(pc_isequipped(sd, GUMOONGOH) || pc_isequipped(sd, GUMOONGOH2)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>21){
clif_displaymessage(fd, "usage: @solo 1-21");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "geo01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "geo02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "geo03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "geo04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "geo05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "geo06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "geo07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "geo08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "geo09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "geo10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "geo11.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "geo12.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "geo13.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "geo14.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "geo15.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "geo16.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo16.wav", 0, AREA);
} else if ( atoi(message) == 17 ) {
clif_soundeffectall(&sd->bl, "geo17.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo17.wav", 0, AREA);
} else if ( atoi(message) == 18 ) {
clif_soundeffectall(&sd->bl, "geo18.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo18.wav", 0, AREA);
} else if ( atoi(message) == 19 ) {
clif_soundeffectall(&sd->bl, "geo19.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo19.wav", 0, AREA);
} else if ( atoi(message) == 20 ) {
clif_soundeffectall(&sd->bl, "geo20.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo20.wav", 0, AREA);
} else if ( atoi(message) == 21 ) {
clif_soundeffectall(&sd->bl, "geo21.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "geo21.wav", 0, AREA);
}
return 0;
}
// Harp
else if(pc_isequipped(sd, HARP) || pc_isequipped(sd, HARP2) || pc_isequipped(sd, HARP_OF_NEP)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>21){
clif_displaymessage(fd, "usage: @solo 1-21");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "har01.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "har02.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "har03.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "har04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "har05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "har06.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "har07.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "har08.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "har09.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "har10.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "har11.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "har12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "har13.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "har14.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "har15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "har16.wav", 0, AREA);
} else if ( atoi(message) == 17 ) {
clif_soundeffectall(&sd->bl, "har17.wav", 0, AREA);
} else if ( atoi(message) == 18 ) {
clif_soundeffectall(&sd->bl, "har18.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har18.wav", 0, AREA);
} else if ( atoi(message) == 19 ) {
clif_soundeffectall(&sd->bl, "har19.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har19.wav", 0, AREA);
} else if ( atoi(message) == 20 ) {
clif_soundeffectall(&sd->bl, "har20.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har20.wav", 0, AREA);
} else if ( atoi(message) == 21 ) {
clif_soundeffectall(&sd->bl, "har21.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "har21.wav", 0, AREA);
}
return 0;
}
// Lute
else if(pc_isequipped(sd, LUTE) || pc_isequipped(sd, LUTE2) || pc_isequipped(sd, ORI_LUTE) || pc_isequipped(sd, ORI_LUTE2)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>11){
clif_displaymessage(fd, "usage: @solo 1-11");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "lut01.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "lut02.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "lut03.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "lut04.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "lut05.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "lut06.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "lut07.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "lut08.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "lut09.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "lut10.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "lut11.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "lut11.wav", 0, AREA);
}
return 0;
}
// Mandolin
else if(pc_isequipped(sd, MANDOLIN) || pc_isequipped(sd, MANDOLIN2)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>11){
clif_displaymessage(fd, "usage: @solo 1-11");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "man01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "man02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "man03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "man04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "man05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "man06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "man07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "man08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "man09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "man10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "man11.wav", 0, AREA);
}
return 0;
}
// Violin
else if(pc_isequipped(sd, VIOLIN) || pc_isequipped(sd, VIOLIN2)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>26){
clif_displaymessage(fd, "usage: @solo 1-26");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "vio01.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "vio02.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "vio03.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "vio04.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "vio05.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "vio06.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "vio07.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "vio08.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "vio09.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "vio10.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "vio11.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "vio12.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "vio13.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "vio14.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "vio15.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "vio16.wav", 0, AREA);
clif_soundeffectall(&sd->bl, "vio16.wav", 0, AREA);
} else if ( atoi(message) == 17 ) {
clif_soundeffectall(&sd->bl, "vio17.wav", 0, AREA);
} else if ( atoi(message) == 18 ) {
clif_soundeffectall(&sd->bl, "vio18.wav", 0, AREA);
} else if ( atoi(message) == 19 ) {
clif_soundeffectall(&sd->bl, "vio19.wav", 0, AREA);
} else if ( atoi(message) == 20 ) {
clif_soundeffectall(&sd->bl, "vio20.wav", 0, AREA);
} else if ( atoi(message) == 21 ) {
clif_soundeffectall(&sd->bl, "vio21.wav", 0, AREA);
} else if ( atoi(message) == 22 ) {
clif_soundeffectall(&sd->bl, "vio22.wav", 0, AREA);
} else if ( atoi(message) == 23 ) {
clif_soundeffectall(&sd->bl, "vio23.wav", 0, AREA);
} else if ( atoi(message) == 24 ) {
clif_soundeffectall(&sd->bl, "vio24.wav", 0, AREA);
} else if ( atoi(message) == 25 ) {
clif_soundeffectall(&sd->bl, "vio25.wav", 0, AREA);
} else if ( atoi(message) == 26 ) {
clif_soundeffectall(&sd->bl, "vio26.wav", 0, AREA);
}
return 0;
}
// Green Whistle
else if(pc_isequipped(sd, GREEN_WHISTLE)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>18){
clif_displaymessage(fd, "usage: @solo 1-18");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "gre01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "gre02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "gre03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "gre04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "gre05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "gre06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "gre07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "gre08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "gre09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "gre10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "gre11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "gre12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "gre13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "gre14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "gre15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "gre16.wav", 0, AREA);
} else if ( atoi(message) == 17 ) {
clif_soundeffectall(&sd->bl, "gre17.wav", 0, AREA);
} else if ( atoi(message) == 18 ) {
clif_soundeffectall(&sd->bl, "gre18.wav", 0, AREA);
}
return 0;
}
// Contrabass
else if(pc_isequipped(sd, CONTRABASS)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>16){
clif_displaymessage(fd, "usage: @solo 1-16");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "con01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "con02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "con03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "con04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "con05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "con06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "con07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "con08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "con09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "con10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "con11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "con12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "con13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "con14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "con15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "con16.wav", 0, AREA);
}
return 0;
}
// Oz's New Ukulele
else if(pc_isequipped(sd, OZ_UKULELE)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>13){
clif_displaymessage(fd, "usage: @solo 1-13");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "ozs01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "ozs02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "ozs03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "ozs04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "ozs05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "ozs06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "ozs07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "ozs08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "ozs09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "ozs10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "ozs11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "ozs12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "ozs13.wav", 0, AREA);
}
return 0;
}
// Hippie Guitar
else if(pc_isequipped(sd, HIPPIE_GUITAR)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>30){
clif_displaymessage(fd, "usage: @solo 1-30");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "hip01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "hip02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "hip03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "hip04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "hip05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "hip06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "hip07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "hip08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "hip09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "hip10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "hip11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "hip12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "hip13.wav", 0, AREA);
} else if ( atoi(message) == 14 ) {
clif_soundeffectall(&sd->bl, "hip14.wav", 0, AREA);
} else if ( atoi(message) == 15 ) {
clif_soundeffectall(&sd->bl, "hip15.wav", 0, AREA);
} else if ( atoi(message) == 16 ) {
clif_soundeffectall(&sd->bl, "hip16.wav", 0, AREA);
} else if ( atoi(message) == 17 ) {
clif_soundeffectall(&sd->bl, "hip17.wav", 0, AREA);
} else if ( atoi(message) == 18 ) {
clif_soundeffectall(&sd->bl, "hip18.wav", 0, AREA);
} else if ( atoi(message) == 19 ) {
clif_soundeffectall(&sd->bl, "hip19.wav", 0, AREA);
} else if ( atoi(message) == 20 ) {
clif_soundeffectall(&sd->bl, "hip20.wav", 0, AREA);
} else if ( atoi(message) == 21 ) {
clif_soundeffectall(&sd->bl, "hip21.wav", 0, AREA);
} else if ( atoi(message) == 22 ) {
clif_soundeffectall(&sd->bl, "hip22.wav", 0, AREA);
} else if ( atoi(message) == 23 ) {
clif_soundeffectall(&sd->bl, "hip23.wav", 0, AREA);
} else if ( atoi(message) == 24 ) {
clif_soundeffectall(&sd->bl, "hip24.wav", 0, AREA);
} else if ( atoi(message) == 25 ) {
clif_soundeffectall(&sd->bl, "hip25.wav", 0, AREA);
} else if ( atoi(message) == 26 ) {
clif_soundeffectall(&sd->bl, "hip26.wav", 0, AREA);
} else if ( atoi(message) == 27 ) {
clif_soundeffectall(&sd->bl, "hip27.wav", 0, AREA);
} else if ( atoi(message) == 28 ) {
clif_soundeffectall(&sd->bl, "hip28.wav", 0, AREA);
} else if ( atoi(message) == 29 ) {
clif_soundeffectall(&sd->bl, "hip29.wav", 0, AREA);
} else if ( atoi(message) == 30 ) {
clif_soundeffectall(&sd->bl, "hip30.wav", 0, AREA);
}
return 0;
}
// Brute Guitar
else if(pc_isequipped(sd, BRUTE_GUITAR)) {
if(!message || !*message || atoi(message)<1 || atoi(message)>13){
clif_displaymessage(fd, "usage: @solo 1-13");
return -1;
}
clif_emotion(&sd->bl, E_HO);
clif_skill_nodamage(&sd->bl,&sd->bl,317,-1,1);
if ( atoi(message) == 1 ) {
clif_soundeffectall(&sd->bl, "bru01.wav", 0, AREA);
} else if ( atoi(message) == 2 ) {
clif_soundeffectall(&sd->bl, "bru02.wav", 0, AREA);
} else if ( atoi(message) == 3 ) {
clif_soundeffectall(&sd->bl, "bru03.wav", 0, AREA);
} else if ( atoi(message) == 4 ) {
clif_soundeffectall(&sd->bl, "bru04.wav", 0, AREA);
} else if ( atoi(message) == 5 ) {
clif_soundeffectall(&sd->bl, "bru05.wav", 0, AREA);
} else if ( atoi(message) == 6 ) {
clif_soundeffectall(&sd->bl, "bru06.wav", 0, AREA);
} else if ( atoi(message) == 7 ) {
clif_soundeffectall(&sd->bl, "bru07.wav", 0, AREA);
} else if ( atoi(message) == 8 ) {
clif_soundeffectall(&sd->bl, "bru08.wav", 0, AREA);
} else if ( atoi(message) == 9 ) {
clif_soundeffectall(&sd->bl, "bru09.wav", 0, AREA);
} else if ( atoi(message) == 10 ) {
clif_soundeffectall(&sd->bl, "bru10.wav", 0, AREA);
} else if ( atoi(message) == 11 ) {
clif_soundeffectall(&sd->bl, "bru11.wav", 0, AREA);
} else if ( atoi(message) == 12 ) {
clif_soundeffectall(&sd->bl, "bru12.wav", 0, AREA);
} else if ( atoi(message) == 13 ) {
clif_soundeffectall(&sd->bl, "bru13.wav", 0, AREA);
}
return 0;
}
}
}
In src/map/atcommand.c also don't forget to add :
{ "solo", 0,0, atcommand_solo }, // solo
[Download Link: https://www.mediafire.com/folder/pwcyadczve81h/sample_music_project]
[The map used in this video - Barcode]