BrOgBr

Members
  • Content count

    11
  • Joined

  • Last visited

  1. Please someone help me! I need put a "erasequest" any quest before Reborn to transclass! //===== Criado Por: ============================================== //= Euphy //===== Compatível Com: ========================================== //= BRathena -- Tradução por: Julinhobrow //===== Descrição: =============================================== //= Troca sua classe sem necessidade de quest. //===== Comentários Adicionais: ================================== //= com classes 3rd //= administre no final do arquivo. //================================================================ prontera,147,189,6 script Mestra das Classes 4_F_NACORURI,{ function Job_Menu; function A_An; mes "[^8A2BE2Mestre das Classes^000000]"; if (Class > Job_Soul_Linker) { mes "Não existem mais expansões para sua classe?"; close; } if (checkfalcon() || checkcart() || checkmount() || hascashmount()) { mes "Por favor remova seu "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkmount() || hascashmount())?"mount":"") +" para continuar."; close; } if (.skill_point_check && SkillPoint > 0) { mes "Por favor use todos os seus pontos de habilidade para continuar."; close; } [email protected] = eaclass(); [email protected] = .third_classes ? roclass([email protected]&EAJ_UPPERMASK) : Class; if ([email protected] >= Job_Knight && [email protected] <= Job_Crusader2) { if (BaseLevel < .rebirth_blevel || JobLevel < .rebirth_jlevel) { [email protected] = .rebirth_blevel - BaseLevel; [email protected] = .rebirth_jlevel - JobLevel; mes "Você precisa de mais" + (BaseLevel < .rebirth_blevel ? ((.rebirth_blevel - BaseLevel) +" base levels "+ (JobLevel < .rebirth_jlevel ? "e " : "")) : "") + (JobLevel < .rebirth_jlevel ? (.rebirth_jlevel - JobLevel) +" job levels " : "") + "para continuar."; close; } if (Class > Job_Crusader2) { mes "Avançar para a Terceira Classe?"; next; Job_Menu(roclass([email protected]|EAJL_THIRD)); close; } while (true) { mes "Selecione uma opção."; next; [email protected] = select(" ~ ^0055FFRenascer^000000:"+(.third_classes ? " ~ ^FF0000Terceira Classe^000000" : "")+": ~ ^777777Sair^000000"); if ([email protected] == 3) close; mes "[^8A2BE2Mestre das Classes^000000]"; mes "Você tem certeza?"; next; if ([email protected] == 1) Job_Menu(Job_Novice_High); else Job_Menu(roclass([email protected]|EAJL_THIRD)); mes "[^8A2BE2Mestre das Classes^000000]"; } } [email protected] = roclass([email protected]|EAJL_2_1); [email protected] = roclass([email protected]|EAJL_2_2); if (([email protected]&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) { [email protected] = roclass([email protected]|EAJL_THIRD); [email protected]_jlevel = 99; } else if (Class == Job_Ninja || Class == Job_Gunslinger) { [email protected] = [email protected]; [email protected]_jlevel = 70; } if ([email protected] && .third_classes) { if (BaseLevel < .rebirth_blevel || JobLevel < [email protected]_jlevel) { mes "Você precisa de mais " + (BaseLevel < .rebirth_blevel ? ((.rebirth_blevel - BaseLevel) +" base levels "+ (JobLevel < [email protected]_jlevel ? "e " : "")) : "") + (JobLevel < [email protected]_jlevel ? ([email protected]_jlevel - JobLevel) +" job levels " : "") + "para continuar."; close; } mes "Mudar para "+jobname([email protected])+"?"; next; Job_Menu([email protected]); close; } if ([email protected]&EAJL_2) if ([email protected]&(EAJL_UPPER|EAJL_BABY) || roclass([email protected]|EAJL_UPPER) == -1) { mes "Não existem mais expansões para sua classe."; close; } if (([email protected]&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .jobchange_first) { mes "Um job level de "+.jobchange_first+" é necessário para mudar para 1st Classe."; } else if (Class == Job_Novice_High && .linear_jobchange && lastJob) { mes "Mudar de Classe agora?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); } else if (Class == Job_Novice) { Job_Menu(Job_Swordman, Job_Mage, Job_Archer, Job_Acolyte, Job_Merchant, Job_Thief, Job_SuperNovice, Job_Taekwon, Job_Gunslinger, Job_Ninja, Job_Baby); } else if (Class == Job_Novice_High) { Job_Menu(Job_Swordman_High, Job_Mage_High, Job_Archer_High, Job_Acolyte_High, Job_Merchant_High, Job_Thief_High); } else if (Class == Job_Baby) { Job_Menu(Job_Baby_Swordman, Job_Baby_Mage, Job_Baby_Archer, Job_Baby_Acolyte, Job_Baby_Merchant, Job_Baby_Thief, Job_Super_Baby); } else { mes "Ocorreu um erro."; } close; } if (roclass([email protected]|EAJL_2_1) == -1 || roclass([email protected]|EAJL_2_2) == -1) { mes "No more jobs are available."; } else if (!([email protected]&EAJL_2) && JobLevel < .jobchange_second) { mes "É necessário possuir nível de classe "+.jobchange_second+" para mudar para a Segunda Classe."; } else if (.linear_jobchange && lastJob && ([email protected]&EAJL_UPPER)) { mes "Mudar de classe agora?"; next; Job_Menu(lastJob+Job_Novice_High); } else { Job_Menu([email protected], [email protected]); } close; function Job_Menu { while (true) { if (getargcount() > 1) { mes "Selecione uma classe."; [email protected]$ = ""; for ([email protected] = 0; [email protected] < getargcount(); [email protected]) [email protected]$ += " ~ "+jobname(getarg([email protected]))+":"; [email protected]$ += " ~ ^777777Cancelar^000000"; next; [email protected] = getarg(select([email protected]$)-1, 0); if ([email protected]) close; if (([email protected] == Job_SuperNovice || [email protected] == Job_Super_Baby) && BaseLevel < .supernovice_level) { mes "[^8A2BE2Mestre das Classes^000000]"; mes "É necessário possuir nível de classe "+.supernovice_level+" para tornar-se "+jobname([email protected])+"."; close; } mes "[^8A2BE2Mestre das Classes^000000]"; mes "Tem certeza?"; next; } else { [email protected] = getarg(0); } if (select(" ~ Mudar para classe ^0055FF"+jobname([email protected])+"^000000 : ~ ^777777"+(getargcount() > 1 ? "Voltar" : "Cancelar")+"^000000") == 1) { mes "[^8A2BE2Mestre das Classes^000000]"; mes "Agora você é "+A_An(jobname([email protected]))+"!"; if ([email protected] == Job_Novice_High && .linear_jobchange) lastJob = Class; // Note: This is incompatible with the Valkyrie rebirth script. jobchange [email protected]; if ([email protected] == Job_Novice_High) resetlvl(1); if ([email protected] == Job_Baby) { resetlvl(4); SkillPoint = 0; } specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC; if (.platinum) callsub Get_Platinum; close; } if (getargcount() == 1) return; mes "[^8A2BE2Mestre das Classes^000000]"; } end; } function A_An { setarray [email protected]$, "a", "e", "i", "o", "u"; [email protected]$ = strtolower(charat(getarg(0), 0)); for ([email protected] = 0; [email protected] < getarraysize([email protected]); [email protected]) { if ([email protected]$[[email protected]] == [email protected]$) return "an "+getarg(0); } return "a "+getarg(0); } Get_Platinum: skill NV_FIRSTAID, 1, 0; if (BaseClass == Job_Novice) { if (Class != Job_SuperNovice) skill NV_TRICKDEAD, 1, 0; } else if (BaseClass == Job_Swordman) { skill SM_MOVINGRECOVERY, 1, 0; skill SM_FATALBLOW, 1, 0; skill SM_AUTOBERSERK, 1, 0; } else if (BaseClass == Job_Mage) { skill MG_ENERGYCOAT, 1, 0; } else if (BaseClass == Job_Archer) { skill AC_MAKINGARROW, 1, 0; skill AC_CHARGEARROW, 1, 0; } else if (BaseClass == Job_Acolyte) { skill AL_HOLYLIGHT, 1, 0; } else if (BaseClass == Job_Merchant) { skill MC_CARTREVOLUTION, 1, 0; skill MC_CHANGECART, 1, 0; skill MC_LOUD, 1, 0; } else if (BaseClass == Job_Thief) { skill TF_SPRINKLESAND, 1, 0; skill TF_BACKSLIDING, 1, 0; skill TF_PICKSTONE, 1, 0; skill TF_THROWSTONE, 1, 0; } if (BaseJob == Job_Knight) { skill KN_CHARGEATK, 1, 0; } else if (BaseJob == Job_Priest) { skill PR_REDEMPTIO, 1, 0; } else if (BaseJob == Job_Wizard) { skill WZ_SIGHTBLASTER, 1, 0; } else if (BaseJob == Job_Blacksmith) { skill BS_UNFAIRLYTRICK, 1, 0; skill BS_GREED, 1, 0; } else if (BaseJob == Job_Hunter) { skill HT_PHANTASMIC, 1, 0; } else if (BaseJob == Job_Assassin) { skill AS_SONICACCEL, 1, 0; skill AS_VENOMKNIFE, 1, 0; } else if (BaseJob == Job_Crusader) { skill CR_SHRINK, 1, 0; } else if (BaseJob == Job_Monk) { skill MO_KITRANSLATION, 1, 0; skill MO_BALKYOUNG, 1, 0; } else if (BaseJob == Job_Sage) { skill SA_CREATECON, 1, 0; skill SA_ELEMENTWATER, 1, 0; skill SA_ELEMENTGROUND, 1, 0; skill SA_ELEMENTFIRE, 1, 0; skill SA_ELEMENTWIND, 1, 0; } else if (BaseJob == Job_Rogue) { skill RG_CLOSECONFINE, 1, 0; } else if (BaseJob == Job_Alchemist) { skill AM_BIOETHICS, 1, 0; } else if (BaseJob == Job_Bard) { skill BA_PANGVOICE, 1, 0; } else if (BaseJob == Job_Dancer) { skill DC_WINKCHARM, 1, 0; } return; OnInit: .rebirth_blevel = 99; // Minimum base level to reborn OR change to third class .rebirth_jlevel = 50; // Minimum base job level to reborn OR change to third class .jobchange_first = 10; // Minimum job level to turn into 1st class .jobchange_second = 40; // Minimum job level to turn into 2nd class .third_classes = 0; // Enable third classes/Extended Classes? (1: yes / 0: no) .supernovice_level = 45; // Minimum base level to turn into Super Novice .linear_jobchange = 1; // Enforce linear class changes? (1: yes / 0: no) .skill_point_check = 1; // Force player to use up all skill points? (1: yes / 0: no) .platinum = 1; // Get platinum skills automatically? (1: yes / 0: no) end; }
  2. Hello guys sorry if this isn't the right place for this, but I need help I've downloaded this script from the @Emistry and @AnnieRuru : But I want to know how can I manually install this plugin...? Plugin from the AnnieRuru Thanks in advance for the help.
  3. eden

    @Edit LAGOU, desculpe, pode fechar.
  4. eden

    Consegui fazer o que está no emulador atual funcionar, infelizmente não é como esse do github do JulioCF, mas funciona normal... Esse do @JulioCF é bem old times, do jeito que eu queria, mas pelo visto não é mais compatível com o emulador atual e não sei por onde começar a fazer ele funcionar, então melhor ficar com o que está funcionando mesmo. Pode fechar. Eu havia traduzido com a função substituir do notepad++ e não me liguei que ele acabou traduzindo onde não era pra traduzir, daí não dava erro algum, mas o script não funcionava adequadamente.
  5. Estou com um problema, o script 71-85.txt do Eden, do Hercules, parece estar incompleto. Ele não possui os NPCs, Meidi, Jeanbai, Ancellia e etc... Ou seja acredito que ele deveria estar assim: https://github.com/JulioCF/Ragnarok-OldTimes/blob/master/emulador_oldtimes/Trunk/npc/re/quests/eden/71-85.txt Como no github do @JulioCF Mas ele está incompleto, com isso não aparecem os NPCs necessários para a quest. Tentei copiar o NPC acima, mas ele apresenta erros nos checkquest, não faço ideia de como fazer ele funcionar no herc, eu sei que agora utiliza o checkprogress, mas também não sei como trocar... To meio perdido, não sei se estou certo ou errado, se tem eles em outro diretório, por favor preciso muito deles e não consegui encontrar, fico no aguardo. O 71-85.txt do herc está assim: https://github.com/HerculesWS/Hercules/blob/master/npc/re/quests/eden/71-85.txt Não tem os NPCs necessários para prosseguir com a quest.
  6. script support

    Thank you Meko. I'm so sad I've been trying to fix it since early...
  7. script support

    Now I tried so: - script Agit_Event -1,{ end; OnClock0028: //start time for Tues(2), Thurs(4) OnClock0030: //end time for Tues(2), Thurs(4) OnAgitInit: // starting time checks if((gettime(4)==6) && (gettime(3)>=28 && gettime(3)<30)) { if (!agitcheck()) { agitstart; callsub S_DisplayOwners; } end; } // end time checks if ((gettime(4)==6) && (gettime(3)==30)) { if (agitcheck()) { agitend; callsub S_DisplayOwners; } end; } end; Server time was 00:28. Without sucess. @AgitStart and @AgitEnd working perfectly. I did it in my script.guild.conf: I don't know if this might be the problem // - Al De Baran //npc: npc/gde/1ed/aldeg_cas01.txt //npc: npc/gde/1ed/aldeg_cas02.txt //npc: npc/gde/1ed/aldeg_cas03.txt //npc: npc/gde/1ed/aldeg_cas04.txt //npc: npc/gde/1ed/aldeg_cas05.txt // - Geffen //npc: npc/gde/1ed/gefg_cas01.txt //npc: npc/gde/1ed/gefg_cas02.txt //npc: npc/gde/1ed/gefg_cas03.txt //npc: npc/gde/1ed/gefg_cas04.txt //npc: npc/gde/1ed/gefg_cas05.txt // - Payon //npc: npc/gde/1ed/payg_cas01.txt //npc: npc/gde/1ed/payg_cas02.txt //npc: npc/gde/1ed/payg_cas03.txt //npc: npc/gde/1ed/payg_cas04.txt //npc: npc/gde/1ed/payg_cas05.txt // - Prontera npc: npc/gde/1ed/prtg_cas01.txt //npc: npc/gde/1ed/prtg_cas02.txt //npc: npc/gde/1ed/prtg_cas03.txt //npc: npc/gde/1ed/prtg_cas04.txt //npc: npc/gde/1ed/prtg_cas05.txt
  8. script support

    Hello meko, thank you for help. I tried so: - script Agit_Event -1,{ end; OnClock0018: //start time for Tues(2), Thurs(4) OnClock0025: //end time for Tues(2), Thurs(4) OnAgitInit: // starting time checks if((gettime(4)==6) && (gettime(3)>=0018 && gettime(3)<0025)) { if (!agitcheck()) { agitstart; callsub S_DisplayOwners; } end; } // end time checks if ((gettime(4)==6) && (gettime(3)==0025)) { if (agitcheck()) { agitend; callsub S_DisplayOwners; } end; } end; I didn't have a map-server error, but the WoE didn't start.
  9. Hello guys, someone can help, the WoE don't starts and I haven't idea why... It's the Oficial NPC, I just changed some things, the start time I put 1745 to start just for test, but it's not working. - script Agit_Event -1,{ end; OnClock1745: //start time for Tues(2), Thurs(4) OnClock1750: //end time for Tues(2), Thurs(4) OnAgitInit: // starting time checks if(gettime(4)==5) && (gettime(3)>=1745) { if (!agitcheck()) { agitstart; callsub S_DisplayOwners; } end; } // end time checks if (gettime(4)==5) && (gettime(3)==1750) { if (agitcheck()) { agitend; callsub S_DisplayOwners; } end; } end; S_DisplayOwners: // setarray [email protected]$[0],"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05"; // setarray [email protected]$[5],"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05"; // setarray [email protected]$[10],"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05"; setarray [email protected]$[15],"prtg_cas01"; //"prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05"; for ([email protected] = 0; [email protected] <= 19; [email protected]) { if (getcastledata([email protected]$[[email protected]],1)) announce "O Castelo [" + getcastlename([email protected]$[[email protected]]) + "] está em posse do Clã [" + getguildname(getcastledata([email protected]$[[email protected]],1)) + "].",bc_all|bc_woe; else announce "O Castelo [" + getcastlename([email protected]$[[email protected]]) + "] está totalmente desocupado.",bc_all|bc_woe; } end; } Please help. :'(
  10. Ok i got it with the command: if (Class Close please.
  11. Hello guys someone can help me please? I tried many things but I can't do it alone, I need help How can I put it just for Baby Classes 2-1 and lower / Base Level 80 or lower, join? Here the Oficial Script: //===== Hercules Script ====================================== //= Novice's Guild Castles War of Emperium Usher NPC //===== By: ================================================== //= Lupus //===== Current Version: ===================================== //= 1.7 //===== Description: ========================================= //= //===== Additional Comments: ================================= //= Now you have access to 4 N Guild castles. They don't have //= dungeons. And 2nd Classes can't seize these Castles. //= These new castles need a new strategy. It would bring some //= fun and live to your game. //= NOTE: If your Guild Master is 2nd class, then he could //= rule the Castles and gather Treasure Boxes after WoE //= 1.1 Now 2nd classes can't enter NC place at all //= 1.2 Restricted access of SG/SL. On warp clear some //= unallowed buffs [Lupus] //= 1.3 Restricted TK,High classes >=90 BaseLevel, //= updated list of unallowed buffs [Lupus] //= 1.4 Restricted it to 80 Base Level [Lupus] //= 1.5 According to official info: 1 Treasure Chest per Castle //= 1.6 Only 1st Class < 60 BaseLevel Players can participate //= 1.7 Guilds with Emergency Call or with 9+ skill points //= can't take part in NWoE. [Lupus] //= TODO: The official entrance is in Izlude. //============================================================ prontera,146,163,6 script Novice Castles 4_F_NOVICE,{ mes "[Cita]"; if (!getcharid(2)) { mes "^FF0000You have to enter a guild to be able to hit Emperium!^000000"; } else if (getgdskilllv(getcharid(2),10013) || (getgdskilllv(getcharid(2),10000) + getgdskilllv(getcharid(2),10001) + getgdskilllv(getcharid(2),10002) + getgdskilllv(getcharid(2),10003) + getgdskilllv(getcharid(2),10004) + getgdskilllv(getcharid(2),10005) + getgdskilllv(getcharid(2),10006) + getgdskilllv(getcharid(2),10007) + getgdskilllv(getcharid(2),10008) + getgdskilllv(getcharid(2),10009) + getgdskilllv(getcharid(2),10010) + getgdskilllv(getcharid(2),10011) + getgdskilllv(getcharid(2),10012) + getgdskilllv(getcharid(2),10013) + getgdskilllv(getcharid(2),10014) > 9) ) { mes "I see... your guild has Emergency Call mastered."; mes "You cannot enter the Novice Castle area."; emotion e_hmm; emotion e_wah,1; } else { mes "I'm a new usher of Novice Castles."; next; mes "[Cita]"; if ((eaclass()&(EAJL_2|EAJL_UPPER)) || BaseLevel>=60) { mes "I'm sorry, you can't enter the sacred Novice Castles place."; emotion e_sry; } else if (select("Warp me to Novice Castles","Cancel") == 1) { // remove several unallowed buffs sc_end SC_ASSUMPTIO; sc_end SC_IMPOSITIO; sc_end SC_SUFFRAGIUM; sc_end SC_MAGNIFICAT; sc_end SC_WEAPONPERFECT; sc_end SC_GOSPEL; sc_end SC_BASILICA; sc_end SC_MAGICPOWER; sc_end SC_MARIONETTE; sc_end SC_MARIONETTE2; sc_end SC_DEVOTION; sc_end SC_SACRIFICE; sc_end SC_OVERTHRUSTMAX; sc_end SC_SOULLINK; warp "n_castle",102,93+rand(14); } } close; } n_castle,102,107,5 script Cita 4_F_NOVICE,{ mes "[Cita]"; mes "Hello, "+ strcharinfo(0) +". Can I help you?"; next; if (select("Warp me to Prontera!","Cancel") == 1) { warp "prontera",155,177+rand(5); } else { mes "[Cita]"; mes "Ok."; } close; }