Can someone convert this script to hercules
it is not working on hercules right now
//===== eAthena Script =======================================
//= Heal Npc
//===== By: ==================================================
//= Lotsa People (1.x)
//===== Current Version: =====================================
//= 3.1
//===== Compatible With: =====================================
//= eAthena 0.1+;
//===== Description: =========================================
//= Healer NPC Which Heals For Free and offers Guild Buffs.
//===== Additional Comments: =================================
//= 3.1 By Melli, added Guild Buffs.
//= 3.0 By massdriller, Changed and edited the script
//= added other warp points of maps.
//= 2.0 By Darkchild, Duplicates And Changed A Bit
//= you can replace this script file by heal_payment.txt
//= if you want that players have to pay their healings.
//============================================================
//prontera,153,192,5 script Healer#h1-1::Healer 971,{
celestiaj,102,77,5 script Healer#h1-1::Healer 971,{
emotion e_no1;
while (getbrokenid(1)) {
repair(1);
set .@i, .@i +1;
}
if (.@i) dispbottom .@i + " items repaired.";
sc_end SC_STONE;
sc_end SC_FREEZE;
sc_end SC_STUN;
sc_end SC_SLEEP;
sc_end SC_POISON;
sc_end SC_CURSE;
sc_end SC_SILENCE;
sc_end SC_CONFUSION;
sc_end SC_BLIND;
sc_end SC_BLEEDING;
sc_end SC_SLOWCAST;
sc_end SC_CRITICALWOUND;
sc_start SC_BLESSING,0,10;
sc_start SC_INCREASEAGI,0,10;
if($woe_on==1){
percentheal 100,100;
end;
}
if(getcharid(2)==0){
percentheal 100,100;
end;
}
set y, 0;
goto L_guildassumptio;
end;
L_guildassumptio:
if ($guildassumptio[y]==getcharid(2)) goto L_buffassumptio;
if (y>=getarraysize($guildassumptio)){
set y, 0;
goto L_guildmagnificat;
}
if (y<=getarraysize($guildassumptio)) set y,y+1;
goto L_guildassumptio;
end;
L_buffassumptio:
sc_start SC_ASSUMPTIO,0,5;
set y, 0;
goto L_guildmagnificat;
end;
L_guildmagnificat:
if ($guildmagnificat[y]==getcharid(2)) goto L_buffmagnificat;
if (y>=getarraysize($guildmagnificat)){
set y, 0;
goto L_guildangelus;
}
if (y<=getarraysize($guildmagnificat)) set y,y+1;
goto L_guildmagnificat;
end;
L_buffmagnificat:
sc_start SC_MAGNIFICAT,0,5;
set y, 0;
goto L_guildangelus;
end;
L_guildangelus:
if ($guildangelus[y]==getcharid(2)) goto L_buffangelus;
if (y>=getarraysize($guildangelus)){
set y, 0;
goto L_guildgloria;
}
if (y<=getarraysize($guildangelus)) set y,y+1;
goto L_guildangelus;
end;
L_buffangelus:
sc_start SC_angelus,0,10;
set y,0;
goto L_guildgloria;
end;
L_guildgloria:
if ($guildgloria[y]==getcharid(2)) goto L_buffgloria;
if (y>=getarraysize($guildgloria)){
set y, 0;
goto L_guildimpositio;
}
if (y<=getarraysize($guildgloria)) set y,y+1;
goto L_guildgloria;
end;
L_buffgloria:
sc_start SC_GLORIA,0,5;
set y,0;
goto L_guildimpositio;
end;
L_guildimpositio:
if ($guildimpositio[y]==getcharid(2)) goto L_buffimpositio;
if (y>=getarraysize($guildimpositio)){
set y, 0;
goto L_guildspirit;
}
if (y<=getarraysize($guildimpositio)) set y,y+1;
goto L_guildimpositio;
end;
L_buffimpositio:
sc_start SC_IMPOSITIO,0,5;
set y,0;
goto L_guildspirit;
end;
L_guildspirit:
if ($guildspirit[y]==getcharid(2)) goto L_buffspirit;
if (y>=getarraysize($guildspirit)){
set y, 0;
goto L_heal;
}
if (y<=getarraysize($guildspirit)) set y,y+1;
goto L_guildspirit;
end;
L_buffspirit:
set y,0;
percentheal 100,100;
switch( Class ) {
case Job_Star_Gladiator:
case Job_Star_Gladiator2:
set .@skill_id, 448; break;
case Job_SuperNovice:
set .@skill_id, 451; break;
case Job_Soul_Linker:
set .@skill_id, 461; break;
case Job_Novice_High:
case Job_Swordman_High:
case Job_Mage_High:
case Job_Archer_High:
case Job_Acolyte_High:
case Job_Merchant_High:
case Job_Thief_High:
set .@skill_id, 494; break;
default:
switch( BaseJob ) {
case Job_Alchemist: set .@skill_id, 445; break;
case Job_Monk: set .@skill_id, 447; break;
case Job_Sage: set .@skill_id, 449; break;
case Job_Crusader: set .@skill_id, 450; break;
case Job_Knight: set .@skill_id, 452; break;
case Job_Wizard: set .@skill_id, 453; break;
case Job_Priest: set .@skill_id, 454; break;
case Job_Bard:
case Job_Dancer: set .@skill_id, 455; break;
case Job_Rogue: set .@skill_id, 456; break;
case Job_Assassin: set .@skill_id, 457; break;
case Job_Blacksmith: set .@skill_id, 458; break;
case Job_Hunter: set .@skill_id, 460; break;
}
break;
}
if (.@skill_id) {
sc_start4 SC_SPIRIT,350000,5,.@skill_id,0,0;
specialeffect2 503;
}
goto L_heal;
end;
L_heal:
percentheal 100,100;
end;
}
morocc,158,97,3 duplicate(Healer) Healer#h1-2 971
ayothaya,148,121,4 duplicate(Healer) Healer#h1-3 971
geffen,122,59,1 duplicate(Healer) Healer#h1-4 971
umbala,87,160,5 duplicate(Healer) Healer#h1-5 971
payon,167,233,5 duplicate(Healer) Healer#h1-6 971
alberta,185,144,5 duplicate(Healer) Healer#h1-7 971
alberta,122,59,4 duplicate(Healer) Healer#h2-7 971
aldebaran,133,115,5 duplicate(Healer) Healer#h1-8 971
izlude,125,118,5 duplicate(Healer) Healer#h1-9 971
xmas,148,137,5 duplicate(Healer) Healer#h1-10 971
comodo,209,146,4 duplicate(Healer) Healer#h1-11 971
amatsu,105,156,5 duplicate(Healer) Healer#h1-12 971
gonryun,163,122,4 duplicate(Healer) Healer#h1-13 971
yuno,153,174,6 duplicate(Healer) Healer#h1-14 971
niflheim,188,180,5 duplicate(Healer) Healer#h1-15 971
louyang,221,106,4 duplicate(Healer) Healer#h1-16 971
rachel,130,116,4 duplicate(Healer) Healer#h1-17 971
veins,215,127,4 duplicate(Healer) Healer#h1-18 971
moscovia,216,185,6 duplicate(Healer) Healer#h1-19 971
lighthalzen,161,94,4 duplicate(Healer) Healer#h1-20 971
hugel,98,149,3 duplicate(Healer) Healer#h1-21 971
mid_camp,223,241,4 duplicate(Healer) Healer#h1-22 971
splendide,196,88,4 duplicate(Healer) Healer#h1-23 971
manuk,279,224,4 duplicate(Healer) Healer#h1-24 971
brasilis,193,220,4 duplicate(Healer) Healer#h1-25 971
bat_room,150,150,4 duplicate(Healer) Healer#battle 971
dicastes01,189,191,4 duplicate(Healer) Healer#dicaste 971
einbech,83,101,4 duplicate(Healer) Healer#einbech 971
jawaii,209,297,4 duplicate(Healer) Healer#jawaii 971
//===== Guild Buffs ==========================================
job3_rune02,43,48,4 script Guild Buffs 936,{
mes "[Guild Buffs]";
if(getcharid(2)==0){
mes "I'm sorry, I can only help you, if you're in a guild.";
close;
}
mes "Hello, I offer buffs for guilds.";
mes "Please select the buff you want to buy for your guild.";
mes "The buffs you bought will be permanently available for your guild.";
next;
mes "[Guild Buffs]";
mes "Guild Leaders can remove buffs by selecting to buy them and then confirming.";
next;
switch(select("Assumptio:Magnificat:Angelus:Gloria:Impositio Manus:Spirits")){
case 1:
set buff$, "Assumptio Level 5";
set price, 120000000;
set buffon$, "assu";
goto L_selectassumptio;
case 2:
set buff$, "Magnificat Level 5";
set price, 100000000;
set buffon$, "magni";
goto L_selectmagnificat;
case 3:
set buff$, "Angelus Level 10";
set price, 100000000;
set buffon$, "angelus";
goto L_selectangelus;
case 4:
set buff$, "Gloria Level 5";
set price, 100000000;
set buffon$, "gloria";
goto L_selectgloria;
case 5:
set buff$, "Impositio Manus Level 5";
set price, 100000000;
set buffon$, "impo";
goto L_selectimpositio;
case 6:
set buff$, "Spirits Level 4 (excluding Rebirth Spirit and Soul Linker Spirit)";
set price, 150000000;
set buffon$, "spirit";
goto L_selectspirit;
}
L_buffselect:
mes "[Guild Buffs]";
mes "So, you want to buy " + buff$ + " for " + price + " Zeny?";
next;
switch(select("Yes, please:No, thank you")){
case 1:
if(zeny<price) goto L_nobuffs;
set zeny, zeny-price;
if (buffon$=="assu"){
set z, getarraysize($guildassumptio);
set $guildassumptio[z+1], getcharid(2);
goto L_buffbought;
}
if (buffon$=="magni"){
set z, getarraysize($guildmagnificat);
set $guildmagnificat[z+1], getcharid(2);
goto L_buffbought;
}
if (buffon$=="angelus"){
set z, getarraysize($guildangelus);
set $guildangelus[z+1], getcharid(2);
goto L_buffbought;
}
if (buffon$=="gloria"){
set z, getarraysize($guildgloria);
set $guildgloria[z+1], getcharid(2);
goto L_buffbought;
}
if (buffon$=="impo"){
set z, getarraysize($guildimpositio);
set $guildimpositio[z+1], getcharid(2);
goto L_buffbought;
}
if (buffon$=="spirit"){
set z, getarraysize($guildspirit);
set $guildspirit[z+1], getcharid(2);
goto L_buffbought;
}
case 2:
mes "[Guild Buffs]";
mes "As you wish.";
close;
}
L_buffbought:
mes "[Guild Buffs]";
mes "Transaction complete, the buff is now available for your guild.";
close;
L_nobuffs:
mes "[Guild Buffs]";
mes "I'm sorry, you don't have enough money.";
close;
L_selectassumptio:
if ($guildassumptio[y]==getcharid(2)) goto L_available;
if (y>=getarraysize($guildassumptio)){
set y, 0;
goto L_buffselect;
}
if (y<=getarraysize($guildassumptio)) set y,y+1;
goto L_selectassumptio;
end;
L_selectimpositio:
if ($guildimpositio[y]==getcharid(2)) goto L_available;
if (y>=getarraysize($guildimpositio)){
set y, 0;
goto L_buffselect;
}
if (y<=getarraysize($guildimpositio)) set y,y+1;
goto L_selectimpositio;
end;
L_selectspirit:
if ($guildspirit[y]==getcharid(2)) goto L_available;
if (y>=getarraysize($guildspirit)){
set y, 0;
goto L_buffselect;
}
if (y<=getarraysize($guildspirit)) set y,y+1;
goto L_selectspirit;
end;
L_selectmagnificat:
if ($guildmagnificat[y]==getcharid(2)) goto L_available;
if (y>=getarraysize($guildmagnificat)){
set y, 0;
goto L_buffselect;
}
if (y<=getarraysize($guildmagnificat)) set y,y+1;
goto L_selectmagnificat;
end;
L_selectangelus:
if ($guildangelus[y]==getcharid(2)) goto L_available;
if (y>=getarraysize($guildangelus)){
set y, 0;
goto L_buffselect;
}
if (y<=getarraysize($guildangelus)) set y,y+1;
goto L_selectangelus;
end;
L_selectgloria:
if ($guildgloria[y]==getcharid(2)) goto L_available;
if (y>=getarraysize($guildgloria)){
set y, 0;
goto L_buffselect;
}
if (y<=getarraysize($guildgloria)) set y,y+1;
goto L_selectgloria;
end;
L_available:
mes "[Guild Buffs]";
mes "You already bought " + buff$ + ".";
if(getguildmasterid(getcharid(2))==getcharid(0)) {
mes "Do you want to remove it?";
next;
switch(select("No:Yes")){
Case 1:
close;
Case 2:
mes "^FF0000Keep in mind that you won't get any refund!^000000";
mes "So, are you sure you want to take out that action?";
next;
switch(select("No:Yes")) {
Case 1:
close;
Case 2:
if (buffon$=="assu"){
set $guildassumptio[y], 0;
goto L_buffdeleted;
}
if (buffon$=="magni"){
set $guildmagnificat[y], 0;
goto L_buffdeleted;
}
if (buffon$=="angelus"){
set $guildangelus[y], 0;
goto L_buffdeleted;
}
if (buffon$=="gloria"){
set $guildgloria[y], 0;
goto L_buffdeleted;
}
if (buffon$=="impo"){
set $guildimpositio[y], 0;
goto L_buffdeleted;
}
if (buffon$=="spirit"){
set $guildspirit[y], 0;
goto L_buffdeleted;
}
}
}
close;
}
L_buffdeleted:
mes "[Guild Buffs]";
mes "Transaction completed. " + buff$ + " has been deleted from your Guildbuffs.";
close;
}
//===== GM Buffer ============================================
//= GMs simply have to whisper the word "buff" to
//= "NPC:Buff" to receive several buffs for one
//= hour and full heal.
//= If the invoking character is not a GM, nothing will happen.
//= To add more buffs, see db/const.txt and search for SC_.
//============================================================
//- script Buff -1,{
//OnWhisperGlobal:
// if(@whispervar0$=="buff") {
// if(getgmlevel()>=40){
// sc_start 21,3600000,10;
// sc_start 22,3600000,10;
// sc_start 23,3600000,10;
// sc_start 27,3600000,10;
// sc_start 29,3600000,100;
// sc_start 30,3600000,100;
// sc_start 32,3600000,100;
// sc_start 35,3600000,10;
// sc_start 40,3600000,10;
// sc_start 41,3600000,10;
// sc_start 43,3600000,10;
// sc_start 44,3600000,10;
// sc_start 46,3600000,10;
// sc_start 49,3600000,10;
// sc_start 58,3600000,10;
// sc_start 60,3600000,10;
// sc_start 61,3600000,10;
// sc_start 62,3600000,10;
// sc_start 72,3600000,10;
// sc_start 73,3600000,10;
// sc_start 74,3600000,10;
// sc_start 75,3600000,10;
// sc_start 76,3600000,10;
// sc_start 77,3600000,10;
// sc_start 86,3600000,10;
// sc_start 92,3600000,10;
// sc_start 108,3600000,10;
// sc_start 109,3600000,10;
// sc_start 110,3600000,10;
// sc_start 113,3600000,10;
// sc_start 115,3600000,10;
// sc_start 120,3600000,10;
// sc_start 121,3600000,10;
// sc_start 123,3600000,100;
// sc_start 125,3600000,100;
// sc_start 147,3600000,10;
// sc_start 148,3600000,10;
// sc_start 149,3600000,10;
// sc_start 150,3600000,10;
// sc_start 154,3600000,10;
// sc_start 156,3600000,100;
// sc_start 267,3600000,100;
// percentheal 100,100;
// end;
// }
// end;
// }
// end;
//}